rules.
+ int32_t distance = trieNext(iter, desired, false);
+ if (distance >= 0) {
+ distance = trieNext(iter, supported, true);
+ }
+ if (distance < 0) {
+ UStringTrieResult result = iter.resetToState64(startState).next(u'*'); // <*, *>
+ U_ASSERT(USTRINGTRIE_HAS_VALUE(result));
+ if (uprv_strcmp(desired, supported) == 0) {
+ distance = 0; // same script
+ } else {
+ distance = iter.getValue();
+ U_ASSERT(distance >= 0);
+ }
+ if (result == USTRINGTRIE_FINAL_VALUE) {
+ distance |= DISTANCE_IS_FINAL;
+ }
+ }
+ return distance;
+}
+
+int32_t LocaleDistance::getRegionPartitionsDistance(
+ BytesTrie &iter, uint64_t startState,
+ const char *desiredPartitions, const char *supportedPartitions, int32_t threshold) {
+ char desired = *desiredPartitions++;
+ char supported = *supportedPartitions++;
+ U_ASSERT(desired != 0 && supported != 0);
+ // See if we have single desired/supported partitions, from NUL-terminated
+ // partition strings without explicit length.
+ bool suppLengthGt1 = *supportedPartitions != 0; // gt1: more than 1 character
+ // equivalent to: if (desLength == 1 && suppLength == 1)
+ if (*desiredPartitions == 0 && !suppLengthGt1) {
+ // Fastpath for single desired/supported partitions.
+ UStringTrieResult result = iter.next(uprv_invCharToAscii(desired) | END_OF_SUBTAG);
+ if (USTRINGTRIE_HAS_NEXT(result)) {
+ result = iter.next(uprv_invCharToAscii(supported) | END_OF_SUBTAG);
+ if (USTRINGTRIE_HAS_VALUE(result)) {
+ return iter.getValue();
+ }
+ }
+ return getFallbackRegionDistance(iter, startState);
+ }
+
+ const char *supportedStart = supportedPartitions - 1; // for restart of inner loop
+ int32_t regionDistance = 0;
+ // Fall back to * only once, not for each pair of partition strings.
+ bool star = false;
+ for (;;) {
+ // Look up each desired-partition string only once,
+ // not for each (desired, supported) pair.
+ UStringTrieResult result = iter.next(uprv_invCharToAscii(desired) | END_OF_SUBTAG);
+ if (USTRINGTRIE_HAS_NEXT(result)) {
+ uint64_t desState = suppLengthGt1 ? iter.getState64() : 0;
+ for (;;) {
+ result = iter.next(uprv_invCharToAscii(supported) | END_OF_SUBTAG);
+ int32_t d;
+ if (USTRINGTRIE_HAS_VALUE(result)) {
+ d = iter.getValue();
+ } else if (star) {
+ d = 0;
+ } else {
+ d = getFallbackRegionDistance(iter, startState);
+ star = true;
+ }
+ if (d >= threshold) {
+ return d;
+ } else if (regionDistance < d) {
+ regionDistance = d;
+ }
+ if ((supported = *supportedPartitions++) != 0) {
+ iter.resetToState64(desState);
+ } else {
+ break;
+ }
+ }
+ } else if (!star) {
+ int32_t d = getFallbackRegionDistance(iter, startState);
+ if (d >= threshold) {
+ return d;
+ } else if (regionDistance < d) {
+ regionDistance = d;
+ }
+ star = true;
+ }
+ if ((desired = *desiredPartitions++) != 0) {
+ iter.resetToState64(startState);
+ supportedPartitions = supportedStart;
+ supported = *supportedPartitions++;
+ } else {
+ break;
+ }
+ }
+ return regionDistance;
+}
+
+int32_t LocaleDistance::getFallbackRegionDistance(BytesTrie &iter, uint64_t startState) {
+#if U_DEBUG
+ UStringTrieResult result =
+#endif
+ iter.resetToState64(startState).next(u'*'); // <*, *>
+ U_ASSERT(USTRINGTRIE_HAS_VALUE(result));
+ int32_t distance = iter.getValue();
+ U_ASSERT(distance >= 0);
+ return distance;
+}
+
+int32_t LocaleDistance::trieNext(BytesTrie &iter, const char *s, bool wantValue) {
+ uint8_t c;
+ if ((c = *s) == 0) {
+ return -1; // no empty subtags in the distance data
+ }
+ for (;;) {
+ c = uprv_invCharToAscii(c);
+ // EBCDIC: If *s is not an invariant character,
+ // then c is now 0 and will simply not match anything, which is harmless.
+ uint8_t next = *++s;
+ if (next != 0) {
+ if (!USTRINGTRIE_HAS_NEXT(iter.next(c))) {
+ return -1;
+ }
+ } else {
+ // last character of this subtag
+ UStringTrieResult result = iter.next(c | END_OF_SUBTAG);
+ if (wantValue) {
+ if (USTRINGTRIE_HAS_VALUE(result)) {
+ int32_t value = iter.getValue();
+ if (result == USTRINGTRIE_FINAL_VALUE) {
+ value |= DISTANCE_IS_FINAL;
+ }
+ return value;
+ }
+ } else {
+ if (USTRINGTRIE_HAS_NEXT(result)) {
+ return 0;
+ }
+ }
+ return -1;
+ }
+ c = next;
+ }
+}
+
+UBool LocaleDistance::isParadigmLSR(const LSR &lsr) const {
+ // Linear search for a very short list (length 6 as of 2019).
+ // If there are many paradigm LSRs we should use a hash set.
+ U_ASSERT(paradigmLSRsLength <= 15);
+ for (int32_t i = 0; i < paradigmLSRsLength; ++i) {
+ if (lsr == paradigmLSRs[i]) { return true; }
+ }
+ return false;
+}
+
+U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/locdistance.h b/Build/source/libs/icu/icu-src/source/common/locdistance.h
new file mode 100644
index 00000000000..7439f51c56b
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/locdistance.h
@@ -0,0 +1,109 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// locdistance.h
+// created: 2019may08 Markus W. Scherer
+
+#ifndef __LOCDISTANCE_H__
+#define __LOCDISTANCE_H__
+
+#include "unicode/utypes.h"
+#include "unicode/bytestrie.h"
+#include "unicode/localematcher.h"
+#include "unicode/locid.h"
+#include "unicode/uobject.h"
+#include "lsr.h"
+
+U_NAMESPACE_BEGIN
+
+struct LocaleDistanceData;
+
+/**
+ * Offline-built data for LocaleMatcher.
+ * Mostly but not only the data for mapping locales to their maximized forms.
+ */
+class LocaleDistance final : public UMemory {
+public:
+ static const LocaleDistance *getSingleton(UErrorCode &errorCode);
+
+ /**
+ * Finds the supported LSR with the smallest distance from the desired one.
+ * Equivalent LSR subtags must be normalized into a canonical form.
+ *
+ * Returns the index of the lowest-distance supported LSR in bits 31..8
+ * (negative if none has a distance below the threshold),
+ * and its distance (0..ABOVE_THRESHOLD) in bits 7..0.
+ */
+ int32_t getBestIndexAndDistance(const LSR &desired,
+ const LSR **supportedLSRs, int32_t supportedLSRsLength,
+ int32_t threshold, ULocMatchFavorSubtag favorSubtag) const;
+
+ int32_t getParadigmLSRsLength() const { return paradigmLSRsLength; }
+
+ UBool isParadigmLSR(const LSR &lsr) const;
+
+ int32_t getDefaultScriptDistance() const {
+ return defaultScriptDistance;
+ }
+
+ int32_t getDefaultDemotionPerDesiredLocale() const {
+ return defaultDemotionPerDesiredLocale;
+ }
+
+private:
+ LocaleDistance(const LocaleDistanceData &data);
+ LocaleDistance(const LocaleDistance &other) = delete;
+ LocaleDistance &operator=(const LocaleDistance &other) = delete;
+
+ static void initLocaleDistance(UErrorCode &errorCode);
+
+ static int32_t getDesSuppScriptDistance(BytesTrie &iter, uint64_t startState,
+ const char *desired, const char *supported);
+
+ static int32_t getRegionPartitionsDistance(
+ BytesTrie &iter, uint64_t startState,
+ const char *desiredPartitions, const char *supportedPartitions,
+ int32_t threshold);
+
+ static int32_t getFallbackRegionDistance(BytesTrie &iter, uint64_t startState);
+
+ static int32_t trieNext(BytesTrie &iter, const char *s, bool wantValue);
+
+ const char *partitionsForRegion(const LSR &lsr) const {
+ // ill-formed region -> one non-matching string
+ int32_t pIndex = regionToPartitionsIndex[lsr.regionIndex];
+ return partitionArrays[pIndex];
+ }
+
+ int32_t getDefaultRegionDistance() const {
+ return defaultRegionDistance;
+ }
+
+ // The trie maps each dlang+slang+dscript+sscript+dregion+sregion
+ // (encoded in ASCII with bit 7 set on the last character of each subtag) to a distance.
+ // There is also a trie value for each subsequence of whole subtags.
+ // One '*' is used for a (desired, supported) pair of "und", "Zzzz"/"", or "ZZ"/"".
+ BytesTrie trie;
+
+ /**
+ * Maps each region to zero or more single-character partitions.
+ */
+ const uint8_t *regionToPartitionsIndex;
+ const char **partitionArrays;
+
+ /**
+ * Used to get the paradigm region for a cluster, if there is one.
+ */
+ const LSR *paradigmLSRs;
+ int32_t paradigmLSRsLength;
+
+ int32_t defaultLanguageDistance;
+ int32_t defaultScriptDistance;
+ int32_t defaultRegionDistance;
+ int32_t minRegionDistance;
+ int32_t defaultDemotionPerDesiredLocale;
+};
+
+U_NAMESPACE_END
+
+#endif // __LOCDISTANCE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/locdspnm.cpp b/Build/source/libs/icu/icu-src/source/common/locdspnm.cpp
index 2d9389e910a..43334f51964 100644
--- a/Build/source/libs/icu/icu-src/source/common/locdspnm.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/locdspnm.cpp
@@ -286,12 +286,12 @@ class LocaleDisplayNamesImpl : public LocaleDisplayNames {
#else
UObject* capitalizationBrkIter;
#endif
- static UMutex capitalizationBrkIterLock;
UnicodeString formatOpenParen;
UnicodeString formatReplaceOpenParen;
UnicodeString formatCloseParen;
UnicodeString formatReplaceCloseParen;
UDisplayContext nameLength;
+ UDisplayContext substitute;
// Constants for capitalization context usage types.
enum CapContextUsage {
@@ -338,7 +338,7 @@ public:
UnicodeString& result) const;
private:
UnicodeString& localeIdName(const char* localeId,
- UnicodeString& result) const;
+ UnicodeString& result, bool substitute) const;
UnicodeString& appendWithSep(UnicodeString& buffer, const UnicodeString& src) const;
UnicodeString& adjustForUsageAndContext(CapContextUsage usage, UnicodeString& result) const;
UnicodeString& scriptDisplayName(const char* script, UnicodeString& result, UBool skipAdjust) const;
@@ -352,8 +352,6 @@ private:
struct CapitalizationContextSink;
};
-UMutex LocaleDisplayNamesImpl::capitalizationBrkIterLock = U_MUTEX_INITIALIZER;
-
LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
UDialectHandling dialectHandling)
: dialectHandling(dialectHandling)
@@ -362,6 +360,7 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
, capitalizationContext(UDISPCTX_CAPITALIZATION_NONE)
, capitalizationBrkIter(NULL)
, nameLength(UDISPCTX_LENGTH_FULL)
+ , substitute(UDISPCTX_SUBSTITUTE)
{
initialize();
}
@@ -374,6 +373,7 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
, capitalizationContext(UDISPCTX_CAPITALIZATION_NONE)
, capitalizationBrkIter(NULL)
, nameLength(UDISPCTX_LENGTH_FULL)
+ , substitute(UDISPCTX_SUBSTITUTE)
{
while (length-- > 0) {
UDisplayContext value = *contexts++;
@@ -388,6 +388,9 @@ LocaleDisplayNamesImpl::LocaleDisplayNamesImpl(const Locale& locale,
case UDISPCTX_TYPE_DISPLAY_LENGTH:
nameLength = value;
break;
+ case UDISPCTX_TYPE_SUBSTITUTE_HANDLING:
+ substitute = value;
+ break;
default:
break;
}
@@ -538,6 +541,8 @@ LocaleDisplayNamesImpl::getContext(UDisplayContextType type) const {
return capitalizationContext;
case UDISPCTX_TYPE_DISPLAY_LENGTH:
return nameLength;
+ case UDISPCTX_TYPE_SUBSTITUTE_HANDLING:
+ return substitute;
default:
break;
}
@@ -552,6 +557,7 @@ LocaleDisplayNamesImpl::adjustForUsageAndContext(CapContextUsage usage,
if ( result.length() > 0 && u_islower(result.char32At(0)) && capitalizationBrkIter!= NULL &&
( capitalizationContext==UDISPCTX_CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE || fCapitalization[usage] ) ) {
// note fCapitalization[usage] won't be set unless capitalizationContext is UI_LIST_OR_MENU or STANDALONE
+ static UMutex capitalizationBrkIterLock;
Mutex lock(&capitalizationBrkIterLock);
result.toTitle(capitalizationBrkIter, locale, U_TITLECASE_NO_LOWERCASE | U_TITLECASE_NO_BREAK_ADJUSTMENT);
}
@@ -585,7 +591,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
do { // loop construct is so we can break early out of search
if (hasScript && hasCountry) {
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, "_", country, (char *)0);
- localeIdName(buffer, resultName);
+ localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) {
hasScript = FALSE;
hasCountry = FALSE;
@@ -594,7 +600,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
}
if (hasScript) {
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", script, (char *)0);
- localeIdName(buffer, resultName);
+ localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) {
hasScript = FALSE;
break;
@@ -602,7 +608,7 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
}
if (hasCountry) {
ncat(buffer, ULOC_FULLNAME_CAPACITY, lang, "_", country, (char*)0);
- localeIdName(buffer, resultName);
+ localeIdName(buffer, resultName, false);
if (!resultName.isBogus()) {
hasCountry = FALSE;
break;
@@ -611,7 +617,11 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
} while (FALSE);
}
if (resultName.isBogus() || resultName.isEmpty()) {
- localeIdName(lang, resultName);
+ localeIdName(lang, resultName, substitute == UDISPCTX_SUBSTITUTE);
+ if (resultName.isBogus()) {
+ result.setToBogus();
+ return result;
+ }
}
UnicodeString resultRemainder;
@@ -619,13 +629,28 @@ LocaleDisplayNamesImpl::localeDisplayName(const Locale& loc,
UErrorCode status = U_ZERO_ERROR;
if (hasScript) {
- resultRemainder.append(scriptDisplayName(script, temp, TRUE));
+ UnicodeString script_str = scriptDisplayName(script, temp, TRUE);
+ if (script_str.isBogus()) {
+ result.setToBogus();
+ return result;
+ }
+ resultRemainder.append(script_str);
}
if (hasCountry) {
- appendWithSep(resultRemainder, regionDisplayName(country, temp, TRUE));
+ UnicodeString region_str = regionDisplayName(country, temp, TRUE);
+ if (region_str.isBogus()) {
+ result.setToBogus();
+ return result;
+ }
+ appendWithSep(resultRemainder, region_str);
}
if (hasVariant) {
- appendWithSep(resultRemainder, variantDisplayName(variant, temp, TRUE));
+ UnicodeString variant_str = variantDisplayName(variant, temp, TRUE);
+ if (variant_str.isBogus()) {
+ result.setToBogus();
+ return result;
+ }
+ appendWithSep(resultRemainder, variant_str);
}
resultRemainder.findAndReplace(formatOpenParen, formatReplaceOpenParen);
resultRemainder.findAndReplace(formatCloseParen, formatReplaceCloseParen);
@@ -691,14 +716,18 @@ LocaleDisplayNamesImpl::localeDisplayName(const char* localeId,
// private
UnicodeString&
LocaleDisplayNamesImpl::localeIdName(const char* localeId,
- UnicodeString& result) const {
+ UnicodeString& result, bool substitute) const {
if (nameLength == UDISPCTX_LENGTH_SHORT) {
langData.getNoFallback("Languages%short", localeId, result);
if (!result.isBogus()) {
return result;
}
}
- return langData.getNoFallback("Languages", localeId, result);
+ if (substitute) {
+ return langData.get("Languages", localeId, result);
+ } else {
+ return langData.getNoFallback("Languages", localeId, result);
+ }
}
UnicodeString&
@@ -708,12 +737,16 @@ LocaleDisplayNamesImpl::languageDisplayName(const char* lang,
return result = UnicodeString(lang, -1, US_INV);
}
if (nameLength == UDISPCTX_LENGTH_SHORT) {
- langData.get("Languages%short", lang, result);
+ langData.getNoFallback("Languages%short", lang, result);
if (!result.isBogus()) {
return adjustForUsageAndContext(kCapContextUsageLanguage, result);
}
}
- langData.get("Languages", lang, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ langData.get("Languages", lang, result);
+ } else {
+ langData.getNoFallback("Languages", lang, result);
+ }
return adjustForUsageAndContext(kCapContextUsageLanguage, result);
}
@@ -722,12 +755,16 @@ LocaleDisplayNamesImpl::scriptDisplayName(const char* script,
UnicodeString& result,
UBool skipAdjust) const {
if (nameLength == UDISPCTX_LENGTH_SHORT) {
- langData.get("Scripts%short", script, result);
+ langData.getNoFallback("Scripts%short", script, result);
if (!result.isBogus()) {
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageScript, result);
}
}
- langData.get("Scripts", script, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ langData.get("Scripts", script, result);
+ } else {
+ langData.getNoFallback("Scripts", script, result);
+ }
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageScript, result);
}
@@ -748,12 +785,16 @@ LocaleDisplayNamesImpl::regionDisplayName(const char* region,
UnicodeString& result,
UBool skipAdjust) const {
if (nameLength == UDISPCTX_LENGTH_SHORT) {
- regionData.get("Countries%short", region, result);
+ regionData.getNoFallback("Countries%short", region, result);
if (!result.isBogus()) {
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageTerritory, result);
}
}
- regionData.get("Countries", region, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ regionData.get("Countries", region, result);
+ } else {
+ regionData.getNoFallback("Countries", region, result);
+ }
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageTerritory, result);
}
@@ -769,7 +810,11 @@ LocaleDisplayNamesImpl::variantDisplayName(const char* variant,
UnicodeString& result,
UBool skipAdjust) const {
// don't have a resource for short variant names
- langData.get("Variants", variant, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ langData.get("Variants", variant, result);
+ } else {
+ langData.getNoFallback("Variants", variant, result);
+ }
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageVariant, result);
}
@@ -784,7 +829,11 @@ LocaleDisplayNamesImpl::keyDisplayName(const char* key,
UnicodeString& result,
UBool skipAdjust) const {
// don't have a resource for short key names
- langData.get("Keys", key, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ langData.get("Keys", key, result);
+ } else {
+ langData.getNoFallback("Keys", key, result);
+ }
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKey, result);
}
@@ -804,9 +853,8 @@ LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
UErrorCode sts = U_ZERO_ERROR;
UnicodeString ustrValue(value, -1, US_INV);
int32_t len;
- UBool isChoice = FALSE;
const UChar *currencyName = ucurr_getName(ustrValue.getTerminatedBuffer(),
- locale.getBaseName(), UCURR_LONG_NAME, &isChoice, &len, &sts);
+ locale.getBaseName(), UCURR_LONG_NAME, nullptr /* isChoiceFormat */, &len, &sts);
if (U_FAILURE(sts)) {
// Return the value as is on failure
result = ustrValue;
@@ -817,12 +865,16 @@ LocaleDisplayNamesImpl::keyValueDisplayName(const char* key,
}
if (nameLength == UDISPCTX_LENGTH_SHORT) {
- langData.get("Types%short", key, value, result);
+ langData.getNoFallback("Types%short", key, value, result);
if (!result.isBogus()) {
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKeyValue, result);
}
}
- langData.get("Types", key, value, result);
+ if (substitute == UDISPCTX_SUBSTITUTE) {
+ langData.get("Types", key, value, result);
+ } else {
+ langData.getNoFallback("Types", key, value, result);
+ }
return skipAdjust? result: adjustForUsageAndContext(kCapContextUsageKeyValue, result);
}
diff --git a/Build/source/libs/icu/icu-src/source/common/locid.cpp b/Build/source/libs/icu/icu-src/source/common/locid.cpp
index e0dcc8a88ec..c6d3f88fc3b 100644
--- a/Build/source/libs/icu/icu-src/source/common/locid.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/locid.cpp
@@ -38,19 +38,19 @@
#include "unicode/strenum.h"
#include "unicode/stringpiece.h"
#include "unicode/uloc.h"
-#include "putilimp.h"
-#include "mutex.h"
-#include "umutex.h"
-#include "uassert.h"
+
+#include "bytesinkutil.h"
+#include "charstr.h"
#include "cmemory.h"
#include "cstring.h"
+#include "mutex.h"
+#include "putilimp.h"
#include "uassert.h"
+#include "ucln_cmn.h"
#include "uhash.h"
#include "ulocimp.h"
-#include "ucln_cmn.h"
+#include "umutex.h"
#include "ustr_imp.h"
-#include "charstr.h"
-#include "bytesinkutil.h"
U_CDECL_BEGIN
static UBool U_CALLCONV locale_cleanup(void);
@@ -62,7 +62,7 @@ static Locale *gLocaleCache = NULL;
static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER;
// gDefaultLocaleMutex protects all access to gDefaultLocalesHashT and gDefaultLocale.
-static UMutex gDefaultLocaleMutex = U_MUTEX_INITIALIZER;
+static UMutex gDefaultLocaleMutex;
static UHashtable *gDefaultLocalesHashT = NULL;
static Locale *gDefaultLocale = NULL;
@@ -569,9 +569,13 @@ Locale& Locale::init(const char* localeID, UBool canonicalize)
variantBegin = length;
/* after uloc_getName/canonicalize() we know that only '_' are separators */
+ /* But _ could also appeared in timezone such as "en@timezone=America/Los_Angeles" */
separator = field[0] = fullName;
fieldIdx = 1;
- while ((separator = uprv_strchr(field[fieldIdx-1], SEP_CHAR)) != 0 && fieldIdx < UPRV_LENGTHOF(field)-1) {
+ char* at = uprv_strchr(fullName, '@');
+ while ((separator = uprv_strchr(field[fieldIdx-1], SEP_CHAR)) != 0 &&
+ fieldIdx < UPRV_LENGTHOF(field)-1 &&
+ (at == nullptr || separator < at)) {
field[fieldIdx] = separator + 1;
fieldLen[fieldIdx-1] = (int32_t)(separator - field[fieldIdx-1]);
fieldIdx++;
@@ -736,46 +740,10 @@ Locale::addLikelySubtags(UErrorCode& status) {
return;
}
- // The maximized locale ID string is often longer, but there is no good
- // heuristic to estimate just how much longer. Leave that to CharString.
CharString maximizedLocaleID;
- int32_t maximizedLocaleIDCapacity = static_cast(uprv_strlen(fullName));
-
- char* buffer;
- int32_t reslen;
-
- for (;;) {
- buffer = maximizedLocaleID.getAppendBuffer(
- /*minCapacity=*/maximizedLocaleIDCapacity,
- /*desiredCapacityHint=*/maximizedLocaleIDCapacity,
- maximizedLocaleIDCapacity,
- status);
-
- if (U_FAILURE(status)) {
- return;
- }
-
- reslen = uloc_addLikelySubtags(
- fullName,
- buffer,
- maximizedLocaleIDCapacity,
- &status);
-
- if (status != U_BUFFER_OVERFLOW_ERROR) {
- break;
- }
-
- maximizedLocaleIDCapacity = reslen;
- status = U_ZERO_ERROR;
- }
-
- if (U_FAILURE(status)) {
- return;
- }
-
- maximizedLocaleID.append(buffer, reslen, status);
- if (status == U_STRING_NOT_TERMINATED_WARNING) {
- status = U_ZERO_ERROR; // Terminators provided by CharString.
+ {
+ CharStringByteSink sink(&maximizedLocaleID);
+ ulocimp_addLikelySubtags(fullName, sink, &status);
}
if (U_FAILURE(status)) {
@@ -794,50 +762,10 @@ Locale::minimizeSubtags(UErrorCode& status) {
return;
}
- // Except for a few edge cases (like the empty string, that is minimized to
- // "en__POSIX"), minimized locale ID strings will be either the same length
- // or shorter than their input.
CharString minimizedLocaleID;
- int32_t minimizedLocaleIDCapacity = static_cast(uprv_strlen(fullName));
-
- char* buffer;
- int32_t reslen;
-
- for (;;) {
- buffer = minimizedLocaleID.getAppendBuffer(
- /*minCapacity=*/minimizedLocaleIDCapacity,
- /*desiredCapacityHint=*/minimizedLocaleIDCapacity,
- minimizedLocaleIDCapacity,
- status);
-
- if (U_FAILURE(status)) {
- return;
- }
-
- reslen = uloc_minimizeSubtags(
- fullName,
- buffer,
- minimizedLocaleIDCapacity,
- &status);
-
- if (status != U_BUFFER_OVERFLOW_ERROR) {
- break;
- }
-
- // Because of the internal minimal buffer size of CharString, I can't
- // think of any input data for which this could possibly ever happen.
- // Maybe it would be better replaced with an assertion instead?
- minimizedLocaleIDCapacity = reslen;
- status = U_ZERO_ERROR;
- }
-
- if (U_FAILURE(status)) {
- return;
- }
-
- minimizedLocaleID.append(buffer, reslen, status);
- if (status == U_STRING_NOT_TERMINATED_WARNING) {
- status = U_ZERO_ERROR; // Terminators provided by CharString.
+ {
+ CharStringByteSink sink(&minimizedLocaleID);
+ ulocimp_minimizeSubtags(fullName, sink, &status);
}
if (U_FAILURE(status)) {
@@ -869,43 +797,16 @@ Locale::forLanguageTag(StringPiece tag, UErrorCode& status)
// parsing. Therefore the code here explicitly calls uloc_forLanguageTag()
// and then Locale::init(), instead of just calling the normal constructor.
- // All simple language tags will have the exact same length as ICU locale
- // ID strings as they have as BCP-47 strings (like "en_US" for "en-US").
CharString localeID;
- int32_t resultCapacity = tag.size();
-
- char* buffer;
- int32_t parsedLength, reslen;
-
- for (;;) {
- buffer = localeID.getAppendBuffer(
- /*minCapacity=*/resultCapacity,
- /*desiredCapacityHint=*/resultCapacity,
- resultCapacity,
- status);
-
- if (U_FAILURE(status)) {
- return result;
- }
-
- reslen = ulocimp_forLanguageTag(
+ int32_t parsedLength;
+ {
+ CharStringByteSink sink(&localeID);
+ ulocimp_forLanguageTag(
tag.data(),
tag.length(),
- buffer,
- resultCapacity,
+ sink,
&parsedLength,
&status);
-
- if (status != U_BUFFER_OVERFLOW_ERROR) {
- break;
- }
-
- // For all BCP-47 language tags that use extensions, the corresponding
- // ICU locale ID will be longer but uloc_forLanguageTag() does compute
- // the exact length needed so this memory reallocation will be done at
- // most once.
- resultCapacity = reslen;
- status = U_ZERO_ERROR;
}
if (U_FAILURE(status)) {
@@ -917,15 +818,6 @@ Locale::forLanguageTag(StringPiece tag, UErrorCode& status)
return result;
}
- localeID.append(buffer, reslen, status);
- if (status == U_STRING_NOT_TERMINATED_WARNING) {
- status = U_ZERO_ERROR; // Terminators provided by CharString.
- }
-
- if (U_FAILURE(status)) {
- return result;
- }
-
result.init(localeID.data(), /*canonicalize=*/FALSE);
if (result.isBogus()) {
status = U_ILLEGAL_ARGUMENT_ERROR;
@@ -945,59 +837,7 @@ Locale::toLanguageTag(ByteSink& sink, UErrorCode& status) const
return;
}
- // All simple language tags will have the exact same length as BCP-47
- // strings as they have as ICU locale IDs (like "en-US" for "en_US").
- LocalMemory scratch;
- int32_t scratch_capacity = static_cast(uprv_strlen(fullName));
-
- if (scratch_capacity == 0) {
- scratch_capacity = 3; // "und"
- }
-
- char* buffer;
- int32_t result_capacity, reslen;
-
- for (;;) {
- if (scratch.allocateInsteadAndReset(scratch_capacity) == nullptr) {
- status = U_MEMORY_ALLOCATION_ERROR;
- return;
- }
-
- buffer = sink.GetAppendBuffer(
- /*min_capacity=*/scratch_capacity,
- /*desired_capacity_hint=*/scratch_capacity,
- scratch.getAlias(),
- scratch_capacity,
- &result_capacity);
-
- reslen = uloc_toLanguageTag(
- fullName,
- buffer,
- result_capacity,
- /*strict=*/FALSE,
- &status);
-
- if (status != U_BUFFER_OVERFLOW_ERROR) {
- break;
- }
-
- // For some very few edge cases a language tag will be longer as a
- // BCP-47 string than it is as an ICU locale ID. Most notoriously "C"
- // expands to the BCP-47 tag "en-US-u-va-posix", 16 times longer, and
- // it'll take several calls to uloc_toLanguageTag() to figure that out.
- // https://unicode-org.atlassian.net/browse/ICU-20132
- scratch_capacity = reslen;
- status = U_ZERO_ERROR;
- }
-
- if (U_FAILURE(status)) {
- return;
- }
-
- sink.Append(buffer, reslen);
- if (status == U_STRING_NOT_TERMINATED_WARNING) {
- status = U_ZERO_ERROR; // Terminators not used.
- }
+ ulocimp_toLanguageTag(fullName, sink, /*strict=*/FALSE, &status);
}
Locale U_EXPORT2
@@ -1536,12 +1376,16 @@ Locale::setUnicodeKeywordValue(StringPiece keywordName,
return;
}
- const char* legacy_value =
- uloc_toLegacyType(keywordName_nul.data(), keywordValue_nul.data());
+ const char* legacy_value = nullptr;
- if (legacy_value == nullptr) {
- status = U_ILLEGAL_ARGUMENT_ERROR;
- return;
+ if (!keywordValue_nul.isEmpty()) {
+ legacy_value =
+ uloc_toLegacyType(keywordName_nul.data(), keywordValue_nul.data());
+
+ if (legacy_value == nullptr) {
+ status = U_ILLEGAL_ARGUMENT_ERROR;
+ return;
+ }
}
setKeywordValue(legacy_key, legacy_value, status);
@@ -1552,5 +1396,7 @@ Locale::getBaseName() const {
return baseName;
}
+Locale::Iterator::~Iterator() = default;
+
//eof
U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/loclikely.cpp b/Build/source/libs/icu/icu-src/source/common/loclikely.cpp
index 7dd07afca5a..a4a4181cb13 100644
--- a/Build/source/libs/icu/icu-src/source/common/loclikely.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/loclikely.cpp
@@ -19,6 +19,7 @@
* that then do not depend on resource bundle code and likely-subtags data.
*/
+#include "unicode/bytestream.h"
#include "unicode/utypes.h"
#include "unicode/locid.h"
#include "unicode/putil.h"
@@ -26,11 +27,20 @@
#include "unicode/uloc.h"
#include "unicode/ures.h"
#include "unicode/uscript.h"
+#include "bytesinkutil.h"
+#include "charstr.h"
#include "cmemory.h"
#include "cstring.h"
#include "ulocimp.h"
#include "ustr_imp.h"
+/**
+ * These are the canonical strings for unknown languages, scripts and regions.
+ **/
+static const char* const unknownLanguage = "und";
+static const char* const unknownScript = "Zzzz";
+static const char* const unknownRegion = "ZZ";
+
/**
* This function looks for the localeID in the likelySubtags resource.
*
@@ -50,9 +60,22 @@ findLikelySubtags(const char* localeID,
int32_t resLen = 0;
const UChar* s = NULL;
UErrorCode tmpErr = U_ZERO_ERROR;
- UResourceBundle* subtags = ures_openDirect(NULL, "likelySubtags", &tmpErr);
+ icu::LocalUResourceBundlePointer subtags(ures_openDirect(NULL, "likelySubtags", &tmpErr));
if (U_SUCCESS(tmpErr)) {
- s = ures_getStringByKey(subtags, localeID, &resLen, &tmpErr);
+ icu::CharString und;
+ if (localeID != NULL) {
+ if (*localeID == '\0') {
+ localeID = unknownLanguage;
+ } else if (*localeID == '_') {
+ und.append(unknownLanguage, *err);
+ und.append(localeID, *err);
+ if (U_FAILURE(*err)) {
+ return NULL;
+ }
+ localeID = und.data();
+ }
+ }
+ s = ures_getStringByKey(subtags.getAlias(), localeID, &resLen, &tmpErr);
if (U_FAILURE(tmpErr)) {
/*
@@ -69,10 +92,13 @@ findLikelySubtags(const char* localeID,
}
else {
u_UCharsToChars(s, buffer, resLen + 1);
+ if (resLen >= 3 &&
+ uprv_strnicmp(buffer, unknownLanguage, 3) == 0 &&
+ (resLen == 3 || buffer[3] == '_')) {
+ uprv_memmove(buffer, buffer + 3, resLen - 3 + 1);
+ }
result = buffer;
}
-
- ures_close(subtags);
} else {
*err = tmpErr;
}
@@ -96,9 +122,10 @@ appendTag(
const char* tag,
int32_t tagLength,
char* buffer,
- int32_t* bufferLength) {
+ int32_t* bufferLength,
+ UBool withSeparator) {
- if (*bufferLength > 0) {
+ if (withSeparator) {
buffer[*bufferLength] = '_';
++(*bufferLength);
}
@@ -111,13 +138,6 @@ appendTag(
*bufferLength += tagLength;
}
-/**
- * These are the canonical strings for unknown languages, scripts and regions.
- **/
-static const char* const unknownLanguage = "und";
-static const char* const unknownScript = "Zzzz";
-static const char* const unknownRegion = "ZZ";
-
/**
* Create a tag string from the supplied parameters. The lang, script and region
* parameters may be NULL pointers. If they are, their corresponding length parameters
@@ -147,12 +167,10 @@ static const char* const unknownRegion = "ZZ";
* @param trailing Any trailing data to append to the new tag.
* @param trailingLength The length of the trailing data.
* @param alternateTags A string containing any alternate tags.
- * @param tag The output buffer.
- * @param tagCapacity The capacity of the output buffer.
+ * @param sink The output sink receiving the tag string.
* @param err A pointer to a UErrorCode for error reporting.
- * @return The length of the tag string, which may be greater than tagCapacity, or -1 on error.
**/
-static int32_t U_CALLCONV
+static void U_CALLCONV
createTagStringWithAlternates(
const char* lang,
int32_t langLength,
@@ -163,16 +181,13 @@ createTagStringWithAlternates(
const char* trailing,
int32_t trailingLength,
const char* alternateTags,
- char* tag,
- int32_t tagCapacity,
+ icu::ByteSink& sink,
UErrorCode* err) {
if (U_FAILURE(*err)) {
goto error;
}
- else if (tag == NULL ||
- tagCapacity <= 0 ||
- langLength >= ULOC_LANG_CAPACITY ||
+ else if (langLength >= ULOC_LANG_CAPACITY ||
scriptLength >= ULOC_SCRIPT_CAPACITY ||
regionLength >= ULOC_COUNTRY_CAPACITY) {
goto error;
@@ -186,7 +201,6 @@ createTagStringWithAlternates(
**/
char tagBuffer[ULOC_FULLNAME_CAPACITY];
int32_t tagLength = 0;
- int32_t capacityRemaining = tagCapacity;
UBool regionAppended = FALSE;
if (langLength > 0) {
@@ -194,18 +208,14 @@ createTagStringWithAlternates(
lang,
langLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/FALSE);
}
else if (alternateTags == NULL) {
/*
- * Append the value for an unknown language, if
+ * Use the empty string for an unknown language, if
* we found no language.
*/
- appendTag(
- unknownLanguage,
- (int32_t)uprv_strlen(unknownLanguage),
- tagBuffer,
- &tagLength);
}
else {
/*
@@ -226,21 +236,17 @@ createTagStringWithAlternates(
}
else if (alternateLangLength == 0) {
/*
- * Append the value for an unknown language, if
+ * Use the empty string for an unknown language, if
* we found no language.
*/
- appendTag(
- unknownLanguage,
- (int32_t)uprv_strlen(unknownLanguage),
- tagBuffer,
- &tagLength);
}
else {
appendTag(
alternateLang,
alternateLangLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/FALSE);
}
}
@@ -249,7 +255,8 @@ createTagStringWithAlternates(
script,
scriptLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/TRUE);
}
else if (alternateTags != NULL) {
/*
@@ -273,7 +280,8 @@ createTagStringWithAlternates(
alternateScript,
alternateScriptLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/TRUE);
}
}
@@ -282,7 +290,8 @@ createTagStringWithAlternates(
region,
regionLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/TRUE);
regionAppended = TRUE;
}
@@ -307,61 +316,35 @@ createTagStringWithAlternates(
alternateRegion,
alternateRegionLength,
tagBuffer,
- &tagLength);
+ &tagLength,
+ /*withSeparator=*/TRUE);
regionAppended = TRUE;
}
}
- {
- const int32_t toCopy =
- tagLength >= tagCapacity ? tagCapacity : tagLength;
-
- /**
- * Copy the partial tag from our internal buffer to the supplied
- * target.
- **/
- uprv_memcpy(
- tag,
- tagBuffer,
- toCopy);
-
- capacityRemaining -= toCopy;
- }
+ /**
+ * Copy the partial tag from our internal buffer to the supplied
+ * target.
+ **/
+ sink.Append(tagBuffer, tagLength);
if (trailingLength > 0) {
- if (*trailing != '@' && capacityRemaining > 0) {
- tag[tagLength++] = '_';
- --capacityRemaining;
- if (capacityRemaining > 0 && !regionAppended) {
+ if (*trailing != '@') {
+ sink.Append("_", 1);
+ if (!regionAppended) {
/* extra separator is required */
- tag[tagLength++] = '_';
- --capacityRemaining;
+ sink.Append("_", 1);
}
}
- if (capacityRemaining > 0) {
- /*
- * Copy the trailing data into the supplied buffer. Use uprv_memmove, since we
- * don't know if the user-supplied buffers overlap.
- */
- const int32_t toCopy =
- trailingLength >= capacityRemaining ? capacityRemaining : trailingLength;
-
- uprv_memmove(
- &tag[tagLength],
- trailing,
- toCopy);
- }
+ /*
+ * Copy the trailing data into the supplied buffer.
+ */
+ sink.Append(trailing, trailingLength);
}
- tagLength += trailingLength;
-
- return u_terminateChars(
- tag,
- tagCapacity,
- tagLength,
- err);
+ return;
}
error:
@@ -375,8 +358,6 @@ error:
U_SUCCESS(*err)) {
*err = U_ILLEGAL_ARGUMENT_ERROR;
}
-
- return -1;
}
/**
@@ -400,12 +381,10 @@ error:
* @param regionLength The length of the region tag.
* @param trailing Any trailing data to append to the new tag.
* @param trailingLength The length of the trailing data.
- * @param tag The output buffer.
- * @param tagCapacity The capacity of the output buffer.
+ * @param sink The output sink receiving the tag string.
* @param err A pointer to a UErrorCode for error reporting.
- * @return The length of the tag string, which may be greater than tagCapacity.
**/
-static int32_t U_CALLCONV
+static void U_CALLCONV
createTagString(
const char* lang,
int32_t langLength,
@@ -415,11 +394,10 @@ createTagString(
int32_t regionLength,
const char* trailing,
int32_t trailingLength,
- char* tag,
- int32_t tagCapacity,
+ icu::ByteSink& sink,
UErrorCode* err)
{
- return createTagStringWithAlternates(
+ createTagStringWithAlternates(
lang,
langLength,
script,
@@ -429,8 +407,7 @@ createTagString(
trailing,
trailingLength,
NULL,
- tag,
- tagCapacity,
+ sink,
err);
}
@@ -502,15 +479,9 @@ parseTagString(
*langLength = subtagLength;
/*
- * If no language was present, use the value of unknownLanguage
- * instead. Otherwise, move past any separator.
+ * If no language was present, use the empty string instead.
+ * Otherwise, move past any separator.
*/
- if (*langLength == 0) {
- uprv_strcpy(
- lang,
- unknownLanguage);
- *langLength = (int32_t)uprv_strlen(lang);
- }
if (_isIDSeparator(*position)) {
++position;
}
@@ -578,7 +549,7 @@ error:
goto exit;
}
-static int32_t U_CALLCONV
+static UBool U_CALLCONV
createLikelySubtagsString(
const char* lang,
int32_t langLength,
@@ -588,17 +559,14 @@ createLikelySubtagsString(
int32_t regionLength,
const char* variants,
int32_t variantsLength,
- char* tag,
- int32_t tagCapacity,
- UErrorCode* err)
-{
+ icu::ByteSink& sink,
+ UErrorCode* err) {
/**
* ULOC_FULLNAME_CAPACITY will provide enough capacity
* that we can build a string that contains the language,
* script and region code without worrying about overrunning
* the user-supplied buffer.
**/
- char tagBuffer[ULOC_FULLNAME_CAPACITY];
char likelySubtagsBuffer[ULOC_FULLNAME_CAPACITY];
if(U_FAILURE(*err)) {
@@ -612,25 +580,28 @@ createLikelySubtagsString(
const char* likelySubtags = NULL;
- createTagString(
- lang,
- langLength,
- script,
- scriptLength,
- region,
- regionLength,
- NULL,
- 0,
- tagBuffer,
- sizeof(tagBuffer),
- err);
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
+ createTagString(
+ lang,
+ langLength,
+ script,
+ scriptLength,
+ region,
+ regionLength,
+ NULL,
+ 0,
+ sink,
+ err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
likelySubtags =
findLikelySubtags(
- tagBuffer,
+ tagBuffer.data(),
likelySubtagsBuffer,
sizeof(likelySubtagsBuffer),
err);
@@ -642,7 +613,7 @@ createLikelySubtagsString(
/* Always use the language tag from the
maximal string, since it may be more
specific than the one provided. */
- return createTagStringWithAlternates(
+ createTagStringWithAlternates(
NULL,
0,
NULL,
@@ -652,9 +623,9 @@ createLikelySubtagsString(
variants,
variantsLength,
likelySubtags,
- tag,
- tagCapacity,
+ sink,
err);
+ return TRUE;
}
}
@@ -665,25 +636,28 @@ createLikelySubtagsString(
const char* likelySubtags = NULL;
- createTagString(
- lang,
- langLength,
- script,
- scriptLength,
- NULL,
- 0,
- NULL,
- 0,
- tagBuffer,
- sizeof(tagBuffer),
- err);
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
+ createTagString(
+ lang,
+ langLength,
+ script,
+ scriptLength,
+ NULL,
+ 0,
+ NULL,
+ 0,
+ sink,
+ err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
likelySubtags =
findLikelySubtags(
- tagBuffer,
+ tagBuffer.data(),
likelySubtagsBuffer,
sizeof(likelySubtagsBuffer),
err);
@@ -695,7 +669,7 @@ createLikelySubtagsString(
/* Always use the language tag from the
maximal string, since it may be more
specific than the one provided. */
- return createTagStringWithAlternates(
+ createTagStringWithAlternates(
NULL,
0,
NULL,
@@ -705,9 +679,9 @@ createLikelySubtagsString(
variants,
variantsLength,
likelySubtags,
- tag,
- tagCapacity,
+ sink,
err);
+ return TRUE;
}
}
@@ -718,25 +692,28 @@ createLikelySubtagsString(
const char* likelySubtags = NULL;
- createTagString(
- lang,
- langLength,
- NULL,
- 0,
- region,
- regionLength,
- NULL,
- 0,
- tagBuffer,
- sizeof(tagBuffer),
- err);
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
+ createTagString(
+ lang,
+ langLength,
+ NULL,
+ 0,
+ region,
+ regionLength,
+ NULL,
+ 0,
+ sink,
+ err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
likelySubtags =
findLikelySubtags(
- tagBuffer,
+ tagBuffer.data(),
likelySubtagsBuffer,
sizeof(likelySubtagsBuffer),
err);
@@ -748,7 +725,7 @@ createLikelySubtagsString(
/* Always use the language tag from the
maximal string, since it may be more
specific than the one provided. */
- return createTagStringWithAlternates(
+ createTagStringWithAlternates(
NULL,
0,
script,
@@ -758,9 +735,9 @@ createLikelySubtagsString(
variants,
variantsLength,
likelySubtags,
- tag,
- tagCapacity,
+ sink,
err);
+ return TRUE;
}
}
@@ -770,25 +747,28 @@ createLikelySubtagsString(
{
const char* likelySubtags = NULL;
- createTagString(
- lang,
- langLength,
- NULL,
- 0,
- NULL,
- 0,
- NULL,
- 0,
- tagBuffer,
- sizeof(tagBuffer),
- err);
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
+ createTagString(
+ lang,
+ langLength,
+ NULL,
+ 0,
+ NULL,
+ 0,
+ NULL,
+ 0,
+ sink,
+ err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
likelySubtags =
findLikelySubtags(
- tagBuffer,
+ tagBuffer.data(),
likelySubtagsBuffer,
sizeof(likelySubtagsBuffer),
err);
@@ -800,7 +780,7 @@ createLikelySubtagsString(
/* Always use the language tag from the
maximal string, since it may be more
specific than the one provided. */
- return createTagStringWithAlternates(
+ createTagStringWithAlternates(
NULL,
0,
script,
@@ -810,17 +790,13 @@ createLikelySubtagsString(
variants,
variantsLength,
likelySubtags,
- tag,
- tagCapacity,
+ sink,
err);
+ return TRUE;
}
}
- return u_terminateChars(
- tag,
- tagCapacity,
- 0,
- err);
+ return FALSE;
error:
@@ -828,34 +804,32 @@ error:
*err = U_ILLEGAL_ARGUMENT_ERROR;
}
- return -1;
+ return FALSE;
}
-#define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) \
- { int32_t count = 0; \
- int32_t i; \
- for (i = 0; i < trailingLength; i++) { \
- if (trailing[i] == '-' || trailing[i] == '_') { \
- count = 0; \
- if (count > 8) { \
- goto error; \
- } \
- } else if (trailing[i] == '@') { \
- break; \
- } else if (count > 8) { \
+#define CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength) UPRV_BLOCK_MACRO_BEGIN { \
+ int32_t count = 0; \
+ int32_t i; \
+ for (i = 0; i < trailingLength; i++) { \
+ if (trailing[i] == '-' || trailing[i] == '_') { \
+ count = 0; \
+ if (count > 8) { \
goto error; \
- } else { \
- count++; \
} \
+ } else if (trailing[i] == '@') { \
+ break; \
+ } else if (count > 8) { \
+ goto error; \
+ } else { \
+ count++; \
} \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
-static int32_t
-_uloc_addLikelySubtags(const char* localeID,
- char* maximizedLocaleID,
- int32_t maximizedLocaleIDCapacity,
- UErrorCode* err)
-{
+static void
+_uloc_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* err) {
char lang[ULOC_LANG_CAPACITY];
int32_t langLength = sizeof(lang);
char script[ULOC_SCRIPT_CAPACITY];
@@ -865,14 +839,12 @@ _uloc_addLikelySubtags(const char* localeID,
const char* trailing = "";
int32_t trailingLength = 0;
int32_t trailingIndex = 0;
- int32_t resultLength = 0;
+ UBool success = FALSE;
if(U_FAILURE(*err)) {
goto error;
}
- else if (localeID == NULL ||
- maximizedLocaleID == NULL ||
- maximizedLocaleIDCapacity <= 0) {
+ if (localeID == NULL) {
goto error;
}
@@ -903,7 +875,7 @@ _uloc_addLikelySubtags(const char* localeID,
CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength);
- resultLength =
+ success =
createLikelySubtagsString(
lang,
langLength,
@@ -913,55 +885,32 @@ _uloc_addLikelySubtags(const char* localeID,
regionLength,
trailing,
trailingLength,
- maximizedLocaleID,
- maximizedLocaleIDCapacity,
+ sink,
err);
- if (resultLength == 0) {
+ if (!success) {
const int32_t localIDLength = (int32_t)uprv_strlen(localeID);
/*
* If we get here, we need to return localeID.
*/
- uprv_memcpy(
- maximizedLocaleID,
- localeID,
- localIDLength <= maximizedLocaleIDCapacity ?
- localIDLength : maximizedLocaleIDCapacity);
-
- resultLength =
- u_terminateChars(
- maximizedLocaleID,
- maximizedLocaleIDCapacity,
- localIDLength,
- err);
+ sink.Append(localeID, localIDLength);
}
- return resultLength;
+ return;
error:
if (!U_FAILURE(*err)) {
*err = U_ILLEGAL_ARGUMENT_ERROR;
}
-
- return -1;
}
-static int32_t
-_uloc_minimizeSubtags(const char* localeID,
- char* minimizedLocaleID,
- int32_t minimizedLocaleIDCapacity,
- UErrorCode* err)
-{
- /**
- * ULOC_FULLNAME_CAPACITY will provide enough capacity
- * that we can build a string that contains the language,
- * script and region code without worrying about overrunning
- * the user-supplied buffer.
- **/
- char maximizedTagBuffer[ULOC_FULLNAME_CAPACITY];
- int32_t maximizedTagBufferLength = sizeof(maximizedTagBuffer);
+static void
+_uloc_minimizeSubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* err) {
+ icu::CharString maximizedTagBuffer;
char lang[ULOC_LANG_CAPACITY];
int32_t langLength = sizeof(lang);
@@ -976,9 +925,7 @@ _uloc_minimizeSubtags(const char* localeID,
if(U_FAILURE(*err)) {
goto error;
}
- else if (localeID == NULL ||
- minimizedLocaleID == NULL ||
- minimizedLocaleIDCapacity <= 0) {
+ else if (localeID == NULL) {
goto error;
}
@@ -1011,32 +958,32 @@ _uloc_minimizeSubtags(const char* localeID,
CHECK_TRAILING_VARIANT_SIZE(trailing, trailingLength);
- createTagString(
- lang,
- langLength,
- script,
- scriptLength,
- region,
- regionLength,
- NULL,
- 0,
- maximizedTagBuffer,
- maximizedTagBufferLength,
- err);
- if(U_FAILURE(*err)) {
- goto error;
- }
+ {
+ icu::CharString base;
+ {
+ icu::CharStringByteSink sink(&base);
+ createTagString(
+ lang,
+ langLength,
+ script,
+ scriptLength,
+ region,
+ regionLength,
+ NULL,
+ 0,
+ sink,
+ err);
+ }
- /**
- * First, we need to first get the maximization
- * from AddLikelySubtags.
- **/
- maximizedTagBufferLength =
- uloc_addLikelySubtags(
- maximizedTagBuffer,
- maximizedTagBuffer,
- maximizedTagBufferLength,
- err);
+ /**
+ * First, we need to first get the maximization
+ * from AddLikelySubtags.
+ **/
+ {
+ icu::CharStringByteSink sink(&maximizedTagBuffer);
+ ulocimp_addLikelySubtags(base.data(), sink, err);
+ }
+ }
if(U_FAILURE(*err)) {
goto error;
@@ -1046,9 +993,9 @@ _uloc_minimizeSubtags(const char* localeID,
* Start first with just the language.
**/
{
- char tagBuffer[ULOC_FULLNAME_CAPACITY];
-
- const int32_t tagBufferLength =
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1058,19 +1005,19 @@ _uloc_minimizeSubtags(const char* localeID,
0,
NULL,
0,
- tagBuffer,
- sizeof(tagBuffer),
+ sink,
err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
- else if (uprv_strnicmp(
- maximizedTagBuffer,
- tagBuffer,
- tagBufferLength) == 0) {
+ else if (!tagBuffer.isEmpty() && uprv_strnicmp(
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
- return createTagString(
+ createTagString(
lang,
langLength,
NULL,
@@ -1079,9 +1026,9 @@ _uloc_minimizeSubtags(const char* localeID,
0,
trailing,
trailingLength,
- minimizedLocaleID,
- minimizedLocaleIDCapacity,
+ sink,
err);
+ return;
}
}
@@ -1090,9 +1037,9 @@ _uloc_minimizeSubtags(const char* localeID,
**/
if (regionLength > 0) {
- char tagBuffer[ULOC_FULLNAME_CAPACITY];
-
- const int32_t tagBufferLength =
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1102,19 +1049,19 @@ _uloc_minimizeSubtags(const char* localeID,
regionLength,
NULL,
0,
- tagBuffer,
- sizeof(tagBuffer),
+ sink,
err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
else if (uprv_strnicmp(
- maximizedTagBuffer,
- tagBuffer,
- tagBufferLength) == 0) {
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
- return createTagString(
+ createTagString(
lang,
langLength,
NULL,
@@ -1123,9 +1070,9 @@ _uloc_minimizeSubtags(const char* localeID,
regionLength,
trailing,
trailingLength,
- minimizedLocaleID,
- minimizedLocaleIDCapacity,
+ sink,
err);
+ return;
}
}
@@ -1135,9 +1082,9 @@ _uloc_minimizeSubtags(const char* localeID,
* maximal version that we already have.
**/
if (scriptLength > 0 && regionLength > 0) {
- char tagBuffer[ULOC_FULLNAME_CAPACITY];
-
- const int32_t tagBufferLength =
+ icu::CharString tagBuffer;
+ {
+ icu::CharStringByteSink sink(&tagBuffer);
createLikelySubtagsString(
lang,
langLength,
@@ -1147,19 +1094,19 @@ _uloc_minimizeSubtags(const char* localeID,
0,
NULL,
0,
- tagBuffer,
- sizeof(tagBuffer),
+ sink,
err);
+ }
if(U_FAILURE(*err)) {
goto error;
}
else if (uprv_strnicmp(
- maximizedTagBuffer,
- tagBuffer,
- tagBufferLength) == 0) {
+ maximizedTagBuffer.data(),
+ tagBuffer.data(),
+ tagBuffer.length()) == 0) {
- return createTagString(
+ createTagString(
lang,
langLength,
script,
@@ -1168,9 +1115,9 @@ _uloc_minimizeSubtags(const char* localeID,
0,
trailing,
trailingLength,
- minimizedLocaleID,
- minimizedLocaleIDCapacity,
+ sink,
err);
+ return;
}
}
@@ -1179,18 +1126,8 @@ _uloc_minimizeSubtags(const char* localeID,
* If we got here, return the locale ID parameter.
**/
const int32_t localeIDLength = (int32_t)uprv_strlen(localeID);
-
- uprv_memcpy(
- minimizedLocaleID,
- localeID,
- localeIDLength <= minimizedLocaleIDCapacity ?
- localeIDLength : minimizedLocaleIDCapacity);
-
- return u_terminateChars(
- minimizedLocaleID,
- minimizedLocaleIDCapacity,
- localeIDLength,
- err);
+ sink.Append(localeID, localeIDLength);
+ return;
}
error:
@@ -1198,10 +1135,6 @@ error:
if (!U_FAILURE(*err)) {
*err = U_ILLEGAL_ARGUMENT_ERROR;
}
-
- return -1;
-
-
}
static UBool
@@ -1232,51 +1165,83 @@ do_canonicalize(const char* localeID,
}
U_CAPI int32_t U_EXPORT2
-uloc_addLikelySubtags(const char* localeID,
- char* maximizedLocaleID,
- int32_t maximizedLocaleIDCapacity,
- UErrorCode* err)
-{
+uloc_addLikelySubtags(const char* localeID,
+ char* maximizedLocaleID,
+ int32_t maximizedLocaleIDCapacity,
+ UErrorCode* status) {
+ if (U_FAILURE(*status)) {
+ return 0;
+ }
+
+ icu::CheckedArrayByteSink sink(
+ maximizedLocaleID, maximizedLocaleIDCapacity);
+
+ ulocimp_addLikelySubtags(localeID, sink, status);
+ int32_t reslen = sink.NumberOfBytesAppended();
+
+ if (U_FAILURE(*status)) {
+ return sink.Overflowed() ? reslen : -1;
+ }
+
+ if (sink.Overflowed()) {
+ *status = U_BUFFER_OVERFLOW_ERROR;
+ } else {
+ u_terminateChars(
+ maximizedLocaleID, maximizedLocaleIDCapacity, reslen, status);
+ }
+
+ return reslen;
+}
+
+U_CAPI void U_EXPORT2
+ulocimp_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* status) {
char localeBuffer[ULOC_FULLNAME_CAPACITY];
- if (!do_canonicalize(
- localeID,
- localeBuffer,
- sizeof(localeBuffer),
- err)) {
- return -1;
+ if (do_canonicalize(localeID, localeBuffer, sizeof localeBuffer, status)) {
+ _uloc_addLikelySubtags(localeBuffer, sink, status);
}
- else {
- return _uloc_addLikelySubtags(
- localeBuffer,
- maximizedLocaleID,
- maximizedLocaleIDCapacity,
- err);
- }
}
U_CAPI int32_t U_EXPORT2
-uloc_minimizeSubtags(const char* localeID,
- char* minimizedLocaleID,
- int32_t minimizedLocaleIDCapacity,
- UErrorCode* err)
-{
+uloc_minimizeSubtags(const char* localeID,
+ char* minimizedLocaleID,
+ int32_t minimizedLocaleIDCapacity,
+ UErrorCode* status) {
+ if (U_FAILURE(*status)) {
+ return 0;
+ }
+
+ icu::CheckedArrayByteSink sink(
+ minimizedLocaleID, minimizedLocaleIDCapacity);
+
+ ulocimp_minimizeSubtags(localeID, sink, status);
+ int32_t reslen = sink.NumberOfBytesAppended();
+
+ if (U_FAILURE(*status)) {
+ return sink.Overflowed() ? reslen : -1;
+ }
+
+ if (sink.Overflowed()) {
+ *status = U_BUFFER_OVERFLOW_ERROR;
+ } else {
+ u_terminateChars(
+ minimizedLocaleID, minimizedLocaleIDCapacity, reslen, status);
+ }
+
+ return reslen;
+}
+
+U_CAPI void U_EXPORT2
+ulocimp_minimizeSubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* status) {
char localeBuffer[ULOC_FULLNAME_CAPACITY];
- if (!do_canonicalize(
- localeID,
- localeBuffer,
- sizeof(localeBuffer),
- err)) {
- return -1;
+ if (do_canonicalize(localeID, localeBuffer, sizeof localeBuffer, status)) {
+ _uloc_minimizeSubtags(localeBuffer, sink, status);
}
- else {
- return _uloc_minimizeSubtags(
- localeBuffer,
- minimizedLocaleID,
- minimizedLocaleIDCapacity,
- err);
- }
}
// Pairs of (language subtag, + or -) for finding out fast if common languages
@@ -1284,7 +1249,7 @@ uloc_minimizeSubtags(const char* localeID,
static const char LANG_DIR_STRING[] =
"root-en-es-pt-zh-ja-ko-de-fr-it-ar+he+fa+ru-nl-pl-th-tr-";
-// Implemented here because this calls uloc_addLikelySubtags().
+// Implemented here because this calls ulocimp_addLikelySubtags().
U_CAPI UBool U_EXPORT2
uloc_isRightToLeft(const char *locale) {
UErrorCode errorCode = U_ZERO_ERROR;
@@ -1297,26 +1262,30 @@ uloc_isRightToLeft(const char *locale) {
errorCode = U_ZERO_ERROR;
char lang[8];
int32_t langLength = uloc_getLanguage(locale, lang, UPRV_LENGTHOF(lang), &errorCode);
- if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING ||
- langLength == 0) {
+ if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
return FALSE;
}
- const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang);
- if (langPtr != NULL) {
- switch (langPtr[langLength]) {
- case '-': return FALSE;
- case '+': return TRUE;
- default: break; // partial match of a longer code
+ if (langLength > 0) {
+ const char* langPtr = uprv_strstr(LANG_DIR_STRING, lang);
+ if (langPtr != NULL) {
+ switch (langPtr[langLength]) {
+ case '-': return FALSE;
+ case '+': return TRUE;
+ default: break; // partial match of a longer code
+ }
}
}
// Otherwise, find the likely script.
errorCode = U_ZERO_ERROR;
- char likely[ULOC_FULLNAME_CAPACITY];
- (void)uloc_addLikelySubtags(locale, likely, UPRV_LENGTHOF(likely), &errorCode);
+ icu::CharString likely;
+ {
+ icu::CharStringByteSink sink(&likely);
+ ulocimp_addLikelySubtags(locale, sink, &errorCode);
+ }
if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING) {
return FALSE;
}
- scriptLength = uloc_getScript(likely, script, UPRV_LENGTHOF(script), &errorCode);
+ scriptLength = uloc_getScript(likely.data(), script, UPRV_LENGTHOF(script), &errorCode);
if (U_FAILURE(errorCode) || errorCode == U_STRING_NOT_TERMINATED_WARNING ||
scriptLength == 0) {
return FALSE;
@@ -1367,11 +1336,14 @@ ulocimp_getRegionForSupplementalData(const char *localeID, UBool inferRegion,
rgLen = 0;
} else if (rgLen == 0 && inferRegion) {
// no unicode_region_subtag but inferRegion TRUE, try likely subtags
- char locBuf[ULOC_FULLNAME_CAPACITY];
rgStatus = U_ZERO_ERROR;
- (void)uloc_addLikelySubtags(localeID, locBuf, ULOC_FULLNAME_CAPACITY, &rgStatus);
+ icu::CharString locBuf;
+ {
+ icu::CharStringByteSink sink(&locBuf);
+ ulocimp_addLikelySubtags(localeID, sink, &rgStatus);
+ }
if (U_SUCCESS(rgStatus)) {
- rgLen = uloc_getCountry(locBuf, rgBuf, ULOC_RG_BUFLEN, status);
+ rgLen = uloc_getCountry(locBuf.data(), rgBuf, ULOC_RG_BUFLEN, status);
if (U_FAILURE(*status)) {
rgLen = 0;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.cpp b/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.cpp
new file mode 100644
index 00000000000..d7f5e124c2c
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.cpp
@@ -0,0 +1,638 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// loclikelysubtags.cpp
+// created: 2019may08 Markus W. Scherer
+
+#include
+#include "unicode/utypes.h"
+#include "unicode/bytestrie.h"
+#include "unicode/localpointer.h"
+#include "unicode/locid.h"
+#include "unicode/uobject.h"
+#include "unicode/ures.h"
+#include "charstr.h"
+#include "cstring.h"
+#include "loclikelysubtags.h"
+#include "lsr.h"
+#include "uassert.h"
+#include "ucln_cmn.h"
+#include "uhash.h"
+#include "uinvchar.h"
+#include "umutex.h"
+#include "uresdata.h"
+#include "uresimp.h"
+
+U_NAMESPACE_BEGIN
+
+namespace {
+
+constexpr char PSEUDO_ACCENTS_PREFIX = '\''; // -XA, -PSACCENT
+constexpr char PSEUDO_BIDI_PREFIX = '+'; // -XB, -PSBIDI
+constexpr char PSEUDO_CRACKED_PREFIX = ','; // -XC, -PSCRACK
+
+/**
+ * Stores NUL-terminated strings with duplicate elimination.
+ * Checks for unique UTF-16 string pointers and converts to invariant characters.
+ */
+class UniqueCharStrings {
+public:
+ UniqueCharStrings(UErrorCode &errorCode) : strings(nullptr) {
+ uhash_init(&map, uhash_hashUChars, uhash_compareUChars, uhash_compareLong, &errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ strings = new CharString();
+ if (strings == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ }
+ }
+ ~UniqueCharStrings() {
+ uhash_close(&map);
+ delete strings;
+ }
+
+ /** Returns/orphans the CharString that contains all strings. */
+ CharString *orphanCharStrings() {
+ CharString *result = strings;
+ strings = nullptr;
+ return result;
+ }
+
+ /** Adds a string and returns a unique number for it. */
+ int32_t add(const UnicodeString &s, UErrorCode &errorCode) {
+ if (U_FAILURE(errorCode)) { return 0; }
+ if (isFrozen) {
+ errorCode = U_NO_WRITE_PERMISSION;
+ return 0;
+ }
+ // The string points into the resource bundle.
+ const char16_t *p = s.getBuffer();
+ int32_t oldIndex = uhash_geti(&map, p);
+ if (oldIndex != 0) { // found duplicate
+ return oldIndex;
+ }
+ // Explicit NUL terminator for the previous string.
+ // The strings object is also terminated with one implicit NUL.
+ strings->append(0, errorCode);
+ int32_t newIndex = strings->length();
+ strings->appendInvariantChars(s, errorCode);
+ uhash_puti(&map, const_cast(p), newIndex, &errorCode);
+ return newIndex;
+ }
+
+ void freeze() { isFrozen = true; }
+
+ /**
+ * Returns a string pointer for its unique number, if this object is frozen.
+ * Otherwise nullptr.
+ */
+ const char *get(int32_t i) const {
+ U_ASSERT(isFrozen);
+ return isFrozen && i > 0 ? strings->data() + i : nullptr;
+ }
+
+private:
+ UHashtable map;
+ CharString *strings;
+ bool isFrozen = false;
+};
+
+} // namespace
+
+LocaleDistanceData::LocaleDistanceData(LocaleDistanceData &&data) :
+ distanceTrieBytes(data.distanceTrieBytes),
+ regionToPartitions(data.regionToPartitions),
+ partitions(data.partitions),
+ paradigms(data.paradigms), paradigmsLength(data.paradigmsLength),
+ distances(data.distances) {
+ data.partitions = nullptr;
+ data.paradigms = nullptr;
+}
+
+LocaleDistanceData::~LocaleDistanceData() {
+ uprv_free(partitions);
+ delete[] paradigms;
+}
+
+// TODO(ICU-20777): Rename to just LikelySubtagsData.
+struct XLikelySubtagsData {
+ UResourceBundle *langInfoBundle = nullptr;
+ UniqueCharStrings strings;
+ CharStringMap languageAliases;
+ CharStringMap regionAliases;
+ const uint8_t *trieBytes = nullptr;
+ LSR *lsrs = nullptr;
+ int32_t lsrsLength = 0;
+
+ LocaleDistanceData distanceData;
+
+ XLikelySubtagsData(UErrorCode &errorCode) : strings(errorCode) {}
+
+ ~XLikelySubtagsData() {
+ ures_close(langInfoBundle);
+ delete[] lsrs;
+ }
+
+ void load(UErrorCode &errorCode) {
+ langInfoBundle = ures_openDirect(nullptr, "langInfo", &errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ StackUResourceBundle stackTempBundle;
+ ResourceDataValue value;
+ ures_getValueWithFallback(langInfoBundle, "likely", stackTempBundle.getAlias(),
+ value, errorCode);
+ ResourceTable likelyTable = value.getTable(errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+
+ // Read all strings in the resource bundle and convert them to invariant char *.
+ LocalMemory languageIndexes, regionIndexes, lsrSubtagIndexes;
+ int32_t languagesLength = 0, regionsLength = 0, lsrSubtagsLength = 0;
+ if (!readStrings(likelyTable, "languageAliases", value,
+ languageIndexes, languagesLength, errorCode) ||
+ !readStrings(likelyTable, "regionAliases", value,
+ regionIndexes, regionsLength, errorCode) ||
+ !readStrings(likelyTable, "lsrs", value,
+ lsrSubtagIndexes,lsrSubtagsLength, errorCode)) {
+ return;
+ }
+ if ((languagesLength & 1) != 0 ||
+ (regionsLength & 1) != 0 ||
+ (lsrSubtagsLength % 3) != 0) {
+ errorCode = U_INVALID_FORMAT_ERROR;
+ return;
+ }
+ if (lsrSubtagsLength == 0) {
+ errorCode = U_MISSING_RESOURCE_ERROR;
+ return;
+ }
+
+ if (!likelyTable.findValue("trie", value)) {
+ errorCode = U_MISSING_RESOURCE_ERROR;
+ return;
+ }
+ int32_t length;
+ trieBytes = value.getBinary(length, errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+
+ // Also read distance/matcher data if available,
+ // to open & keep only one resource bundle pointer
+ // and to use one single UniqueCharStrings.
+ UErrorCode matchErrorCode = U_ZERO_ERROR;
+ ures_getValueWithFallback(langInfoBundle, "match", stackTempBundle.getAlias(),
+ value, matchErrorCode);
+ LocalMemory partitionIndexes, paradigmSubtagIndexes;
+ int32_t partitionsLength = 0, paradigmSubtagsLength = 0;
+ if (U_SUCCESS(matchErrorCode)) {
+ ResourceTable matchTable = value.getTable(errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+
+ if (matchTable.findValue("trie", value)) {
+ distanceData.distanceTrieBytes = value.getBinary(length, errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ }
+
+ if (matchTable.findValue("regionToPartitions", value)) {
+ distanceData.regionToPartitions = value.getBinary(length, errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ if (length < LSR::REGION_INDEX_LIMIT) {
+ errorCode = U_INVALID_FORMAT_ERROR;
+ return;
+ }
+ }
+
+ if (!readStrings(matchTable, "partitions", value,
+ partitionIndexes, partitionsLength, errorCode) ||
+ !readStrings(matchTable, "paradigms", value,
+ paradigmSubtagIndexes, paradigmSubtagsLength, errorCode)) {
+ return;
+ }
+ if ((paradigmSubtagsLength % 3) != 0) {
+ errorCode = U_INVALID_FORMAT_ERROR;
+ return;
+ }
+
+ if (matchTable.findValue("distances", value)) {
+ distanceData.distances = value.getIntVector(length, errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ if (length < 4) { // LocaleDistance IX_LIMIT
+ errorCode = U_INVALID_FORMAT_ERROR;
+ return;
+ }
+ }
+ } else if (matchErrorCode == U_MISSING_RESOURCE_ERROR) {
+ // ok for likely subtags
+ } else { // error other than missing resource
+ errorCode = matchErrorCode;
+ return;
+ }
+
+ // Fetch & store invariant-character versions of strings
+ // only after we have collected and de-duplicated all of them.
+ strings.freeze();
+
+ languageAliases = CharStringMap(languagesLength / 2, errorCode);
+ for (int32_t i = 0; i < languagesLength; i += 2) {
+ languageAliases.put(strings.get(languageIndexes[i]),
+ strings.get(languageIndexes[i + 1]), errorCode);
+ }
+
+ regionAliases = CharStringMap(regionsLength / 2, errorCode);
+ for (int32_t i = 0; i < regionsLength; i += 2) {
+ regionAliases.put(strings.get(regionIndexes[i]),
+ strings.get(regionIndexes[i + 1]), errorCode);
+ }
+ if (U_FAILURE(errorCode)) { return; }
+
+ lsrsLength = lsrSubtagsLength / 3;
+ lsrs = new LSR[lsrsLength];
+ if (lsrs == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
+ for (int32_t i = 0, j = 0; i < lsrSubtagsLength; i += 3, ++j) {
+ lsrs[j] = LSR(strings.get(lsrSubtagIndexes[i]),
+ strings.get(lsrSubtagIndexes[i + 1]),
+ strings.get(lsrSubtagIndexes[i + 2]));
+ }
+
+ if (partitionsLength > 0) {
+ distanceData.partitions = static_cast(
+ uprv_malloc(partitionsLength * sizeof(const char *)));
+ if (distanceData.partitions == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
+ for (int32_t i = 0; i < partitionsLength; ++i) {
+ distanceData.partitions[i] = strings.get(partitionIndexes[i]);
+ }
+ }
+
+ if (paradigmSubtagsLength > 0) {
+ distanceData.paradigmsLength = paradigmSubtagsLength / 3;
+ LSR *paradigms = new LSR[distanceData.paradigmsLength];
+ if (paradigms == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
+ for (int32_t i = 0, j = 0; i < paradigmSubtagsLength; i += 3, ++j) {
+ paradigms[j] = LSR(strings.get(paradigmSubtagIndexes[i]),
+ strings.get(paradigmSubtagIndexes[i + 1]),
+ strings.get(paradigmSubtagIndexes[i + 2]));
+ }
+ distanceData.paradigms = paradigms;
+ }
+ }
+
+private:
+ bool readStrings(const ResourceTable &table, const char *key, ResourceValue &value,
+ LocalMemory &indexes, int32_t &length, UErrorCode &errorCode) {
+ if (table.findValue(key, value)) {
+ ResourceArray stringArray = value.getArray(errorCode);
+ if (U_FAILURE(errorCode)) { return false; }
+ length = stringArray.getSize();
+ if (length == 0) { return true; }
+ int32_t *rawIndexes = indexes.allocateInsteadAndCopy(length);
+ if (rawIndexes == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return false;
+ }
+ for (int i = 0; i < length; ++i) {
+ stringArray.getValue(i, value); // returns TRUE because i < length
+ rawIndexes[i] = strings.add(value.getUnicodeString(errorCode), errorCode);
+ if (U_FAILURE(errorCode)) { return false; }
+ }
+ }
+ return true;
+ }
+};
+
+namespace {
+
+XLikelySubtags *gLikelySubtags = nullptr;
+UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
+
+UBool U_CALLCONV cleanup() {
+ delete gLikelySubtags;
+ gLikelySubtags = nullptr;
+ gInitOnce.reset();
+ return TRUE;
+}
+
+} // namespace
+
+void U_CALLCONV XLikelySubtags::initLikelySubtags(UErrorCode &errorCode) {
+ // This function is invoked only via umtx_initOnce().
+ U_ASSERT(gLikelySubtags == nullptr);
+ XLikelySubtagsData data(errorCode);
+ data.load(errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+ gLikelySubtags = new XLikelySubtags(data);
+ if (gLikelySubtags == nullptr) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
+ ucln_common_registerCleanup(UCLN_COMMON_LIKELY_SUBTAGS, cleanup);
+}
+
+const XLikelySubtags *XLikelySubtags::getSingleton(UErrorCode &errorCode) {
+ if (U_FAILURE(errorCode)) { return nullptr; }
+ umtx_initOnce(gInitOnce, &XLikelySubtags::initLikelySubtags, errorCode);
+ return gLikelySubtags;
+}
+
+XLikelySubtags::XLikelySubtags(XLikelySubtagsData &data) :
+ langInfoBundle(data.langInfoBundle),
+ strings(data.strings.orphanCharStrings()),
+ languageAliases(std::move(data.languageAliases)),
+ regionAliases(std::move(data.regionAliases)),
+ trie(data.trieBytes),
+ lsrs(data.lsrs),
+#if U_DEBUG
+ lsrsLength(data.lsrsLength),
+#endif
+ distanceData(std::move(data.distanceData)) {
+ data.langInfoBundle = nullptr;
+ data.lsrs = nullptr;
+
+ // Cache the result of looking up language="und" encoded as "*", and "und-Zzzz" ("**").
+ UStringTrieResult result = trie.next(u'*');
+ U_ASSERT(USTRINGTRIE_HAS_NEXT(result));
+ trieUndState = trie.getState64();
+ result = trie.next(u'*');
+ U_ASSERT(USTRINGTRIE_HAS_NEXT(result));
+ trieUndZzzzState = trie.getState64();
+ result = trie.next(u'*');
+ U_ASSERT(USTRINGTRIE_HAS_VALUE(result));
+ defaultLsrIndex = trie.getValue();
+ trie.reset();
+
+ for (char16_t c = u'a'; c <= u'z'; ++c) {
+ result = trie.next(c);
+ if (result == USTRINGTRIE_NO_VALUE) {
+ trieFirstLetterStates[c - u'a'] = trie.getState64();
+ }
+ trie.reset();
+ }
+}
+
+XLikelySubtags::~XLikelySubtags() {
+ ures_close(langInfoBundle);
+ delete strings;
+ delete[] lsrs;
+}
+
+LSR XLikelySubtags::makeMaximizedLsrFrom(const Locale &locale, UErrorCode &errorCode) const {
+ const char *name = locale.getName();
+ if (uprv_isAtSign(name[0]) && name[1] == 'x' && name[2] == '=') { // name.startsWith("@x=")
+ // Private use language tag x-subtag-subtag...
+ return LSR(name, "", "");
+ }
+ return makeMaximizedLsr(locale.getLanguage(), locale.getScript(), locale.getCountry(),
+ locale.getVariant(), errorCode);
+}
+
+namespace {
+
+const char *getCanonical(const CharStringMap &aliases, const char *alias) {
+ const char *canonical = aliases.get(alias);
+ return canonical == nullptr ? alias : canonical;
+}
+
+} // namespace
+
+LSR XLikelySubtags::makeMaximizedLsr(const char *language, const char *script, const char *region,
+ const char *variant, UErrorCode &errorCode) const {
+ // Handle pseudolocales like en-XA, ar-XB, fr-PSCRACK.
+ // They should match only themselves,
+ // not other locales with what looks like the same language and script subtags.
+ char c1;
+ if (region[0] == 'X' && (c1 = region[1]) != 0 && region[2] == 0) {
+ switch (c1) {
+ case 'A':
+ return LSR(PSEUDO_ACCENTS_PREFIX, language, script, region, errorCode);
+ case 'B':
+ return LSR(PSEUDO_BIDI_PREFIX, language, script, region, errorCode);
+ case 'C':
+ return LSR(PSEUDO_CRACKED_PREFIX, language, script, region, errorCode);
+ default: // normal locale
+ break;
+ }
+ }
+
+ if (variant[0] == 'P' && variant[1] == 'S') {
+ if (uprv_strcmp(variant, "PSACCENT") == 0) {
+ return LSR(PSEUDO_ACCENTS_PREFIX, language, script,
+ *region == 0 ? "XA" : region, errorCode);
+ } else if (uprv_strcmp(variant, "PSBIDI") == 0) {
+ return LSR(PSEUDO_BIDI_PREFIX, language, script,
+ *region == 0 ? "XB" : region, errorCode);
+ } else if (uprv_strcmp(variant, "PSCRACK") == 0) {
+ return LSR(PSEUDO_CRACKED_PREFIX, language, script,
+ *region == 0 ? "XC" : region, errorCode);
+ }
+ // else normal locale
+ }
+
+ language = getCanonical(languageAliases, language);
+ // (We have no script mappings.)
+ region = getCanonical(regionAliases, region);
+ return maximize(language, script, region);
+}
+
+LSR XLikelySubtags::maximize(const char *language, const char *script, const char *region) const {
+ if (uprv_strcmp(language, "und") == 0) {
+ language = "";
+ }
+ if (uprv_strcmp(script, "Zzzz") == 0) {
+ script = "";
+ }
+ if (uprv_strcmp(region, "ZZ") == 0) {
+ region = "";
+ }
+ if (*script != 0 && *region != 0 && *language != 0) {
+ return LSR(language, script, region); // already maximized
+ }
+
+ uint32_t retainOldMask = 0;
+ BytesTrie iter(trie);
+ uint64_t state;
+ int32_t value;
+ // Small optimization: Array lookup for first language letter.
+ int32_t c0;
+ if (0 <= (c0 = uprv_lowerOrdinal(language[0])) && c0 <= 25 &&
+ language[1] != 0 && // language.length() >= 2
+ (state = trieFirstLetterStates[c0]) != 0) {
+ value = trieNext(iter.resetToState64(state), language, 1);
+ } else {
+ value = trieNext(iter, language, 0);
+ }
+ if (value >= 0) {
+ if (*language != 0) {
+ retainOldMask |= 4;
+ }
+ state = iter.getState64();
+ } else {
+ retainOldMask |= 4;
+ iter.resetToState64(trieUndState); // "und" ("*")
+ state = 0;
+ }
+
+ if (value > 0) {
+ // Intermediate or final value from just language.
+ if (value == SKIP_SCRIPT) {
+ value = 0;
+ }
+ if (*script != 0) {
+ retainOldMask |= 2;
+ }
+ } else {
+ value = trieNext(iter, script, 0);
+ if (value >= 0) {
+ if (*script != 0) {
+ retainOldMask |= 2;
+ }
+ state = iter.getState64();
+ } else {
+ retainOldMask |= 2;
+ if (state == 0) {
+ iter.resetToState64(trieUndZzzzState); // "und-Zzzz" ("**")
+ } else {
+ iter.resetToState64(state);
+ value = trieNext(iter, "", 0);
+ U_ASSERT(value >= 0);
+ state = iter.getState64();
+ }
+ }
+ }
+
+ if (value > 0) {
+ // Final value from just language or language+script.
+ if (*region != 0) {
+ retainOldMask |= 1;
+ }
+ } else {
+ value = trieNext(iter, region, 0);
+ if (value >= 0) {
+ if (*region != 0) {
+ retainOldMask |= 1;
+ }
+ } else {
+ retainOldMask |= 1;
+ if (state == 0) {
+ value = defaultLsrIndex;
+ } else {
+ iter.resetToState64(state);
+ value = trieNext(iter, "", 0);
+ U_ASSERT(value > 0);
+ }
+ }
+ }
+ U_ASSERT(value < lsrsLength);
+ const LSR &result = lsrs[value];
+
+ if (*language == 0) {
+ language = "und";
+ }
+
+ if (retainOldMask == 0) {
+ // Quickly return a copy of the lookup-result LSR
+ // without new allocation of the subtags.
+ return LSR(result.language, result.script, result.region);
+ }
+ if ((retainOldMask & 4) == 0) {
+ language = result.language;
+ }
+ if ((retainOldMask & 2) == 0) {
+ script = result.script;
+ }
+ if ((retainOldMask & 1) == 0) {
+ region = result.region;
+ }
+ return LSR(language, script, region);
+}
+
+int32_t XLikelySubtags::trieNext(BytesTrie &iter, const char *s, int32_t i) {
+ UStringTrieResult result;
+ uint8_t c;
+ if ((c = s[i]) == 0) {
+ result = iter.next(u'*');
+ } else {
+ for (;;) {
+ c = uprv_invCharToAscii(c);
+ // EBCDIC: If s[i] is not an invariant character,
+ // then c is now 0 and will simply not match anything, which is harmless.
+ uint8_t next = s[++i];
+ if (next != 0) {
+ if (!USTRINGTRIE_HAS_NEXT(iter.next(c))) {
+ return -1;
+ }
+ } else {
+ // last character of this subtag
+ result = iter.next(c | 0x80);
+ break;
+ }
+ c = next;
+ }
+ }
+ switch (result) {
+ case USTRINGTRIE_NO_MATCH: return -1;
+ case USTRINGTRIE_NO_VALUE: return 0;
+ case USTRINGTRIE_INTERMEDIATE_VALUE:
+ U_ASSERT(iter.getValue() == SKIP_SCRIPT);
+ return SKIP_SCRIPT;
+ case USTRINGTRIE_FINAL_VALUE: return iter.getValue();
+ default: return -1;
+ }
+}
+
+// TODO(ICU-20777): Switch Locale/uloc_ likely-subtags API from the old code
+// in loclikely.cpp to this new code, including activating this
+// minimizeSubtags() function. The LocaleMatcher does not minimize.
+#if 0
+LSR XLikelySubtags::minimizeSubtags(const char *languageIn, const char *scriptIn,
+ const char *regionIn, ULocale.Minimize fieldToFavor,
+ UErrorCode &errorCode) const {
+ LSR result = maximize(languageIn, scriptIn, regionIn);
+
+ // We could try just a series of checks, like:
+ // LSR result2 = addLikelySubtags(languageIn, "", "");
+ // if result.equals(result2) return result2;
+ // However, we can optimize 2 of the cases:
+ // (languageIn, "", "")
+ // (languageIn, "", regionIn)
+
+ // value00 = lookup(result.language, "", "")
+ BytesTrie iter = new BytesTrie(trie);
+ int value = trieNext(iter, result.language, 0);
+ U_ASSERT(value >= 0);
+ if (value == 0) {
+ value = trieNext(iter, "", 0);
+ U_ASSERT(value >= 0);
+ if (value == 0) {
+ value = trieNext(iter, "", 0);
+ }
+ }
+ U_ASSERT(value > 0);
+ LSR value00 = lsrs[value];
+ boolean favorRegionOk = false;
+ if (result.script.equals(value00.script)) { //script is default
+ if (result.region.equals(value00.region)) {
+ return new LSR(result.language, "", "");
+ } else if (fieldToFavor == ULocale.Minimize.FAVOR_REGION) {
+ return new LSR(result.language, "", result.region);
+ } else {
+ favorRegionOk = true;
+ }
+ }
+
+ // The last case is not as easy to optimize.
+ // Maybe do later, but for now use the straightforward code.
+ LSR result2 = maximize(languageIn, scriptIn, "");
+ if (result2.equals(result)) {
+ return new LSR(result.language, result.script, "");
+ } else if (favorRegionOk) {
+ return new LSR(result.language, "", result.region);
+ }
+ return result;
+}
+#endif
+
+U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.h b/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.h
new file mode 100644
index 00000000000..8c8a08ac5e3
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/loclikelysubtags.h
@@ -0,0 +1,143 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// loclikelysubtags.h
+// created: 2019may08 Markus W. Scherer
+
+#ifndef __LOCLIKELYSUBTAGS_H__
+#define __LOCLIKELYSUBTAGS_H__
+
+#include
+#include "unicode/utypes.h"
+#include "unicode/bytestrie.h"
+#include "unicode/locid.h"
+#include "unicode/uobject.h"
+#include "unicode/ures.h"
+#include "lsr.h"
+#include "uhash.h"
+
+U_NAMESPACE_BEGIN
+
+struct XLikelySubtagsData;
+
+/**
+ * Map of const char * keys & values.
+ * Stores pointers as is: Does not own/copy/adopt/release strings.
+ */
+class CharStringMap final : public UMemory {
+public:
+ /** Constructs an unusable non-map. */
+ CharStringMap() : map(nullptr) {}
+ CharStringMap(int32_t size, UErrorCode &errorCode) {
+ map = uhash_openSize(uhash_hashChars, uhash_compareChars, uhash_compareChars,
+ size, &errorCode);
+ }
+ CharStringMap(CharStringMap &&other) U_NOEXCEPT : map(other.map) {
+ other.map = nullptr;
+ }
+ CharStringMap(const CharStringMap &other) = delete;
+ ~CharStringMap() {
+ uhash_close(map);
+ }
+
+ CharStringMap &operator=(CharStringMap &&other) U_NOEXCEPT {
+ map = other.map;
+ other.map = nullptr;
+ return *this;
+ }
+ CharStringMap &operator=(const CharStringMap &other) = delete;
+
+ const char *get(const char *key) const { return static_cast(uhash_get(map, key)); }
+ void put(const char *key, const char *value, UErrorCode &errorCode) {
+ uhash_put(map, const_cast(key), const_cast(value), &errorCode);
+ }
+
+private:
+ UHashtable *map;
+};
+
+struct LocaleDistanceData {
+ LocaleDistanceData() = default;
+ LocaleDistanceData(LocaleDistanceData &&data);
+ ~LocaleDistanceData();
+
+ const uint8_t *distanceTrieBytes = nullptr;
+ const uint8_t *regionToPartitions = nullptr;
+ const char **partitions = nullptr;
+ const LSR *paradigms = nullptr;
+ int32_t paradigmsLength = 0;
+ const int32_t *distances = nullptr;
+
+private:
+ LocaleDistanceData &operator=(const LocaleDistanceData &) = delete;
+};
+
+// TODO(ICU-20777): Rename to just LikelySubtags.
+class XLikelySubtags final : public UMemory {
+public:
+ ~XLikelySubtags();
+
+ static constexpr int32_t SKIP_SCRIPT = 1;
+
+ // VisibleForTesting
+ static const XLikelySubtags *getSingleton(UErrorCode &errorCode);
+
+ // VisibleForTesting
+ LSR makeMaximizedLsrFrom(const Locale &locale, UErrorCode &errorCode) const;
+
+ // TODO(ICU-20777): Switch Locale/uloc_ likely-subtags API from the old code
+ // in loclikely.cpp to this new code, including activating this
+ // minimizeSubtags() function. The LocaleMatcher does not minimize.
+#if 0
+ LSR minimizeSubtags(const char *languageIn, const char *scriptIn, const char *regionIn,
+ ULocale.Minimize fieldToFavor, UErrorCode &errorCode) const;
+#endif
+
+ // visible for LocaleDistance
+ const LocaleDistanceData &getDistanceData() const { return distanceData; }
+
+private:
+ XLikelySubtags(XLikelySubtagsData &data);
+ XLikelySubtags(const XLikelySubtags &other) = delete;
+ XLikelySubtags &operator=(const XLikelySubtags &other) = delete;
+
+ static void initLikelySubtags(UErrorCode &errorCode);
+
+ LSR makeMaximizedLsr(const char *language, const char *script, const char *region,
+ const char *variant, UErrorCode &errorCode) const;
+
+ /**
+ * Raw access to addLikelySubtags. Input must be in canonical format, eg "en", not "eng" or "EN".
+ */
+ LSR maximize(const char *language, const char *script, const char *region) const;
+
+ static int32_t trieNext(BytesTrie &iter, const char *s, int32_t i);
+
+ UResourceBundle *langInfoBundle;
+ // We could store the strings by value, except that if there were few enough strings,
+ // moving the contents could copy it to a different array,
+ // invalidating the pointers stored in the maps.
+ CharString *strings;
+ CharStringMap languageAliases;
+ CharStringMap regionAliases;
+
+ // The trie maps each lang+script+region (encoded in ASCII) to an index into lsrs.
+ // There is also a trie value for each intermediate lang and lang+script.
+ // '*' is used instead of "und", "Zzzz"/"" and "ZZ"/"".
+ BytesTrie trie;
+ uint64_t trieUndState;
+ uint64_t trieUndZzzzState;
+ int32_t defaultLsrIndex;
+ uint64_t trieFirstLetterStates[26];
+ const LSR *lsrs;
+#if U_DEBUG
+ int32_t lsrsLength;
+#endif
+
+ // distance/matcher data: see comment in XLikelySubtagsData::load()
+ LocaleDistanceData distanceData;
+};
+
+U_NAMESPACE_END
+
+#endif // __LOCLIKELYSUBTAGS_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/locmap.cpp b/Build/source/libs/icu/icu-src/source/common/locmap.cpp
index 6d62d8310c0..a6311343551 100644
--- a/Build/source/libs/icu/icu-src/source/common/locmap.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/locmap.cpp
@@ -32,18 +32,9 @@
#include "cmemory.h"
#include "unicode/uloc.h"
-#if U_PLATFORM == U_PF_WINDOWS && defined(_MSC_VER) && (_MSC_VER >= 1500)
-/*
- * TODO: It seems like we should widen this to
- * either U_PLATFORM_USES_ONLY_WIN32_API (includes MinGW)
- * or U_PLATFORM_HAS_WIN32_API (includes MinGW and Cygwin)
- * but those use gcc and won't have defined(_MSC_VER).
- * We might need to #include some Windows header and test for some version macro from there.
- * Or call some Windows function and see what it returns.
- */
-#define USE_WINDOWS_LCID_MAPPING_API
+#if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
#include
-#include
+#include // LCIDToLocaleName and LocaleNameToLCID
#endif
/*
@@ -973,7 +964,7 @@ idCmp(const char* id1, const char* id2)
/**
* Searches for a Windows LCID
*
- * @param posixid the Posix style locale id.
+ * @param posixID the Posix style locale id.
* @param status gets set to U_ILLEGAL_ARGUMENT_ERROR when the Posix ID has
* no equivalent Windows LCID.
* @return the LCID
@@ -1035,7 +1026,7 @@ getPosixID(const ILcidPosixMap *this_0, uint32_t hostID)
//
/////////////////////////////////////
*/
-#ifdef USE_WINDOWS_LCID_MAPPING_API
+#if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
/*
* Various language tags needs to be changed:
* quz -> qu
@@ -1053,6 +1044,7 @@ getPosixID(const ILcidPosixMap *this_0, uint32_t hostID)
}
#endif
+
U_CAPI int32_t
uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UErrorCode* status)
{
@@ -1061,8 +1053,10 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
UBool bLookup = TRUE;
const char *pPosixID = NULL;
-#ifdef USE_WINDOWS_LCID_MAPPING_API
- char locName[LOCALE_NAME_MAX_LENGTH] = {}; // ICU name can't be longer than Windows name
+#if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
+ static_assert(ULOC_FULLNAME_CAPACITY > LOCALE_NAME_MAX_LENGTH, "Windows locale names have smaller length than ICU locale names.");
+
+ char locName[LOCALE_NAME_MAX_LENGTH] = {};
// Note: Windows primary lang ID 0x92 in LCID is used for Central Kurdish and
// GetLocaleInfo() maps such LCID to "ku". However, CLDR uses "ku" for
@@ -1070,7 +1064,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
// use the Windows API to resolve locale ID for this specific case.
if ((hostid & 0x3FF) != 0x92) {
int32_t tmpLen = 0;
- UChar windowsLocaleName[LOCALE_NAME_MAX_LENGTH]; // ULOC_FULLNAME_CAPACITY > LOCALE_NAME_MAX_LENGTH
+ char16_t windowsLocaleName[LOCALE_NAME_MAX_LENGTH] = {};
// Note: LOCALE_ALLOW_NEUTRAL_NAMES was enabled in Windows7+, prior versions did not handle neutral (no-region) locale names.
tmpLen = LCIDToLocaleName(hostid, (PWSTR)windowsLocaleName, UPRV_LENGTHOF(windowsLocaleName), LOCALE_ALLOW_NEUTRAL_NAMES);
@@ -1110,7 +1104,7 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
pPosixID = locName;
}
}
-#endif // USE_WINDOWS_LCID_MAPPING_API
+#endif
if (bLookup) {
const char *pCandidate = NULL;
@@ -1163,20 +1157,15 @@ uprv_convertToPosix(uint32_t hostid, char *posixID, int32_t posixIDCapacity, UEr
/////////////////////////////////////
*/
U_CAPI uint32_t
-uprv_convertToLCIDPlatform(const char* localeID)
+uprv_convertToLCIDPlatform(const char* localeID, UErrorCode* status)
{
- // The purpose of this function is to leverage native platform name->lcid
- // conversion functionality when available.
-#ifdef USE_WINDOWS_LCID_MAPPING_API
- DWORD nameLCIDFlags = 0;
- UErrorCode myStatus = U_ZERO_ERROR;
-
- // First check for a Windows name->LCID match, fall through to catch
- // ICU special cases, but Windows may know it already.
-#if LOCALE_ALLOW_NEUTRAL_NAMES
- nameLCIDFlags = LOCALE_ALLOW_NEUTRAL_NAMES;
-#endif /* LOCALE_ALLOW_NEUTRAL_NAMES */
+ if (U_FAILURE(*status)) {
+ return 0;
+ }
+ // The purpose of this function is to leverage the Windows platform name->lcid
+ // conversion functionality when available.
+#if U_PLATFORM_HAS_WIN32_API && UCONFIG_USE_WINDOWS_LCID_MAPPING_API
int32_t len;
char collVal[ULOC_KEYWORDS_CAPACITY] = {};
char baseName[ULOC_FULLNAME_CAPACITY] = {};
@@ -1185,8 +1174,8 @@ uprv_convertToLCIDPlatform(const char* localeID)
// Check any for keywords.
if (uprv_strchr(localeID, '@'))
{
- len = uloc_getKeywordValue(localeID, "collation", collVal, UPRV_LENGTHOF(collVal) - 1, &myStatus);
- if (U_SUCCESS(myStatus) && len > 0)
+ len = uloc_getKeywordValue(localeID, "collation", collVal, UPRV_LENGTHOF(collVal) - 1, status);
+ if (U_SUCCESS(*status) && len > 0)
{
// If it contains the keyword collation, return 0 so that the LCID lookup table will be used.
return 0;
@@ -1194,9 +1183,9 @@ uprv_convertToLCIDPlatform(const char* localeID)
else
{
// If the locale ID contains keywords other than collation, just use the base name.
- len = uloc_getBaseName(localeID, baseName, UPRV_LENGTHOF(baseName) - 1, &myStatus);
+ len = uloc_getBaseName(localeID, baseName, UPRV_LENGTHOF(baseName) - 1, status);
- if (U_SUCCESS(myStatus) && len > 0)
+ if (U_SUCCESS(*status) && len > 0)
{
baseName[len] = 0;
mylocaleID = baseName;
@@ -1206,9 +1195,9 @@ uprv_convertToLCIDPlatform(const char* localeID)
char asciiBCP47Tag[LOCALE_NAME_MAX_LENGTH] = {};
// this will change it from de_DE@collation=phonebook to de-DE-u-co-phonebk form
- (void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), FALSE, &myStatus);
+ (void)uloc_toLanguageTag(mylocaleID, asciiBCP47Tag, UPRV_LENGTHOF(asciiBCP47Tag), FALSE, status);
- if (U_SUCCESS(myStatus))
+ if (U_SUCCESS(*status))
{
// Need it to be UTF-16, not 8-bit
wchar_t bcp47Tag[LOCALE_NAME_MAX_LENGTH] = {};
@@ -1230,7 +1219,7 @@ uprv_convertToLCIDPlatform(const char* localeID)
{
// Ensure it's null terminated
bcp47Tag[i] = L'\0';
- LCID lcid = LocaleNameToLCID(bcp47Tag, nameLCIDFlags);
+ LCID lcid = LocaleNameToLCID(bcp47Tag, LOCALE_ALLOW_NEUTRAL_NAMES);
if (lcid > 0)
{
// Found LCID from windows, return that one, unless its completely ambiguous
@@ -1244,10 +1233,10 @@ uprv_convertToLCIDPlatform(const char* localeID)
}
}
#else
- (void)localeID; // Suppress unused variable warning.
-#endif /* USE_WINDOWS_LCID_MAPPING_API */
+ (void) localeID; // Suppress unused variable warning.
+#endif
- // No found, or not implemented on platforms without native name->lcid conversion
+ // Nothing found, or not implemented.
return 0;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/locmap.h b/Build/source/libs/icu/icu-src/source/common/locmap.h
index bef62956e64..e669873a143 100644
--- a/Build/source/libs/icu/icu-src/source/common/locmap.h
+++ b/Build/source/libs/icu/icu-src/source/common/locmap.h
@@ -33,8 +33,8 @@
U_CAPI int32_t uprv_convertToPosix(uint32_t hostid, char* posixID, int32_t posixIDCapacity, UErrorCode* status);
/* Don't call these functions directly. Use uloc_getLCID instead. */
-U_CAPI uint32_t uprv_convertToLCIDPlatform(const char *localeID); // Leverage platform conversion if possible
-U_CAPI uint32_t uprv_convertToLCID(const char *langID, const char* posixID, UErrorCode* status);
+U_CAPI uint32_t uprv_convertToLCIDPlatform(const char* localeID, UErrorCode* status); // Leverage platform conversion if possible
+U_CAPI uint32_t uprv_convertToLCID(const char* langID, const char* posixID, UErrorCode* status);
#endif /* LOCMAP_H */
diff --git a/Build/source/libs/icu/icu-src/source/common/locresdata.cpp b/Build/source/libs/icu/icu-src/source/common/locresdata.cpp
index 258b707334e..d1d9a4729f1 100644
--- a/Build/source/libs/icu/icu-src/source/common/locresdata.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/locresdata.cpp
@@ -49,7 +49,6 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
UErrorCode *pErrorCode)
{
/* char localeBuffer[ULOC_FULLNAME_CAPACITY*4];*/
- UResourceBundle *rb=NULL, table, subTable;
const UChar *item=NULL;
UErrorCode errorCode;
char explicitFallbackName[ULOC_FULLNAME_CAPACITY] = {0};
@@ -59,7 +58,7 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
* this falls back through the locale's chain to root
*/
errorCode=U_ZERO_ERROR;
- rb=ures_open(path, locale, &errorCode);
+ icu::LocalUResourceBundlePointer rb(ures_open(path, locale, &errorCode));
if(U_FAILURE(errorCode)) {
/* total failure, not even root could be opened */
@@ -73,24 +72,24 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
}
for(;;){
- ures_initStackObject(&table);
- ures_initStackObject(&subTable);
- ures_getByKeyWithFallback(rb, tableKey, &table, &errorCode);
+ icu::StackUResourceBundle table;
+ icu::StackUResourceBundle subTable;
+ ures_getByKeyWithFallback(rb.getAlias(), tableKey, table.getAlias(), &errorCode);
if (subTableKey != NULL) {
/*
- ures_getByKeyWithFallback(&table,subTableKey, &subTable, &errorCode);
- item = ures_getStringByKeyWithFallback(&subTable, itemKey, pLength, &errorCode);
+ ures_getByKeyWithFallback(table.getAlias(), subTableKey, subTable.getAlias(), &errorCode);
+ item = ures_getStringByKeyWithFallback(subTable.getAlias(), itemKey, pLength, &errorCode);
if(U_FAILURE(errorCode)){
*pErrorCode = errorCode;
}
break;*/
- ures_getByKeyWithFallback(&table,subTableKey, &table, &errorCode);
+ ures_getByKeyWithFallback(table.getAlias(), subTableKey, table.getAlias(), &errorCode);
}
if(U_SUCCESS(errorCode)){
- item = ures_getStringByKeyWithFallback(&table, itemKey, pLength, &errorCode);
+ item = ures_getStringByKeyWithFallback(table.getAlias(), itemKey, pLength, &errorCode);
if(U_FAILURE(errorCode)){
const char* replacement = NULL;
*pErrorCode = errorCode; /*save the errorCode*/
@@ -103,7 +102,7 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
}
/*pointer comparison is ok since uloc_getCurrentCountryID & uloc_getCurrentLanguageID return the key itself is replacement is not found*/
if(replacement!=NULL && itemKey != replacement){
- item = ures_getStringByKeyWithFallback(&table, replacement, pLength, &errorCode);
+ item = ures_getStringByKeyWithFallback(table.getAlias(), replacement, pLength, &errorCode);
if(U_SUCCESS(errorCode)){
*pErrorCode = errorCode;
break;
@@ -122,7 +121,7 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
*pErrorCode = errorCode;
errorCode = U_ZERO_ERROR;
- fallbackLocale = ures_getStringByKeyWithFallback(&table, "Fallback", &len, &errorCode);
+ fallbackLocale = ures_getStringByKeyWithFallback(table.getAlias(), "Fallback", &len, &errorCode);
if(U_FAILURE(errorCode)){
*pErrorCode = errorCode;
break;
@@ -135,8 +134,7 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
*pErrorCode = U_INTERNAL_PROGRAM_ERROR;
break;
}
- ures_close(rb);
- rb = ures_open(path, explicitFallbackName, &errorCode);
+ rb.adoptInstead(ures_open(path, explicitFallbackName, &errorCode));
if(U_FAILURE(errorCode)){
*pErrorCode = errorCode;
break;
@@ -146,10 +144,7 @@ uloc_getTableStringWithFallback(const char *path, const char *locale,
break;
}
}
- /* done with the locale string - ready to close table and rb */
- ures_close(&subTable);
- ures_close(&table);
- ures_close(rb);
+
return item;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/locutil.cpp b/Build/source/libs/icu/icu-src/source/common/locutil.cpp
index 5f0bd520e37..3d9d69ff7ed 100644
--- a/Build/source/libs/icu/icu-src/source/common/locutil.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/locutil.cpp
@@ -11,6 +11,7 @@
#if !UCONFIG_NO_SERVICE || !UCONFIG_NO_TRANSLITERATION
#include "unicode/resbund.h"
+#include "unicode/uenum.h"
#include "cmemory.h"
#include "ustrfmt.h"
#include "locutil.h"
@@ -229,15 +230,14 @@ LocaleUtility::getAvailableLocaleNames(const UnicodeString& bundleID)
CharString cbundleID;
cbundleID.appendInvariantChars(bundleID, status);
const char* path = cbundleID.isEmpty() ? NULL : cbundleID.data();
- UEnumeration *uenum = ures_openAvailableLocales(path, &status);
+ icu::LocalUEnumerationPointer uenum(ures_openAvailableLocales(path, &status));
for (;;) {
- const UChar* id = uenum_unext(uenum, NULL, &status);
+ const UChar* id = uenum_unext(uenum.getAlias(), NULL, &status);
if (id == NULL) {
break;
}
htp->put(UnicodeString(id), (void*)htp, status);
}
- uenum_close(uenum);
if (U_FAILURE(status)) {
delete htp;
return NULL;
diff --git a/Build/source/libs/icu/icu-src/source/common/lsr.cpp b/Build/source/libs/icu/icu-src/source/common/lsr.cpp
new file mode 100644
index 00000000000..0c28eeda1bc
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/lsr.cpp
@@ -0,0 +1,101 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// lsr.cpp
+// created: 2019may08 Markus W. Scherer
+
+#include "unicode/utypes.h"
+#include "charstr.h"
+#include "cmemory.h"
+#include "cstring.h"
+#include "lsr.h"
+#include "uinvchar.h"
+#include "ustr_imp.h"
+
+U_NAMESPACE_BEGIN
+
+LSR::LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode) :
+ language(nullptr), script(nullptr), region(r),
+ regionIndex(indexForRegion(region)) {
+ if (U_SUCCESS(errorCode)) {
+ CharString langScript;
+ langScript.append(prefix, errorCode).append(lang, errorCode).append('\0', errorCode);
+ int32_t scriptOffset = langScript.length();
+ langScript.append(prefix, errorCode).append(scr, errorCode);
+ owned = langScript.cloneData(errorCode);
+ if (U_SUCCESS(errorCode)) {
+ language = owned;
+ script = owned + scriptOffset;
+ }
+ }
+}
+
+LSR::LSR(LSR &&other) U_NOEXCEPT :
+ language(other.language), script(other.script), region(other.region), owned(other.owned),
+ regionIndex(other.regionIndex), hashCode(other.hashCode) {
+ if (owned != nullptr) {
+ other.language = other.script = "";
+ other.owned = nullptr;
+ other.hashCode = 0;
+ }
+}
+
+void LSR::deleteOwned() {
+ uprv_free(owned);
+}
+
+LSR &LSR::operator=(LSR &&other) U_NOEXCEPT {
+ this->~LSR();
+ language = other.language;
+ script = other.script;
+ region = other.region;
+ regionIndex = other.regionIndex;
+ owned = other.owned;
+ hashCode = other.hashCode;
+ if (owned != nullptr) {
+ other.language = other.script = "";
+ other.owned = nullptr;
+ other.hashCode = 0;
+ }
+ return *this;
+}
+
+UBool LSR::operator==(const LSR &other) const {
+ return
+ uprv_strcmp(language, other.language) == 0 &&
+ uprv_strcmp(script, other.script) == 0 &&
+ regionIndex == other.regionIndex &&
+ // Compare regions if both are ill-formed (and their indexes are 0).
+ (regionIndex > 0 || uprv_strcmp(region, other.region) == 0);
+}
+
+int32_t LSR::indexForRegion(const char *region) {
+ int32_t c = region[0];
+ int32_t a = c - '0';
+ if (0 <= a && a <= 9) { // digits: "419"
+ int32_t b = region[1] - '0';
+ if (b < 0 || 9 < b) { return 0; }
+ c = region[2] - '0';
+ if (c < 0 || 9 < c || region[3] != 0) { return 0; }
+ return (10 * a + b) * 10 + c + 1;
+ } else { // letters: "DE"
+ a = uprv_upperOrdinal(c);
+ if (a < 0 || 25 < a) { return 0; }
+ int32_t b = uprv_upperOrdinal(region[1]);
+ if (b < 0 || 25 < b || region[2] != 0) { return 0; }
+ return 26 * a + b + 1001;
+ }
+ return 0;
+}
+
+LSR &LSR::setHashCode() {
+ if (hashCode == 0) {
+ hashCode =
+ (ustr_hashCharsN(language, static_cast(uprv_strlen(language))) * 37 +
+ ustr_hashCharsN(script, static_cast(uprv_strlen(script)))) * 37 +
+ regionIndex;
+ }
+ return *this;
+}
+
+U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/lsr.h b/Build/source/libs/icu/icu-src/source/common/lsr.h
new file mode 100644
index 00000000000..db6cf938f47
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/lsr.h
@@ -0,0 +1,72 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// lsr.h
+// created: 2019may08 Markus W. Scherer
+
+#ifndef __LSR_H__
+#define __LSR_H__
+
+#include "unicode/utypes.h"
+#include "unicode/uobject.h"
+#include "cstring.h"
+
+U_NAMESPACE_BEGIN
+
+struct LSR final : public UMemory {
+ static constexpr int32_t REGION_INDEX_LIMIT = 1001 + 26 * 26;
+
+ const char *language;
+ const char *script;
+ const char *region;
+ char *owned = nullptr;
+ /** Index for region, 0 if ill-formed. @see indexForRegion */
+ int32_t regionIndex = 0;
+ /** Only set for LSRs that will be used in a hash table. */
+ int32_t hashCode = 0;
+
+ LSR() : language("und"), script(""), region("") {}
+
+ /** Constructor which aliases all subtag pointers. */
+ LSR(const char *lang, const char *scr, const char *r) :
+ language(lang), script(scr), region(r),
+ regionIndex(indexForRegion(region)) {}
+ /**
+ * Constructor which prepends the prefix to the language and script,
+ * copies those into owned memory, and aliases the region.
+ */
+ LSR(char prefix, const char *lang, const char *scr, const char *r, UErrorCode &errorCode);
+ LSR(LSR &&other) U_NOEXCEPT;
+ LSR(const LSR &other) = delete;
+ inline ~LSR() {
+ // Pure inline code for almost all instances.
+ if (owned != nullptr) {
+ deleteOwned();
+ }
+ }
+
+ LSR &operator=(LSR &&other) U_NOEXCEPT;
+ LSR &operator=(const LSR &other) = delete;
+
+ /**
+ * Returns a positive index (>0) for a well-formed region code.
+ * Do not rely on a particular region->index mapping; it may change.
+ * Returns 0 for ill-formed strings.
+ */
+ static int32_t indexForRegion(const char *region);
+
+ UBool operator==(const LSR &other) const;
+
+ inline UBool operator!=(const LSR &other) const {
+ return !operator==(other);
+ }
+
+ LSR &setHashCode();
+
+private:
+ void deleteOwned();
+};
+
+U_NAMESPACE_END
+
+#endif // __LSR_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/mutex.h b/Build/source/libs/icu/icu-src/source/common/mutex.h
index 47f5e080f82..44b1f90ba04 100644
--- a/Build/source/libs/icu/icu-src/source/common/mutex.h
+++ b/Build/source/libs/icu/icu-src/source/common/mutex.h
@@ -28,50 +28,48 @@
U_NAMESPACE_BEGIN
-//----------------------------------------------------------------------------
-// Code within that accesses shared static or global data should
-// should instantiate a Mutex object while doing so. You should make your own
-// private mutex where possible.
-
-// For example:
-//
-// UMutex myMutex = U_MUTEX_INITIALIZER;
-//
-// void Function(int arg1, int arg2)
-// {
-// static Object* foo; // Shared read-write object
-// Mutex mutex(&myMutex); // or no args for the global lock
-// foo->Method();
-// // When 'mutex' goes out of scope and gets destroyed here, the lock is released
-// }
-//
-// Note: Do NOT use the form 'Mutex mutex();' as that merely forward-declares a function
-// returning a Mutex. This is a common mistake which silently slips through the
-// compiler!!
-//
+/**
+ * Mutex is a helper class for convenient locking and unlocking of a UMutex.
+ *
+ * Creating a local scope Mutex will lock a UMutex, holding the lock until the Mutex
+ * goes out of scope.
+ *
+ * If no UMutex is specified, the ICU global mutex is implied.
+ *
+ * For example:
+ *
+ * static UMutex myMutex;
+ *
+ * void Function(int arg1, int arg2)
+ * {
+ * static Object* foo; // Shared read-write object
+ * Mutex mutex(&myMutex); // or no args for the global lock
+ * foo->Method();
+ * // When 'mutex' goes out of scope and gets destroyed here, the lock is released
+ * }
+ *
+ * Note: Do NOT use the form 'Mutex mutex();' as that merely forward-declares a function
+ * returning a Mutex. This is a common mistake which silently slips through the
+ * compiler!!
+ */
class U_COMMON_API Mutex : public UMemory {
public:
- inline Mutex(UMutex *mutex = NULL);
- inline ~Mutex();
+ Mutex(UMutex *mutex = nullptr) : fMutex(mutex) {
+ umtx_lock(fMutex);
+ }
+ ~Mutex() {
+ umtx_unlock(fMutex);
+ }
-private:
- UMutex *fMutex;
+ Mutex(const Mutex &other) = delete; // forbid assigning of this class
+ Mutex &operator=(const Mutex &other) = delete; // forbid copying of this class
+ void *operator new(size_t s) = delete; // forbid heap allocation. Locals only.
- Mutex(const Mutex &other); // forbid copying of this class
- Mutex &operator=(const Mutex &other); // forbid copying of this class
+private:
+ UMutex *fMutex;
};
-inline Mutex::Mutex(UMutex *mutex)
- : fMutex(mutex)
-{
- umtx_lock(fMutex);
-}
-
-inline Mutex::~Mutex()
-{
- umtx_unlock(fMutex);
-}
U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/norm2_nfc_data.h b/Build/source/libs/icu/icu-src/source/common/norm2_nfc_data.h
index 82a68097385..c04bdac5ead 100644
--- a/Build/source/libs/icu/icu-src/source/common/norm2_nfc_data.h
+++ b/Build/source/libs/icu/icu-src/source/common/norm2_nfc_data.h
@@ -12,27 +12,27 @@
#ifdef INCLUDED_FROM_NORMALIZER2_CPP
static const UVersionInfo norm2_nfc_data_formatVersion={4,0,0,0};
-static const UVersionInfo norm2_nfc_data_dataVersion={0xb,0,0,0};
+static const UVersionInfo norm2_nfc_data_dataVersion={0xc,1,0,0};
static const int32_t norm2_nfc_data_indexes[Normalizer2Impl::IX_COUNT]={
-0x50,0x4ab0,0x8708,0x8808,0x8808,0x8808,0x8808,0x8808,0xc0,0x300,0xadc,0x29d0,0x3c56,0xfc00,0x1282,0x3b8c,
+0x50,0x4ae0,0x8738,0x8838,0x8838,0x8838,0x8838,0x8838,0xc0,0x300,0xadc,0x29d0,0x3c56,0xfc00,0x1282,0x3b8c,
0x3c24,0x3c56,0x300,0
};
-static const uint16_t norm2_nfc_data_trieIndex[1690]={
+static const uint16_t norm2_nfc_data_trieIndex[1712]={
0,0x40,0x7b,0xbb,0xfb,0x13a,0x17a,0x1b2,0x1f2,0x226,0x254,0x226,0x294,0x2d4,0x313,0x353,
0x393,0x3d2,0x40f,0x44e,0x226,0x226,0x488,0x4c8,0x4f8,0x530,0x226,0x570,0x59f,0x5de,0x226,0x5f3,
0x631,0x65f,0x226,0x68c,0x6cc,0x709,0x729,0x768,0x7a7,0x7e4,0x803,0x840,0x729,0x879,0x8a7,0x8e6,
-0x226,0x920,0x937,0x977,0x98e,0x9cd,0x226,0xa03,0xa23,0xa5e,0xa6a,0xaa4,0xacc,0xb09,0xb49,0xb83,
-0xb9e,0x226,0xbd9,0x226,0xc19,0xc38,0xc6e,0xcab,0x226,0x226,0x226,0x226,0x226,0xcce,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xcfa,0x226,0x226,0xd2f,
-0x226,0x226,0xd4d,0x226,0xd77,0x226,0x226,0x226,0xdb3,0xdd3,0xe13,0x226,0xe51,0xe91,0xec5,0xef1,
-0x808,0x226,0x226,0xf25,0x226,0x226,0x226,0xf65,0xfa5,0xfe5,0x1025,0x1065,0x10a5,0x10e5,0x1125,0x1165,
-0x11a5,0x226,0x226,0x11d5,0x1206,0x226,0x1236,0x1269,0x12a6,0x12e5,0x1325,0x135b,0x1389,0x226,0x226,0x226,
+0x226,0x920,0x937,0x977,0x98e,0x9cd,0x226,0xa03,0xa23,0xa5e,0xa6a,0xaa5,0xacd,0xb0a,0xb4a,0xb84,
+0xb9f,0x226,0xbda,0x226,0xc1a,0xc39,0xc6f,0xcac,0x226,0x226,0x226,0x226,0x226,0xccf,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xcfb,0x226,0x226,0xd30,
+0x226,0x226,0xd4e,0x226,0xd78,0x226,0x226,0x226,0xdb4,0xdd4,0xe14,0x226,0xe52,0xe92,0xec6,0xef2,
+0x808,0x226,0x226,0xf26,0x226,0x226,0x226,0xf66,0xfa6,0xfe6,0x1026,0x1066,0x10a6,0x10e6,0x1126,0x1166,
+0x11a6,0x226,0x226,0x11d6,0x1207,0x226,0x1237,0x126a,0x12a7,0x12e6,0x1326,0x135c,0x138a,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x13b4,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0xcbc,0x226,0x13d1,0x226,0x1411,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x1451,0x148b,0x14c9,0x1509,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x13b5,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0xcbd,0x226,0x13d2,0x226,0x1412,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x1452,0x148c,0x14ca,0x150a,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
@@ -61,20 +61,20 @@ static const uint16_t norm2_nfc_data_trieIndex[1690]={
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1548,0x1586,0x15a6,0x226,0x226,0x226,0x226,
-0x15e0,0x226,0x226,0x161c,0x164e,0x167c,0x80c,0x168f,0x226,0x226,0x169f,0x16df,0x226,0x226,0x226,0x13e3,
-0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,
-0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,
-0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,
-0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,
-0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,
-0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,
-0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,
-0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,
-0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,
-0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,
-0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x1733,0x171f,0x1727,0x172f,0x1737,0x1723,0x172b,0x176b,0x226,
-0x17ab,0x17e6,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1549,0x1587,0x15a7,0x226,0x226,0x226,0x226,
+0x15e1,0x226,0x226,0x161d,0x164f,0x167d,0x80c,0x1690,0x226,0x226,0x16a0,0x16e0,0x226,0x226,0x226,0x13e4,
+0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,
+0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,
+0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,
+0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,
+0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,
+0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,
+0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,
+0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,
+0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,
+0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,
+0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x1734,0x1720,0x1728,0x1730,0x1738,0x1724,0x172c,0x176c,0x226,
+0x17ac,0x17e7,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
@@ -82,53 +82,54 @@ static const uint16_t norm2_nfc_data_trieIndex[1690]={
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x1826,0x1866,0x18a6,0x18e6,0x1926,0x1966,0x19a6,0x19e6,0x1a09,0x1a49,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1a69,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x61f,0x62e,0x644,0x663,0x678,0x678,0x678,0x67c,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x1827,0x1867,0x18a7,0x18e7,0x1927,0x1967,0x19a7,0x19e7,0x1a0a,0x1a4a,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1a6a,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x635,0x644,0x65a,0x679,0x68e,0x68e,0x68e,0x692,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xbd9,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xbda,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x54f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x40c,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1a9c,0x226,0x226,0x1aac,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0xdc5,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1abc,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac6,0x54f,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x7eb,0x226,0x226,0x9ba,0x226,0x1ad6,
-0x1ae3,0x1aef,0x226,0x226,0x226,0x226,0x414,0x226,0x1afa,0x1b0a,0x226,0x226,0x226,0x7e0,0x226,0x226,
-0x226,0x226,0x1b1a,0x226,0x226,0x226,0x1b25,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x1b2c,0x226,0x226,0x226,0x226,0x1b37,0x1b46,0x8f6,0x1b54,0x412,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x1b62,0x798,0x226,0x226,0x226,0x226,0x226,0x1b72,0x1b81,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x8d6,0x1b89,0x1b99,0x226,0x226,0x226,0x9ba,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ba3,0x226,0x226,0x226,0x226,0x226,0x226,0x7e6,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ba0,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1a9d,0x226,0x226,0x1aad,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0xdc6,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1abd,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ac7,0x54f,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x7eb,0x226,0x226,0x9ba,0x226,0x1ad7,
+0x1ae4,0x1af0,0x226,0x226,0x226,0x226,0x414,0x226,0x1afb,0x1b0b,0x226,0x226,0x226,0x7e0,0x226,0x226,
+0x226,0x226,0x1b1b,0x226,0x226,0x226,0x1b26,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x1b2d,0x226,0x226,0x226,0x226,0x1b38,0x1b47,0x8f6,0x1b55,0x412,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x1b63,0x798,0x226,0x226,0x226,0x226,0x226,0x1b73,0x1b82,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x8d6,0x1b8a,0x1b9a,0x226,0x226,0x226,0x9ba,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ba4,0x226,0x226,0x226,0x226,0x226,0x226,0x7e6,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1ba1,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x7ed,0x7ea,0x226,0x226,0x226,0x226,0x7e8,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x84d,0x226,0x226,0x226,0x7ed,0x7ea,0x226,0x226,0x226,
+0x226,0x7e8,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x9ba,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xbd4,0x226,0x226,0x226,0x226,0x7ea,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1bb4,0x226,
+0x226,0x226,0xebf,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1bb9,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x9ba,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0xbd3,0x226,0x226,0x226,0x226,0x7ea,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1bb3,0x226,0x226,0x226,
-0xebe,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1bb8,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x1bc8,0x1bd8,0x1be6,0x1bf3,0x226,0x1bff,0x1c0d,0x1c1d,0x226,0x226,
+0x226,0x226,0xcea,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c2d,0x1c35,
+0x1c43,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0xebf,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x4fc,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x1c53,0x226,0x226,0x226,0x226,0x226,0x226,0x1c5f,0x226,0x226,0x226,0x226,0x226,0x226,
+0x226,0x226,0x226,0x226,0x226,0x1c6f,0x1c7f,0x1c8f,0x1c9f,0x1caf,0x1cbf,0x1ccf,0x1cdf,0x1cef,0x1cff,0x1d0f,
+0x1d1f,0x1d2f,0x1d3f,0x1d4f,0x1d5f,0x1d6f,0x1d7f,0x1d8f,0x1d9f,0x1daf,0x1dbf,0x1dcf,0x1ddf,0x1def,0x1dff,0x1e0f,
+0x1e1f,0x1e2f,0x1e3f,0x1e4f,0x1e5f,0x1e6f,0x1e7f,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x1bc7,0x1bd7,0x1be5,0x1bf2,0x226,0x1bfe,0x1c0c,0x1c1c,0x226,0x226,0x226,0x226,
-0xce9,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c2c,0x1c34,0x1c42,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c52,0x226,0x226,0x226,
-0x226,0x226,0x226,0x1c5e,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x1c6e,
-0x1c7e,0x1c8e,0x1c9e,0x1cae,0x1cbe,0x1cce,0x1cde,0x1cee,0x1cfe,0x1d0e,0x1d1e,0x1d2e,0x1d3e,0x1d4e,0x1d5e,0x1d6e,
-0x1d7e,0x1d8e,0x1d9e,0x1dae,0x1dbe,0x1dce,0x1dde,0x1dee,0x1dfe,0x1e0e,0x1e1e,0x1e2e,0x1e3e,0x1e4e,0x1e5e,0x1e6e,
-0x1e7e,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,
-0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x226,0x408,
-0x428,0xc4,0xc4,0xc4,0x448,0x457,0x46a,0x486,0x4a3,0x4bf,0x4dc,0x4f9,0x516,0x533,0xc4,0xc4,
-0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0x54d,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0x226,0x226,0x226,0x226,0x226,0x408,0x428,0xc4,0xc4,0xc4,0x448,0x457,0x46a,0x486,0x4a3,0x4bf,
+0x4dc,0x4f9,0x518,0x535,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x54f,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0x564,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x56f,0x58c,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0x5ac,0xc4,0xc4,0xc4,0x5bf,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x566,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
+0xc4,0x571,0x58e,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5ae,0x5c2,0xc4,0xc4,0x5d5,0xc4,0xc4,
0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,
-0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5df,0x5ff
+0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0xc4,0x5f5,0x615
};
-static const uint16_t norm2_nfc_data_trieData[7822]={
+static const uint16_t norm2_nfc_data_trieData[7824]={
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
@@ -299,331 +300,331 @@ static const uint16_t norm2_nfc_data_trieData[7822]={
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,0xfeec,0xfeec,1,1,1,1,1,1,1,1,0xfef4,0xfef4,0xfef4,0xfef4,
+1,1,0xfeec,0xfeec,0xfe12,1,1,1,1,1,1,1,1,0xfef4,0xfef4,0xfef4,
+0xfef4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,0xffb8,0xffb8,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0xffb8,0xffb8,1,1,1,1,1,1,1,1,1,1,
+1,1,0xffb8,1,0xffb8,1,0xffb0,1,1,1,1,1,1,0x2a4f,1,1,
+1,1,1,1,1,1,1,0x2a55,1,1,1,1,0x2a5b,1,1,1,
+1,0x2a61,1,1,1,1,0x2a67,1,1,1,1,1,1,1,1,1,
+1,1,1,0x2a6d,1,1,1,1,1,1,1,0xff02,0xff04,0x3c40,0xff08,0x3c48,
+0x2a72,1,0x2a78,1,0xff04,0xff04,0xff04,0xff04,1,1,0xff04,0x3c50,0xffcc,0xffcc,0xfe12,1,
+0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,1,0x2a7f,1,1,
+1,1,1,1,1,1,1,0x2a85,1,1,1,1,0x2a8b,1,1,1,
+1,0x2a91,1,1,1,1,0x2a97,1,1,1,1,1,1,1,1,1,
+1,1,1,0x2a9d,1,1,1,1,1,1,0xffb8,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,0xffb8,1,0xffb8,1,0xffb0,1,1,1,1,1,1,0x2a4f,1,1,1,
-1,1,1,1,1,1,0x2a55,1,1,1,1,0x2a5b,1,1,1,1,
-0x2a61,1,1,1,1,0x2a67,1,1,1,1,1,1,1,1,1,1,
-1,1,0x2a6d,1,1,1,1,1,1,1,0xff02,0xff04,0x3c40,0xff08,0x3c48,0x2a72,
-1,0x2a78,1,0xff04,0xff04,0xff04,0xff04,1,1,0xff04,0x3c50,0xffcc,0xffcc,0xfe12,1,0xffcc,
-0xffcc,1,1,1,1,1,1,1,1,1,1,1,0x2a7f,1,1,1,
-1,1,1,1,1,1,0x2a85,1,1,1,1,0x2a8b,1,1,1,1,
-0x2a91,1,1,1,1,0x2a97,1,1,1,1,1,1,1,1,1,1,
-1,1,0x2a9d,1,1,1,1,1,1,0xffb8,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,0x8c0,0x1a1f,1,1,1,1,1,1,1,0xfc00,1,1,
+1,1,1,1,1,1,0xfe0e,1,0xfe12,0xfe12,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xffb8,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,0x8c0,0x1a1f,1,1,1,1,1,1,1,0xfc00,1,1,1,
-1,1,1,1,1,0xfe0e,1,0xfe12,0xfe12,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xffb8,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,
+0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,
-0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,
+0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,
-0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,0xfe00,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,1,
+1,1,0xfe12,1,1,1,1,1,1,1,1,1,1,0xffcc,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,0xfe12,1,1,1,1,1,1,1,1,1,1,0xffcc,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xffc8,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xffc8,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,0xffbc,0xffcc,0xffb8,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffb8,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xffbc,0xffcc,0xffb8,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,0xffcc,0xffb8,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,0xfe12,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffcc,1,1,0xffb8,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-1,1,0xffb8,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,
+0xffcc,0xffb8,1,1,1,1,1,0x8c4,0x1a25,0x8c8,0x1a2b,0x8cc,0x1a31,0x8d0,0x1a37,0x8d4,
+0x1a3d,1,1,0x8d8,0x1a43,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,0xffcc,
-0xffb8,1,1,1,1,1,0x8c4,0x1a25,0x8c8,0x1a2b,0x8cc,0x1a31,0x8d0,0x1a37,0x8d4,0x1a3d,
-1,1,0x8d8,0x1a43,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0xfe0e,0xfc00,1,1,1,1,0x8dc,0x1a49,0x8e0,0x1a4f,
+0x8e4,0x8e8,0x1a55,0x1a5b,0x8ec,0x1a61,0xfe12,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0xfe0e,0xfc00,1,1,1,1,0x8dc,0x1a49,0x8e0,0x1a4f,0x8e4,
-0x8e8,0x1a55,0x1a5b,0x8ec,0x1a61,0xfe12,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffb8,0xffcc,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffb8,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,
-0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+0xfe12,0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,0xfe0e,1,1,1,1,1,1,1,1,
-1,1,1,0xfe12,0xfe12,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0xffcc,0xffcc,0xffcc,1,0xfe02,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,
-0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,1,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,1,1,
-1,1,0xffb8,1,1,1,1,1,1,0xffcc,1,1,1,0xffcc,0xffcc,1,
-1,1,1,1,1,0xffcc,0xffcc,0xffb8,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffb8,
-0xffcc,0xffcc,0xffd4,0xffac,0xffb8,0xff94,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+1,1,1,1,1,1,1,1,0xfe0e,1,1,1,1,1,1,1,
+1,1,1,1,0xfe12,0xfe12,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,1,0xfe02,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,
+0xffcc,0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,1,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,1,
+1,1,1,0xffb8,1,1,1,1,1,1,0xffcc,1,1,1,0xffcc,0xffcc,
+1,1,1,1,1,1,0xffcc,0xffcc,0xffb8,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffb8,0xffcc,0xffcc,0xffd4,0xffac,0xffb8,0xff94,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffd0,0xffc8,0xffc8,0xffb8,1,
-0xffcc,0xffd2,0xffb8,0xffcc,0xffb8,0x1a66,0x1a6c,0x1a72,0x1a78,0x1a7f,0x1a85,0x1a8b,0x1a91,0x1a99,0x1aa3,0x1aaa,
-0x1ab0,0x1ab6,0x1abc,0x1ac2,0x1ac8,0x1acf,0x1ad5,0x1ada,0x1ae0,0x1ae8,0x1af2,0x1afc,0x1b06,0x1b0e,0x1b14,0x1b1a,
-0x1b20,0x1b29,0x1b33,0x1b3b,0x1b41,0x1b46,0x1b4c,0x1b52,0x1b58,0x1b5e,0x1b64,0x1b6a,0x1b70,0x1b77,0x1b7d,0x1b82,
-0x1b88,0x1b8e,0x1b94,0x1b9c,0x1ba6,0x1bae,0x1bb4,0x1bba,0x1bc0,0x1bc6,0x1bcc,0xdd8,0xde2,0x1bd4,0x1bde,0x1be6,
-0x1bec,0x1bf2,0x1bf8,0x1bfe,0x1c04,0x1c0a,0x1c10,0x1c17,0x1c1d,0x1c22,0x1c28,0x1c2e,0x1c34,0x1c3a,0x1c40,0x1c46,
-0x1c4c,0x1c54,0x1c5e,0x1c68,0x1c72,0x1c7c,0x1c86,0x1c90,0x1c9a,0x1ca3,0x1ca9,0x1caf,0x1cb5,0x1cba,0x1cc0,0xdec,
-0xdf6,0x1cc8,0x1cd2,0x1cda,0x1ce0,0x1ce6,0x1cec,0xe00,0xe0a,0x1cf4,0x1cfe,0x1d08,0x1d12,0x1d1c,0x1d26,0x1d2e,
-0x1d34,0x1d3a,0x1d40,0x1d46,0x1d4c,0x1d52,0x1d58,0x1d5e,0x1d64,0x1d6a,0x1d70,0x1d76,0x1d7c,0x1d84,0x1d8e,0x1d98,
-0x1da2,0x1daa,0x1db0,0x1db7,0x1dbd,0x1dc2,0x1dc8,0x1dce,0x1dd4,0x1dda,0x1de0,0x1de6,0x1dec,0x1df3,0x1df9,0x1dff,
-0x1e05,0x1e0b,0x1e11,0x1e16,0x1e1c,0x1e22,0x1e28,0x1e2f,0x1e35,0x1e3b,0x1e41,0x1e46,0x1e4c,0x1e52,0x1e58,1,
-0x1e5f,1,1,1,1,0xe14,0xe22,0x1e64,0x1e6a,0x1e72,0x1e7c,0x1e86,0x1e90,0x1e9a,0x1ea4,0x1eae,
-0x1eb8,0x1ec2,0x1ecc,0x1ed6,0x1ee0,0x1eea,0x1ef4,0x1efe,0x1f08,0x1f12,0x1f1c,0x1f26,0x1f30,0xe30,0xe3a,0x1f38,
-0x1f3e,0x1f44,0x1f4a,0x1f52,0x1f5c,0x1f66,0x1f70,0x1f7a,0x1f84,0x1f8e,0x1f98,0x1fa2,0x1fac,0x1fb4,0x1fba,0x1fc0,
-0x1fc6,0xe44,0xe4e,0x1fcc,0x1fd2,0x1fda,0x1fe4,0x1fee,0x1ff8,0x2002,0x200c,0x2016,0x2020,0x202a,0x2034,0x203e,
-0x2048,0x2052,0x205c,0x2066,0x2070,0x207a,0x2084,0x208e,0x2098,0x20a0,0x20a6,0x20ac,0x20b2,0x20ba,0x20c4,0x20ce,
-0x20d8,0x20e2,0x20ec,0x20f6,0x2100,0x210a,0x2114,0x211c,0x2122,0x2129,0x212f,0x2134,0x213a,0x2140,0x2146,1,
-1,1,1,1,1,0xe58,0xe6e,0xe86,0xe94,0xea2,0xeb0,0xebe,0xecc,0xed8,0xeee,0xf06,
-0xf14,0xf22,0xf30,0xf3e,0xf4c,0xf58,0xf66,0x214f,0x2159,0x2163,0x216d,1,1,0xf74,0xf82,0x2177,
-0x2181,0x218b,0x2195,1,1,0xf90,0xfa6,0xfbe,0xfcc,0xfda,0xfe8,0xff6,0x1004,0x1010,0x1026,0x103e,
-0x104c,0x105a,0x1068,0x1076,0x1084,0x1090,0x10a2,0x219f,0x21a9,0x21b3,0x21bd,0x21c7,0x21d1,0x10b4,0x10c6,0x21db,
-0x21e5,0x21ef,0x21f9,0x2203,0x220d,0x10d8,0x10e6,0x2217,0x2221,0x222b,0x2235,1,1,0x10f4,0x1102,0x223f,
-0x2249,0x2253,0x225d,1,1,0x1110,0x1122,0x2267,0x2271,0x227b,0x2285,0x228f,0x2299,1,0x1134,1,
-0x22a3,1,0x22ad,1,0x22b7,0x1146,0x115c,0x1174,0x1182,0x1190,0x119e,0x11ac,0x11ba,0x11c6,0x11dc,0x11f4,
-0x1202,0x1210,0x121e,0x122c,0x123a,0x1246,0x3b8e,0x22bf,0x3b96,0x1250,0x3b9e,0x22c5,0x3ba6,0x22cb,0x3bae,0x22d1,
-0x3bb6,0x125a,0x3bbe,1,1,0x22d8,0x22e2,0x22f1,0x2301,0x2311,0x2321,0x2331,0x2341,0x234c,0x2356,0x2365,
-0x2375,0x2385,0x2395,0x23a5,0x23b5,0x23c0,0x23ca,0x23d9,0x23e9,0x23f9,0x2409,0x2419,0x2429,0x2434,0x243e,0x244d,
-0x245d,0x246d,0x247d,0x248d,0x249d,0x24a8,0x24b2,0x24c1,0x24d1,0x24e1,0x24f1,0x2501,0x2511,0x251c,0x2526,0x2535,
-0x2545,0x2555,0x2565,0x2575,0x2585,0x258f,0x2595,0x259d,0x25a4,0x25ad,1,0x1264,0x25b7,0x25bf,0x25c5,0x25cb,
-0x3bc6,0x25d0,1,0x2aa2,0x8f0,1,0x25d7,0x25df,0x25e6,0x25ef,1,0x126e,0x25f9,0x2601,0x3bce,0x2607,
-0x3bd6,0x260c,0x2613,0x2619,0x261f,0x2625,0x262b,0x2633,0x3be0,1,1,0x263b,0x2643,0x264b,0x2651,0x2657,
-0x3bea,1,0x265d,0x2663,0x2669,0x266f,0x2675,0x267d,0x3bf4,0x2685,0x268b,0x2691,0x2699,0x26a1,0x26a7,0x26ad,
-0x3bfe,0x26b3,0x26b9,0x3c06,0x2aa7,1,1,0x26c1,0x26c8,0x26d1,1,0x1278,0x26db,0x26e3,0x3c0e,0x26e9,
-0x3c16,0x26ee,0x2aab,0x8fc,1,0xfa09,0xfa09,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0xffcc,0xffcc,0xfe02,0xfe02,0xffcc,0xffcc,0xffcc,0xffcc,0xfe02,0xfe02,0xfe02,
-0xffcc,0xffcc,1,1,1,1,0xffcc,1,1,1,0xfe02,0xfe02,0xffcc,0xffb8,0xffcc,0xfe02,
-0xfe02,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,0x2aae,1,1,1,
-0x2ab2,0x3c1e,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0x908,1,0x90c,1,0x910,1,1,1,1,1,
-0x26f5,0x26fb,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0x2701,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0x2707,0x270d,0x2713,0x914,1,0x918,1,0x91c,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0x920,0x2719,1,1,1,0x924,0x271f,
-1,0x928,0x2725,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0x92c,0x272b,0x930,0x2731,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,0x934,1,1,1,0x2737,1,0x938,0x273d,0x93c,1,0x2743,0x940,0x2749,1,
-1,1,0x944,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0x274f,0x948,0x2755,1,0x94c,0x950,1,1,1,1,1,
-1,1,0x275b,0x2761,0x2767,0x276d,0x2773,0x954,0x958,0x2779,0x277f,0x95c,0x960,0x2785,0x278b,0x964,
-0x968,0x96c,0x970,1,1,0x2791,0x2797,0x974,0x978,0x279d,0x27a3,0x97c,0x980,0x27a9,0x27af,1,
-1,1,1,1,1,1,0x984,0x988,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,0x98c,1,1,1,1,1,0x990,0x994,1,
-0x998,0x27b5,0x27bb,0x27c1,0x27c7,1,1,0x99c,0x9a0,0x9a4,0x9a8,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0x27cd,0x27d3,0x27d9,0x27df,1,
-1,1,1,1,1,0x27e5,0x27eb,0x27f1,0x27f7,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,0x2ab7,0x2abb,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0x2abf,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffd0,0xffc8,0xffc8,0xffb8,
+1,0xffcc,0xffd2,0xffb8,0xffcc,0xffb8,0x1a66,0x1a6c,0x1a72,0x1a78,0x1a7f,0x1a85,0x1a8b,0x1a91,0x1a99,0x1aa3,
+0x1aaa,0x1ab0,0x1ab6,0x1abc,0x1ac2,0x1ac8,0x1acf,0x1ad5,0x1ada,0x1ae0,0x1ae8,0x1af2,0x1afc,0x1b06,0x1b0e,0x1b14,
+0x1b1a,0x1b20,0x1b29,0x1b33,0x1b3b,0x1b41,0x1b46,0x1b4c,0x1b52,0x1b58,0x1b5e,0x1b64,0x1b6a,0x1b70,0x1b77,0x1b7d,
+0x1b82,0x1b88,0x1b8e,0x1b94,0x1b9c,0x1ba6,0x1bae,0x1bb4,0x1bba,0x1bc0,0x1bc6,0x1bcc,0xdd8,0xde2,0x1bd4,0x1bde,
+0x1be6,0x1bec,0x1bf2,0x1bf8,0x1bfe,0x1c04,0x1c0a,0x1c10,0x1c17,0x1c1d,0x1c22,0x1c28,0x1c2e,0x1c34,0x1c3a,0x1c40,
+0x1c46,0x1c4c,0x1c54,0x1c5e,0x1c68,0x1c72,0x1c7c,0x1c86,0x1c90,0x1c9a,0x1ca3,0x1ca9,0x1caf,0x1cb5,0x1cba,0x1cc0,
+0xdec,0xdf6,0x1cc8,0x1cd2,0x1cda,0x1ce0,0x1ce6,0x1cec,0xe00,0xe0a,0x1cf4,0x1cfe,0x1d08,0x1d12,0x1d1c,0x1d26,
+0x1d2e,0x1d34,0x1d3a,0x1d40,0x1d46,0x1d4c,0x1d52,0x1d58,0x1d5e,0x1d64,0x1d6a,0x1d70,0x1d76,0x1d7c,0x1d84,0x1d8e,
+0x1d98,0x1da2,0x1daa,0x1db0,0x1db7,0x1dbd,0x1dc2,0x1dc8,0x1dce,0x1dd4,0x1dda,0x1de0,0x1de6,0x1dec,0x1df3,0x1df9,
+0x1dff,0x1e05,0x1e0b,0x1e11,0x1e16,0x1e1c,0x1e22,0x1e28,0x1e2f,0x1e35,0x1e3b,0x1e41,0x1e46,0x1e4c,0x1e52,0x1e58,
+1,0x1e5f,1,1,1,1,0xe14,0xe22,0x1e64,0x1e6a,0x1e72,0x1e7c,0x1e86,0x1e90,0x1e9a,0x1ea4,
+0x1eae,0x1eb8,0x1ec2,0x1ecc,0x1ed6,0x1ee0,0x1eea,0x1ef4,0x1efe,0x1f08,0x1f12,0x1f1c,0x1f26,0x1f30,0xe30,0xe3a,
+0x1f38,0x1f3e,0x1f44,0x1f4a,0x1f52,0x1f5c,0x1f66,0x1f70,0x1f7a,0x1f84,0x1f8e,0x1f98,0x1fa2,0x1fac,0x1fb4,0x1fba,
+0x1fc0,0x1fc6,0xe44,0xe4e,0x1fcc,0x1fd2,0x1fda,0x1fe4,0x1fee,0x1ff8,0x2002,0x200c,0x2016,0x2020,0x202a,0x2034,
+0x203e,0x2048,0x2052,0x205c,0x2066,0x2070,0x207a,0x2084,0x208e,0x2098,0x20a0,0x20a6,0x20ac,0x20b2,0x20ba,0x20c4,
+0x20ce,0x20d8,0x20e2,0x20ec,0x20f6,0x2100,0x210a,0x2114,0x211c,0x2122,0x2129,0x212f,0x2134,0x213a,0x2140,0x2146,
+1,1,1,1,1,1,0xe58,0xe6e,0xe86,0xe94,0xea2,0xeb0,0xebe,0xecc,0xed8,0xeee,
+0xf06,0xf14,0xf22,0xf30,0xf3e,0xf4c,0xf58,0xf66,0x214f,0x2159,0x2163,0x216d,1,1,0xf74,0xf82,
+0x2177,0x2181,0x218b,0x2195,1,1,0xf90,0xfa6,0xfbe,0xfcc,0xfda,0xfe8,0xff6,0x1004,0x1010,0x1026,
+0x103e,0x104c,0x105a,0x1068,0x1076,0x1084,0x1090,0x10a2,0x219f,0x21a9,0x21b3,0x21bd,0x21c7,0x21d1,0x10b4,0x10c6,
+0x21db,0x21e5,0x21ef,0x21f9,0x2203,0x220d,0x10d8,0x10e6,0x2217,0x2221,0x222b,0x2235,1,1,0x10f4,0x1102,
+0x223f,0x2249,0x2253,0x225d,1,1,0x1110,0x1122,0x2267,0x2271,0x227b,0x2285,0x228f,0x2299,1,0x1134,
+1,0x22a3,1,0x22ad,1,0x22b7,0x1146,0x115c,0x1174,0x1182,0x1190,0x119e,0x11ac,0x11ba,0x11c6,0x11dc,
+0x11f4,0x1202,0x1210,0x121e,0x122c,0x123a,0x1246,0x3b8e,0x22bf,0x3b96,0x1250,0x3b9e,0x22c5,0x3ba6,0x22cb,0x3bae,
+0x22d1,0x3bb6,0x125a,0x3bbe,1,1,0x22d8,0x22e2,0x22f1,0x2301,0x2311,0x2321,0x2331,0x2341,0x234c,0x2356,
+0x2365,0x2375,0x2385,0x2395,0x23a5,0x23b5,0x23c0,0x23ca,0x23d9,0x23e9,0x23f9,0x2409,0x2419,0x2429,0x2434,0x243e,
+0x244d,0x245d,0x246d,0x247d,0x248d,0x249d,0x24a8,0x24b2,0x24c1,0x24d1,0x24e1,0x24f1,0x2501,0x2511,0x251c,0x2526,
+0x2535,0x2545,0x2555,0x2565,0x2575,0x2585,0x258f,0x2595,0x259d,0x25a4,0x25ad,1,0x1264,0x25b7,0x25bf,0x25c5,
+0x25cb,0x3bc6,0x25d0,1,0x2aa2,0x8f0,1,0x25d7,0x25df,0x25e6,0x25ef,1,0x126e,0x25f9,0x2601,0x3bce,
+0x2607,0x3bd6,0x260c,0x2613,0x2619,0x261f,0x2625,0x262b,0x2633,0x3be0,1,1,0x263b,0x2643,0x264b,0x2651,
+0x2657,0x3bea,1,0x265d,0x2663,0x2669,0x266f,0x2675,0x267d,0x3bf4,0x2685,0x268b,0x2691,0x2699,0x26a1,0x26a7,
+0x26ad,0x3bfe,0x26b3,0x26b9,0x3c06,0x2aa7,1,1,0x26c1,0x26c8,0x26d1,1,0x1278,0x26db,0x26e3,0x3c0e,
+0x26e9,0x3c16,0x26ee,0x2aab,0x8fc,1,0xfa09,0xfa09,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0xffcc,0xffcc,0xfe02,0xfe02,0xffcc,0xffcc,0xffcc,0xffcc,0xfe02,0xfe02,
+0xfe02,0xffcc,0xffcc,1,1,1,1,0xffcc,1,1,1,0xfe02,0xfe02,0xffcc,0xffb8,0xffcc,
+0xfe02,0xfe02,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,0x2aae,1,1,
+1,0x2ab2,0x3c1e,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0x908,1,0x90c,1,0x910,1,1,1,1,
+1,0x26f5,0x26fb,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,0x2701,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0x2707,0x270d,0x2713,0x914,1,0x918,1,0x91c,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0x920,0x2719,1,1,1,0x924,
+0x271f,1,0x928,0x2725,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0x92c,0x272b,0x930,0x2731,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,0x934,1,1,1,0x2737,1,0x938,0x273d,0x93c,1,0x2743,0x940,0x2749,
+1,1,1,0x944,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0x274f,0x948,0x2755,1,0x94c,0x950,1,1,1,1,
+1,1,1,0x275b,0x2761,0x2767,0x276d,0x2773,0x954,0x958,0x2779,0x277f,0x95c,0x960,0x2785,0x278b,
+0x964,0x968,0x96c,0x970,1,1,0x2791,0x2797,0x974,0x978,0x279d,0x27a3,0x97c,0x980,0x27a9,0x27af,
+1,1,1,1,1,1,1,0x984,0x988,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,0x98c,1,1,1,1,1,0x990,0x994,
+1,0x998,0x27b5,0x27bb,0x27c1,0x27c7,1,1,0x99c,0x9a0,0x9a4,0x9a8,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0x27cd,0x27d3,0x27d9,0x27df,
+1,1,1,1,1,1,0x27e5,0x27eb,0x27f1,0x27f7,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,0x2ab7,0x2abb,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,0x2abf,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xffb4,0xffc8,0xffd0,0xffbc,
+0xffc0,0xffc0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,0x9ac,1,1,1,1,0x9b0,0x27fd,0x9b4,0x2803,0x9b8,0x2809,0x9bc,0x280f,0x9c0,
+0x2815,0x9c4,0x281b,0x9c8,0x2821,0x9cc,0x2827,0x9d0,0x282d,0x9d4,0x2833,0x9d8,0x2839,0x9dc,0x283f,1,
+0x9e0,0x2845,0x9e4,0x284b,0x9e8,0x2851,1,1,1,1,1,0x9ec,0x2857,0x285d,0x9f4,0x2863,
+0x2869,0x9fc,0x286f,0x2875,0xa04,0x287b,0x2881,0xa0c,0x2887,0x288d,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x2893,1,
+1,1,1,0xfc10,0xfc10,1,1,0xa14,0x2899,1,1,1,1,1,1,1,
+0xa18,1,1,1,1,0xa1c,0x289f,0xa20,0x28a5,0xa24,0x28ab,0xa28,0x28b1,0xa2c,0x28b7,0xa30,
+0x28bd,0xa34,0x28c3,0xa38,0x28c9,0xa3c,0x28cf,0xa40,0x28d5,0xa44,0x28db,0xa48,0x28e1,1,0xa4c,0x28e7,
+0xa50,0x28ed,0xa54,0x28f3,1,1,1,1,1,0xa58,0x28f9,0x28ff,0xa60,0x2905,0x290b,0xa68,
+0x2911,0x2917,0xa70,0x291d,0x2923,0xa78,0x2929,0x292f,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,0xa80,0xa84,0xa88,0xa8c,1,0x2935,1,
+1,0x293b,0x2941,0x2947,0x294d,1,1,0xa90,0x2953,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,0xffcc,1,1,1,1,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0xffb4,0xffc8,0xffd0,0xffbc,0xffc0,
-0xffc0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,0x9ac,1,1,1,1,0x9b0,0x27fd,0x9b4,0x2803,0x9b8,0x2809,0x9bc,0x280f,0x9c0,0x2815,
-0x9c4,0x281b,0x9c8,0x2821,0x9cc,0x2827,0x9d0,0x282d,0x9d4,0x2833,0x9d8,0x2839,0x9dc,0x283f,1,0x9e0,
-0x2845,0x9e4,0x284b,0x9e8,0x2851,1,1,1,1,1,0x9ec,0x2857,0x285d,0x9f4,0x2863,0x2869,
-0x9fc,0x286f,0x2875,0xa04,0x287b,0x2881,0xa0c,0x2887,0x288d,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,0x2893,1,1,
-1,1,0xfc10,0xfc10,1,1,0xa14,0x2899,1,1,1,1,1,1,1,0xa18,
-1,1,1,1,0xa1c,0x289f,0xa20,0x28a5,0xa24,0x28ab,0xa28,0x28b1,0xa2c,0x28b7,0xa30,0x28bd,
-0xa34,0x28c3,0xa38,0x28c9,0xa3c,0x28cf,0xa40,0x28d5,0xa44,0x28db,0xa48,0x28e1,1,0xa4c,0x28e7,0xa50,
-0x28ed,0xa54,0x28f3,1,1,1,1,1,0xa58,0x28f9,0x28ff,0xa60,0x2905,0x290b,0xa68,0x2911,
-0x2917,0xa70,0x291d,0x2923,0xa78,0x2929,0x292f,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,0xa80,0xa84,0xa88,0xa8c,1,0x2935,1,1,
-0x293b,0x2941,0x2947,0x294d,1,1,0xa90,0x2953,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,0xffcc,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0xffcc,0xffcc,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xffcc,0xffcc,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xfe12,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xffcc,0xffcc,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xfe12,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0xffb8,0xffb8,0xffb8,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0xffb8,0xffb8,0xffb8,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xfe12,
+0xfe12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,
-1,0xffcc,0xffcc,0xffb8,1,1,0xffcc,0xffcc,1,1,1,1,1,0xffcc,0xffcc,1,
-0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+0xffcc,1,0xffcc,0xffcc,0xffb8,1,1,0xffcc,0xffcc,1,1,1,1,1,0xffcc,0xffcc,
+1,0xffcc,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0xfe12,1,1,1,1,1,1,1,1,1,0xadc,
+1,1,1,1,1,1,0xfe12,1,1,1,1,1,1,1,1,1,
+0xadc,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
+0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,
0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
-0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,0x1283,
+0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
-0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
+0x1283,0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
-0x1283,0x1283,0x1283,0xadc,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,
-0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,0x1283,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0x3c56,1,0x3c56,0x3c56,0x3c56,
-0x3c56,0x3c56,0x3c56,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0x3c56,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,0x3c56,1,1,1,1,0x3c56,
-1,1,1,0x3c56,1,0x3c56,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0x3b87,1,0x2ac5,0x2ac9,0x2acd,0x2ad1,0x2ad5,0x2ad9,0x2add,0x2ae1,0x2ae1,0x2ae5,
-0x2ae9,0x2aed,0x2af1,0x2af5,0x2af9,0x2afd,0x2b01,0x2b05,0x2b09,0x2b0d,0x2b11,0x2b15,0x2b19,0x2b1d,0x2b21,0x2b25,
-0x2b29,0x2b2d,0x2b31,0x2b35,0x2b39,0x2b3d,0x2b41,0x2b45,0x2b49,0x2b4d,0x2b51,0x2b55,0x2b59,0x2b5d,0x2b61,0x2b65,
-0x2b69,0x2b6d,0x2b71,0x2b75,0x2b79,0x2b7d,0x2b81,0x2b85,0x2b89,0x2b8d,0x2b91,0x2b95,0x2b99,0x2b9d,0x2ba1,0x2ba5,
-0x2ba9,0x2bad,0x2bb1,0x2bb5,0x2bb9,0x2bbd,0x2bc1,0x2bc5,0x2bc9,0x2bcd,0x2bd1,0x2bd5,0x2bd9,0x2bdd,0x2be1,0x2be5,
-0x2be9,0x2bed,0x2bf1,0x2bf5,0x2bf9,0x2bfd,0x2c01,0x2c05,0x2c09,0x2c0d,0x2c11,0x2c15,0x2c19,0x2c1d,0x2c21,0x2c25,
-0x2c29,0x2c2d,0x2b11,0x2c31,0x2c35,0x2c39,0x2c3d,0x2c41,0x2c45,0x2c49,0x2c4d,0x2c51,0x2c55,0x2c59,0x2c5d,0x2c61,
-0x2c65,0x2c69,0x2c6d,0x2c71,0x2c75,0x2c79,0x2c7d,0x2c81,0x2c85,0x2c89,0x2c8d,0x2c91,0x2c95,0x2c99,0x2c9d,0x2ca1,
-0x2ca5,0x2ca9,0x2cad,0x2cb1,0x2cb5,0x2cb9,0x2cbd,0x2cc1,0x2cc5,0x2cc9,0x2ccd,0x2cd1,0x2cd5,0x2cd9,0x2cdd,0x2ce1,
-0x2ce5,0x2ce9,0x2ced,0x2cf1,0x2cf5,0x2cf9,0x2cfd,0x2d01,0x2d05,0x2d09,0x2d0d,0x2d11,0x2d15,0x2d19,0x2d1d,0x2d21,
-0x2d25,0x2d29,0x2d2d,0x2d31,0x2d35,0x2d39,0x2d3d,0x2c79,0x2d41,0x2d45,0x2d49,0x2d4d,0x2d51,0x2d55,0x2d59,0x2d5d,
-0x2c39,0x2d61,0x2d65,0x2d69,0x2d6d,0x2d71,0x2d75,0x2d79,0x2d7d,0x2d81,0x2d85,0x2d89,0x2d8d,0x2d91,0x2d95,0x2d99,
-0x2d9d,0x2da1,0x2da5,0x2da9,0x2dad,0x2b11,0x2db1,0x2db5,0x2db9,0x2dbd,0x2dc1,0x2dc5,0x2dc9,0x2dcd,0x2dd1,0x2dd5,
-0x2dd9,0x2ddd,0x2de1,0x2de5,0x2de9,0x2ded,0x2df1,0x2df5,0x2df9,0x2dfd,0x2e01,0x2e05,0x2e09,0x2e0d,0x2e11,0x2e15,
-0x2e19,0x2c41,0x2e1d,0x2e21,0x2e25,0x2e29,0x2e2d,0x2e31,0x2e35,0x2e39,0x2e3d,0x2e41,0x2e45,0x2e49,0x2e4d,0x2e51,
-0x2e55,0x2e59,0x2e5d,0x2e61,0x2e65,0x2e69,0x2e6d,0x2e71,0x2e75,0x2e79,0x2e7d,0x2e81,0x2e85,0x2e89,0x2e8d,0x2e91,
-0x2e95,0x2e99,0x2e9d,0x2ea1,0x2ea5,0x2ea9,0x2ead,0x2eb1,0x2eb5,0x2eb9,0x2ebd,0x2ec1,0x2ec5,0x2ec9,0x2ecd,0x2ed1,
-0x2ed5,0x2ed9,0x2edd,0x2ee1,1,1,0x2ee5,1,0x2ee9,1,1,0x2eed,0x2ef1,0x2ef5,0x2ef9,0x2efd,
-0x2f01,0x2f05,0x2f09,0x2f0d,0x2f11,1,0x2f15,1,0x2f19,1,1,0x2f1d,0x2f21,1,1,1,
-0x2f25,0x2f29,0x2f2d,0x2f31,0x2f35,0x2f39,0x2f3d,0x2f41,0x2f45,0x2f49,0x2f4d,0x2f51,0x2f55,0x2f59,0x2f5d,0x2f61,
-0x2f65,0x2f69,0x2f6d,0x2f71,0x2f75,0x2f79,0x2f7d,0x2f81,0x2f85,0x2f89,0x2f8d,0x2f91,0x2f95,0x2f99,0x2f9d,0x2fa1,
-0x2fa5,0x2fa9,0x2fad,0x2fb1,0x2fb5,0x2fb9,0x2fbd,0x2fc1,0x2fc5,0x2fc9,0x2fcd,0x2fd1,0x2fd5,0x2d15,0x2fd9,0x2fdd,
-0x2fe1,0x2fe5,0x2fe9,0x2fed,0x2fed,0x2ff1,0x2ff5,0x2ff9,0x2ffd,0x3001,0x3005,0x3009,0x300d,0x2f1d,0x3011,0x3015,
-0x3019,0x301d,0x3021,0x3027,1,1,0x302b,0x302f,0x3033,0x3037,0x303b,0x303f,0x3043,0x3047,0x2f55,0x304b,
-0x304f,0x3053,0x2ee5,0x3057,0x305b,0x305f,0x3063,0x3067,0x306b,0x306f,0x3073,0x3077,0x307b,0x307f,0x3083,0x2f79,
-0x3087,0x2f7d,0x308b,0x308f,0x3093,0x3097,0x309b,0x2ee9,0x2b65,0x309f,0x30a3,0x30a7,0x2c7d,0x2dd9,0x30ab,0x30af,
-0x2f99,0x30b3,0x2f9d,0x30b7,0x30bb,0x30bf,0x2ef1,0x30c3,0x30c7,0x30cb,0x30cf,0x30d3,0x2ef5,0x30d7,0x30db,0x30df,
-0x30e3,0x30e7,0x30eb,0x2fd5,0x30ef,0x30f3,0x2d15,0x30f7,0x2fe5,0x30fb,0x30ff,0x3103,0x3107,0x310b,0x2ff9,0x310f,
-0x2f19,0x3113,0x2ffd,0x2c31,0x3117,0x3001,0x311b,0x3009,0x311f,0x3123,0x3127,0x312b,0x312f,0x3011,0x2f09,0x3133,
-0x3015,0x3137,0x3019,0x313b,0x2ae1,0x313f,0x3145,0x314b,0x3151,0x3155,0x3159,0x315d,0x3163,0x3169,0x316f,0x3173,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0x3176,0xfe34,0x317c,1,1,1,1,1,1,1,
-1,1,1,0x3182,0x3188,0x3190,0x319a,0x31a2,0x31a8,0x31ae,0x31b4,0x31ba,0x31c0,0x31c6,0x31cc,0x31d2,
-1,0x31d8,0x31de,0x31e4,0x31ea,0x31f0,1,0x31f6,1,0x31fc,0x3202,1,0x3208,0x320e,1,0x3214,
-0x321a,0x3220,0x3226,0x322c,0x3232,0x3238,0x323e,0x3244,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,0xffcc,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0xffb8,1,0xffcc,1,1,1,1,
-1,1,1,1,0xffcc,0xfe02,0xffb8,1,1,1,1,0xfe12,1,1,1,1,
-0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,0xffb8,0xffb8,0xffcc,0xffcc,
-0xffcc,0xffb8,0xffcc,0xffb8,0xffb8,0xffb8,1,1,1,1,1,1,1,1,1,0xa94,
-0x2959,0xa9a,0x2963,1,1,1,1,1,0xaa0,1,1,1,1,1,0x296d,1,
-1,1,1,1,1,1,1,1,0xfe12,0xfc0e,1,1,1,1,1,1,
-1,0xfc00,1,1,1,1,1,1,0x2977,0x2981,1,0xaa6,0xaac,0xfe12,0xfe12,1,
-1,1,1,1,1,1,1,1,1,1,0xfe12,1,1,1,1,1,
-1,1,1,1,0xfe0e,1,1,1,1,1,0xfe12,0xfe0e,1,1,1,1,
-1,1,1,1,1,0xfe0e,0xfe12,1,1,1,1,1,1,1,1,1,
-1,1,0xfe0e,0xfe0e,1,0xfc00,1,1,1,1,1,1,1,0xab2,1,1,
-1,0x298b,0x2995,0xfe12,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,1,1,1,0xfe12,1,1,1,0xfe0e,1,1,1,1,1,1,1,
-1,1,0xfc00,1,1,1,1,1,1,1,1,0xabe,0xfc00,0x299f,0x29a9,0xfc00,
-0x29b3,1,1,0xfe12,0xfe0e,1,1,1,1,1,1,1,1,1,1,1,
-1,0xad0,0xad6,0x29bd,0x29c7,1,1,1,0xfe12,0xfe0e,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0xfe12,0xfe0e,1,1,1,1,1,
-1,1,1,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0xfe02,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0x324a,0x3254,0x3268,0x3280,0x3298,0x32b0,0x32c8,0xffb0,0xffb0,0xfe02,0xfe02,
-0xfe02,1,1,1,0xffc4,0xffb0,0xffb0,0xffb0,1,1,1,1,1,1,1,1,
-0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffb8,0xffb8,1,1,
-1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,
-1,1,1,1,1,1,1,0x32d6,0x32e0,0x32f4,0x330c,0x3324,0x333c,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,
-0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,0xffcc,
-0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,
-1,1,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,1,1,1,1,1,
-1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e,1,1,1,1,1,0x334b,0x334f,
-0x3353,0x3357,0x335d,0x2f3d,0x3361,0x3365,0x3369,0x336d,0x2f41,0x3371,0x3375,0x3379,0x2f45,0x337f,0x3383,0x3387,
-0x338b,0x3391,0x3395,0x3399,0x339d,0x33a3,0x33a7,0x33ab,0x33af,0x302f,0x33b3,0x33b9,0x33bd,0x33c1,0x33c5,0x33c9,
-0x33cd,0x33d1,0x33d5,0x3043,0x2f49,0x2f4d,0x3047,0x33d9,0x33dd,0x2c49,0x33e1,0x2f51,0x33e5,0x33e9,0x33ed,0x33f1,
-0x33f1,0x33f1,0x33f5,0x33fb,0x33ff,0x3403,0x3407,0x340d,0x3411,0x3415,0x3419,0x341d,0x3421,0x3425,0x3429,0x342d,
-0x3431,0x3435,0x3439,0x343d,0x343d,0x304f,0x3441,0x3445,0x3449,0x344d,0x2f59,0x3451,0x3455,0x3459,0x2ead,0x345d,
-0x3461,0x3465,0x3469,0x346d,0x3471,0x3475,0x3479,0x347d,0x3483,0x3487,0x348b,0x348f,0x3493,0x3497,0x349b,0x34a1,
-0x34a7,0x34ab,0x34af,0x34b3,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34c7,0x34cb,0x34d1,0x34d5,0x2c39,0x34d9,0x34dd,
-0x34e3,0x34e7,0x34eb,0x34ef,0x34f3,0x34f7,0x2f6d,0x34fb,0x34ff,0x3503,0x3509,0x350d,0x3513,0x3517,0x351b,0x351f,
-0x3523,0x3527,0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3545,0x3549,0x354d,0x3551,0x2b61,0x3555,0x355b,0x355f,
-0x355f,0x3565,0x3569,0x3569,0x356d,0x3571,0x3577,0x357d,0x3581,0x3585,0x3589,0x358d,0x3591,0x3595,0x3599,0x359d,
-0x35a1,0x2f71,0x35a5,0x35ab,0x35af,0x35b3,0x307f,0x35b3,0x35b7,0x2f79,0x35bb,0x35bf,0x35c3,0x35c7,0x2f7d,0x2af5,
-0x35cb,0x35cf,0x35d3,0x35d7,0x35db,0x35df,0x35e3,0x35e9,0x35ed,0x35f1,0x35f5,0x35f9,0x35fd,0x3603,0x3607,0x360b,
-0x360f,0x3613,0x3617,0x361b,0x361f,0x3623,0x2f81,0x3627,0x362b,0x3631,0x3635,0x3639,0x363d,0x2f89,0x3641,0x3645,
-0x3649,0x364d,0x3651,0x3655,0x3659,0x365d,0x2b65,0x309f,0x3661,0x3665,0x3669,0x366d,0x3673,0x3677,0x367b,0x367f,
-0x2f8d,0x3683,0x3689,0x368d,0x3691,0x3151,0x3695,0x3699,0x369d,0x36a1,0x36a5,0x36ab,0x36af,0x36b3,0x36b7,0x36bd,
-0x36c1,0x36c5,0x36c9,0x2c7d,0x36cd,0x36d1,0x36d7,0x36dd,0x36e3,0x36e7,0x36ed,0x36f1,0x36f5,0x36f9,0x36fd,0x2f91,
-0x2dd9,0x3701,0x3705,0x3709,0x370d,0x3713,0x3717,0x371b,0x371f,0x30af,0x3723,0x3727,0x372d,0x3731,0x3735,0x373b,
-0x3741,0x3745,0x30b3,0x3749,0x374d,0x3751,0x3755,0x3759,0x375d,0x3761,0x3767,0x376b,0x3771,0x3775,0x377b,0x30bb,
-0x377f,0x3783,0x3789,0x378d,0x3791,0x3797,0x379d,0x37a1,0x37a5,0x37a9,0x37ad,0x37ad,0x37b1,0x37b5,0x30c3,0x37b9,
-0x37bd,0x37c1,0x37c5,0x37c9,0x37cf,0x37d3,0x2c45,0x37d9,0x37df,0x37e3,0x37e9,0x37ef,0x37f5,0x37f9,0x30db,0x37fd,
-0x3803,0x3809,0x380f,0x3815,0x3819,0x3819,0x30df,0x3159,0x381d,0x3821,0x3825,0x3829,0x382f,0x2bad,0x30e7,0x3833,
-0x3837,0x2fbd,0x383d,0x3843,0x2f05,0x3849,0x384d,0x2fcd,0x3851,0x3855,0x3859,0x385f,0x385f,0x3865,0x3869,0x386d,
-0x3873,0x3877,0x387b,0x387f,0x3885,0x3889,0x388d,0x3891,0x3895,0x3899,0x389f,0x38a3,0x38a7,0x38ab,0x38af,0x38b3,
-0x38b7,0x38bd,0x38c3,0x38c7,0x38cd,0x38d1,0x38d7,0x38db,0x2fe5,0x38df,0x38e5,0x38eb,0x38ef,0x38f5,0x38f9,0x38ff,
-0x3903,0x3907,0x390b,0x390f,0x3913,0x3917,0x391d,0x3923,0x3929,0x3565,0x392f,0x3933,0x3937,0x393b,0x393f,0x3943,
-0x3947,0x394b,0x394f,0x3953,0x3957,0x395b,0x2c8d,0x3961,0x3965,0x3969,0x396d,0x3971,0x3975,0x2ff1,0x3979,0x397d,
-0x3981,0x3985,0x3989,0x398f,0x3995,0x399b,0x399f,0x39a3,0x39a7,0x39ab,0x39b1,0x39b5,0x39bb,0x39bf,0x39c3,0x39c9,
-0x39cf,0x39d3,0x2b99,0x39d7,0x39db,0x39df,0x39e3,0x39e7,0x39eb,0x3103,0x39ef,0x39f3,0x39f7,0x39fb,0x39ff,0x3a03,
-0x3a07,0x3a0b,0x3a0f,0x3a13,0x3a19,0x3a1d,0x3a21,0x3a25,0x3a29,0x3a2d,0x3a33,0x3a39,0x3a3d,0x3a41,0x3117,0x311b,
-0x3a45,0x3a49,0x3a4f,0x3a53,0x3a57,0x3a5b,0x3a5f,0x3a65,0x3a6b,0x3a6f,0x3a73,0x3a77,0x3a7d,0x311f,0x3a81,0x3a87,
-0x3a8d,0x3a91,0x3a95,0x3a99,0x3a9f,0x3aa3,0x3aa7,0x3aab,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3ac1,0x3ac5,0x3ac9,0x3acd,
-0x3ad3,0x3ad7,0x3adb,0x3adf,0x3ae3,0x3ae9,0x3aef,0x3af3,0x3af7,0x3afb,0x3b01,0x3b05,0x3137,0x3137,0x3b0b,0x3b0f,
-0x3b15,0x3b19,0x3b1d,0x3b21,0x3b25,0x3b29,0x3b2d,0x3b31,0x313b,0x3b37,0x3b3b,0x3b3f,0x3b43,0x3b47,0x3b4b,0x3b51,
-0x3b55,0x3b5b,0x3b61,0x3b67,0x3b6b,0x3b6f,0x3b73,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,1,1
+1,1,1,1,1,1,1,1,1,1,1,1,0x3c56,1,0x3c56,0x3c56,
+0x3c56,0x3c56,0x3c56,0x3c56,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0x3c56,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,0x3c56,1,1,1,1,
+0x3c56,1,1,1,0x3c56,1,0x3c56,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,0x3b87,1,0x2ac5,0x2ac9,0x2acd,0x2ad1,0x2ad5,0x2ad9,0x2add,0x2ae1,0x2ae1,
+0x2ae5,0x2ae9,0x2aed,0x2af1,0x2af5,0x2af9,0x2afd,0x2b01,0x2b05,0x2b09,0x2b0d,0x2b11,0x2b15,0x2b19,0x2b1d,0x2b21,
+0x2b25,0x2b29,0x2b2d,0x2b31,0x2b35,0x2b39,0x2b3d,0x2b41,0x2b45,0x2b49,0x2b4d,0x2b51,0x2b55,0x2b59,0x2b5d,0x2b61,
+0x2b65,0x2b69,0x2b6d,0x2b71,0x2b75,0x2b79,0x2b7d,0x2b81,0x2b85,0x2b89,0x2b8d,0x2b91,0x2b95,0x2b99,0x2b9d,0x2ba1,
+0x2ba5,0x2ba9,0x2bad,0x2bb1,0x2bb5,0x2bb9,0x2bbd,0x2bc1,0x2bc5,0x2bc9,0x2bcd,0x2bd1,0x2bd5,0x2bd9,0x2bdd,0x2be1,
+0x2be5,0x2be9,0x2bed,0x2bf1,0x2bf5,0x2bf9,0x2bfd,0x2c01,0x2c05,0x2c09,0x2c0d,0x2c11,0x2c15,0x2c19,0x2c1d,0x2c21,
+0x2c25,0x2c29,0x2c2d,0x2b11,0x2c31,0x2c35,0x2c39,0x2c3d,0x2c41,0x2c45,0x2c49,0x2c4d,0x2c51,0x2c55,0x2c59,0x2c5d,
+0x2c61,0x2c65,0x2c69,0x2c6d,0x2c71,0x2c75,0x2c79,0x2c7d,0x2c81,0x2c85,0x2c89,0x2c8d,0x2c91,0x2c95,0x2c99,0x2c9d,
+0x2ca1,0x2ca5,0x2ca9,0x2cad,0x2cb1,0x2cb5,0x2cb9,0x2cbd,0x2cc1,0x2cc5,0x2cc9,0x2ccd,0x2cd1,0x2cd5,0x2cd9,0x2cdd,
+0x2ce1,0x2ce5,0x2ce9,0x2ced,0x2cf1,0x2cf5,0x2cf9,0x2cfd,0x2d01,0x2d05,0x2d09,0x2d0d,0x2d11,0x2d15,0x2d19,0x2d1d,
+0x2d21,0x2d25,0x2d29,0x2d2d,0x2d31,0x2d35,0x2d39,0x2d3d,0x2c79,0x2d41,0x2d45,0x2d49,0x2d4d,0x2d51,0x2d55,0x2d59,
+0x2d5d,0x2c39,0x2d61,0x2d65,0x2d69,0x2d6d,0x2d71,0x2d75,0x2d79,0x2d7d,0x2d81,0x2d85,0x2d89,0x2d8d,0x2d91,0x2d95,
+0x2d99,0x2d9d,0x2da1,0x2da5,0x2da9,0x2dad,0x2b11,0x2db1,0x2db5,0x2db9,0x2dbd,0x2dc1,0x2dc5,0x2dc9,0x2dcd,0x2dd1,
+0x2dd5,0x2dd9,0x2ddd,0x2de1,0x2de5,0x2de9,0x2ded,0x2df1,0x2df5,0x2df9,0x2dfd,0x2e01,0x2e05,0x2e09,0x2e0d,0x2e11,
+0x2e15,0x2e19,0x2c41,0x2e1d,0x2e21,0x2e25,0x2e29,0x2e2d,0x2e31,0x2e35,0x2e39,0x2e3d,0x2e41,0x2e45,0x2e49,0x2e4d,
+0x2e51,0x2e55,0x2e59,0x2e5d,0x2e61,0x2e65,0x2e69,0x2e6d,0x2e71,0x2e75,0x2e79,0x2e7d,0x2e81,0x2e85,0x2e89,0x2e8d,
+0x2e91,0x2e95,0x2e99,0x2e9d,0x2ea1,0x2ea5,0x2ea9,0x2ead,0x2eb1,0x2eb5,0x2eb9,0x2ebd,0x2ec1,0x2ec5,0x2ec9,0x2ecd,
+0x2ed1,0x2ed5,0x2ed9,0x2edd,0x2ee1,1,1,0x2ee5,1,0x2ee9,1,1,0x2eed,0x2ef1,0x2ef5,0x2ef9,
+0x2efd,0x2f01,0x2f05,0x2f09,0x2f0d,0x2f11,1,0x2f15,1,0x2f19,1,1,0x2f1d,0x2f21,1,1,
+1,0x2f25,0x2f29,0x2f2d,0x2f31,0x2f35,0x2f39,0x2f3d,0x2f41,0x2f45,0x2f49,0x2f4d,0x2f51,0x2f55,0x2f59,0x2f5d,
+0x2f61,0x2f65,0x2f69,0x2f6d,0x2f71,0x2f75,0x2f79,0x2f7d,0x2f81,0x2f85,0x2f89,0x2f8d,0x2f91,0x2f95,0x2f99,0x2f9d,
+0x2fa1,0x2fa5,0x2fa9,0x2fad,0x2fb1,0x2fb5,0x2fb9,0x2fbd,0x2fc1,0x2fc5,0x2fc9,0x2fcd,0x2fd1,0x2fd5,0x2d15,0x2fd9,
+0x2fdd,0x2fe1,0x2fe5,0x2fe9,0x2fed,0x2fed,0x2ff1,0x2ff5,0x2ff9,0x2ffd,0x3001,0x3005,0x3009,0x300d,0x2f1d,0x3011,
+0x3015,0x3019,0x301d,0x3021,0x3027,1,1,0x302b,0x302f,0x3033,0x3037,0x303b,0x303f,0x3043,0x3047,0x2f55,
+0x304b,0x304f,0x3053,0x2ee5,0x3057,0x305b,0x305f,0x3063,0x3067,0x306b,0x306f,0x3073,0x3077,0x307b,0x307f,0x3083,
+0x2f79,0x3087,0x2f7d,0x308b,0x308f,0x3093,0x3097,0x309b,0x2ee9,0x2b65,0x309f,0x30a3,0x30a7,0x2c7d,0x2dd9,0x30ab,
+0x30af,0x2f99,0x30b3,0x2f9d,0x30b7,0x30bb,0x30bf,0x2ef1,0x30c3,0x30c7,0x30cb,0x30cf,0x30d3,0x2ef5,0x30d7,0x30db,
+0x30df,0x30e3,0x30e7,0x30eb,0x2fd5,0x30ef,0x30f3,0x2d15,0x30f7,0x2fe5,0x30fb,0x30ff,0x3103,0x3107,0x310b,0x2ff9,
+0x310f,0x2f19,0x3113,0x2ffd,0x2c31,0x3117,0x3001,0x311b,0x3009,0x311f,0x3123,0x3127,0x312b,0x312f,0x3011,0x2f09,
+0x3133,0x3015,0x3137,0x3019,0x313b,0x2ae1,0x313f,0x3145,0x314b,0x3151,0x3155,0x3159,0x315d,0x3163,0x3169,0x316f,
+0x3173,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0x3176,0xfe34,0x317c,1,1,1,1,1,1,
+1,1,1,1,0x3182,0x3188,0x3190,0x319a,0x31a2,0x31a8,0x31ae,0x31b4,0x31ba,0x31c0,0x31c6,0x31cc,
+0x31d2,1,0x31d8,0x31de,0x31e4,0x31ea,0x31f0,1,0x31f6,1,0x31fc,0x3202,1,0x3208,0x320e,1,
+0x3214,0x321a,0x3220,0x3226,0x322c,0x3232,0x3238,0x323e,0x3244,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffcc,0xffcc,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0xffb8,1,0xffcc,1,1,1,
+1,1,1,1,1,0xffcc,0xfe02,0xffb8,1,1,1,1,0xfe12,1,1,1,
+1,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,1,1,1,1,1,0xffb8,0xffb8,0xffcc,
+0xffcc,0xffcc,0xffb8,0xffcc,0xffb8,0xffb8,0xffb8,1,1,1,1,1,1,1,1,1,
+0xa94,0x2959,0xa9a,0x2963,1,1,1,1,1,0xaa0,1,1,1,1,1,0x296d,
+1,1,1,1,1,1,1,1,1,0xfe12,0xfc0e,1,1,1,1,1,
+1,1,0xfc00,1,1,1,1,1,1,0x2977,0x2981,1,0xaa6,0xaac,0xfe12,0xfe12,
+1,1,1,1,1,1,1,1,1,1,1,0xfe12,1,1,1,1,
+1,1,1,1,1,0xfe0e,1,1,1,1,1,0xfe12,0xfe0e,1,1,1,
+1,1,1,1,1,1,0xfe0e,0xfe12,1,1,1,1,1,1,1,1,
+1,1,1,0xfe0e,0xfe0e,1,0xfc00,1,1,1,1,1,1,1,0xab2,1,
+1,1,0x298b,0x2995,0xfe12,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,1,1,1,0xfe12,1,1,1,0xfe0e,1,1,1,1,1,1,
+1,1,1,0xfc00,1,1,1,1,1,1,1,1,0xabe,0xfc00,0x299f,0x29a9,
+0xfc00,0x29b3,1,1,0xfe12,0xfe0e,1,1,1,1,1,1,1,1,1,1,
+1,1,0xad0,0xad6,0x29bd,0x29c7,1,1,1,0xfe12,0xfe0e,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,0xfe12,0xfe0e,1,1,1,1,
+1,1,1,1,0xfe02,0xfe02,0xfe02,0xfe02,0xfe02,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0xfe02,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0x324a,0x3254,0x3268,0x3280,0x3298,0x32b0,0x32c8,0xffb0,0xffb0,0xfe02,
+0xfe02,0xfe02,1,1,1,0xffc4,0xffb0,0xffb0,0xffb0,1,1,1,1,1,1,1,
+1,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffb8,0xffb8,1,
+1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,1,1,1,
+1,1,1,1,1,1,1,1,0x32d6,0x32e0,0x32f4,0x330c,0x3324,0x333c,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,0xffcc,0xffcc,0xffcc,
+0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,
+0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,0xffcc,0xffcc,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,1,1,
+1,1,1,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,0xffb8,1,1,1,1,1,1,
+1,1,1,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xffcc,0xfe0e,1,1,1,1,1,0x334b,
+0x334f,0x3353,0x3357,0x335d,0x2f3d,0x3361,0x3365,0x3369,0x336d,0x2f41,0x3371,0x3375,0x3379,0x2f45,0x337f,0x3383,
+0x3387,0x338b,0x3391,0x3395,0x3399,0x339d,0x33a3,0x33a7,0x33ab,0x33af,0x302f,0x33b3,0x33b9,0x33bd,0x33c1,0x33c5,
+0x33c9,0x33cd,0x33d1,0x33d5,0x3043,0x2f49,0x2f4d,0x3047,0x33d9,0x33dd,0x2c49,0x33e1,0x2f51,0x33e5,0x33e9,0x33ed,
+0x33f1,0x33f1,0x33f1,0x33f5,0x33fb,0x33ff,0x3403,0x3407,0x340d,0x3411,0x3415,0x3419,0x341d,0x3421,0x3425,0x3429,
+0x342d,0x3431,0x3435,0x3439,0x343d,0x343d,0x304f,0x3441,0x3445,0x3449,0x344d,0x2f59,0x3451,0x3455,0x3459,0x2ead,
+0x345d,0x3461,0x3465,0x3469,0x346d,0x3471,0x3475,0x3479,0x347d,0x3483,0x3487,0x348b,0x348f,0x3493,0x3497,0x349b,
+0x34a1,0x34a7,0x34ab,0x34af,0x34b3,0x34b7,0x34bb,0x34bf,0x34c3,0x34c7,0x34c7,0x34cb,0x34d1,0x34d5,0x2c39,0x34d9,
+0x34dd,0x34e3,0x34e7,0x34eb,0x34ef,0x34f3,0x34f7,0x2f6d,0x34fb,0x34ff,0x3503,0x3509,0x350d,0x3513,0x3517,0x351b,
+0x351f,0x3523,0x3527,0x352b,0x352f,0x3533,0x3537,0x353b,0x353f,0x3545,0x3549,0x354d,0x3551,0x2b61,0x3555,0x355b,
+0x355f,0x355f,0x3565,0x3569,0x3569,0x356d,0x3571,0x3577,0x357d,0x3581,0x3585,0x3589,0x358d,0x3591,0x3595,0x3599,
+0x359d,0x35a1,0x2f71,0x35a5,0x35ab,0x35af,0x35b3,0x307f,0x35b3,0x35b7,0x2f79,0x35bb,0x35bf,0x35c3,0x35c7,0x2f7d,
+0x2af5,0x35cb,0x35cf,0x35d3,0x35d7,0x35db,0x35df,0x35e3,0x35e9,0x35ed,0x35f1,0x35f5,0x35f9,0x35fd,0x3603,0x3607,
+0x360b,0x360f,0x3613,0x3617,0x361b,0x361f,0x3623,0x2f81,0x3627,0x362b,0x3631,0x3635,0x3639,0x363d,0x2f89,0x3641,
+0x3645,0x3649,0x364d,0x3651,0x3655,0x3659,0x365d,0x2b65,0x309f,0x3661,0x3665,0x3669,0x366d,0x3673,0x3677,0x367b,
+0x367f,0x2f8d,0x3683,0x3689,0x368d,0x3691,0x3151,0x3695,0x3699,0x369d,0x36a1,0x36a5,0x36ab,0x36af,0x36b3,0x36b7,
+0x36bd,0x36c1,0x36c5,0x36c9,0x2c7d,0x36cd,0x36d1,0x36d7,0x36dd,0x36e3,0x36e7,0x36ed,0x36f1,0x36f5,0x36f9,0x36fd,
+0x2f91,0x2dd9,0x3701,0x3705,0x3709,0x370d,0x3713,0x3717,0x371b,0x371f,0x30af,0x3723,0x3727,0x372d,0x3731,0x3735,
+0x373b,0x3741,0x3745,0x30b3,0x3749,0x374d,0x3751,0x3755,0x3759,0x375d,0x3761,0x3767,0x376b,0x3771,0x3775,0x377b,
+0x30bb,0x377f,0x3783,0x3789,0x378d,0x3791,0x3797,0x379d,0x37a1,0x37a5,0x37a9,0x37ad,0x37ad,0x37b1,0x37b5,0x30c3,
+0x37b9,0x37bd,0x37c1,0x37c5,0x37c9,0x37cf,0x37d3,0x2c45,0x37d9,0x37df,0x37e3,0x37e9,0x37ef,0x37f5,0x37f9,0x30db,
+0x37fd,0x3803,0x3809,0x380f,0x3815,0x3819,0x3819,0x30df,0x3159,0x381d,0x3821,0x3825,0x3829,0x382f,0x2bad,0x30e7,
+0x3833,0x3837,0x2fbd,0x383d,0x3843,0x2f05,0x3849,0x384d,0x2fcd,0x3851,0x3855,0x3859,0x385f,0x385f,0x3865,0x3869,
+0x386d,0x3873,0x3877,0x387b,0x387f,0x3885,0x3889,0x388d,0x3891,0x3895,0x3899,0x389f,0x38a3,0x38a7,0x38ab,0x38af,
+0x38b3,0x38b7,0x38bd,0x38c3,0x38c7,0x38cd,0x38d1,0x38d7,0x38db,0x2fe5,0x38df,0x38e5,0x38eb,0x38ef,0x38f5,0x38f9,
+0x38ff,0x3903,0x3907,0x390b,0x390f,0x3913,0x3917,0x391d,0x3923,0x3929,0x3565,0x392f,0x3933,0x3937,0x393b,0x393f,
+0x3943,0x3947,0x394b,0x394f,0x3953,0x3957,0x395b,0x2c8d,0x3961,0x3965,0x3969,0x396d,0x3971,0x3975,0x2ff1,0x3979,
+0x397d,0x3981,0x3985,0x3989,0x398f,0x3995,0x399b,0x399f,0x39a3,0x39a7,0x39ab,0x39b1,0x39b5,0x39bb,0x39bf,0x39c3,
+0x39c9,0x39cf,0x39d3,0x2b99,0x39d7,0x39db,0x39df,0x39e3,0x39e7,0x39eb,0x3103,0x39ef,0x39f3,0x39f7,0x39fb,0x39ff,
+0x3a03,0x3a07,0x3a0b,0x3a0f,0x3a13,0x3a19,0x3a1d,0x3a21,0x3a25,0x3a29,0x3a2d,0x3a33,0x3a39,0x3a3d,0x3a41,0x3117,
+0x311b,0x3a45,0x3a49,0x3a4f,0x3a53,0x3a57,0x3a5b,0x3a5f,0x3a65,0x3a6b,0x3a6f,0x3a73,0x3a77,0x3a7d,0x311f,0x3a81,
+0x3a87,0x3a8d,0x3a91,0x3a95,0x3a99,0x3a9f,0x3aa3,0x3aa7,0x3aab,0x3aaf,0x3ab3,0x3ab7,0x3abb,0x3ac1,0x3ac5,0x3ac9,
+0x3acd,0x3ad3,0x3ad7,0x3adb,0x3adf,0x3ae3,0x3ae9,0x3aef,0x3af3,0x3af7,0x3afb,0x3b01,0x3b05,0x3137,0x3137,0x3b0b,
+0x3b0f,0x3b15,0x3b19,0x3b1d,0x3b21,0x3b25,0x3b29,0x3b2d,0x3b31,0x313b,0x3b37,0x3b3b,0x3b3f,0x3b43,0x3b47,0x3b4b,
+0x3b51,0x3b55,0x3b5b,0x3b61,0x3b67,0x3b6b,0x3b6f,0x3b73,0x3b77,0x3b7b,0x3b7f,0x3b83,0x3b87,1,1,1
};
static const UCPTrie norm2_nfc_data_trie={
norm2_nfc_data_trieIndex,
{ norm2_nfc_data_trieData },
- 1690, 7822,
+ 1712, 7824,
0x2fc00, 0x30,
0, 0,
0, 0,
diff --git a/Build/source/libs/icu/icu-src/source/common/normalizer2impl.cpp b/Build/source/libs/icu/icu-src/source/common/normalizer2impl.cpp
index e7ae646c41a..b2dd7ad4b86 100644
--- a/Build/source/libs/icu/icu-src/source/common/normalizer2impl.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/normalizer2impl.cpp
@@ -86,8 +86,7 @@ UChar32 codePointFromValidUTF8(const uint8_t *cpStart, const uint8_t *cpLimit) {
case 4:
return ((c&7)<<18) | ((cpStart[1]&0x3f)<<12) | ((cpStart[2]&0x3f)<<6) | (cpStart[3]&0x3f);
default:
- U_ASSERT(FALSE); // Should not occur.
- return U_SENTINEL;
+ UPRV_UNREACHABLE; // Should not occur.
}
}
diff --git a/Build/source/libs/icu/icu-src/source/common/normalizer2impl.h b/Build/source/libs/icu/icu-src/source/common/normalizer2impl.h
index 2e6aff30881..cf3015ea881 100644
--- a/Build/source/libs/icu/icu-src/source/common/normalizer2impl.h
+++ b/Build/source/libs/icu/icu-src/source/common/normalizer2impl.h
@@ -245,9 +245,7 @@ private:
*/
class U_COMMON_API Normalizer2Impl : public UObject {
public:
- Normalizer2Impl() : normTrie(NULL), fCanonIterData(NULL) {
- fCanonIterDataInitOnce.reset();
- }
+ Normalizer2Impl() : normTrie(NULL), fCanonIterData(NULL) { }
virtual ~Normalizer2Impl();
void init(const int32_t *inIndexes, const UCPTrie *inTrie,
@@ -264,7 +262,9 @@ public:
// The trie stores values for lead surrogate code *units*.
// Surrogate code *points* are inert.
uint16_t getNorm16(UChar32 c) const {
- return U_IS_LEAD(c) ? INERT : UCPTRIE_FAST_GET(normTrie, UCPTRIE_16, c);
+ return U_IS_LEAD(c) ?
+ static_cast(INERT) :
+ UCPTRIE_FAST_GET(normTrie, UCPTRIE_16, c);
}
uint16_t getRawNorm16(UChar32 c) const { return UCPTRIE_FAST_GET(normTrie, UCPTRIE_16, c); }
@@ -721,7 +721,7 @@ private:
const uint16_t *extraData; // mappings and/or compositions for yesYes, yesNo & noNo characters
const uint8_t *smallFCD; // [0x100] one bit per 32 BMP code points, set if any FCD!=0
- UInitOnce fCanonIterDataInitOnce;
+ UInitOnce fCanonIterDataInitOnce = U_INITONCE_INITIALIZER;
CanonIterData *fCanonIterData;
};
diff --git a/Build/source/libs/icu/icu-src/source/common/normlzr.cpp b/Build/source/libs/icu/icu-src/source/common/normlzr.cpp
index 607660c45f1..2dea0ffc33c 100644
--- a/Build/source/libs/icu/icu-src/source/common/normlzr.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/normlzr.cpp
@@ -23,7 +23,7 @@
#include "normalizer2impl.h"
#include "uprops.h" // for uniset_getUnicode32Instance()
-#if defined(_ARM64_) && defined(move32)
+#if defined(move32)
// System can define move32 intrinsics, but the char iters define move32 method
// using same undef trick in headers, so undef here to re-enable the method.
#undef move32
diff --git a/Build/source/libs/icu/icu-src/source/common/patternprops.cpp b/Build/source/libs/icu/icu-src/source/common/patternprops.cpp
index 01e33ce109f..c38a7e276de 100644
--- a/Build/source/libs/icu/icu-src/source/common/patternprops.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/patternprops.cpp
@@ -173,6 +173,16 @@ PatternProps::skipWhiteSpace(const UChar *s, int32_t length) {
return s;
}
+int32_t
+PatternProps::skipWhiteSpace(const UnicodeString& s, int32_t start) {
+ int32_t i = start;
+ int32_t length = s.length();
+ while(i
# include "unicode/uloc.h"
# include "wintz.h"
-#if U_PLATFORM_HAS_WINUWP_API
-typedef PVOID LPMSG; // TODO: figure out how to get rid of this typedef
-#include
-#include
-#include
-#include
-
-using namespace ABI::Windows::Foundation;
-using namespace Microsoft::WRL;
-using namespace Microsoft::WRL::Wrappers;
-#endif
#elif U_PLATFORM == U_PF_OS400
# include
# include /* error code structure */
@@ -252,7 +241,6 @@ u_signBit(double d) {
UDate fakeClock_t0 = 0; /** Time to start the clock from **/
UDate fakeClock_dt = 0; /** Offset (fake time - real time) **/
UBool fakeClock_set = FALSE; /** True if fake clock has spun up **/
-static UMutex fakeClockMutex = U_MUTEX_INTIALIZER;
static UDate getUTCtime_real() {
struct timeval posixTime;
@@ -261,6 +249,7 @@ static UDate getUTCtime_real() {
}
static UDate getUTCtime_fake() {
+ static UMutex fakeClockMutex;
umtx_lock(&fakeClockMutex);
if(!fakeClock_set) {
UDate real = getUTCtime_real();
@@ -997,7 +986,8 @@ static char* searchForTZFile(const char* path, DefaultTZInfo* tzInfo) {
/* Check each entry in the directory. */
while((dirEntry = readdir(dirp)) != NULL) {
const char* dirName = dirEntry->d_name;
- if (uprv_strcmp(dirName, SKIP1) != 0 && uprv_strcmp(dirName, SKIP2) != 0) {
+ if (uprv_strcmp(dirName, SKIP1) != 0 && uprv_strcmp(dirName, SKIP2) != 0
+ && uprv_strcmp(TZFILE_SKIP, dirName) != 0 && uprv_strcmp(TZFILE_SKIP2, dirName) != 0) {
/* Create a newpath with the new entry to test each entry in the directory. */
CharString newpath(curpath, status);
newpath.append(dirName, -1, status);
@@ -1024,7 +1014,7 @@ static char* searchForTZFile(const char* path, DefaultTZInfo* tzInfo) {
*/
if (result != NULL)
break;
- } else if (uprv_strcmp(TZFILE_SKIP, dirName) != 0 && uprv_strcmp(TZFILE_SKIP2, dirName) != 0) {
+ } else {
if(compareBinaryFiles(TZDEFAULT, newpath.data(), tzInfo)) {
int32_t amountToSkip = sizeof(TZZONEINFO) - 1;
if (amountToSkip > newpath.length()) {
@@ -1078,7 +1068,7 @@ uprv_tzname(int n)
// the other code path returns a pointer to a heap location.
// If we don't have a name already, then tzname wouldn't be any
// better, so just fall back.
- return uprv_strdup("Etc/UTC");
+ return uprv_strdup("");
#endif // !U_TZNAME
#else
@@ -1317,19 +1307,18 @@ uprv_pathIsAbsolute(const char *path)
return FALSE;
}
-/* Temporary backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR
- until some client wrapper makefiles are updated */
-#if U_PLATFORM_IS_DARWIN_BASED && TARGET_IPHONE_SIMULATOR
+/* Backup setting of ICU_DATA_DIR_PREFIX_ENV_VAR
+ (needed for some Darwin ICU build environments) */
+#if U_PLATFORM_IS_DARWIN_BASED && TARGET_OS_SIMULATOR
# if !defined(ICU_DATA_DIR_PREFIX_ENV_VAR)
# define ICU_DATA_DIR_PREFIX_ENV_VAR "IPHONE_SIMULATOR_ROOT"
# endif
#endif
-#if U_PLATFORM_HAS_WINUWP_API != 0
+#if defined(ICU_DATA_DIR_WINDOWS)
// Helper function to get the ICU Data Directory under the Windows directory location.
static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryBuffer, UINT bufferLength)
{
-#if defined(ICU_DATA_DIR_WINDOWS)
wchar_t windowsPath[MAX_PATH];
char windowsPathUtf8[MAX_PATH];
@@ -1356,7 +1345,6 @@ static BOOL U_CALLCONV getIcuDataDirectoryUnderWindowsDirectory(char* directoryB
}
}
}
-#endif
return FALSE;
}
@@ -1390,9 +1378,9 @@ static void U_CALLCONV dataDirectoryInitFn() {
*/
# if !defined(ICU_NO_USER_DATA_OVERRIDE) && !UCONFIG_NO_FILE_IO
/* First try to get the environment variable */
-# if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP does not support getenv
+# if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP does not support getenv
path=getenv("ICU_DATA");
-# endif
+# endif
# endif
/* ICU_DATA_DIR may be set as a compile option.
@@ -1421,7 +1409,7 @@ static void U_CALLCONV dataDirectoryInitFn() {
}
#endif
-#if U_PLATFORM_HAS_WINUWP_API != 0 && defined(ICU_DATA_DIR_WINDOWS)
+#if defined(ICU_DATA_DIR_WINDOWS)
char datadir_path_buffer[MAX_PATH];
if (getIcuDataDirectoryUnderWindowsDirectory(datadir_path_buffer, UPRV_LENGTHOF(datadir_path_buffer))) {
path = datadir_path_buffer;
@@ -1430,12 +1418,7 @@ static void U_CALLCONV dataDirectoryInitFn() {
if(path==NULL) {
/* It looks really bad, set it to something. */
-#if U_PLATFORM_HAS_WIN32_API
- // Windows UWP will require icudtl.dat file in same directory as icuuc.dll
- path = ".\\";
-#else
path = "";
-#endif
}
u_setDataDirectory(path);
@@ -1476,12 +1459,17 @@ static void U_CALLCONV TimeZoneDataDirInitFn(UErrorCode &status) {
const char *dir = "";
-#if U_PLATFORM_HAS_WINUWP_API != 0
- // The UWP version does not support the environment variable setting, but can possibly pick them up from the Windows directory.
+#if U_PLATFORM_HAS_WINUWP_API == 1
+// The UWP version does not support the environment variable setting.
+
+# if defined(ICU_DATA_DIR_WINDOWS)
+ // When using the Windows system data, we can possibly pick up time zone data from the Windows directory.
char datadir_path_buffer[MAX_PATH];
if (getIcuDataDirectoryUnderWindowsDirectory(datadir_path_buffer, UPRV_LENGTHOF(datadir_path_buffer))) {
dir = datadir_path_buffer;
}
+# endif
+
#else
dir = getenv("ICU_TIMEZONE_FILES_DIR");
#endif // U_PLATFORM_HAS_WINUWP_API
@@ -1575,6 +1563,10 @@ static const char *uprv_getPOSIXIDForCategory(int category)
{
/* Nothing worked. Give it a nice POSIX default value. */
posixID = "en_US_POSIX";
+ // Note: this test will not catch 'C.UTF-8',
+ // that will be handled in uprv_getDefaultLocaleID().
+ // Leave this mapping here for the uprv_getPOSIXIDForDefaultCodepage()
+ // caller which expects to see "en_US_POSIX" in many branches.
}
return posixID;
}
@@ -1633,11 +1625,7 @@ The variant cannot have dots in it.
The 'rightmost' variant (@xxx) wins.
The leftmost codepage (.xxx) wins.
*/
- char *correctedPOSIXLocale = 0;
const char* posixID = uprv_getPOSIXIDForDefaultLocale();
- const char *p;
- const char *q;
- int32_t len;
/* Format: (no spaces)
ll [ _CC ] [ . MM ] [ @ VV]
@@ -1645,38 +1633,36 @@ The leftmost codepage (.xxx) wins.
l = lang, C = ctry, M = charmap, V = variant
*/
- if (gCorrectedPOSIXLocale != NULL) {
+ if (gCorrectedPOSIXLocale != nullptr) {
return gCorrectedPOSIXLocale;
}
- if ((p = uprv_strchr(posixID, '.')) != NULL) {
- /* assume new locale can't be larger than old one? */
- correctedPOSIXLocale = static_cast(uprv_malloc(uprv_strlen(posixID)+1));
- /* Exit on memory allocation error. */
- if (correctedPOSIXLocale == NULL) {
- return NULL;
- }
- uprv_strncpy(correctedPOSIXLocale, posixID, p-posixID);
- correctedPOSIXLocale[p-posixID] = 0;
+ // Copy the ID into owned memory.
+ // Over-allocate in case we replace "C" with "en_US_POSIX" (+10), + null termination
+ char *correctedPOSIXLocale = static_cast(uprv_malloc(uprv_strlen(posixID) + 10 + 1));
+ if (correctedPOSIXLocale == nullptr) {
+ return nullptr;
+ }
+ uprv_strcpy(correctedPOSIXLocale, posixID);
- /* do not copy after the @ */
- if ((p = uprv_strchr(correctedPOSIXLocale, '@')) != NULL) {
- correctedPOSIXLocale[p-correctedPOSIXLocale] = 0;
- }
+ char *limit;
+ if ((limit = uprv_strchr(correctedPOSIXLocale, '.')) != nullptr) {
+ *limit = 0;
+ }
+ if ((limit = uprv_strchr(correctedPOSIXLocale, '@')) != nullptr) {
+ *limit = 0;
}
+ if ((uprv_strcmp("C", correctedPOSIXLocale) == 0) // no @ variant
+ || (uprv_strcmp("POSIX", correctedPOSIXLocale) == 0)) {
+ // Raw input was C.* or POSIX.*, Give it a nice POSIX default value.
+ // (The "C"/"POSIX" case is handled in uprv_getPOSIXIDForCategory())
+ uprv_strcpy(correctedPOSIXLocale, "en_US_POSIX");
+ }
+
/* Note that we scan the *uncorrected* ID. */
- if ((p = uprv_strrchr(posixID, '@')) != NULL) {
- if (correctedPOSIXLocale == NULL) {
- /* new locale can be 1 char longer than old one if @ -> __ */
- correctedPOSIXLocale = static_cast(uprv_malloc(uprv_strlen(posixID)+2));
- /* Exit on memory allocation error. */
- if (correctedPOSIXLocale == NULL) {
- return NULL;
- }
- uprv_strncpy(correctedPOSIXLocale, posixID, p-posixID);
- correctedPOSIXLocale[p-posixID] = 0;
- }
+ const char *p;
+ if ((p = uprv_strrchr(posixID, '@')) != nullptr) {
p++;
/* Take care of any special cases here.. */
@@ -1685,17 +1671,18 @@ The leftmost codepage (.xxx) wins.
/* Don't worry about no__NY. In practice, it won't appear. */
}
- if (uprv_strchr(correctedPOSIXLocale,'_') == NULL) {
+ if (uprv_strchr(correctedPOSIXLocale,'_') == nullptr) {
uprv_strcat(correctedPOSIXLocale, "__"); /* aa@b -> aa__b (note this can make the new locale 1 char longer) */
}
else {
uprv_strcat(correctedPOSIXLocale, "_"); /* aa_CC@b -> aa_CC_b */
}
- if ((q = uprv_strchr(p, '.')) != NULL) {
+ const char *q;
+ if ((q = uprv_strchr(p, '.')) != nullptr) {
/* How big will the resulting string be? */
- len = (int32_t)(uprv_strlen(correctedPOSIXLocale) + (q-p));
- uprv_strncat(correctedPOSIXLocale, p, q-p);
+ int32_t len = (int32_t)(uprv_strlen(correctedPOSIXLocale) + (q-p));
+ uprv_strncat(correctedPOSIXLocale, p, q-p); // do not include charset
correctedPOSIXLocale[len] = 0;
}
else {
@@ -1710,28 +1697,15 @@ The leftmost codepage (.xxx) wins.
*/
}
- /* Was a correction made? */
- if (correctedPOSIXLocale != NULL) {
- posixID = correctedPOSIXLocale;
- }
- else {
- /* copy it, just in case the original pointer goes away. See j2395 */
- correctedPOSIXLocale = (char *)uprv_malloc(uprv_strlen(posixID) + 1);
- /* Exit on memory allocation error. */
- if (correctedPOSIXLocale == NULL) {
- return NULL;
- }
- posixID = uprv_strcpy(correctedPOSIXLocale, posixID);
- }
-
- if (gCorrectedPOSIXLocale == NULL) {
+ if (gCorrectedPOSIXLocale == nullptr) {
gCorrectedPOSIXLocale = correctedPOSIXLocale;
gCorrectedPOSIXLocaleHeapAllocated = true;
ucln_common_registerCleanup(UCLN_COMMON_PUTIL, putil_cleanup);
- correctedPOSIXLocale = NULL;
+ correctedPOSIXLocale = nullptr;
}
+ posixID = gCorrectedPOSIXLocale;
- if (correctedPOSIXLocale != NULL) { /* Was already set - clean up. */
+ if (correctedPOSIXLocale != nullptr) { /* Was already set - clean up. */
uprv_free(correctedPOSIXLocale);
}
@@ -2093,7 +2067,7 @@ int_getDefaultCodepage()
static char codepage[64];
DWORD codepageNumber = 0;
-#if U_PLATFORM_HAS_WINUWP_API > 0
+#if U_PLATFORM_HAS_WINUWP_API == 1
// UWP doesn't have a direct API to get the default ACP as Microsoft would rather
// have folks use Unicode than a "system" code page, however this is the same
// codepage as the system default locale codepage. (FWIW, the system locale is
diff --git a/Build/source/libs/icu/icu-src/source/common/putilimp.h b/Build/source/libs/icu/icu-src/source/common/putilimp.h
index 1036651fc86..d9c90cf4e75 100644
--- a/Build/source/libs/icu/icu-src/source/common/putilimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/putilimp.h
@@ -178,60 +178,6 @@ typedef size_t uintptr_t;
/** @} */
-/*===========================================================================*/
-/** @{ GCC built in functions for atomic memory operations */
-/*===========================================================================*/
-
-/**
- * \def U_HAVE_GCC_ATOMICS
- * @internal
- */
-#ifdef U_HAVE_GCC_ATOMICS
- /* Use the predefined value. */
-#elif U_PLATFORM == U_PF_MINGW
- #define U_HAVE_GCC_ATOMICS 0
-#elif U_GCC_MAJOR_MINOR >= 405 || defined(__clang__)
- /* TODO: Intel icc and IBM xlc on AIX also support gcc atomics. (Intel originated them.)
- * Add them for these compilers.
- * Note: Clang sets __GNUC__ defines for version 4.2, so misses the 4.4 test here.
- */
-# define U_HAVE_GCC_ATOMICS 1
-#else
-# define U_HAVE_GCC_ATOMICS 0
-#endif
-
-/** @} */
-
-/**
- * \def U_HAVE_STD_ATOMICS
- * Defines whether to use the standard C++11 functions
- * If false, ICU will fall back to compiler or platform specific alternatives.
- * Note: support for these fall back options for atomics will be removed in a future version
- * of ICU, and the use of C++ 11 atomics will be required.
- * @internal
- */
-#ifdef U_HAVE_STD_ATOMICS
- /* Use the predefined value. */
-#else
-# define U_HAVE_STD_ATOMICS 1
-#endif
-
-/**
- * \def U_HAVE_CLANG_ATOMICS
- * Defines whether Clang c11 style built-in atomics are available.
- * These are used in preference to gcc atomics when both are available.
- */
-#ifdef U_HAVE_CLANG_ATOMICS
- /* Use the predefined value. */
-#elif __has_builtin(__c11_atomic_load) && \
- __has_builtin(__c11_atomic_store) && \
- __has_builtin(__c11_atomic_fetch_add) && \
- __has_builtin(__c11_atomic_fetch_sub)
-# define U_HAVE_CLANG_ATOMICS 1
-#else
-# define U_HAVE_CLANG_ATOMICS 0
-#endif
-
/*===========================================================================*/
/** @{ Programs used by ICU code */
/*===========================================================================*/
diff --git a/Build/source/libs/icu/icu-src/source/common/rbbi.cpp b/Build/source/libs/icu/icu-src/source/common/rbbi.cpp
index cb3766506f4..01dae48de44 100644
--- a/Build/source/libs/icu/icu-src/source/common/rbbi.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/rbbi.cpp
@@ -30,6 +30,7 @@
#include "ucln_cmn.h"
#include "cmemory.h"
#include "cstring.h"
+#include "localsvc.h"
#include "rbbidata.h"
#include "rbbi_cache.h"
#include "rbbirb.h"
@@ -37,11 +38,6 @@
#include "umutex.h"
#include "uvectr32.h"
-// if U_LOCAL_SERVICE_HOOK is defined, then localsvc.cpp is expected to be included.
-#if U_LOCAL_SERVICE_HOOK
-#include "localsvc.h"
-#endif
-
#ifdef RBBI_DEBUG
static UBool gTrace = FALSE;
#endif
@@ -327,8 +323,8 @@ void RuleBasedBreakIterator::init(UErrorCode &status) {
// Virtual function: does the right thing with subclasses.
//
//-----------------------------------------------------------------------------
-BreakIterator*
-RuleBasedBreakIterator::clone(void) const {
+RuleBasedBreakIterator*
+RuleBasedBreakIterator::clone() const {
return new RuleBasedBreakIterator(*this);
}
@@ -356,7 +352,7 @@ RuleBasedBreakIterator::operator==(const BreakIterator& that) const {
// or have a different iteration position.
// Note that fText's position is always the same as the break iterator's position.
return FALSE;
- };
+ }
if (!(fPosition == that2.fPosition &&
fRuleStatusIndex == that2.fRuleStatusIndex &&
@@ -720,7 +716,7 @@ struct LookAheadResults {
int32_t fPositions[8];
int16_t fKeys[8];
- LookAheadResults() : fUsedSlotLimit(0), fPositions(), fKeys() {};
+ LookAheadResults() : fUsedSlotLimit(0), fPositions(), fKeys() {}
int32_t getPosition(int16_t key) {
for (int32_t i=0; i= kMaxLookaheads) {
- U_ASSERT(FALSE);
- i = kMaxLookaheads - 1;
+ UPRV_UNREACHABLE;
}
fKeys[i] = key;
fPositions[i] = position;
@@ -1085,10 +1079,8 @@ const uint8_t *RuleBasedBreakIterator::getBinaryRules(uint32_t &length) {
}
-BreakIterator * RuleBasedBreakIterator::createBufferClone(void * /*stackBuffer*/,
- int32_t &bufferSize,
- UErrorCode &status)
-{
+RuleBasedBreakIterator *RuleBasedBreakIterator::createBufferClone(
+ void * /*stackBuffer*/, int32_t &bufferSize, UErrorCode &status) {
if (U_FAILURE(status)){
return NULL;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/rbbi_cache.cpp b/Build/source/libs/icu/icu-src/source/common/rbbi_cache.cpp
index 519c6104989..4f9e83360a2 100644
--- a/Build/source/libs/icu/icu-src/source/common/rbbi_cache.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/rbbi_cache.cpp
@@ -74,9 +74,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::following(int32_t fromPos, int32_
return TRUE;
}
}
- U_ASSERT(FALSE);
- fPositionInCache = -1;
- return FALSE;
+ UPRV_UNREACHABLE;
}
@@ -116,9 +114,7 @@ UBool RuleBasedBreakIterator::DictionaryCache::preceding(int32_t fromPos, int32_
return TRUE;
}
}
- U_ASSERT(FALSE);
- fPositionInCache = -1;
- return FALSE;
+ UPRV_UNREACHABLE;
}
void RuleBasedBreakIterator::DictionaryCache::populateDictionary(int32_t startPos, int32_t endPos,
@@ -388,8 +384,7 @@ UBool RuleBasedBreakIterator::BreakCache::populateNear(int32_t position, UErrorC
// Add following position(s) to the cache.
while (fBoundaries[fEndBufIdx] < position) {
if (!populateFollowing()) {
- U_ASSERT(false);
- return false;
+ UPRV_UNREACHABLE;
}
}
fBufIdx = fEndBufIdx; // Set iterator position to the end of the buffer.
@@ -524,7 +519,7 @@ UBool RuleBasedBreakIterator::BreakCache::populatePreceding(UErrorCode &status)
// The initial handleNext() only advanced by a single code point. Go again.
position = fBI->handleNext(); // Safe rules identify safe pairs.
}
- };
+ }
positionStatusIdx = fBI->fRuleStatusIndex;
}
} while (position >= fromPosition);
diff --git a/Build/source/libs/icu/icu-src/source/common/rbbi_cache.h b/Build/source/libs/icu/icu-src/source/common/rbbi_cache.h
index b4338c37490..7991d6c0c7b 100644
--- a/Build/source/libs/icu/icu-src/source/common/rbbi_cache.h
+++ b/Build/source/libs/icu/icu-src/source/common/rbbi_cache.h
@@ -95,7 +95,7 @@ class RuleBasedBreakIterator::BreakCache: public UMemory {
fTextIdx = fBI->fPosition = fBoundaries[fBufIdx];
fBI->fRuleStatusIndex = fStatuses[fBufIdx];
}
- };
+ }
void nextOL();
@@ -178,7 +178,7 @@ class RuleBasedBreakIterator::BreakCache: public UMemory {
void dumpCache();
private:
- static inline int32_t modChunkSize(int index) { return index & (CACHE_SIZE - 1); };
+ static inline int32_t modChunkSize(int index) { return index & (CACHE_SIZE - 1); }
static constexpr int32_t CACHE_SIZE = 128;
static_assert((CACHE_SIZE & (CACHE_SIZE-1)) == 0, "CACHE_SIZE must be power of two.");
diff --git a/Build/source/libs/icu/icu-src/source/common/rbbiscan.h b/Build/source/libs/icu/icu-src/source/common/rbbiscan.h
index 8bec8234e58..c51b4cf2a68 100644
--- a/Build/source/libs/icu/icu-src/source/common/rbbiscan.h
+++ b/Build/source/libs/icu/icu-src/source/common/rbbiscan.h
@@ -54,7 +54,7 @@ public:
struct RBBIRuleChar {
UChar32 fChar;
UBool fEscaped;
- RBBIRuleChar() : fChar(0), fEscaped(FALSE) {};
+ RBBIRuleChar() : fChar(0), fEscaped(FALSE) {}
};
RBBIRuleScanner(RBBIRuleBuilder *rb);
diff --git a/Build/source/libs/icu/icu-src/source/common/resbund.cpp b/Build/source/libs/icu/icu-src/source/common/resbund.cpp
index 512bd531f23..7c5063b2114 100644
--- a/Build/source/libs/icu/icu-src/source/common/resbund.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/resbund.cpp
@@ -51,6 +51,7 @@
#include "unicode/utypes.h"
#include "unicode/resbund.h"
+#include "cmemory.h"
#include "mutex.h"
#include "uassert.h"
#include "umutex.h"
@@ -376,8 +377,8 @@ void ResourceBundle::getVersion(UVersionInfo versionInfo) const {
ures_getVersion(fResource, versionInfo);
}
-static UMutex gLocaleLock = U_MUTEX_INITIALIZER;
const Locale &ResourceBundle::getLocale(void) const {
+ static UMutex gLocaleLock;
Mutex lock(&gLocaleLock);
if (fLocale != NULL) {
return *fLocale;
diff --git a/Build/source/libs/icu/icu-src/source/common/resource.h b/Build/source/libs/icu/icu-src/source/common/resource.h
index 3dbff785ef1..5199b858880 100644
--- a/Build/source/libs/icu/icu-src/source/common/resource.h
+++ b/Build/source/libs/icu/icu-src/source/common/resource.h
@@ -28,6 +28,7 @@
#include "unicode/utypes.h"
#include "unicode/unistr.h"
#include "unicode/ures.h"
+#include "restrace.h"
struct ResourceData;
@@ -47,8 +48,10 @@ public:
ResourceArray() : items16(NULL), items32(NULL), length(0) {}
/** Only for implementation use. @internal */
- ResourceArray(const uint16_t *i16, const uint32_t *i32, int32_t len) :
- items16(i16), items32(i32), length(len) {}
+ ResourceArray(const uint16_t *i16, const uint32_t *i32, int32_t len,
+ const ResourceTracer& traceInfo) :
+ items16(i16), items32(i32), length(len),
+ fTraceInfo(traceInfo) {}
/**
* @return The number of items in the array resource.
@@ -68,6 +71,7 @@ private:
const uint16_t *items16;
const uint32_t *items32;
int32_t length;
+ ResourceTracer fTraceInfo;
};
/**
@@ -80,27 +84,37 @@ public:
/** Only for implementation use. @internal */
ResourceTable(const uint16_t *k16, const int32_t *k32,
- const uint16_t *i16, const uint32_t *i32, int32_t len) :
- keys16(k16), keys32(k32), items16(i16), items32(i32), length(len) {}
+ const uint16_t *i16, const uint32_t *i32, int32_t len,
+ const ResourceTracer& traceInfo) :
+ keys16(k16), keys32(k32), items16(i16), items32(i32), length(len),
+ fTraceInfo(traceInfo) {}
/**
* @return The number of items in the array resource.
*/
int32_t getSize() const { return length; }
/**
- * @param i Array item index.
+ * @param i Table item index.
* @param key Output-only, receives the key of the i'th item.
* @param value Output-only, receives the value of the i'th item.
* @return TRUE if i is non-negative and less than getSize().
*/
UBool getKeyAndValue(int32_t i, const char *&key, ResourceValue &value) const;
+ /**
+ * @param key Key string to find in the table.
+ * @param value Output-only, receives the value of the item with that key.
+ * @return TRUE if the table contains the key.
+ */
+ UBool findValue(const char *key, ResourceValue &value) const;
+
private:
const uint16_t *keys16;
const int32_t *keys32;
const uint16_t *items16;
const uint32_t *items32;
int32_t length;
+ ResourceTracer fTraceInfo;
};
/**
diff --git a/Build/source/libs/icu/icu-src/source/common/restrace.cpp b/Build/source/libs/icu/icu-src/source/common/restrace.cpp
new file mode 100644
index 00000000000..5c6498850e2
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/restrace.cpp
@@ -0,0 +1,130 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#include "unicode/utypes.h"
+
+#if U_ENABLE_TRACING
+
+#include "restrace.h"
+#include "charstr.h"
+#include "cstring.h"
+#include "utracimp.h"
+#include "uresimp.h"
+#include "uassert.h"
+#include "util.h"
+
+U_NAMESPACE_BEGIN
+
+ResourceTracer::~ResourceTracer() = default;
+
+void ResourceTracer::trace(const char* resType) const {
+ U_ASSERT(fResB || fParent);
+ UTRACE_ENTRY(UTRACE_UDATA_RESOURCE);
+ UErrorCode status = U_ZERO_ERROR;
+
+ CharString filePath;
+ getFilePath(filePath, status);
+
+ CharString resPath;
+ getResPath(resPath, status);
+
+ // The longest type ("intvector") is 9 chars
+ const char kSpaces[] = " ";
+ CharString format;
+ format.append(kSpaces, sizeof(kSpaces) - 1 - uprv_strlen(resType), status);
+ format.append("(%s) %s @ %s", status);
+
+ UTRACE_DATA3(UTRACE_VERBOSE,
+ format.data(),
+ resType,
+ filePath.data(),
+ resPath.data());
+ UTRACE_EXIT_STATUS(status);
+}
+
+void ResourceTracer::traceOpen() const {
+ U_ASSERT(fResB);
+ UTRACE_ENTRY(UTRACE_UDATA_BUNDLE);
+ UErrorCode status = U_ZERO_ERROR;
+
+ CharString filePath;
+ UTRACE_DATA1(UTRACE_VERBOSE, "%s", getFilePath(filePath, status).data());
+ UTRACE_EXIT_STATUS(status);
+}
+
+CharString& ResourceTracer::getFilePath(CharString& output, UErrorCode& status) const {
+ if (fResB) {
+ output.append(fResB->fData->fPath, status);
+ output.append('/', status);
+ output.append(fResB->fData->fName, status);
+ output.append(".res", status);
+ } else {
+ fParent->getFilePath(output, status);
+ }
+ return output;
+}
+
+CharString& ResourceTracer::getResPath(CharString& output, UErrorCode& status) const {
+ if (fResB) {
+ output.append('/', status);
+ output.append(fResB->fResPath, status);
+ // removing the trailing /
+ U_ASSERT(output[output.length()-1] == '/');
+ output.truncate(output.length()-1);
+ } else {
+ fParent->getResPath(output, status);
+ }
+ if (fKey) {
+ output.append('/', status);
+ output.append(fKey, status);
+ }
+ if (fIndex != -1) {
+ output.append('[', status);
+ UnicodeString indexString;
+ ICU_Utility::appendNumber(indexString, fIndex);
+ output.appendInvariantChars(indexString, status);
+ output.append(']', status);
+ }
+ return output;
+}
+
+void FileTracer::traceOpen(const char* path, const char* type, const char* name) {
+ if (uprv_strcmp(type, "res") == 0) {
+ traceOpenResFile(path, name);
+ } else {
+ traceOpenDataFile(path, type, name);
+ }
+}
+
+void FileTracer::traceOpenDataFile(const char* path, const char* type, const char* name) {
+ UTRACE_ENTRY(UTRACE_UDATA_DATA_FILE);
+ UErrorCode status = U_ZERO_ERROR;
+
+ CharString filePath;
+ filePath.append(path, status);
+ filePath.append('/', status);
+ filePath.append(name, status);
+ filePath.append('.', status);
+ filePath.append(type, status);
+
+ UTRACE_DATA1(UTRACE_VERBOSE, "%s", filePath.data());
+ UTRACE_EXIT_STATUS(status);
+}
+
+void FileTracer::traceOpenResFile(const char* path, const char* name) {
+ UTRACE_ENTRY(UTRACE_UDATA_RES_FILE);
+ UErrorCode status = U_ZERO_ERROR;
+
+ CharString filePath;
+ filePath.append(path, status);
+ filePath.append('/', status);
+ filePath.append(name, status);
+ filePath.append(".res", status);
+
+ UTRACE_DATA1(UTRACE_VERBOSE, "%s", filePath.data());
+ UTRACE_EXIT_STATUS(status);
+}
+
+U_NAMESPACE_END
+
+#endif // U_ENABLE_TRACING
diff --git a/Build/source/libs/icu/icu-src/source/common/restrace.h b/Build/source/libs/icu/icu-src/source/common/restrace.h
new file mode 100644
index 00000000000..ef29eaed578
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/restrace.h
@@ -0,0 +1,147 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#ifndef __RESTRACE_H__
+#define __RESTRACE_H__
+
+#include "unicode/utypes.h"
+
+#if U_ENABLE_TRACING
+
+struct UResourceBundle;
+
+U_NAMESPACE_BEGIN
+
+class CharString;
+
+/**
+ * Instances of this class store information used to trace reads from resource
+ * bundles when ICU is built with --enable-tracing.
+ *
+ * All arguments of type const UResourceBundle*, const char*, and
+ * const ResourceTracer& are stored as pointers. The caller must retain
+ * ownership for the lifetime of this ResourceTracer.
+ *
+ * Exported as U_COMMON_API for Windows because it is a value field
+ * in other exported types.
+ */
+class U_COMMON_API ResourceTracer {
+public:
+ ResourceTracer() :
+ fResB(nullptr),
+ fParent(nullptr),
+ fKey(nullptr),
+ fIndex(-1) {}
+
+ ResourceTracer(const UResourceBundle* resB) :
+ fResB(resB),
+ fParent(nullptr),
+ fKey(nullptr),
+ fIndex(-1) {}
+
+ ResourceTracer(const UResourceBundle* resB, const char* key) :
+ fResB(resB),
+ fParent(nullptr),
+ fKey(key),
+ fIndex(-1) {}
+
+ ResourceTracer(const UResourceBundle* resB, int32_t index) :
+ fResB(resB),
+ fParent(nullptr),
+ fKey(nullptr),
+ fIndex(index) {}
+
+ ResourceTracer(const ResourceTracer& parent, const char* key) :
+ fResB(nullptr),
+ fParent(&parent),
+ fKey(key),
+ fIndex(-1) {}
+
+ ResourceTracer(const ResourceTracer& parent, int32_t index) :
+ fResB(nullptr),
+ fParent(&parent),
+ fKey(nullptr),
+ fIndex(index) {}
+
+ ~ResourceTracer();
+
+ void trace(const char* type) const;
+ void traceOpen() const;
+
+ /**
+ * Calls trace() if the resB or parent provided to the constructor was
+ * non-null; otherwise, does nothing.
+ */
+ void maybeTrace(const char* type) const {
+ if (fResB || fParent) {
+ trace(type);
+ }
+ }
+
+private:
+ const UResourceBundle* fResB;
+ const ResourceTracer* fParent;
+ const char* fKey;
+ int32_t fIndex;
+
+ CharString& getFilePath(CharString& output, UErrorCode& status) const;
+
+ CharString& getResPath(CharString& output, UErrorCode& status) const;
+};
+
+/**
+ * This class provides methods to trace data file reads when ICU is built
+ * with --enable-tracing.
+ */
+class FileTracer {
+public:
+ static void traceOpen(const char* path, const char* type, const char* name);
+
+private:
+ static void traceOpenDataFile(const char* path, const char* type, const char* name);
+ static void traceOpenResFile(const char* path, const char* name);
+};
+
+U_NAMESPACE_END
+
+#else // U_ENABLE_TRACING
+
+U_NAMESPACE_BEGIN
+
+/**
+ * Default trivial implementation when --enable-tracing is not used.
+ */
+class U_COMMON_API ResourceTracer {
+public:
+ ResourceTracer() {}
+
+ ResourceTracer(const void*) {}
+
+ ResourceTracer(const void*, const char*) {}
+
+ ResourceTracer(const void*, int32_t) {}
+
+ ResourceTracer(const ResourceTracer&, const char*) {}
+
+ ResourceTracer(const ResourceTracer&, int32_t) {}
+
+ void trace(const char*) const {}
+
+ void traceOpen() const {}
+
+ void maybeTrace(const char*) const {}
+};
+
+/**
+ * Default trivial implementation when --enable-tracing is not used.
+ */
+class FileTracer {
+public:
+ static void traceOpen(const char*, const char*, const char*) {}
+};
+
+U_NAMESPACE_END
+
+#endif // U_ENABLE_TRACING
+
+#endif //__RESTRACE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/schriter.cpp b/Build/source/libs/icu/icu-src/source/common/schriter.cpp
index f852800aaae..17b68aee9d9 100644
--- a/Build/source/libs/icu/icu-src/source/common/schriter.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/schriter.cpp
@@ -101,7 +101,7 @@ StringCharacterIterator::operator==(const ForwardCharacterIterator& that) const
&& end == realThat.end;
}
-CharacterIterator*
+StringCharacterIterator*
StringCharacterIterator::clone() const {
return new StringCharacterIterator(*this);
}
diff --git a/Build/source/libs/icu/icu-src/source/common/serv.cpp b/Build/source/libs/icu/icu-src/source/common/serv.cpp
index 619e8c7c8bd..ce545b9dbd5 100644
--- a/Build/source/libs/icu/icu-src/source/common/serv.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/serv.cpp
@@ -333,7 +333,7 @@ U_CDECL_END
******************************************************************
*/
-static UMutex lock = U_MUTEX_INITIALIZER;
+static UMutex lock;
ICUService::ICUService()
: name()
diff --git a/Build/source/libs/icu/icu-src/source/common/servls.cpp b/Build/source/libs/icu/icu-src/source/common/servls.cpp
index f4579d0eecd..81dc4f750ea 100644
--- a/Build/source/libs/icu/icu-src/source/common/servls.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/servls.cpp
@@ -26,7 +26,6 @@
U_NAMESPACE_BEGIN
-static UMutex llock = U_MUTEX_INITIALIZER;
ICULocaleService::ICULocaleService()
: fallbackLocale(Locale::getDefault())
{
@@ -264,6 +263,7 @@ ICULocaleService::validateFallbackLocale() const
{
const Locale& loc = Locale::getDefault();
ICULocaleService* ncThis = (ICULocaleService*)this;
+ static UMutex llock;
{
Mutex mutex(&llock);
if (loc != fallbackLocale) {
diff --git a/Build/source/libs/icu/icu-src/source/common/servnotf.cpp b/Build/source/libs/icu/icu-src/source/common/servnotf.cpp
index dc77c7b857d..f577795cae9 100644
--- a/Build/source/libs/icu/icu-src/source/common/servnotf.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/servnotf.cpp
@@ -21,7 +21,7 @@ U_NAMESPACE_BEGIN
EventListener::~EventListener() {}
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(EventListener)
-static UMutex notifyLock = U_MUTEX_INITIALIZER;
+static UMutex notifyLock;
ICUNotifier::ICUNotifier(void)
: listeners(NULL)
diff --git a/Build/source/libs/icu/icu-src/source/common/simpleformatter.cpp b/Build/source/libs/icu/icu-src/source/common/simpleformatter.cpp
index f866e0a1a12..76d8f54efd4 100644
--- a/Build/source/libs/icu/icu-src/source/common/simpleformatter.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/simpleformatter.cpp
@@ -246,15 +246,24 @@ UnicodeString &SimpleFormatter::formatAndReplace(
}
UnicodeString SimpleFormatter::getTextWithNoArguments(
- const UChar *compiledPattern, int32_t compiledPatternLength) {
+ const UChar *compiledPattern,
+ int32_t compiledPatternLength,
+ int32_t* offsets,
+ int32_t offsetsLength) {
+ for (int32_t i = 0; i < offsetsLength; i++) {
+ offsets[i] = -1;
+ }
int32_t capacity = compiledPatternLength - 1 -
getArgumentLimit(compiledPattern, compiledPatternLength);
UnicodeString sb(capacity, 0, 0); // Java: StringBuilder
for (int32_t i = 1; i < compiledPatternLength;) {
- int32_t segmentLength = compiledPattern[i++] - ARG_NUM_LIMIT;
- if (segmentLength > 0) {
- sb.append(compiledPattern + i, segmentLength);
- i += segmentLength;
+ int32_t n = compiledPattern[i++];
+ if (n > ARG_NUM_LIMIT) {
+ n -= ARG_NUM_LIMIT;
+ sb.append(compiledPattern + i, n);
+ i += n;
+ } else if (n < offsetsLength) {
+ offsets[n] = sb.length();
}
}
return sb;
diff --git a/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.cpp b/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.cpp
index 5d598a0e33b..5dab3931a70 100644
--- a/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.cpp
@@ -23,7 +23,7 @@ using namespace icu::unisets;
namespace {
-UnicodeSet* gUnicodeSets[COUNT] = {};
+UnicodeSet* gUnicodeSets[UNISETS_KEY_COUNT] = {};
// Save the empty instance in static memory to have well-defined behavior if a
// regular UnicodeSet cannot be allocated.
@@ -97,14 +97,28 @@ class ParseDataSink : public ResourceSink {
saveSet(isLenient ? COMMA : STRICT_COMMA, str, status);
} else if (str.indexOf(u'+') != -1) {
saveSet(PLUS_SIGN, str, status);
- } else if (str.indexOf(u'‒') != -1) {
+ } else if (str.indexOf(u'-') != -1) {
saveSet(MINUS_SIGN, str, status);
} else if (str.indexOf(u'$') != -1) {
saveSet(DOLLAR_SIGN, str, status);
} else if (str.indexOf(u'£') != -1) {
saveSet(POUND_SIGN, str, status);
- } else if (str.indexOf(u'₨') != -1) {
+ } else if (str.indexOf(u'₹') != -1) {
saveSet(RUPEE_SIGN, str, status);
+ } else if (str.indexOf(u'¥') != -1) {
+ saveSet(YEN_SIGN, str, status);
+ } else if (str.indexOf(u'₩') != -1) {
+ saveSet(WON_SIGN, str, status);
+ } else if (str.indexOf(u'%') != -1) {
+ saveSet(PERCENT_SIGN, str, status);
+ } else if (str.indexOf(u'‰') != -1) {
+ saveSet(PERMILLE_SIGN, str, status);
+ } else if (str.indexOf(u'’') != -1) {
+ saveSet(APOSTROPHE_SIGN, str, status);
+ } else {
+ // Unknown class of parse lenients
+ // TODO(ICU-20428): Make ICU automatically accept new classes?
+ U_ASSERT(FALSE);
}
if (U_FAILURE(status)) { return; }
}
@@ -122,7 +136,7 @@ UBool U_CALLCONV cleanupNumberParseUniSets() {
reinterpret_cast(gEmptyUnicodeSet)->~UnicodeSet();
gEmptyUnicodeSetInitialized = FALSE;
}
- for (int32_t i = 0; i < COUNT; i++) {
+ for (int32_t i = 0; i < UNISETS_KEY_COUNT; i++) {
delete gUnicodeSets[i];
gUnicodeSets[i] = nullptr;
}
@@ -155,27 +169,35 @@ void U_CALLCONV initNumberParseUniSets(UErrorCode& status) {
U_ASSERT(gUnicodeSets[STRICT_COMMA] != nullptr);
U_ASSERT(gUnicodeSets[PERIOD] != nullptr);
U_ASSERT(gUnicodeSets[STRICT_PERIOD] != nullptr);
+ U_ASSERT(gUnicodeSets[APOSTROPHE_SIGN] != nullptr);
- gUnicodeSets[OTHER_GROUPING_SEPARATORS] = new UnicodeSet(
- u"['٬‘’'\\u0020\\u00A0\\u2000-\\u200A\\u202F\\u205F\\u3000]", status);
+ LocalPointer otherGrouping(new UnicodeSet(
+ u"[٬‘\\u0020\\u00A0\\u2000-\\u200A\\u202F\\u205F\\u3000]",
+ status
+ ), status);
+ if (U_FAILURE(status)) { return; }
+ otherGrouping->addAll(*gUnicodeSets[APOSTROPHE_SIGN]);
+ gUnicodeSets[OTHER_GROUPING_SEPARATORS] = otherGrouping.orphan();
gUnicodeSets[ALL_SEPARATORS] = computeUnion(COMMA, PERIOD, OTHER_GROUPING_SEPARATORS);
gUnicodeSets[STRICT_ALL_SEPARATORS] = computeUnion(
STRICT_COMMA, STRICT_PERIOD, OTHER_GROUPING_SEPARATORS);
U_ASSERT(gUnicodeSets[MINUS_SIGN] != nullptr);
U_ASSERT(gUnicodeSets[PLUS_SIGN] != nullptr);
+ U_ASSERT(gUnicodeSets[PERCENT_SIGN] != nullptr);
+ U_ASSERT(gUnicodeSets[PERMILLE_SIGN] != nullptr);
- gUnicodeSets[PERCENT_SIGN] = new UnicodeSet(u"[%٪]", status);
- gUnicodeSets[PERMILLE_SIGN] = new UnicodeSet(u"[‰؉]", status);
- gUnicodeSets[INFINITY_KEY] = new UnicodeSet(u"[∞]", status);
+ gUnicodeSets[INFINITY_SIGN] = new UnicodeSet(u"[∞]", status);
+ if (U_FAILURE(status)) { return; }
U_ASSERT(gUnicodeSets[DOLLAR_SIGN] != nullptr);
U_ASSERT(gUnicodeSets[POUND_SIGN] != nullptr);
U_ASSERT(gUnicodeSets[RUPEE_SIGN] != nullptr);
- gUnicodeSets[YEN_SIGN] = new UnicodeSet(u"[¥\\uffe5]", status);
+ U_ASSERT(gUnicodeSets[YEN_SIGN] != nullptr);
+ U_ASSERT(gUnicodeSets[WON_SIGN] != nullptr);
gUnicodeSets[DIGITS] = new UnicodeSet(u"[:digit:]", status);
-
+ if (U_FAILURE(status)) { return; }
gUnicodeSets[DIGITS_OR_ALL_SEPARATORS] = computeUnion(DIGITS, ALL_SEPARATORS);
gUnicodeSets[DIGITS_OR_STRICT_ALL_SEPARATORS] = computeUnion(DIGITS, STRICT_ALL_SEPARATORS);
diff --git a/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.h b/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.h
index 5f18b3217ea..5d90ce5908d 100644
--- a/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.h
+++ b/Build/source/libs/icu/icu-src/source/common/static_unicode_sets.h
@@ -1,7 +1,17 @@
// © 2018 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
+// This file contains utilities to deal with static-allocated UnicodeSets.
+//
+// Common use case: you write a "private static final" UnicodeSet in Java, and
+// want something similarly easy in C++. Originally written for number
+// parsing, but this header can be used for other applications.
+//
+// Main entrypoint: `unisets::get(unisets::MY_SET_ID_HERE)`
+//
// This file is in common instead of i18n because it is needed by ucurr.cpp.
+//
+// Author: sffc
#include "unicode/utypes.h"
@@ -35,6 +45,7 @@ enum Key {
PERIOD,
STRICT_COMMA,
STRICT_PERIOD,
+ APOSTROPHE_SIGN,
OTHER_GROUPING_SEPARATORS,
ALL_SEPARATORS,
STRICT_ALL_SEPARATORS,
@@ -44,13 +55,14 @@ enum Key {
PLUS_SIGN,
PERCENT_SIGN,
PERMILLE_SIGN,
- INFINITY_KEY, // INFINITY is defined in cmath
+ INFINITY_SIGN,
// Currency Symbols
DOLLAR_SIGN,
POUND_SIGN,
RUPEE_SIGN,
- YEN_SIGN, // not in CLDR data, but Currency.java wants it
+ YEN_SIGN,
+ WON_SIGN,
// Other
DIGITS,
@@ -60,7 +72,7 @@ enum Key {
DIGITS_OR_STRICT_ALL_SEPARATORS,
// The number of elements in the enum.
- COUNT
+ UNISETS_KEY_COUNT
};
/**
@@ -69,6 +81,13 @@ enum Key {
*
* Exported as U_COMMON_API for ucurr.cpp
*
+ * This method is always safe and OK to chain: in the case of a memory or other
+ * error, it returns an empty set from static memory.
+ *
+ * Example:
+ *
+ * UBool hasIgnorables = unisets::get(unisets::DEFAULT_IGNORABLES)->contains(...);
+ *
* @param key The desired UnicodeSet according to the enum in this file.
* @return The requested UnicodeSet. Guaranteed to be frozen and non-null, but
* may be empty if an error occurred during data loading.
@@ -99,6 +118,7 @@ U_COMMON_API Key chooseFrom(UnicodeString str, Key key1);
*/
U_COMMON_API Key chooseFrom(UnicodeString str, Key key1, Key key2);
+// TODO: Load these from data: ICU-20108
// Unused in C++:
// Key chooseCurrency(UnicodeString str);
// Used instead:
@@ -108,8 +128,9 @@ static const struct {
} kCurrencyEntries[] = {
{DOLLAR_SIGN, u'$'},
{POUND_SIGN, u'£'},
- {RUPEE_SIGN, u'₨'},
+ {RUPEE_SIGN, u'₹'},
{YEN_SIGN, u'¥'},
+ {WON_SIGN, u'₩'},
};
} // namespace unisets
diff --git a/Build/source/libs/icu/icu-src/source/common/uarrsort.cpp b/Build/source/libs/icu/icu-src/source/common/uarrsort.cpp
index 03c4d4e7fc4..60905821649 100644
--- a/Build/source/libs/icu/icu-src/source/common/uarrsort.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uarrsort.cpp
@@ -34,6 +34,10 @@ enum {
STACK_ITEM_SIZE=200
};
+static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
+ return (sizeInBytes + sizeof(max_align_t) - 1) / sizeof(max_align_t);
+}
+
/* UComparator convenience implementations ---------------------------------- */
U_CAPI int32_t U_EXPORT2
@@ -134,25 +138,15 @@ doInsertionSort(char *array, int32_t length, int32_t itemSize,
static void
insertionSort(char *array, int32_t length, int32_t itemSize,
UComparator *cmp, const void *context, UErrorCode *pErrorCode) {
- UAlignedMemory v[STACK_ITEM_SIZE/sizeof(UAlignedMemory)+1];
- void *pv;
- /* allocate an intermediate item variable (v) */
- if(itemSize<=STACK_ITEM_SIZE) {
- pv=v;
- } else {
- pv=uprv_malloc(itemSize);
- if(pv==NULL) {
- *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
- return;
- }
+ icu::MaybeStackArray v;
+ if (sizeInMaxAlignTs(itemSize) > v.getCapacity() &&
+ v.resize(sizeInMaxAlignTs(itemSize)) == nullptr) {
+ *pErrorCode = U_MEMORY_ALLOCATION_ERROR;
+ return;
}
- doInsertionSort(array, length, itemSize, cmp, context, pv);
-
- if(pv!=v) {
- uprv_free(pv);
- }
+ doInsertionSort(array, length, itemSize, cmp, context, v.getAlias());
}
/* QuickSort ---------------------------------------------------------------- */
@@ -238,26 +232,16 @@ subQuickSort(char *array, int32_t start, int32_t limit, int32_t itemSize,
static void
quickSort(char *array, int32_t length, int32_t itemSize,
UComparator *cmp, const void *context, UErrorCode *pErrorCode) {
- UAlignedMemory xw[(2*STACK_ITEM_SIZE)/sizeof(UAlignedMemory)+1];
- void *p;
-
/* allocate two intermediate item variables (x and w) */
- if(itemSize<=STACK_ITEM_SIZE) {
- p=xw;
- } else {
- p=uprv_malloc(2*itemSize);
- if(p==NULL) {
- *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
- return;
- }
+ icu::MaybeStackArray xw;
+ if(sizeInMaxAlignTs(itemSize)*2 > xw.getCapacity() &&
+ xw.resize(sizeInMaxAlignTs(itemSize) * 2) == nullptr) {
+ *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
+ return;
}
- subQuickSort(array, 0, length, itemSize,
- cmp, context, p, (char *)p+itemSize);
-
- if(p!=xw) {
- uprv_free(p);
- }
+ subQuickSort(array, 0, length, itemSize, cmp, context,
+ xw.getAlias(), xw.getAlias() + sizeInMaxAlignTs(itemSize));
}
/* uprv_sortArray() API ----------------------------------------------------- */
diff --git a/Build/source/libs/icu/icu-src/source/common/uassert.h b/Build/source/libs/icu/icu-src/source/common/uassert.h
index fd6b6c4c013..f0f7a92574b 100644
--- a/Build/source/libs/icu/icu-src/source/common/uassert.h
+++ b/Build/source/libs/icu/icu-src/source/common/uassert.h
@@ -10,25 +10,40 @@
*
* File uassert.h
*
-* Contains U_ASSERT macro
-*
-* By default, U_ASSERT just wraps the C library assert macro.
-* By changing the definition here, the assert behavior for ICU can be changed
-* without affecting other non-ICU uses of the C library assert().
+* Contains the U_ASSERT and UPRV_UNREACHABLE macros
*
******************************************************************************
*/
-
#ifndef U_ASSERT_H
#define U_ASSERT_H
+
/* utypes.h is included to get the proper define for uint8_t */
#include "unicode/utypes.h"
+/* for abort */
+#include
+
+/**
+ * \def U_ASSERT
+ * By default, U_ASSERT just wraps the C library assert macro.
+ * By changing the definition here, the assert behavior for ICU can be changed
+ * without affecting other non - ICU uses of the C library assert().
+*/
#if U_DEBUG
# include
# define U_ASSERT(exp) assert(exp)
#else
# define U_ASSERT(exp)
#endif
-#endif
+/**
+ * \def UPRV_UNREACHABLE
+ * This macro is used to unconditionally abort if unreachable code is ever executed.
+ * @internal
+*/
+#if defined(UPRV_UNREACHABLE)
+ // Use the predefined value.
+#else
+# define UPRV_UNREACHABLE abort()
+#endif
+#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/ubidi.cpp b/Build/source/libs/icu/icu-src/source/common/ubidi.cpp
index 4b65d491859..3ddb45721e2 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubidi.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ubidi.cpp
@@ -2047,8 +2047,7 @@ processPropertySeq(UBiDi *pBiDi, LevState *pLevState, uint8_t _prop,
break;
default: /* we should never get here */
- U_ASSERT(FALSE);
- break;
+ UPRV_UNREACHABLE;
}
}
if((addLevel) || (start < start0)) {
@@ -2251,8 +2250,7 @@ resolveImplicitLevels(UBiDi *pBiDi,
start2=i;
break;
default: /* we should never get here */
- U_ASSERT(FALSE);
- break;
+ UPRV_UNREACHABLE;
}
}
}
@@ -2726,8 +2724,7 @@ ubidi_setPara(UBiDi *pBiDi, const UChar *text, int32_t length,
break;
default:
/* we should never get here */
- U_ASSERT(FALSE);
- break;
+ UPRV_UNREACHABLE;
}
/*
* If there are no external levels specified and there
diff --git a/Build/source/libs/icu/icu-src/source/common/ubidi_props_data.h b/Build/source/libs/icu/icu-src/source/common/ubidi_props_data.h
index 55e331b612e..70083892048 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubidi_props_data.h
+++ b/Build/source/libs/icu/icu-src/source/common/ubidi_props_data.h
@@ -11,539 +11,539 @@
#ifdef INCLUDED_FROM_UBIDI_PROPS_C
-static const UVersionInfo ubidi_props_dataVersion={0xb,0,0,0};
+static const UVersionInfo ubidi_props_dataVersion={0xc,1,0,0};
-static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x647c,0x5e98,0x28,0x620,0x8c0,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6502b6};
+static const int32_t ubidi_props_indexes[UBIDI_IX_TOP]={0x10,0x663c,0x6058,0x28,0x620,0x8c0,0x10ac0,0x10d24,0,0,0,0,0,0,0,0x6502b6};
-static const uint16_t ubidi_props_trieIndex[12100]={
-0x36f,0x377,0x37f,0x387,0x39f,0x3a7,0x3af,0x3b7,0x38f,0x397,0x38f,0x397,0x38f,0x397,0x38f,0x397,
-0x38f,0x397,0x38f,0x397,0x3bd,0x3c5,0x3cd,0x3d5,0x3dd,0x3e5,0x3e1,0x3e9,0x3f1,0x3f9,0x3f4,0x3fc,
-0x38f,0x397,0x38f,0x397,0x404,0x40c,0x38f,0x397,0x38f,0x397,0x38f,0x397,0x412,0x41a,0x422,0x42a,
-0x432,0x43a,0x442,0x44a,0x450,0x458,0x460,0x468,0x470,0x478,0x47e,0x486,0x48e,0x496,0x49e,0x4a6,
-0x4b2,0x4ae,0x4ba,0x4c2,0x424,0x4d2,0x4da,0x4ca,0x4e2,0x4e4,0x4ec,0x4f4,0x4fc,0x4fd,0x505,0x50d,
-0x515,0x4fd,0x51d,0x522,0x515,0x4fd,0x52a,0x532,0x4fc,0x53a,0x542,0x4f4,0x547,0x38f,0x54f,0x553,
-0x55b,0x55d,0x565,0x56d,0x4fc,0x575,0x57d,0x4f4,0x406,0x581,0x505,0x4f4,0x38f,0x38f,0x589,0x38f,
-0x38f,0x58f,0x597,0x38f,0x38f,0x59b,0x5a3,0x38f,0x5a7,0x5ae,0x38f,0x5b6,0x5be,0x5c5,0x546,0x38f,
-0x38f,0x5cd,0x5d5,0x5dd,0x5e5,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x5ed,0x38f,0x5f5,0x38f,0x38f,0x38f,
-0x5fd,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x605,0x38f,0x38f,0x38f,0x60d,0x60d,0x509,0x509,0x38f,0x613,0x61b,0x5f5,
-0x631,0x623,0x623,0x639,0x640,0x629,0x38f,0x38f,0x38f,0x648,0x650,0x38f,0x38f,0x38f,0x652,0x65a,
-0x662,0x38f,0x669,0x671,0x38f,0x679,0x38f,0x38f,0x539,0x681,0x547,0x689,0x406,0x691,0x38f,0x698,
-0x38f,0x69d,0x38f,0x38f,0x38f,0x38f,0x6a3,0x6ab,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x3dd,0x6b3,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x6bb,0x6c3,0x6c7,
-0x6df,0x6e5,0x6cf,0x6d7,0x6ed,0x6f5,0x6f9,0x5c8,0x701,0x709,0x711,0x38f,0x719,0x65a,0x65a,0x65a,
-0x729,0x731,0x739,0x741,0x746,0x74e,0x756,0x721,0x75e,0x766,0x38f,0x76c,0x773,0x65a,0x65a,0x65a,
-0x65a,0x573,0x779,0x65a,0x781,0x38f,0x38f,0x657,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,
-0x65a,0x65a,0x65a,0x65a,0x65a,0x789,0x65a,0x65a,0x65a,0x65a,0x65a,0x78f,0x65a,0x65a,0x797,0x79f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x65a,0x65a,0x65a,0x65a,0x7af,0x7b7,0x7bf,0x7a7,
-0x7cf,0x7d7,0x7df,0x7e6,0x7ed,0x7f5,0x7f9,0x7c7,0x65a,0x65a,0x65a,0x801,0x807,0x65a,0x80d,0x810,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x818,0x38f,0x38f,0x38f,0x820,0x38f,0x38f,0x38f,0x3dd,
-0x828,0x830,0x835,0x38f,0x83d,0x65a,0x65a,0x65d,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x844,0x84a,
-0x85a,0x852,0x38f,0x38f,0x862,0x5fd,0x38f,0x3b6,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x65a,0x81f,
-0x3c4,0x38f,0x839,0x86a,0x38f,0x872,0x87a,0x38f,0x38f,0x38f,0x38f,0x87e,0x38f,0x38f,0x652,0x3b5,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x65a,0x65a,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x839,0x65a,0x573,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x885,0x38f,0x38f,0x88a,0x55d,0x38f,0x38f,0x5a9,0x65a,0x651,0x38f,0x38f,0x892,0x38f,0x38f,0x38f,
-0x89a,0x8a1,0x623,0x8a9,0x38f,0x38f,0x57f,0x8b1,0x38f,0x8b9,0x8c0,0x38f,0x4e2,0x8c5,0x38f,0x4fb,
-0x38f,0x8cd,0x8d5,0x4fd,0x38f,0x8d9,0x4fc,0x8e1,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x8e8,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x8fc,0x8f0,0x8f4,0x48e,0x48e,0x48e,0x48e,0x48e,
-0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,0x904,0x48e,0x48e,0x48e,0x48e,0x90c,0x910,
-0x918,0x920,0x924,0x92c,0x48e,0x48e,0x48e,0x930,0x938,0x37f,0x940,0x948,0x38f,0x38f,0x38f,0x950,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0xe3c,0xe3c,0xe7c,0xebc,0xe3c,0xe3c,0xe3c,0xe3c,0xe3c,0xe3c,0xef4,0xf34,0xf74,0xf84,0xfc4,0xfd0,
-0xe3c,0xe3c,0x1010,0xe3c,0xe3c,0xe3c,0x1048,0x1088,0x10c8,0x1108,0x1140,0x1180,0x11c0,0x11f8,0x1238,0x1278,
-0xa40,0xa80,0xac0,0xaff,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xb37,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xb74,0x1a0,0x1a0,0xba9,0xbe9,0xc29,0xc69,0xca9,0xce9,
+static const uint16_t ubidi_props_trieIndex[12324]={
+0x37c,0x384,0x38c,0x394,0x3ac,0x3b4,0x3bc,0x3c4,0x39c,0x3a4,0x39c,0x3a4,0x39c,0x3a4,0x39c,0x3a4,
+0x39c,0x3a4,0x39c,0x3a4,0x3ca,0x3d2,0x3da,0x3e2,0x3ea,0x3f2,0x3ee,0x3f6,0x3fe,0x406,0x401,0x409,
+0x39c,0x3a4,0x39c,0x3a4,0x411,0x419,0x39c,0x3a4,0x39c,0x3a4,0x39c,0x3a4,0x41f,0x427,0x42f,0x437,
+0x43f,0x447,0x44f,0x457,0x45d,0x465,0x46d,0x475,0x47d,0x485,0x48b,0x493,0x49b,0x4a3,0x4ab,0x4b3,
+0x4bf,0x4bb,0x4c7,0x4cf,0x431,0x4df,0x4e7,0x4d7,0x4ef,0x4f1,0x4f9,0x501,0x509,0x50a,0x512,0x51a,
+0x522,0x50a,0x52a,0x52f,0x522,0x50a,0x537,0x53f,0x509,0x547,0x54f,0x501,0x554,0x39c,0x55c,0x560,
+0x568,0x56a,0x572,0x57a,0x509,0x582,0x58a,0x501,0x413,0x58e,0x512,0x501,0x39c,0x39c,0x596,0x39c,
+0x39c,0x59c,0x5a4,0x39c,0x39c,0x5a8,0x5b0,0x39c,0x5b4,0x5bb,0x39c,0x5c3,0x5cb,0x5d2,0x553,0x39c,
+0x39c,0x5da,0x5e2,0x5ea,0x5f2,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x5fa,0x39c,0x602,0x39c,0x39c,0x39c,
+0x60a,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x612,0x39c,0x39c,0x39c,0x61a,0x61a,0x516,0x516,0x39c,0x620,0x628,0x602,
+0x63e,0x630,0x630,0x646,0x64d,0x636,0x39c,0x39c,0x39c,0x655,0x65d,0x39c,0x39c,0x39c,0x65f,0x667,
+0x66f,0x39c,0x676,0x67e,0x39c,0x686,0x39c,0x39c,0x546,0x68e,0x554,0x696,0x413,0x69e,0x39c,0x6a5,
+0x39c,0x6aa,0x39c,0x39c,0x39c,0x39c,0x6b0,0x6b8,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x3ea,0x6c0,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x6c8,0x6d0,0x6d4,
+0x6ec,0x6f2,0x6dc,0x6e4,0x6fa,0x702,0x706,0x5d5,0x70e,0x716,0x71e,0x39c,0x726,0x667,0x667,0x667,
+0x736,0x73e,0x746,0x74e,0x753,0x75b,0x763,0x72e,0x76b,0x773,0x39c,0x779,0x780,0x667,0x667,0x667,
+0x667,0x580,0x786,0x667,0x78e,0x39c,0x39c,0x664,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,
+0x667,0x667,0x667,0x667,0x667,0x796,0x667,0x667,0x667,0x667,0x667,0x79c,0x667,0x667,0x7a4,0x7ac,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x667,0x667,0x667,0x667,0x7bc,0x7c4,0x7cc,0x7b4,
+0x7dc,0x7e4,0x7ec,0x7f3,0x7fa,0x802,0x806,0x7d4,0x667,0x667,0x667,0x80e,0x814,0x667,0x667,0x81a,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x822,0x39c,0x39c,0x39c,0x82a,0x39c,0x39c,0x39c,0x3ea,
+0x832,0x83a,0x66b,0x39c,0x83d,0x667,0x667,0x66a,0x667,0x667,0x667,0x667,0x667,0x667,0x844,0x84a,
+0x85a,0x852,0x39c,0x39c,0x862,0x60a,0x39c,0x3c3,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x667,0x829,
+0x3d1,0x39c,0x86a,0x872,0x39c,0x87a,0x882,0x39c,0x39c,0x39c,0x39c,0x886,0x39c,0x39c,0x65f,0x3c2,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x667,0x667,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x86a,0x667,0x580,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x88d,0x39c,0x39c,0x892,0x56a,0x39c,0x39c,0x5b6,0x667,0x65e,0x39c,0x39c,0x89a,0x39c,0x39c,0x39c,
+0x8a2,0x8a9,0x630,0x8b1,0x39c,0x39c,0x58c,0x8b9,0x39c,0x8c1,0x8c8,0x39c,0x4ef,0x8cd,0x39c,0x508,
+0x39c,0x8d5,0x8dd,0x50a,0x39c,0x8e1,0x509,0x8e9,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x8f0,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x904,0x8f8,0x8fc,0x49b,0x49b,0x49b,0x49b,0x49b,
+0x49b,0x49b,0x49b,0x49b,0x49b,0x49b,0x49b,0x49b,0x49b,0x90c,0x49b,0x49b,0x49b,0x49b,0x914,0x918,
+0x920,0x928,0x92c,0x934,0x49b,0x49b,0x49b,0x938,0x940,0x38c,0x948,0x950,0x39c,0x39c,0x39c,0x958,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0xe70,0xe70,0xeb0,0xef0,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xf28,0xf68,0xfa8,0xfb8,0xff8,0x1004,
+0xe70,0xe70,0x1044,0xe70,0xe70,0xe70,0x107c,0x10bc,0x10fc,0x113c,0x1174,0x11b4,0x11f4,0x122c,0x126c,0x12ac,
+0xa40,0xa80,0xac0,0xaff,0x1a0,0x1a0,0xb3f,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xb68,0x1a0,0x1a0,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xba8,0x1a0,0x1a0,0xbdd,0xc1d,0xc5d,0xc9d,0xcdd,0xd1d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
-0xd69,0xd79,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
+0xd9d,0xdad,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,
-0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd29,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x958,0x38f,0x65a,0x65a,0x960,0x5fd,0x38f,0x4f5,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x968,0x38f,0x38f,0x38f,0x96f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x977,0x424,0x424,0x424,0x424,0x424,0x424,0x424,
-0x97f,0x983,0x424,0x424,0x424,0x424,0x993,0x98b,0x424,0x99b,0x424,0x424,0x9a3,0x9a9,0x424,0x424,
-0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x9b9,0x9b1,0x424,0x424,0x424,0x424,0x424,0x424,
-0x424,0x424,0x424,0x9c1,0x424,0x424,0x424,0x424,0x424,0x9c9,0x9d0,0x9d6,0x424,0x424,0x424,0x424,
-0x4fc,0x9de,0x9e5,0x9ec,0x406,0x9ef,0x38f,0x38f,0x4e2,0x9f6,0x38f,0x9fc,0x406,0xa01,0xa09,0x38f,
-0x38f,0xa0e,0x38f,0x38f,0x38f,0x38f,0x820,0xa16,0x406,0x581,0x55c,0xa1d,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x9de,0xa25,0x38f,0x38f,0xa2d,0xa35,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xa39,0xa41,0x38f,
-0x38f,0xa49,0x55c,0xa51,0x38f,0xa57,0x38f,0x38f,0x5ed,0xa5f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0xa64,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xa6c,
-0xa70,0xa78,0x38f,0xa7f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0xa86,0x38f,0x38f,0xa94,0xa8e,0x38f,0x38f,0x38f,0xa9c,0xaa4,0x38f,0xaa8,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x583,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xaae,0x38f,
-0xab4,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0xaba,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x516,0xac2,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0xac9,0xad1,0xad7,0x38f,0x38f,0x65a,0x65a,0xadf,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x65a,0x65a,0x833,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xae1,
-0x38f,0xae8,0x38f,0xae4,0x38f,0xaeb,0x38f,0xaf3,0xaf7,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x3dd,0xaff,0x3dd,0xb06,0xb0d,0xb15,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xb1d,0xb25,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x424,0x424,0x424,0x424,0x424,0x424,0xb2d,
-0x424,0xb35,0xb35,0xb3c,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,
-0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x8f4,0x48e,0x48e,0x424,
-0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,0x48e,
-0xb44,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x424,0x65a,0xb4c,0x65a,0x65a,0x65d,0xb51,0xb55,
-0x844,0xb5d,0x3b1,0x38f,0xb63,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x76a,0x38f,0x38f,0x38f,
-0x38f,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,
-0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0x65a,0xb6b,
-0xb73,0x65a,0x65a,0x65a,0x65d,0x65a,0x65a,0xb7b,0x38f,0xb4c,0x65a,0xb83,0x65a,0xb8b,0x846,0x38f,
-0x38f,0xb4c,0xb8f,0x65a,0xb97,0x65a,0xb9f,0xba7,0x65a,0x38f,0x38f,0x38f,0x846,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xbaf,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,
-0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0x38f,0xbaf,0xbbf,0xbb7,0xbb7,0xbb7,0xbc0,0xbc0,0xbc0,
-0xbc0,0x3dd,0x3dd,0x3dd,0x3dd,0x3dd,0x3dd,0x3dd,0xbc8,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,
-0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,
-0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,
-0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,
-0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0xbc0,0x36e,0x36e,0x36e,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,9,0xa,0xa,4,
-4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,2,2,2,2,
-2,2,2,2,2,2,6,0xa,0x500a,0xa,0xd00a,0xa,0xa,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0x510a,0xa,0xd20a,0xa,0xa,0xa,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0x510a,0xa,0xd20a,0xa,0x12,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x12,0x12,0x12,0x12,
-0x12,7,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,6,0xa,4,4,
-4,4,0xa,0xa,0xa,0xa,0,0x900a,0xa,0xb2,0xa,0xa,4,4,2,2,
-0xa,0,0xa,0xa,0xa,2,0,0x900a,0xa,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0xa,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0xa,0,0,0,0,0,0,0,0,0,0,0,0,
+0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0x1a0,0xd5d,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x960,0x39c,0x667,0x667,0x968,0x60a,0x39c,0x502,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x970,0x39c,0x39c,0x39c,0x977,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x97f,0x431,0x431,0x431,0x431,0x431,0x431,0x431,
+0x987,0x98b,0x431,0x431,0x431,0x431,0x99b,0x993,0x431,0x9a3,0x431,0x431,0x9ab,0x9b1,0x431,0x431,
+0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x9c1,0x9b9,0x431,0x431,0x431,0x431,0x431,0x431,
+0x431,0x431,0x431,0x9c9,0x431,0x431,0x431,0x431,0x431,0x9d1,0x9d8,0x9de,0x431,0x431,0x431,0x431,
+0x509,0x9e6,0x9ed,0x9f4,0x413,0x9f7,0x39c,0x39c,0x4ef,0x9fe,0x39c,0xa04,0x413,0xa09,0xa11,0x39c,
+0x39c,0xa16,0x39c,0x39c,0x39c,0x39c,0x82a,0xa1e,0x413,0x58e,0x569,0xa25,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x9e6,0xa2d,0x39c,0x39c,0xa35,0xa3d,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xa41,0xa49,0x39c,
+0x39c,0xa51,0x569,0xa59,0x39c,0xa5f,0x39c,0x39c,0x5fa,0xa67,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0xa6c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xa73,0x569,0xa7b,
+0xa7f,0xa87,0x39c,0xa8e,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0xa95,0x39c,0x39c,0xaa3,0xa9d,0x39c,0x39c,0x39c,0xaab,0xab3,0x39c,0xab7,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x590,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xac4,0xabf,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0xacc,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xad3,
+0x39c,0xad9,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0xa05,0x39c,0xadf,0x39c,0x39c,0xae7,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x523,0xaef,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xaf6,0xafe,0xb04,0x39c,0x39c,0x667,0x667,0xb0c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x667,0x667,0xb14,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0xb1a,0x39c,0xb21,0x39c,0xb1d,0x39c,0xb24,0x39c,0xb2c,0xb30,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x3ea,0xb38,0x3ea,
+0xb3f,0xb46,0xb4e,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xb56,0xb5e,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xad9,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0xb63,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x431,0x431,0x431,
+0x431,0x431,0x431,0xb6b,0x431,0xb73,0xb73,0xb7a,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,
+0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,
+0x8fc,0x49b,0x49b,0x431,0x431,0x49b,0x49b,0x9de,0x431,0x431,0x431,0x431,0x431,0x49b,0x49b,0x49b,
+0x49b,0x49b,0x49b,0x49b,0xb82,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x431,0x667,0xb8a,0x667,
+0x667,0x66a,0xb8f,0xb93,0x844,0xb9b,0x3be,0x39c,0xba1,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x777,0x39c,0x39c,0x39c,0x39c,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,
+0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,0x667,
+0x667,0x667,0x667,0x844,0xba9,0x667,0x667,0x667,0x66a,0x667,0x667,0xbb1,0x66c,0xb8a,0x667,0xbb9,
+0x667,0xbc1,0x846,0x39c,0x39c,0x796,0x667,0x667,0xbc5,0x667,0xbcd,0xbd3,0x667,0x667,0x667,0x66a,
+0xbd8,0xbe7,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xbdf,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,
+0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0x39c,0xbdf,0xbf7,0xbef,0xbef,
+0xbef,0xbf8,0xbf8,0xbf8,0xbf8,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0x3ea,0xc00,0xbf8,0xbf8,0xbf8,
+0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,
+0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,
+0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,
+0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0xbf8,0x37b,0x37b,0x37b,
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,8,7,8,9,7,0x12,0x12,
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,7,7,7,8,
+9,0xa,0xa,4,4,4,0xa,0xa,0x310a,0xf20a,0xa,3,6,3,6,6,
+2,2,2,2,2,2,2,2,2,2,6,0xa,0x500a,0xa,0xd00a,0xa,
+0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0x510a,0xa,0xd20a,0xa,0xa,
+0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0x510a,0xa,0xd20a,0xa,0x12,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0,
-0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x12,0x12,0x12,0x12,0x12,7,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
+6,0xa,4,4,4,4,0xa,0xa,0xa,0xa,0,0x900a,0xa,0xb2,0xa,0xa,
+4,4,2,2,0xa,0,0xa,0xa,0xa,2,0,0x900a,0xa,0xa,0xa,0xa,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0xa,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0xa,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xa,0xa,0,0,0,0,0,0,
-0,0,0xa,0,0,0,0,0,0xa,0xa,0,0xa,0,0,0,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xa,0xa,0,0,
+0,0,0,0,0,0,0xa,0,0,0,0,0,0xa,0xa,0,0xa,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xa,0,0,0,0,0,0,0,0,0,
-0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xa,0,0,0,0,0,
+0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0xa,0,0,0xa,0xa,4,1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0,0xa,0,0,0xa,0xa,4,1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,0xb1,1,0xb1,0xb1,1,0xb1,0xb1,1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,0xb1,1,0xb1,0xb1,1,
+0xb1,0xb1,1,0xb1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,5,5,5,5,5,5,0xa,0xa,
-0xd,4,4,0xd,6,0xd,0xa,0xa,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xd,0x8ad,0xd,0xd,0xd,0x4d,0xd,0x8d,0x8d,0x8d,0x8d,0x4d,0x8d,
-0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x2d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x8d,0x4d,0x4d,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,5,5,5,5,5,5,5,5,
-5,5,4,5,5,0xd,0x4d,0x4d,0xb1,0x8d,0x8d,0x8d,0xd,0x8d,0x8d,0x8d,
-0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
-0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
+1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,
+5,5,0xa,0xa,0xd,4,4,0xd,6,0xd,0xa,0xa,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0x8ad,0xd,0xd,0xd,0x4d,0xd,0x8d,0x8d,
+0x8d,0x8d,0x4d,0x8d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x4d,
+0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x2d,0x4d,0x4d,0x4d,
+0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,5,5,5,5,
+5,5,5,5,5,5,4,5,5,0xd,0x4d,0x4d,0xb1,0x8d,0x8d,0x8d,
+0xd,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,
+0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x4d,0x4d,
0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x8d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x4d,0x8d,0x4d,0x8d,
-0x4d,0x4d,0x8d,0x8d,0xd,0x8d,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,5,0xa,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0xd,0xb1,0xb1,0xa,0xb1,0xb1,0xb1,0xb1,0x8d,0x8d,
-2,2,2,2,2,2,2,2,2,2,0x4d,0x4d,0x4d,0xd,0xd,0x4d,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xad,
-0x8d,0xb1,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,
-0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x8d,0x4d,0x8d,0x4d,0x4d,0x8d,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xd,0xd,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x4d,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x4d,0x4d,0x4d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x8d,0x8d,0x4d,0x4d,0x4d,
-0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
+0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,
+0x4d,0x8d,0x4d,0x8d,0x4d,0x4d,0x8d,0x8d,0xd,0x8d,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,5,0xa,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0xd,0xb1,0xb1,0xa,0xb1,0xb1,
+0xb1,0xb1,0x8d,0x8d,2,2,2,2,2,2,2,2,2,2,0x4d,0x4d,
+0x4d,0xd,0xd,0x4d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xad,0x8d,0xb1,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x8d,0x8d,0x4d,0x4d,
+0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x8d,0x4d,
+0x8d,0x4d,0x4d,0x8d,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0xd,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
+0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
+0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x8d,0x4d,0x8d,
+0x8d,0x4d,0x4d,0x4d,0x8d,0x8d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0xd,0xd,0xd,0xd,
0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,1,1,1,1,1,1,1,1,
-1,1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,1,1,1,1,
+1,1,1,1,1,1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
-0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,0xa,0xa,
-0xa,0xa,0x21,1,1,0xb1,1,1,0xb1,0xb1,0xb1,0xb1,1,0xb1,0xb1,0xb1,
-1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,
-0xb1,0xb1,1,0xb1,0xb1,0xb1,0xb1,0xb1,0x81,0x41,0x41,0x41,0x41,0x41,0x81,0x81,
-0x41,0x81,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x81,0x41,1,1,
-1,0xb1,0xb1,0xb1,1,1,1,1,0x4d,0xd,0x4d,0x4d,0x4d,0x4d,0xd,0x8d,
-0x4d,0x8d,0x8d,0xd,0xd,0xd,0xd,0xd,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,0xb1,0xb1,5,0xb1,0xb1,0xb1,0xb1,0xb1,
+0x41,0x41,0x41,0x41,0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+1,1,0xa,0xa,0xa,0xa,0x21,1,1,0xb1,1,1,0xb1,0xb1,0xb1,0xb1,
+1,0xb1,0xb1,0xb1,1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,0xb1,0xb1,0xb1,0xb1,1,0xb1,0xb1,0xb1,0xb1,0xb1,0x81,0x41,0x41,0x41,
+0x41,0x41,0x81,0x81,0x41,0x81,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+0x81,0x41,1,1,1,0xb1,0xb1,0xb1,1,1,1,1,0x4d,0xd,0x4d,0x4d,
+0x4d,0x4d,0xd,0x8d,0x4d,0x8d,0x8d,0xd,0xd,0xd,0xd,0xd,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,5,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,
-0x4d,0x4d,0x8d,0x8d,0x8d,0xd,0x8d,0x4d,0x4d,0x8d,0x8d,0x4d,0x4d,0xd,0x4d,0x4d,
-0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0xb1,0,0xb1,0,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
-0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x4d,0x4d,0x4d,0x4d,
+0x4d,0x4d,0x4d,0x4d,0x4d,0x4d,0x8d,0x8d,0x8d,0xd,0x8d,0x4d,0x4d,0x8d,0x8d,0x4d,
+0x4d,0xd,0x4d,0x4d,0x4d,0x8d,0x4d,0x4d,0x4d,0x4d,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,
+0xb1,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0xb1,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
-0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,4,
-0,0,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0xb1,0xb1,0,0,0,0,0xb1,0xb1,0,0,0xb1,
-0xb1,0xb1,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0xb1,0,0,
-0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,
-0xb1,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
-0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,
+0,0,0,4,0,0,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xb1,0,0,0xb1,0,0xb1,0xb1,0xb1,0xb1,0,0,0,
-0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0xb1,0,
+0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0xb1,
+0xb1,0,0,0xb1,0xb1,0xb1,0,0,0,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
+0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0xb1,0xb1,0,0,0,0,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
+0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0,0,0xb1,0,0xb1,0xb1,0xb1,
+0xb1,0,0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,
+0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0,0,
-0,0,0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,
-0xa,0xa,0xa,0xa,0xa,4,0xa,0,0,0,0,0,0xb1,0,0,0,
-0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0xb1,0xb1,0xb1,0,0xb1,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,4,0xa,0,0,0,0,0,
+0xb1,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0,0,0xa0,0,0,0,0,0,0,0xa0,0,0,0,0,0,
-0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
-0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,
-0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,4,0,0,0,0,
-0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0,0,0,0,0,0,
-0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0xb1,0xb1,
+0xb1,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0xb1,0xb1,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0,0,0xa0,0,0,0,0,0,0,0xa0,0,
0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0xb1,
-0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,
-0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0xb1,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0xb1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,4,
+0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0xb1,0,0xb1,0,0xb1,0x310a,0xf20a,0x310a,0xf20a,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,
+0xb1,0,0xb1,0xb1,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,
-0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
-0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,
-0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0xb1,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
-0,0,0,0,0xa,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0xb1,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0,
+0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x310a,
-0xf20a,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
+0,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0,0,0,0,0,0,0xa,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
-0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0,0,0,0,0,0,0,4,0,0xb1,0,0,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xb1,0x40,0,
+0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x4a,0xa,0xa,0x2a,0xb1,
-0xb1,0xb1,0x12,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0,0,0,
-0,0,0,0,0,0xb1,0xb1,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+0,0,0,0x310a,0xf20a,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,
+0,0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,4,0,0xb1,0,0,
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0xb1,0xb1,0xb1,0,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0,
-0,0,0xb1,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,
-0xa,0,0,0,0xa,0xa,0,0,0,0,0,0,0,0,0,0,
+0x40,0xb1,0x40,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x4a,
+0xa,0xa,0x2a,0xb1,0xb1,0xb1,0x12,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+0x40,0,0,0,0,0,0,0,0,0xb1,0xb1,0x40,0x40,0x40,0x40,0x40,
+0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
+0x40,0x40,0x40,0x40,0xb1,0xb1,0xb1,0,0,0,0,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0,0xb1,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0,0,0,0,0xa,0,0,0,0xa,0xa,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
-0xb1,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0xb1,0,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0,0xb1,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,
-0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0,0xb1,0xb1,0,0,0,0xb1,0,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,0,0,0,0,0,0,
-0xb1,0,0,0,0xb1,0xb1,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0xb1,0xb1,0,0,0xb1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0,0xb1,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,
+0xb1,0xb1,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0,0xb1,0xb1,0,0,
+0,0xb1,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,0,0,
+0,0,0,0,0xb1,0,0,0,0xb1,0xb1,0,0,0,0,0,0,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0xa,0,0xa,0xa,0xa,0,0,
-0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0xa,0xa,0,0xa,0xa,0xa,0xa,
-6,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,9,0xb2,0xb2,0xb2,0xb2,
-0xb2,0x12,0x814,0x815,0x813,0x816,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,2,0,0,0,
-2,2,2,2,2,2,3,3,0xa,0x310a,0xf20a,0,9,9,9,9,
-9,9,9,9,9,9,9,0xb2,0x412,0x432,0x8a0,0x8a1,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,9,7,0x8ab,0x8ae,
-0x8b0,0x8ac,0x8af,6,4,4,4,4,4,0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,
-0xa,0xa,0xa,0xa,2,2,2,2,2,2,2,2,2,2,3,3,
-0xa,0x310a,0xf20a,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0,0xa,
+0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0,
+0xa,0xa,0xa,0xa,6,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,9,
+0xb2,0xb2,0xb2,0xb2,0xb2,0x12,0x814,0x815,0x813,0x816,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
+2,0,0,0,2,2,2,2,2,2,3,3,0xa,0x310a,0xf20a,0,
+9,9,9,9,9,9,9,9,9,9,9,0xb2,0x412,0x432,0x8a0,0x8a1,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+9,7,0x8ab,0x8ae,0x8b0,0x8ac,0x8af,6,4,4,4,4,4,0xa,0xa,0xa,
+0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,2,2,2,2,2,2,2,2,
+2,2,3,3,0xa,0x310a,0xf20a,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xa,0xa,0,0xa,0xa,0xa,0xa,0,0xa,0xa,0,0,
-0,0,0,0,0,0,0,0,0xa,0,0xa,0xa,0xa,0,0,0,
-0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0,0xa,0,0xa,0,0,
-0,0,4,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,
-0,0,0,0,0x100a,0xa,0xa,0xa,0xa,0,0,0,0,0,0xa,0xa,
-0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
-0x300a,0xf00a,0xa,0xa,0x300a,0xf00a,0x900a,0x900a,0x900a,0x100a,0x900a,0x900a,0x100a,0x100a,0x900a,0x900a,
-0x900a,0x900a,0x900a,0x100a,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0xa,0xa,0x700a,0x700a,0x700a,0xb00a,
-0xb00a,0xb00a,0xa,0xa,0xa,0x100a,3,4,0xa,0x900a,0x100a,0xa,0xa,0xa,0x100a,0x100a,
-0x100a,0x100a,0xa,0x900a,0x900a,0x900a,0x900a,0xa,0x900a,0xa,0x100a,0xa,0xa,0xa,0xa,0x100a,
-0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0xa,0xa,0xa,0xa,0xa,0x100a,0xa,0x100a,
-0x300a,0xf00a,0x100a,0x100a,0x100a,0x100a,0x100a,0x900a,0x100a,0x900a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,
-0x900a,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0x100a,0x100a,0xa,0x100a,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
-0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
-0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,
-0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,0xa,0x900a,0x100a,
-0x900a,0x900a,0x100a,0x900a,0x100a,0x100a,0x100a,0x100a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
-0x900a,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0x300a,0xf00a,0x300a,0xf00a,0x900a,0xa,0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0x300a,0xf00a,
-0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,
+4,4,4,4,4,4,4,4,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa,0xa,0,0xa,0xa,0xa,0xa,0,
+0xa,0xa,0,0,0,0,0,0,0,0,0,0,0xa,0,0xa,0xa,
+0xa,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0,0xa,
+0,0xa,0,0,0,0,4,0,0,0,0,0,0,0,0,0,
+0,0,0xa,0xa,0,0,0,0,0x100a,0xa,0xa,0xa,0xa,0,0,0,
+0,0,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
+0,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
+0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0x300a,0xf00a,0x900a,0x900a,0x900a,0x100a,0x900a,0x900a,
+0x100a,0x100a,0x900a,0x900a,0x900a,0x900a,0x900a,0x100a,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0xa,0xa,
+0x700a,0x700a,0x700a,0xb00a,0xb00a,0xb00a,0xa,0xa,0xa,0x100a,3,4,0xa,0x900a,0x100a,0xa,
+0xa,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0x900a,0x900a,0x900a,0x900a,0xa,0x900a,0xa,0x100a,0xa,
+0xa,0xa,0xa,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0xa,0xa,0xa,0xa,
+0xa,0x100a,0xa,0x100a,0x300a,0xf00a,0x100a,0x100a,0x100a,0x100a,0x100a,0x900a,0x100a,0x900a,0x100a,0x100a,
+0x100a,0x100a,0x100a,0x100a,0x900a,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0x100a,0xa,0x300a,0xf00a,0x300a,0xf00a,
+0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
+0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,
+0xa,0xa,0xa,0xa,0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,
+0xa,0xa,0x900a,0x100a,0x900a,0x900a,0x100a,0x900a,0x100a,0x100a,0x100a,0x100a,0x300a,0xf00a,0x300a,0xf00a,
+0x300a,0xf00a,0x300a,0xf00a,0x900a,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x900a,0xa,0xa,0x300a,0xf00a,0xa,0xa,
+0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,2,2,2,2,
+0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,
-0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0xa,0xa,0x300a,
-0xf00a,0x310a,0xf20a,0xa,0x300a,0xf00a,0xa,0x500a,0x100a,0xd00a,0xa,0xa,0xa,0xa,0xa,0x100a,
-0x100a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0x900a,0x300a,0xf00a,0xa,0xa,0xa,0x300a,0xf00a,
-0x300a,0xf00a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0xa,0x100a,
-0x100a,0x100a,0xa,0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0x100a,0x900a,0x100a,0x100a,0x300a,0xf00a,0xa,0xa,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0x310a,
-0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x710a,0x320a,0xf10a,0xb20a,0x310a,0xf20a,0x310a,
-0xf20a,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0x900a,0x100a,0x100a,0x100a,0x100a,0x900a,0xa,0x100a,0x900a,
-0x300a,0xf00a,0x100a,0x100a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x100a,0x100a,
-0x300a,0xf00a,0xa,0xa,0xa,0x100a,0xa,0xa,0xa,0xa,0x100a,0x300a,0xf00a,0x300a,0xf00a,0xa,
-0x300a,0xf00a,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0x100a,0xa,0xa,0xa,0xa,0xa,0x100a,0x900a,
-0x900a,0x900a,0x100a,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x900a,0xa,0xa,0xa,0xa,0x100a,
-0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0x100a,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,
-0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0xa,
-0x100a,0xa,0x100a,0xa,0xa,0x100a,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,
-0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x100a,0xa,0xa,0xa,0xa,0xa,
+2,2,2,2,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,
+0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0x100a,0xa,0xa,0x300a,0xf00a,0x310a,0xf20a,0xa,0x300a,0xf00a,0xa,0x500a,0x100a,0xd00a,0xa,0xa,
+0xa,0xa,0xa,0x100a,0x100a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0x900a,0x300a,0xf00a,0xa,
+0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0x100a,0xa,0x100a,0x100a,0x100a,0xa,0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0x100a,0x900a,0x100a,0x100a,0x300a,0xf00a,0xa,0xa,0x310a,0xf20a,0xa,0xa,
+0xa,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x710a,0x320a,0xf10a,
+0xb20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0x900a,0x100a,0x100a,0x100a,0x100a,
+0x900a,0xa,0x100a,0x900a,0x300a,0xf00a,0x100a,0x100a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0x300a,0xf00a,0x100a,0x100a,0x300a,0xf00a,0xa,0xa,0xa,0x100a,0xa,0xa,0xa,0xa,0x100a,0x300a,
+0xf00a,0x300a,0xf00a,0xa,0x300a,0xf00a,0xa,0xa,0x310a,0xf20a,0x310a,0xf20a,0x100a,0xa,0xa,0xa,
+0xa,0xa,0x100a,0x900a,0x900a,0x900a,0x100a,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x900a,0xa,
+0xa,0xa,0xa,0x100a,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0x100a,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,
+0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0x100a,0xa,0x100a,0x100a,
+0x100a,0x100a,0xa,0xa,0x100a,0xa,0x100a,0xa,0xa,0x100a,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,
+0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x100a,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,0xa,
-0xa,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0x100a,0x100a,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,
-0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x100a,0x100a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0x300a,0xf00a,0xa,0xa,0xa,0xa,0x100a,0x100a,0x100a,0x100a,0xa,0x100a,0x100a,0xa,0xa,0x100a,
+0x100a,0xa,0xa,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,
0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,
-0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,
-0x300a,0xf00a,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,
-0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,
-0x100a,0xa,0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,
+0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x100a,0xa,0xa,0x300a,0xf00a,
+0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,
+0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0x300a,0xf00a,0xa,
+0xa,0xa,0xa,0xa,0x100a,0xa,0x900a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x900a,0,
-0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0xb1,
-0xb1,0xb1,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
-0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,0xa,0x300a,0xf00a,0xa,0x300a,0xf00a,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,0xa,
-0x300a,0xf00a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0x900a,0xa,0,0,0,0,0,0xa,0xa,0xa,
+0xa,0xa,0xa,0,0,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,
+0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0xb1,0xa,0xa,0x300a,0xf00a,0x300a,0xf00a,0xa,0xa,
+0xa,0x300a,0xf00a,0xa,0x300a,0xf00a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0x300a,0xf00a,0xa,0xa,0x300a,0xf00a,0x310a,0xf20a,0x310a,0xf20a,0x310a,0xf20a,
+0x310a,0xf20a,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,0,
@@ -555,6 +555,8 @@ static const uint16_t ubidi_props_trieIndex[12100]={
0x310a,0xf20a,0x310a,0xf20a,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0xb1,0xb1,0xa,0xa,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
@@ -579,7 +581,7 @@ static const uint16_t ubidi_props_trieIndex[12100]={
0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0,0,
-0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,
0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -683,89 +685,101 @@ static const uint16_t ubidi_props_trieIndex[12100]={
0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0,0,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xa0,0xa0,0xb1,0xb1,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0,
-0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xa0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0,
+0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xa0,0xa0,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
+0,0,0,0xb1,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
+0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
+0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0xa0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0,0,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0,0,
+0,0xb1,0,0xb1,0,0,0,0,0,0,0,0,4,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,4,4,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0xb1,0,0xb1,0xb1,0,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0,0,0,0,0,0,0,0,
+0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,
+0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0,0,0,0xb1,0,0xb1,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
+0xb1,0xb1,0,0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,
+0xb2,0xb2,0xb2,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0,0,
-0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xa,0xa,0xb1,0xb1,0xb1,0xa,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xb1,0xb1,
-0xb1,0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x100a,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0x100a,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0x100a,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0x100a,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x100a,
-0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,
+0,0,0,0x100a,0,0,0,0,0,0,0,0,0,0,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,0xb1,0xb1,0xb1,0xb1,
0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0xb1,0,0,
-0,0,0,0,0,0,0,0,0xb1,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xb1,
-0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,
+0,0xb1,0,0,0,0,0,0,0,0,0,0,0xb1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,
-1,1,1,1,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
+0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,
+0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0,0,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0,0xb1,0xb1,0,0xb1,0xb1,
+0xb1,0xb1,0xb1,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb1,0xb1,0xb1,0xb1,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,1,1,1,1,1,1,1,1,1,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,
-0x41,0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xa,0xa,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,2,2,2,2,2,2,2,2,2,2,2,0xa,
+0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0xb1,0xb1,0xb1,0xb1,
+0xb1,0xb1,0xb1,0xa1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xd,0xd,0xd,0xd,0xd,0xd,
+0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xd,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,2,2,2,2,
+2,2,2,2,2,2,2,0xa,0xa,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,
0xa,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xa,0xa,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,
-0xa,0xa,0xa,0,0,0,0xa,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,0,0,0xa,0xa,0xa,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
+0,0,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0,0xa,0xa,0xa,0xa,0,0,0,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0,
+0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0xa,0xa,0xa,0xa,0xa,0xa,0xa,
+0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,
+0xa,0xa,0xa,0xa,0,0,0,0,0xa,0xa,0xa,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0x12,0x12,0xa,0xa,0xa,0,
0,0,0,0,0,0,0,0,0,0,0,0,0xa,0xa,0xa,0xa,
-0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0xa,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x12,0x12,0xb2,0xb2,0xb2,0xb2,
+0xa,0xa,0,0,0,0,0,0,0,0,0,0,0xb2,0xb2,0xb2,0xb2,
0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,
0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0xb2,0x12,0xb2,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
@@ -876,16 +890,16 @@ static const UBiDiProps ubidi_props_singleton={
ubidi_props_jgArray2,
{
ubidi_props_trieIndex,
- ubidi_props_trieIndex+3516,
+ ubidi_props_trieIndex+3568,
NULL,
- 3516,
- 8584,
+ 3568,
+ 8756,
0x1a0,
- 0xe3c,
+ 0xe70,
0x0,
0x0,
0x110000,
- 0x2f40,
+ 0x3020,
NULL, 0, FALSE, FALSE, 0, NULL
},
{ 2,2,0,0 }
diff --git a/Build/source/libs/icu/icu-src/source/common/ubidiimp.h b/Build/source/libs/icu/icu-src/source/common/ubidiimp.h
index a5d0727495d..9746b2bc103 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubidiimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/ubidiimp.h
@@ -198,8 +198,8 @@ typedef struct Run {
/* in a Run, logicalStart will get this bit set if the run level is odd */
#define INDEX_ODD_BIT (1UL<<31)
-#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)(level)<<31))
-#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)(level)<<31))
+#define MAKE_INDEX_ODD_PAIR(index, level) ((index)|((int32_t)((level)&1)<<31))
+#define ADD_ODD_BIT_FROM_LEVEL(x, level) ((x)|=((int32_t)((level)&1)<<31))
#define REMOVE_ODD_BIT(x) ((x)&=~INDEX_ODD_BIT)
#define GET_INDEX(x) ((x)&~INDEX_ODD_BIT)
@@ -387,41 +387,49 @@ typedef union {
} BidiMemoryForAllocation;
/* Macros for initial checks at function entry */
-#define RETURN_IF_NULL_OR_FAILING_ERRCODE(pErrcode, retvalue) \
- if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return retvalue
-#define RETURN_IF_NOT_VALID_PARA(bidi, errcode, retvalue) \
- if(!IS_VALID_PARA(bidi)) { \
- errcode=U_INVALID_STATE_ERROR; \
- return retvalue; \
- }
-#define RETURN_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode, retvalue) \
- if(!IS_VALID_PARA_OR_LINE(bidi)) { \
- errcode=U_INVALID_STATE_ERROR; \
- return retvalue; \
- }
-#define RETURN_IF_BAD_RANGE(arg, start, limit, errcode, retvalue) \
- if((arg)<(start) || (arg)>=(limit)) { \
- (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \
- return retvalue; \
- }
-
-#define RETURN_VOID_IF_NULL_OR_FAILING_ERRCODE(pErrcode) \
- if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return
-#define RETURN_VOID_IF_NOT_VALID_PARA(bidi, errcode) \
- if(!IS_VALID_PARA(bidi)) { \
- errcode=U_INVALID_STATE_ERROR; \
- return; \
- }
-#define RETURN_VOID_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode) \
- if(!IS_VALID_PARA_OR_LINE(bidi)) { \
- errcode=U_INVALID_STATE_ERROR; \
- return; \
- }
-#define RETURN_VOID_IF_BAD_RANGE(arg, start, limit, errcode) \
- if((arg)<(start) || (arg)>=(limit)) { \
- (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \
- return; \
- }
+#define RETURN_IF_NULL_OR_FAILING_ERRCODE(pErrcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \
+ if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return retvalue; \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_IF_NOT_VALID_PARA(bidi, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \
+ if(!IS_VALID_PARA(bidi)) { \
+ errcode=U_INVALID_STATE_ERROR; \
+ return retvalue; \
+ } \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \
+ if(!IS_VALID_PARA_OR_LINE(bidi)) { \
+ errcode=U_INVALID_STATE_ERROR; \
+ return retvalue; \
+ } \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_IF_BAD_RANGE(arg, start, limit, errcode, retvalue) UPRV_BLOCK_MACRO_BEGIN { \
+ if((arg)<(start) || (arg)>=(limit)) { \
+ (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \
+ return retvalue; \
+ } \
+} UPRV_BLOCK_MACRO_END
+
+#define RETURN_VOID_IF_NULL_OR_FAILING_ERRCODE(pErrcode) UPRV_BLOCK_MACRO_BEGIN { \
+ if((pErrcode)==NULL || U_FAILURE(*pErrcode)) return; \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_VOID_IF_NOT_VALID_PARA(bidi, errcode) UPRV_BLOCK_MACRO_BEGIN { \
+ if(!IS_VALID_PARA(bidi)) { \
+ errcode=U_INVALID_STATE_ERROR; \
+ return; \
+ } \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_VOID_IF_NOT_VALID_PARA_OR_LINE(bidi, errcode) UPRV_BLOCK_MACRO_BEGIN { \
+ if(!IS_VALID_PARA_OR_LINE(bidi)) { \
+ errcode=U_INVALID_STATE_ERROR; \
+ return; \
+ } \
+} UPRV_BLOCK_MACRO_END
+#define RETURN_VOID_IF_BAD_RANGE(arg, start, limit, errcode) UPRV_BLOCK_MACRO_BEGIN { \
+ if((arg)<(start) || (arg)>=(limit)) { \
+ (errcode)=U_ILLEGAL_ARGUMENT_ERROR; \
+ return; \
+ } \
+} UPRV_BLOCK_MACRO_END
/* helper function to (re)allocate memory if allowed */
U_CFUNC UBool
diff --git a/Build/source/libs/icu/icu-src/source/common/ubidiln.cpp b/Build/source/libs/icu/icu-src/source/common/ubidiln.cpp
index 71c581fe1c7..3545f4e111c 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubidiln.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ubidiln.cpp
@@ -517,7 +517,7 @@ reorderLine(UBiDi *pBiDi, UBiDiLevel minLevel, UBiDiLevel maxLevel) {
/* compute the runs array --------------------------------------------------- */
-static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex, UErrorCode *pErrorCode) {
+static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex) {
Run *runs=pBiDi->runs;
int32_t runCount=pBiDi->runCount, visualStart=0, i, length, logicalStart;
@@ -530,9 +530,7 @@ static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex, UError
visualStart+=length;
}
/* we should never get here */
- U_ASSERT(FALSE);
- *pErrorCode = U_INVALID_STATE_ERROR;
- return 0;
+ UPRV_UNREACHABLE;
}
/*
@@ -547,7 +545,7 @@ static int32_t getRunFromLogicalIndex(UBiDi *pBiDi, int32_t logicalIndex, UError
* negative number of BiDi control characters within this run.
*/
U_CFUNC UBool
-ubidi_getRuns(UBiDi *pBiDi, UErrorCode *pErrorCode) {
+ubidi_getRuns(UBiDi *pBiDi, UErrorCode*) {
/*
* This method returns immediately if the runs are already set. This
* includes the case of length==0 (handled in setPara)..
@@ -688,7 +686,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode *pErrorCode) {
*limit=start+pBiDi->insertPoints.size;
int32_t runIndex;
for(point=start; pointpos, pErrorCode);
+ runIndex=getRunFromLogicalIndex(pBiDi, point->pos);
pBiDi->runs[runIndex].insertRemove|=point->flag;
}
}
@@ -699,7 +697,7 @@ ubidi_getRuns(UBiDi *pBiDi, UErrorCode *pErrorCode) {
const UChar *start=pBiDi->text, *limit=start+pBiDi->length, *pu;
for(pu=start; puruns[runIndex].insertRemove--;
}
}
diff --git a/Build/source/libs/icu/icu-src/source/common/ubiditransform.cpp b/Build/source/libs/icu/icu-src/source/common/ubiditransform.cpp
index e6d1d9c086d..5b0d5cf96a4 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubiditransform.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ubiditransform.cpp
@@ -31,11 +31,11 @@
#define SHAPE_LOGICAL U_SHAPE_TEXT_DIRECTION_LOGICAL
#define SHAPE_VISUAL U_SHAPE_TEXT_DIRECTION_VISUAL_LTR
-#define CHECK_LEN(STR, LEN, ERROR) { \
- if (LEN == 0) return 0; \
- if (LEN < -1) { *(ERROR) = U_ILLEGAL_ARGUMENT_ERROR; return 0; } \
- if (LEN == -1) LEN = u_strlen(STR); \
- }
+#define CHECK_LEN(STR, LEN, ERROR) UPRV_BLOCK_MACRO_BEGIN { \
+ if (LEN == 0) return 0; \
+ if (LEN < -1) { *(ERROR) = U_ILLEGAL_ARGUMENT_ERROR; return 0; } \
+ if (LEN == -1) LEN = u_strlen(STR); \
+} UPRV_BLOCK_MACRO_END
#define MAX_ACTIONS 7
diff --git a/Build/source/libs/icu/icu-src/source/common/ubidiwrt.cpp b/Build/source/libs/icu/icu-src/source/common/ubidiwrt.cpp
index a89099dad0e..aa4d6b544c1 100644
--- a/Build/source/libs/icu/icu-src/source/common/ubidiwrt.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ubidiwrt.cpp
@@ -40,7 +40,7 @@
* Further assumptions for all UTFs:
* - u_charMirror(c) needs the same number of code units as c
*/
-#if UTF_SIZE==8
+#if defined(UTF_SIZE) && UTF_SIZE==8
# error reimplement ubidi_writeReordered() for UTF-8, see comment above
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/ucase.cpp b/Build/source/libs/icu/icu-src/source/common/ucase.cpp
index 8414c527d49..4ec25a27a50 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucase.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucase.cpp
@@ -116,7 +116,7 @@ static const uint8_t flagsOffset[256]={
* moved to the last uint16_t of the value, use +1 for beginning of next slot
* @param value (out) int32_t or uint32_t output if hasSlot, otherwise not modified
*/
-#define GET_SLOT_VALUE(excWord, idx, pExc16, value) \
+#define GET_SLOT_VALUE(excWord, idx, pExc16, value) UPRV_BLOCK_MACRO_BEGIN { \
if(((excWord)&UCASE_EXC_DOUBLE_SLOTS)==0) { \
(pExc16)+=SLOT_OFFSET(excWord, idx); \
(value)=*pExc16; \
@@ -124,7 +124,8 @@ static const uint8_t flagsOffset[256]={
(pExc16)+=2*SLOT_OFFSET(excWord, idx); \
(value)=*pExc16++; \
(value)=((value)<<16)|*pExc16; \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/* simple case mappings ----------------------------------------------------- */
diff --git a/Build/source/libs/icu/icu-src/source/common/ucase_props_data.h b/Build/source/libs/icu/icu-src/source/common/ucase_props_data.h
index eb7d9ff9099..68554b3130c 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucase_props_data.h
+++ b/Build/source/libs/icu/icu-src/source/common/ucase_props_data.h
@@ -11,145 +11,145 @@
#ifdef INCLUDED_FROM_UCASE_CPP
-static const UVersionInfo ucase_props_dataVersion={0xb,0,0,0};
+static const UVersionInfo ucase_props_dataVersion={0xc,1,0,0};
-static const int32_t ucase_props_indexes[UCASE_IX_TOP]={0x10,0x6e72,0x5e50,0x67f,0x172,0,0,0,0,0,0,0,0,0,0,3};
+static const int32_t ucase_props_indexes[UCASE_IX_TOP]={0x10,0x6fea,0x5fb8,0x687,0x172,0,0,0,0,0,0,0,0,0,0,3};
-static const uint16_t ucase_props_trieIndex[12064]={
-0x32c,0x334,0x33c,0x344,0x352,0x35a,0x362,0x36a,0x372,0x37a,0x381,0x389,0x391,0x399,0x3a1,0x3a9,
-0x3af,0x3b7,0x3bf,0x3c7,0x3cf,0x3d7,0x3df,0x3e7,0x3ef,0x3f7,0x3ff,0x407,0x40f,0x417,0x41f,0x427,
-0x42f,0x437,0x43f,0x447,0x44f,0x457,0x45f,0x467,0x463,0x46b,0x470,0x478,0x47f,0x487,0x48f,0x497,
-0x49f,0x4a7,0x4af,0x4b7,0x34b,0x353,0x4bc,0x4c4,0x4c9,0x4d1,0x4d9,0x4e1,0x4e0,0x4e8,0x4ed,0x4f5,
-0x4fd,0x504,0x508,0x34b,0x34b,0x32c,0x518,0x510,0x520,0x522,0x52a,0x532,0x536,0x537,0x53f,0x547,
-0x54f,0x537,0x557,0x55c,0x54f,0x537,0x564,0x56c,0x536,0x574,0x57c,0x584,0x58c,0x34b,0x594,0x34b,
-0x59c,0x4e2,0x5a4,0x584,0x536,0x574,0x5ab,0x584,0x5b3,0x5b5,0x53f,0x584,0x34b,0x34b,0x5bd,0x34b,
-0x34b,0x5c3,0x5ca,0x34b,0x34b,0x5ce,0x5d6,0x34b,0x5da,0x5e1,0x34b,0x5e8,0x5f0,0x5f7,0x5ff,0x34b,
-0x34b,0x604,0x60c,0x614,0x61c,0x624,0x62b,0x633,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x63b,0x34b,0x34b,0x64b,0x64b,0x643,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x653,0x653,0x543,0x543,0x34b,0x659,0x661,0x34b,
-0x669,0x34b,0x671,0x34b,0x678,0x67e,0x34b,0x34b,0x34b,0x686,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x68d,0x34b,0x694,0x69c,0x34b,0x6a4,0x34b,0x34b,0x573,0x6ac,0x6b4,0x6ba,0x5b3,0x6c2,0x34b,0x6c9,
-0x34b,0x6ce,0x34b,0x6d4,0x6dc,0x6e0,0x6e8,0x6f0,0x6f8,0x6fd,0x700,0x708,0x718,0x710,0x728,0x720,
-0x372,0x730,0x372,0x738,0x73b,0x372,0x743,0x372,0x74b,0x753,0x75b,0x763,0x76b,0x773,0x77b,0x783,
-0x78b,0x792,0x34b,0x79a,0x7a2,0x34b,0x7aa,0x7b2,0x7ba,0x7c2,0x7ca,0x7d2,0x7da,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x7dd,0x7e3,0x7e9,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x7f1,0x7f6,0x7fa,0x802,0x372,0x372,0x372,0x80a,0x812,0x819,0x34b,0x81e,0x34b,0x34b,0x34b,0x826,
-0x34b,0x66e,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x535,0x82e,0x34b,0x34b,0x835,0x34b,0x34b,0x83d,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x845,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x6d4,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x84b,0x34b,0x853,0x858,0x860,0x34b,0x34b,0x868,0x870,0x878,0x372,0x87d,0x885,0x88b,0x34b,0x892,
-0x89a,0x678,0x34b,0x34b,0x34b,0x34b,0x8a1,0x8a9,0x34b,0x8b1,0x8b8,0x34b,0x520,0x8bd,0x8c5,0x678,
-0x34b,0x8cb,0x8d3,0x8d7,0x34b,0x8df,0x8e7,0x8ef,0x34b,0x8f5,0x8f9,0x901,0x911,0x909,0x34b,0x919,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x921,0x34b,0x34b,0x34b,0x34b,0x929,0x5b3,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x92e,0x936,0x93a,0x34b,0x34b,0x34b,0x34b,0x32e,0x334,0x942,0x94a,0x951,0x4e2,0x34b,0x34b,0x959,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0xd30,0xd30,0xd48,0xd88,0xdc8,0xe04,0xe44,0xe84,0xebc,0xefc,0xf3c,0xf7c,0xfbc,0xffc,0x103c,0x107c,
-0x10bc,0x10fc,0x113c,0x117c,0x118c,0x11c0,0x11fc,0x123c,0x127c,0x12bc,0xd2c,0x12f0,0x1324,0x1364,0x1380,0x13b4,
-0x9e1,0xa11,0xa51,0xa90,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0xac8,0x188,0x188,
-0x188,0x188,0x188,0x188,0x188,0x188,0x188,0xb08,0x188,0x188,0xb3d,0xb7c,0xbbc,0xbf6,0xc2d,0x188,
+static const uint16_t ucase_props_trieIndex[12244]={
+0x336,0x33e,0x346,0x34e,0x35c,0x364,0x36c,0x374,0x37c,0x384,0x38b,0x393,0x39b,0x3a3,0x3ab,0x3b3,
+0x3b9,0x3c1,0x3c9,0x3d1,0x3d9,0x3e1,0x3e9,0x3f1,0x3f9,0x401,0x409,0x411,0x419,0x421,0x429,0x431,
+0x439,0x441,0x449,0x451,0x459,0x461,0x469,0x471,0x46d,0x475,0x47a,0x482,0x489,0x491,0x499,0x4a1,
+0x4a9,0x4b1,0x4b9,0x4c1,0x355,0x35d,0x4c6,0x4ce,0x4d3,0x4db,0x4e3,0x4eb,0x4ea,0x4f2,0x4f7,0x4ff,
+0x507,0x50e,0x512,0x355,0x355,0x336,0x522,0x51a,0x52a,0x52c,0x534,0x53c,0x540,0x541,0x549,0x551,
+0x559,0x541,0x561,0x566,0x559,0x541,0x56e,0x576,0x540,0x57e,0x586,0x58e,0x596,0x355,0x59e,0x355,
+0x5a6,0x4ec,0x5ae,0x58e,0x540,0x57e,0x5b5,0x58e,0x5bd,0x5bf,0x549,0x58e,0x355,0x355,0x5c7,0x355,
+0x355,0x5cd,0x5d4,0x355,0x355,0x5d8,0x5e0,0x355,0x5e4,0x5eb,0x355,0x5f2,0x5fa,0x601,0x609,0x355,
+0x355,0x60e,0x616,0x61e,0x626,0x62e,0x635,0x63d,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x645,0x355,0x355,0x655,0x655,0x64d,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x65d,0x65d,0x54d,0x54d,0x355,0x663,0x66b,0x355,
+0x673,0x355,0x67b,0x355,0x682,0x688,0x355,0x355,0x355,0x690,0x355,0x355,0x355,0x355,0x355,0x355,
+0x697,0x355,0x69e,0x6a6,0x355,0x6ae,0x355,0x355,0x57d,0x6b6,0x6be,0x6c4,0x5bd,0x6cc,0x355,0x6d3,
+0x355,0x6d8,0x355,0x6de,0x6e6,0x6ea,0x6f2,0x6fa,0x702,0x707,0x70a,0x712,0x722,0x71a,0x732,0x72a,
+0x37c,0x73a,0x37c,0x742,0x745,0x37c,0x74d,0x37c,0x755,0x75d,0x765,0x76d,0x775,0x77d,0x785,0x78d,
+0x795,0x79c,0x355,0x7a4,0x7ac,0x355,0x7b4,0x7bc,0x7c4,0x7cc,0x7d4,0x7dc,0x7e4,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x7e7,0x7ed,0x7f3,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x7fb,0x800,0x804,0x80c,0x37c,0x37c,0x37c,0x814,0x81c,0x823,0x355,0x828,0x355,0x355,0x355,0x830,
+0x355,0x678,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x53f,0x838,0x355,0x355,0x83f,0x355,0x355,0x847,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x84f,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x6de,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x855,0x355,0x85d,0x862,0x86a,0x355,0x355,0x872,0x87a,0x882,0x37c,0x887,0x88f,0x895,0x89d,0x89f,
+0x8a7,0x682,0x355,0x355,0x355,0x355,0x8ae,0x8b6,0x355,0x8be,0x8c5,0x355,0x52a,0x8ca,0x8d2,0x682,
+0x355,0x8d8,0x8e0,0x8e4,0x355,0x8ec,0x8f4,0x8fc,0x355,0x902,0x906,0x90e,0x91e,0x916,0x355,0x926,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x92e,0x355,0x355,0x355,0x355,0x936,0x5bd,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x93b,0x943,0x947,0x355,0x355,0x355,0x355,0x338,0x33e,0x94f,0x957,0x95e,0x4ec,0x355,0x355,0x966,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0xd58,0xd58,0xd70,0xdb0,0xdf0,0xe2c,0xe6c,0xeac,0xee4,0xf24,0xf64,0xfa4,0xfe4,0x1024,0x1064,0x10a4,
+0x10e4,0x1124,0x1164,0x11a4,0x11b4,0x11e8,0x1224,0x1264,0x12a4,0x12e4,0xd54,0x1318,0x134c,0x138c,0x13a8,0x13dc,
+0x9e1,0xa11,0xa51,0xa90,0x188,0x188,0xac8,0x188,0x188,0x188,0x188,0x188,0x188,0xaf1,0x188,0x188,
+0x188,0x188,0x188,0x188,0x188,0x188,0x188,0xb31,0x188,0x188,0xb66,0xba5,0xbe5,0xc1f,0xc56,0x188,
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
@@ -174,605 +174,617 @@ static const uint16_t ucase_props_trieIndex[12064]={
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,0x188,
-0xc6d,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x960,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x968,0x34b,0x34b,0x34b,0x96b,0x34b,0x34b,0x34b,
-0x34b,0x973,0x979,0x97d,0x34b,0x34b,0x981,0x985,0x98b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x993,0x997,0x34b,0x34b,0x34b,0x34b,0x34b,0x99f,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x9a7,0x9ab,0x9b3,0x9b7,0x34b,0x9be,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x9c5,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x536,0x9ca,0x9d1,0x5b4,0x5b3,0x9d5,0x533,0x34b,0x9dd,0x9e4,0x34b,0x9ea,0x5b3,0x9ef,0x9f7,
-0x34b,0x34b,0x9fc,0x34b,0x34b,0x34b,0x34b,0x32e,0xa04,0x5b3,0x5b5,0xa0c,0xa13,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x9ca,0xa1b,0x34b,0x34b,0xa23,0xa2b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xa2f,0xa37,
-0x34b,0x34b,0xa3f,0x4a6,0x34b,0x34b,0xa47,0x34b,0x34b,0xa4d,0xa55,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0xa5a,0x34b,0x34b,0x34b,0xa62,0xa6a,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0xa72,0xa76,0xa7e,0x34b,0xa85,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0xa8c,0x34b,0x34b,0x929,0xa94,0x34b,0x34b,0x34b,0xa9a,0xaa2,0x34b,0xaa6,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xaac,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xab2,
-0x34b,0xab8,0x573,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xa62,0xa6a,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0xabe,0x34b,0x34b,0x5b3,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xac6,0x573,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xace,0xad6,0xadc,0x34b,0x34b,0x34b,0x34b,0xae4,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xaec,0xaf4,0xaf9,
-0xaff,0xb07,0xb0f,0xb17,0xaf0,0xb1f,0xb27,0xb2f,0xb36,0xaf1,0xaec,0xaf4,0xaef,0xaff,0xaf2,0xaed,
-0xb3e,0xaf0,0xb46,0xb4e,0xb56,0xb5d,0xb49,0xb51,0xb59,0xb60,0xb4c,0xb68,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x870,0xb70,0x870,0xb77,
-0xb7e,0xb86,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xb8e,0xb96,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xb9a,0x34b,0xba2,0xbaa,
-0xbb1,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0xae8,0xbb9,0xbb9,0xbbf,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x9df,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x536,0x870,0x870,
-0x870,0x34b,0x34b,0x34b,0x34b,0x870,0x870,0x870,0x870,0x870,0x870,0x870,0xac2,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,
-0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x34b,0x32b,0x32b,0x32b,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,4,0,
-0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,
-0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0xa,0x5a,0x7a,0x1012,0x1012,0x1012,0x1012,
-0x1012,0x1012,0x1012,0xba,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0,0,0,4,0,
-4,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf9,0xf031,0x149,0xf011,0xf011,0xf011,0xf011,
-0xf011,0xf011,0xf011,0x189,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,0,0,0,0,
+0xc96,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x96d,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x975,0x355,0x355,0x355,0x978,0x355,0x355,0x355,
+0x355,0x980,0x986,0x98a,0x355,0x355,0x98e,0x992,0x998,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x9a0,0x9a4,0x355,0x355,0x355,0x355,0x355,0x9ac,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x9b4,0x9b8,0x9c0,0x9c4,0x355,0x9cb,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x9d2,0x355,0x355,0x355,0x355,
+0x355,0x540,0x9d7,0x9de,0x5be,0x5bd,0x9e2,0x53d,0x355,0x9ea,0x9f1,0x355,0x9f7,0x5bd,0x9fc,0xa04,
+0x355,0x355,0xa09,0x355,0x355,0x355,0x355,0x338,0xa11,0x5bd,0x5bf,0xa19,0xa20,0x355,0x355,0x355,
+0x355,0x355,0x9d7,0xa28,0x355,0x355,0xa30,0xa38,0x355,0x355,0x355,0x355,0x355,0x355,0xa3c,0xa44,
+0x355,0x355,0xa4c,0x4b0,0x355,0x355,0xa54,0x355,0x355,0xa5a,0xa62,0x355,0x355,0x355,0x355,0x355,
+0x355,0xa67,0x355,0x355,0x355,0xa6f,0xa77,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xa7f,0x975,
+0xa87,0xa8b,0xa93,0x355,0xa9a,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0xaa1,0x355,0x355,0x936,0xaa9,0x355,0x355,0x355,0xaaf,0xab7,0x355,0xabb,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xac1,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xac7,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xace,0x355,0xad4,0x57d,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0xa6f,0xa77,0x355,0x355,0x355,0x355,0x355,0x355,0x678,0x355,0xada,0x355,0x355,
+0xae2,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0xae3,0x57d,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0xaeb,0xaf3,0xaf9,0x355,0x355,0x355,0x355,0xb01,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0xb09,0xb11,0xb16,0xb1c,0xb24,0xb2c,0xb34,0xb0d,0xb3c,0xb44,
+0xb4c,0xb53,0xb0e,0xb09,0xb11,0xb0c,0xb1c,0xb0f,0xb0a,0xb5b,0xb0d,0xb63,0xb6b,0xb73,0xb7a,0xb66,
+0xb6e,0xb76,0xb7d,0xb69,0xb85,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x87a,0xb8d,0x87a,0xb94,0xb9b,0xba3,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0xbab,0xbb3,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xbb7,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x9c9,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0xbbf,0x355,0xbc7,0xbcf,0xbd6,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0xb05,
+0xbde,0xbde,0xbe4,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x9ec,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x540,0x87a,0x87a,0x87a,0x355,0x355,0x355,0x355,0x87a,0x87a,
+0x87a,0x87a,0x87a,0x87a,0x87a,0xbec,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,0x355,
+0x355,0x355,0x355,0x355,0x355,0x355,0x335,0x335,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,
+0,0,4,0,0,0,0,0,0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
+0x1012,0xa,0x5a,0x7a,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0xba,0x1012,0x1012,0x1012,0x1012,
+0x1012,0x1012,0x1012,0,0,0,4,0,4,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
+0xf011,0xf9,0xf031,0x149,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x189,0xf011,0xf011,0xf011,0xf011,
+0xf011,0xf011,0xf011,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,1,0,0,4,0,4,0,0,0,0,4,0x1c9,0,4,
-4,0,1,0,0,0,0,0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1fa,0x1012,0x1012,
-0x1012,0x1012,0x1012,0x1012,0x5a,0x5a,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0,
-0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x239,0xf011,0xf011,0xf011,0xf011,0xf011,0x2d9,0xf011,0xf011,
-0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,
-0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x3c91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0,0,0,0,0,0,0,0,4,0,1,0,0,4,0,4,
+0,0,0,0,4,0x1c9,0,4,4,0,1,0,0,0,0,0,
+0x1012,0x1012,0x1012,0x1012,0x1012,0x1fa,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x5a,0x5a,0x1012,0x1012,
+0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x239,
+0xf011,0xf011,0xf011,0xf011,0xf011,0x2d9,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
+0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x3c91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x31a,0xff91,0x92,0xff91,0x92,0xff91,0x31a,0xffb1,0x33a,0x389,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x3d9,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x31a,0xff91,0x92,0xff91,0x92,0xff91,0x31a,0xffb1,
+0x33a,0x389,0x92,0xff91,0x92,0xff91,0x92,0xff91,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,
+0xff91,0x92,0xff91,0x92,0xff91,0x3d9,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0xc392,0x92,0xff91,0x92,
-0xff91,0x92,0xff91,0x459,0x6191,0x6912,0x92,0xff91,0x92,0xff91,0x6712,0x92,0xff91,0x6692,0x6692,0x92,
-0xff91,1,0x2792,0x6512,0x6592,0x92,0xff91,0x6692,0x6792,0x3091,0x6992,0x6892,0x92,0xff91,0x5191,1,
-0x6992,0x6a92,0x4111,0x6b12,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x6d12,0x92,0xff91,0x6d12,1,1,
-0x92,0xff91,0x6d12,0x92,0xff91,0x6c92,0x6c92,0x92,0xff91,0x92,0xff91,0x6d92,0x92,0xff91,1,0,
-0x92,0xff91,1,0x1c11,0,0,0,0,0x48a,0x4bb,0x4f9,0x52a,0x55b,0x599,0x5ca,0x5fb,
-0x639,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,
-0xff91,0xd891,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x669,0x6ea,0x71b,0x759,0x92,0xff91,0xcf92,0xe412,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0xc392,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x459,0x6191,0x6912,0x92,0xff91,
+0x92,0xff91,0x6712,0x92,0xff91,0x6692,0x6692,0x92,0xff91,1,0x2792,0x6512,0x6592,0x92,0xff91,0x6692,
+0x6792,0x3091,0x6992,0x6892,0x92,0xff91,0x5191,1,0x6992,0x6a92,0x4111,0x6b12,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x6d12,0x92,0xff91,0x6d12,1,1,0x92,0xff91,0x6d12,0x92,0xff91,0x6c92,0x6c92,0x92,
+0xff91,0x92,0xff91,0x6d92,0x92,0xff91,1,0,0x92,0xff91,1,0x1c11,0,0,0,0,
+0x48a,0x4bb,0x4f9,0x52a,0x55b,0x599,0x5ca,0x5fb,0x639,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,
+0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0xd891,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x669,0x6ea,0x71b,0x759,
+0x92,0xff91,0xcf92,0xe412,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0xbf12,1,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-1,1,1,1,1,1,0x78a,0x92,0xff91,0xae92,0x7aa,0x7c9,0x7c9,0x92,0xff91,0x9e92,
-0x2292,0x2392,0x92,0xff91,0x92,0xffb1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x7e9,0x809,0x829,0x9711,
-0x9911,1,0x9991,0x9991,1,0x9b11,1,0x9a91,0x849,1,1,1,0x9991,0x869,1,0x9891,
-1,0x889,0x8a9,1,0x97b1,0x9691,0x8a9,0x8c9,0x8e9,1,1,0x9691,1,0x909,0x9591,1,
-1,0x9511,1,1,1,1,1,1,1,0x929,1,1,0x9311,1,1,0x9311,
-1,1,1,0x949,0x9311,0xdd91,0x9391,0x9391,0xdc91,1,1,1,1,1,0x9291,1,
-0,1,1,1,1,1,1,1,1,0x969,0x989,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,5,5,0x25,5,
-5,5,5,5,5,4,4,4,0x14,4,0x14,4,5,5,4,4,
+0x92,0xff91,0x92,0xff91,0xbf12,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,1,1,1,1,1,1,0x78a,0x92,
+0xff91,0xae92,0x7aa,0x7c9,0x7c9,0x92,0xff91,0x9e92,0x2292,0x2392,0x92,0xff91,0x92,0xffb1,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x7e9,0x809,0x829,0x9711,0x9911,1,0x9991,0x9991,1,0x9b11,1,0x9a91,
+0x849,1,1,1,0x9991,0x869,1,0x9891,1,0x889,0x8a9,1,0x97b1,0x9691,0x8a9,0x8c9,
+0x8e9,1,1,0x9691,1,0x909,0x9591,1,1,0x9511,1,1,1,1,1,1,
+1,0x929,1,1,0x9311,1,0x949,0x9311,1,1,1,0x969,0x9311,0xdd91,0x9391,0x9391,
+0xdc91,1,1,1,1,1,0x9291,1,0,1,1,1,1,1,1,1,
+1,0x989,0x9a9,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,5,5,0x25,5,5,5,5,5,5,4,4,4,
+0x14,4,0x14,4,5,5,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,5,5,5,5,5,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,
-5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,4,4,4,0x54,0x54,0x44,0x44,
-0x44,0x44,0x44,0x9ac,0x54,0x44,0x54,0x44,0x54,0x44,0x44,0x44,0x44,0x44,0x44,0x54,
-0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
-0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x74,0x64,0x64,
-0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0x54,0x44,
-0x44,0x9bd,0x44,0x64,0x64,0x64,0x44,0x44,0x44,0x64,0x64,4,0x44,0x44,0x44,0x64,
-0x64,0x64,0x64,0x44,0x64,0x64,0x64,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,
-0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x92,0xff91,0x92,0xff91,
-4,4,0x92,0xff91,0,0,5,0x4111,0x4111,0x4111,0,0x3a12,0,0,0,0,
-4,4,0x1312,4,0x1292,0x1292,0x1292,0,0x2012,0,0x1f92,0x1f92,0xa09,0x1012,0xada,0x1012,
-0x1012,0xb1a,0x1012,0x1012,0xb5a,0xbaa,0xbfa,0x1012,0xc3a,0x1012,0x1012,0x1012,0xc7a,0xcba,0,0xcfa,
-0x1012,0x1012,0xd3a,0x1012,0x1012,0xd7a,0x1012,0x1012,0xed11,0xed91,0xed91,0xed91,0xdb9,0xf011,0xe89,0xf011,
-0xf011,0xec9,0xf011,0xf011,0xf09,0xf59,0xfa9,0xf011,0xfe9,0xf011,0xf011,0xf011,0x1029,0x1069,0x10a9,0x10d9,
-0xf011,0xf011,0x1119,0xf011,0xf011,0x1159,0xf011,0xf011,0xe011,0xe091,0xe091,0x412,0x1199,0x11c9,2,2,
-2,0x1219,0x1249,0xfc11,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x1279,0x12a9,0x391,0xc631,
-0x12da,0x1329,0,0x92,0xff91,0xfc92,0x92,0xff91,1,0xbf12,0xbf12,0xbf12,0x2812,0x2812,0x2812,0x2812,
-0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x1012,0x1012,0x135a,0x1012,
-0x139a,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x13da,0x1012,0x1012,0x141a,0x145a,0x1012,
-0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x14aa,0x1012,0x1012,0x1012,0x1012,0x1012,0xf011,0xf011,0x14e9,0xf011,
-0x1529,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x1569,0xf011,0xf011,0x15a9,0x15e9,0xf011,
-0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x1639,0xf011,0xf011,0xf011,0xf011,0xf011,0xd811,0xd811,0xd811,0xd811,
-0xd811,0xd811,0xd831,0xd811,0xd831,0xd811,0xd811,0xd811,0xd811,0xd811,0xd811,0xd811,0x92,0xff91,0x167a,0x16b9,
+4,4,4,4,0x54,0x54,0x44,0x44,0x44,0x44,0x44,0x9cc,0x54,0x44,0x54,0x44,
+0x54,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+0x64,0x64,0x64,0x64,0x64,0x74,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+0x64,0x44,0x44,0x44,0x44,0x44,0x54,0x44,0x44,0x9dd,0x44,0x64,0x64,0x64,0x44,0x44,
+0x44,0x64,0x64,4,0x44,0x44,0x44,0x64,0x64,0x64,0x64,0x44,0x64,0x64,0x64,0x44,
+0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x92,0xff91,0x92,0xff91,4,4,0x92,0xff91,0,0,5,0x4111,
+0x4111,0x4111,0,0x3a12,0,0,0,0,4,4,0x1312,4,0x1292,0x1292,0x1292,0,
+0x2012,0,0x1f92,0x1f92,0xa29,0x1012,0xafa,0x1012,0x1012,0xb3a,0x1012,0x1012,0xb7a,0xbca,0xc1a,0x1012,
+0xc5a,0x1012,0x1012,0x1012,0xc9a,0xcda,0,0xd1a,0x1012,0x1012,0xd5a,0x1012,0x1012,0xd9a,0x1012,0x1012,
+0xed11,0xed91,0xed91,0xed91,0xdd9,0xf011,0xea9,0xf011,0xf011,0xee9,0xf011,0xf011,0xf29,0xf79,0xfc9,0xf011,
+0x1009,0xf011,0xf011,0xf011,0x1049,0x1089,0x10c9,0x10f9,0xf011,0xf011,0x1139,0xf011,0xf011,0x1179,0xf011,0xf011,
+0xe011,0xe091,0xe091,0x412,0x11b9,0x11e9,2,2,2,0x1239,0x1269,0xfc11,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0x44,
-0x44,0x44,0x44,0x44,4,4,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x1299,0x12c9,0x391,0xc631,0x12fa,0x1349,0,0x92,0xff91,0xfc92,0x92,0xff91,
+1,0xbf12,0xbf12,0xbf12,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,0x2812,
+0x2812,0x2812,0x2812,0x2812,0x1012,0x1012,0x137a,0x1012,0x13ba,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
+0x1012,0x1012,0x13fa,0x1012,0x1012,0x143a,0x147a,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x14ca,0x1012,
+0x1012,0x1012,0x1012,0x1012,0xf011,0xf011,0x1509,0xf011,0x1549,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
+0xf011,0xf011,0x1589,0xf011,0xf011,0x15c9,0x1609,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0x1659,0xf011,
+0xf011,0xf011,0xf011,0xf011,0xd811,0xd811,0xd811,0xd811,0xd811,0xd811,0xd831,0xd811,0xd831,0xd811,0xd811,0xd811,
+0xd811,0xd811,0xd811,0xd811,0x92,0xff91,0x169a,0x16d9,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0x44,0x44,0x44,0x44,0x44,4,4,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x792,0x92,0xff91,0x92,
-0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0xf891,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0x1812,0x1812,0x1812,
-0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
-0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0,0,4,0,0,0,0,0,0,
-1,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,
+0x92,0xff91,0x92,0xff91,0x792,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,
+0xff91,0x92,0xff91,0xf891,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
+0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0,
+0,4,0,0,0,0,0,0,1,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,
0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,
-0xe811,0xe811,0xe811,0x16f9,1,0,0,0,0,0,0,0,0,0x64,0x44,0x44,
-0x44,0x44,0x64,0x44,0x44,0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x64,
-0x64,0x64,0x64,0x64,0x44,0x44,0x64,0x44,0x44,0x64,0x64,0x44,0x64,0x64,0x64,0x64,
-0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0,0x64,0,0x64,0x64,0,
-0x44,0x64,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0x1719,1,0,0,0,
+0,0,0,0,0,0x64,0x44,0x44,0x44,0x44,0x64,0x44,0x44,0x44,0x64,0x64,
+0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x64,0x44,
+0x44,0x64,0x64,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,
+0x64,0x64,0,0x64,0,0x64,0x64,0,0x44,0x64,0,0x64,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,
-4,4,0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,
-0x44,0x44,0x44,0x44,0x64,0x64,0x64,0,4,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
-0,0,0,0,0,0,0,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,
-0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0x64,0x44,0x44,0x64,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,0,
+0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
+0,0,0,0,4,4,4,4,4,4,0,0,0,0,0,0,
+0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x64,0x64,0,
+4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,4,0,0x44,
-0x44,0x44,0x44,0x64,0x44,4,4,0x44,0x44,0,0x64,0x44,0x44,0x64,0,0,
+0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0x64,
+0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x44,
+0x64,0x44,0x44,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,4,0,0x44,0x44,0x44,0x44,0x64,0x44,4,4,0x44,
+0x44,0,0x64,0x44,0x44,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,0,0x64,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x64,0x44,0x44,
+0x64,0x44,0x44,0x64,0x64,0x64,0x44,0x64,0x64,0x44,0x64,0x44,0x44,0x44,0x64,0x44,
+0x64,0x44,0x64,0x44,0x64,0x44,0x44,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x44,0x64,0x44,0x44,0x64,0x44,0x44,0x64,0x64,0x64,0x44,0x64,
-0x64,0x44,0x64,0x44,0x44,0x44,0x64,0x44,0x64,0x44,0x64,0x44,0x64,0x44,0x44,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,
+4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,
-4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x44,
+4,4,0,0,0,0,4,0,0,0x64,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x44,
-0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x44,4,4,0,0,0,0,4,0,
-0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,4,0x44,
-0x44,0x44,0x44,0x44,4,0x44,0x44,0x44,4,0x44,0x44,0x44,0x44,0x44,0,0,
+0,0,0x44,0x44,0x44,0x44,4,0x44,0x44,0x44,0x44,0x44,4,0x44,0x44,0x44,
+4,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0x64,0x64,0x64,0,0,0,0,
-0x44,0x44,4,0x64,0x44,0x44,0x64,0x44,0x44,0x64,0x44,0x44,0x44,0x64,0x64,0x64,
-0x64,0x64,0x64,0x44,0x44,0x44,0x64,0x44,0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x44,
+0,0x64,0x64,0x64,0,0,0,0,0x44,0x44,4,0x64,0x44,0x44,0x64,0x44,
+0x44,0x64,0x44,0x44,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x44,0x64,0x44,
+0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0x64,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,4,4,4,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,4,0,0x64,0,0,0,
+0,4,4,4,4,4,4,4,4,0,0,0,0,0x64,0,0,
+0,0x44,0x64,0x44,0x44,4,4,4,0,0,0,0,0,0,0,0,
+0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,4,0,0x64,0,0,0,0,4,4,4,4,4,4,4,
-4,0,0,0,0,0x64,0,0,0,0x44,0x64,0x44,0x44,4,4,4,
-0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
+0x64,0,0,0,0,4,4,4,4,0,0,0,0,0,0,0,
+0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x64,0,0,0,0,4,4,4,
-4,0,0,0,0,0,0,0,0,0x64,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,
+0,0,0x44,0,0,4,4,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x44,0,0,4,4,0,
+0,0,0,0,0,4,4,0,0,0,0,4,4,0,0,4,
+4,0x64,0,0,0,4,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,4,0,0,0,4,0,0,
+0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,4,
+4,0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,
-0,0,0,4,4,0,0,4,4,0x64,0,0,0,4,0,0,
+0,0,4,4,4,4,4,4,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,
-0,4,4,4,4,4,0,4,4,0,0,0,0,0x64,0,0,
+0,0,0,0,0x64,0,0,4,0,4,4,4,4,0,0,0,
+0,0,0,0,0,0x64,0,0,0,0,0,0,0,0,4,0,
+0,0,0,0,0,0,0,0,0,0,4,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,
+0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,4,
-0,4,4,4,4,0,0,0,0,0,0,0,0,0x64,0,0,
-0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,
-0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
+0,0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,0,0,0,0,0,4,4,
+4,0,4,4,4,0x64,0,0,0,0,0,0,0,0x64,0x64,0,
+0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,
+4,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,
+0,0,0,0,0,0,0,0x64,0x64,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0x64,0,0,0,0,0,0,0,4,4,
+4,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,4,0,0,4,4,4,4,0x64,0x64,0x64,0,
+0,0,0,0,0,0,4,4,0x64,0x64,0x64,0x64,4,4,4,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,
+0,4,0,0,4,4,4,4,0x64,0x64,0x64,4,4,0,0,0,
+0,0,0,0,0,0,4,0,0x64,0x64,0x64,0x64,4,4,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,0,0,0,0,4,4,4,0,4,4,4,0x64,0,0,
-0,0,0,0,0,0x64,0x64,0,0,0,0,0,0,0,0,0,
-0,0,4,0,0,0,0,0,4,0x64,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,
+0,0,0,0,0,0,0,0,0x64,0x64,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,
-0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,
-0,0,0,0,0,0,4,4,4,0,4,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
-4,4,4,4,0x64,0x64,0x64,0,0,0,0,0,0,0,4,4,
-0x64,0x64,0x64,0x64,4,4,4,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,0,0,4,4,4,4,
-0x64,0x64,0,4,4,0,0,0,0,0,0,0,0,0,4,0,
-0x64,0x64,0x64,0x64,4,4,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0x64,0,0x64,0,0x64,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x64,0x64,4,0x64,4,4,4,4,4,0x64,0x64,0x64,0x64,4,0,
-0x64,4,0x44,0x44,0x64,0,0x44,0x44,0,0,0,0,0,4,4,4,
-4,4,4,4,4,4,4,4,0,4,4,4,4,4,4,4,
+0,0x64,0,0x64,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0x64,0x64,4,0x64,4,4,4,
+4,4,0x64,0x64,0x64,0x64,4,0,0x64,4,0x44,0x44,0x64,0,0x44,0x44,
+0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,
+0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,
-0,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,
-4,0,4,4,4,4,4,0x64,0,0x64,0x64,0,0,4,4,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,0,0,0,0,4,4,
-4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,
-0,0,4,0,0,4,4,0,0,0,0,0,0,0x64,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
-0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,
-0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,0x177a,
-0x177a,0x177a,0,0x177a,0,0,0,0,0,0x177a,0,0,0x1799,0x17c9,0x17f9,0x1829,
-0x1859,0x1889,0x18b9,0x18e9,0x1919,0x1949,0x1979,0x19a9,0x19d9,0x1a09,0x1a39,0x1a69,0x1a99,0x1ac9,0x1af9,0x1b29,
-0x1b59,0x1b89,0x1bb9,0x1be9,0x1c19,0x1c49,0x1c79,0x1ca9,0x1cd9,0x1d09,0x1d39,0x1d69,0x1d99,0x1dc9,0x1df9,0x1e29,
-0x1e59,0x1e89,0x1eb9,0x1ee9,0x1f19,0x1f49,0x1f79,0,4,0x1fa9,0x1fd9,0x2009,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x203a,0x203a,0x203a,0x203a,
-0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x205a,0x205a,0x205a,0x205a,
-0x205a,0x205a,0,0,0x2079,0x20a9,0x20d9,0x2109,0x2139,0x2169,0,0,0x203a,0x203a,0x203a,0x203a,
-0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,
-0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0x203a,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,
-0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,0,4,4,4,4,4,
-4,4,0,0,0,0,0,0,0,0,4,0,0,4,4,4,
-4,4,4,4,4,4,0x64,4,0,0,0,4,0,0,0,0,
-0,0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
-4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,
+4,0,0,0,0,0,0,0,0,0,0x64,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,4,4,4,4,0,4,4,4,4,4,0x64,
+0,0x64,0x64,0,0,4,4,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,4,0,0,0,0,4,4,4,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,
+0,0,0,0,0,0,0,0,0,0,4,0,0,4,4,0,
+0,0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,4,0,0,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
+0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
+0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0,0x179a,0,0,0,0,
+0,0x179a,0,0,0x17b9,0x17e9,0x1819,0x1849,0x1879,0x18a9,0x18d9,0x1909,0x1939,0x1969,0x1999,0x19c9,
+0x19f9,0x1a29,0x1a59,0x1a89,0x1ab9,0x1ae9,0x1b19,0x1b49,0x1b79,0x1ba9,0x1bd9,0x1c09,0x1c39,0x1c69,0x1c99,0x1cc9,
+0x1cf9,0x1d29,0x1d59,0x1d89,0x1db9,0x1de9,0x1e19,0x1e49,0x1e79,0x1ea9,0x1ed9,0x1f09,0x1f39,0x1f69,0x1f99,0,
+4,0x1fc9,0x1ff9,0x2029,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0x44,0x44,0x44,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,
+0x205a,0x205a,0x205a,0x205a,0x207a,0x207a,0x207a,0x207a,0x207a,0x207a,0,0,0x2099,0x20c9,0x20f9,0x2129,
+0x2159,0x2189,0,0,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,
+0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,0x205a,
+0x205a,0x205a,0x205a,0x205a,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,4,4,0x64,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,4,0,4,4,4,4,4,4,4,0,0,0,0,0,0,
+0,0,4,0,0,4,4,4,4,4,4,4,4,4,0x64,4,
+0,0,0,4,0,0,0,0,0,0x44,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,4,4,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,4,
-4,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,
-0,0x64,0x44,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0x44,0x64,0,0,4,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,4,0,4,4,4,4,4,4,4,0,
-0x64,0,4,0,0,4,4,4,4,4,4,4,4,0,0,0,
-0,0,0,4,4,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0x64,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,
-0x44,0x44,0x44,0x44,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x64,4,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x64,0,4,4,4,4,4,0,4,0,0,0,
-0,0,4,0,0x60,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0x44,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,
-4,4,0x60,0x64,4,4,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x64,0,4,4,0,0,
-0,4,0,4,4,4,0x60,0x60,0,0,0,0,0,0,0,0,
-0,0,0,0,4,4,4,4,4,4,4,4,0,0,4,0x64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,0,
-0x2199,0x21c9,0x21f9,0x2229,0x2259,0x22a9,0x22f9,0x2329,0x2359,0,0,0,0,0,0,0,
-0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,
-0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0x238a,0,0,0x238a,0x238a,0x238a,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x44,0x44,0x44,0,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0x64,0x64,0x64,0x64,
-0x44,0,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0,0,0,0,0x64,0,0,
-0,0,0,0,0x44,0,0,0,0x44,0x44,0,0,0,0,0,0,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+0,0,0,0,0,0,0,0,0,0x64,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,4,4,0,0,0,0,4,4,0,0,0,0,0,0,0,
+0,0,4,0,0,0,0,0,0,0x64,0x44,0x64,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0x44,0x64,0,0,4,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,
+4,4,4,4,4,4,4,0,0x64,0,4,0,0,4,4,4,
+4,4,4,4,4,0,0,0,0,0,0,4,4,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0,0,0x64,0,0,0,0,0,0,0,4,
+0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x64,0x64,0x64,
+0x64,0x64,0x64,0x44,0x44,0x64,4,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,4,4,
+4,4,4,0,4,0,0,0,0,0,4,0,0x60,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0x44,0x64,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,4,4,4,4,0,0,4,4,0x60,0x64,4,4,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0x64,0,4,4,0,0,0,4,0,4,4,4,0x60,0x60,
+0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,
+4,4,4,4,0,0,4,0x64,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,4,4,4,4,4,0,0,0x21b9,0x21e9,0x2219,0x2249,0x2279,0x22c9,0x2319,0x2349,
+0x2379,0,0,0,0,0,0,0,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,
+0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,0x23aa,
+0x23aa,0x23aa,0x23aa,0,0,0x23aa,0x23aa,0x23aa,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x44,0x44,0x44,0,0x64,0x64,0x64,0x64,
+0x64,0x64,0x44,0x44,0x64,0x64,0x64,0x64,0x44,0,0x64,0x64,0x64,0x64,0x64,0x64,
+0x64,0,0,0,0,0x64,0,0,0,0,0,0,0x44,0,0,0,
+0x44,0x44,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x25,5,5,5,5,5,5,5,5,1,1,1,1,1,
-1,1,1,1,1,1,1,1,5,0x23a9,1,1,1,0x23c9,1,1,
-5,5,5,5,0x25,5,5,5,0x25,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0x21,1,1,1,1,5,5,5,5,5,
-0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x64,0x64,0x64,0,0x44,0x64,0x64,0x44,0x64,
-0x44,0x44,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x44,0x44,0x64,0x64,0x64,
-0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xffb1,0x92,0xff91,
+5,5,5,5,5,5,5,5,5,5,0x25,5,5,5,5,5,
+5,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,
+5,0x23c9,1,1,1,0x23e9,1,1,5,5,5,5,0x25,5,5,5,
+0x25,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,0x2409,1,1,1,1,1,1,1,0x21,1,
+1,1,1,5,5,5,5,5,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0x64,
+0x64,0x64,0,0x44,0x64,0x64,0x44,0x64,0x44,0x44,0x64,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x64,0x44,0x44,0x64,0x64,0x64,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xffb1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x242a,0x2469,0x92,0xff91,0x92,0xff91,0x92,0xff91,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x23ea,0x2429,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x24a9,0x2529,0x25a9,0x2629,0x26a9,0x2729,
+1,1,0x275a,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xffb1,
0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x2469,0x24e9,0x2569,0x25e9,0x2669,0x26e9,1,1,0x271a,1,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xffb1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x411,0x411,0x411,0x411,
-0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,
-0x411,0x411,0,0,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0,0,0x411,0x411,0x411,0x411,
-0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,
-0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,
-0x411,0x411,0,0,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0,0,0x2769,0x411,0x27e9,0x411,
-0x2899,0x411,0x2949,0x411,0,0xfc12,0,0xfc12,0,0xfc12,0,0xfc12,0x411,0x411,0x411,0x411,
-0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0xfc12,0x2511,0x2511,0x2b11,0x2b11,
-0x2b11,0x2b11,0x3211,0x3211,0x4011,0x4011,0x3811,0x3811,0x3f11,0x3f11,0,0,0x29f9,0x2a69,0x2ad9,0x2b49,
-0x2bb9,0x2c29,0x2c99,0x2d09,0x2d7b,0x2deb,0x2e5b,0x2ecb,0x2f3b,0x2fab,0x301b,0x308b,0x30f9,0x3169,0x31d9,0x3249,
-0x32b9,0x3329,0x3399,0x3409,0x347b,0x34eb,0x355b,0x35cb,0x363b,0x36ab,0x371b,0x378b,0x37f9,0x3869,0x38d9,0x3949,
-0x39b9,0x3a29,0x3a99,0x3b09,0x3b7b,0x3beb,0x3c5b,0x3ccb,0x3d3b,0x3dab,0x3e1b,0x3e8b,0x411,0x411,0x3ef9,0x3f79,
-0x3fe9,0,0x4069,0x40e9,0xfc12,0xfc12,0xdb12,0xdb12,0x419b,4,0x4209,4,4,4,0x4259,0x42d9,
-0x4349,0,0x43c9,0x4449,0xd512,0xd512,0xd512,0xd512,0x44fb,4,4,4,0x411,0x411,0x4569,0x4619,
-0,0,0x46e9,0x4769,0xfc12,0xfc12,0xce12,0xce12,0,4,4,4,0x411,0x411,0x4819,0x48c9,
-0x4999,0x391,0x4a19,0x4a99,0xfc12,0xfc12,0xc812,0xc812,0xfc92,4,4,4,0,0,0x4b49,0x4bc9,
-0x4c39,0,0x4cb9,0x4d39,0xc012,0xc012,0xc112,0xc112,0x4deb,4,4,0,0,0,0,0,
-0,0,0,0,0,0,0,4,4,4,4,4,0,0,0,0,
-0,0,0,0,4,4,0,0,0,0,0,0,4,0,0,4,
-0,0,4,4,4,4,4,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,
-4,4,4,4,4,4,4,4,0,0x25,0,0,0,0,0,0,
-0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x44,0x44,0x64,0x64,0x44,0x44,0x44,0x44,
-0x64,0x64,0x64,0x44,0x44,4,4,4,4,0x44,4,4,4,0x64,0x64,0x44,
-0x64,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,
-0,0,1,2,2,2,1,1,2,2,2,1,0,2,0,0,
-0,2,2,2,2,2,0,0,0,0,0,0,2,0,0x4e5a,0,
-2,0,0x4e9a,0x4eda,2,2,0,1,2,2,0xe12,2,1,0,0,0,
-0,1,0,0,1,1,2,2,0,0,0,0,0,2,1,1,
-0x21,0x21,0,0,0,0,0xf211,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,
-0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,
-0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0,0,0,0x92,0xff91,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,
-0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xf311,0xf311,0xf311,0xf311,
-0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
+0x92,0xff91,0x92,0xff91,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,0x411,0x411,0,0,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0,0,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0xfc12,0xfc12,0x411,0x411,0x411,0x411,0x411,0x411,0,0,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0,0,0x27a9,0x411,0x2829,0x411,0x28d9,0x411,0x2989,0x411,0,0xfc12,0,0xfc12,
+0,0xfc12,0,0xfc12,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0xfc12,0xfc12,0xfc12,0xfc12,
+0xfc12,0xfc12,0xfc12,0xfc12,0x2511,0x2511,0x2b11,0x2b11,0x2b11,0x2b11,0x3211,0x3211,0x4011,0x4011,0x3811,0x3811,
+0x3f11,0x3f11,0,0,0x2a39,0x2aa9,0x2b19,0x2b89,0x2bf9,0x2c69,0x2cd9,0x2d49,0x2dbb,0x2e2b,0x2e9b,0x2f0b,
+0x2f7b,0x2feb,0x305b,0x30cb,0x3139,0x31a9,0x3219,0x3289,0x32f9,0x3369,0x33d9,0x3449,0x34bb,0x352b,0x359b,0x360b,
+0x367b,0x36eb,0x375b,0x37cb,0x3839,0x38a9,0x3919,0x3989,0x39f9,0x3a69,0x3ad9,0x3b49,0x3bbb,0x3c2b,0x3c9b,0x3d0b,
+0x3d7b,0x3deb,0x3e5b,0x3ecb,0x411,0x411,0x3f39,0x3fb9,0x4029,0,0x40a9,0x4129,0xfc12,0xfc12,0xdb12,0xdb12,
+0x41db,4,0x4249,4,4,4,0x4299,0x4319,0x4389,0,0x4409,0x4489,0xd512,0xd512,0xd512,0xd512,
+0x453b,4,4,4,0x411,0x411,0x45a9,0x4659,0,0,0x4729,0x47a9,0xfc12,0xfc12,0xce12,0xce12,
+0,4,4,4,0x411,0x411,0x4859,0x4909,0x49d9,0x391,0x4a59,0x4ad9,0xfc12,0xfc12,0xc812,0xc812,
+0xfc92,4,4,4,0,0,0x4b89,0x4c09,0x4c79,0,0x4cf9,0x4d79,0xc012,0xc012,0xc112,0xc112,
+0x4e2b,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,
+4,4,4,4,0,0,0,0,0,0,0,0,4,4,0,0,
+0,0,0,0,4,0,0,4,0,0,4,4,4,4,4,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,4,4,4,4,0,4,4,4,4,4,4,4,4,4,4,
+0,0x25,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x44,0x44,0x64,0x64,0x44,0x44,0x44,0x44,0x64,0x64,0x64,0x44,0x44,4,4,4,
+4,0x44,4,4,4,0x64,0x64,0x44,0x64,0x44,0x64,0x64,0x64,0x64,0x64,0x64,
+0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,2,0,0,0,0,2,0,0,1,2,2,2,1,1,
+2,2,2,1,0,2,0,0,0,2,2,2,2,2,0,0,
+0,0,0,0,2,0,0x4e9a,0,2,0,0x4eda,0x4f1a,2,2,0,1,
+2,2,0xe12,2,1,0,0,0,0,1,0,0,1,1,2,2,
+0,0,0,0,0,2,1,1,0x21,0x21,0,0,0,0,0xf211,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,0x812,
+0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,0xf811,
+0,0,0,0x92,0xff91,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,0xd12,
+0xd12,0xd12,0xd12,0xd12,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,
+0xf311,0xf311,0xf311,0xf311,0xf311,0xf311,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x1812,0x1812,0x1812,0x1812,
0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
-0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,
+0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0,
0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,
-0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0,0x92,0xff91,0x4f1a,0x4f3a,0x4f5a,0x4f79,0x4f99,0x92,
-0xff91,0x92,0xff91,0x92,0xff91,0x4fba,0x4fda,0x4ffa,0x501a,1,0x92,0xff91,1,0x92,0xff91,1,
-1,1,1,1,0x25,5,0x503a,0x503a,0x92,0xff91,0x92,0xff91,1,0,0,0,
-0,0,0,0x92,0xff91,0x92,0xff91,0x44,0x44,0x44,0x92,0xff91,0,0,0,0,
-0,0,0,0,0,0,0,0,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,
-0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,
-0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0x5059,0,0x5059,0,0,0,0,
-0,0x5059,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0x64,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0xe811,0,
+0x92,0xff91,0x4f5a,0x4f7a,0x4f9a,0x4fb9,0x4fd9,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x4ffa,0x501a,0x503a,
+0x505a,1,0x92,0xff91,1,0x92,0xff91,1,1,1,1,1,0x25,5,0x507a,0x507a,
+0x92,0xff91,0x92,0xff91,1,0,0,0,0,0,0,0x92,0xff91,0x92,0xff91,0x44,
+0x44,0x44,0x92,0xff91,0,0,0,0,0,0,0,0,0,0,0,0,
+0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,
+0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,0x5099,
+0x5099,0x5099,0,0x5099,0,0,0,0,0,0x5099,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,
0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,
-0,0,0x64,0x64,0x64,0x64,0x60,0x60,0,4,4,4,4,4,0,0,
-0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,0x64,4,
-4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x507a,0x50b9,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0x44,
-4,4,4,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,4,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,5,5,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0,0,0,0,0,0,0,0,0,0,0x64,0x64,0x64,0x64,0x60,0x60,
+0,4,4,4,4,4,0,0,0,0,0,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+0,0,0,0,0,0x64,0x64,4,4,4,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,4,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x50ba,0x50f9,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0x44,4,4,4,0,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0,4,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,5,5,0x44,0x44,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x44,0x44,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-1,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,5,1,1,1,1,1,1,1,1,0x92,0xff91,0x92,
-0xff91,0x50fa,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,4,4,4,0x92,
-0xff91,0x511a,1,0,0x92,0xff91,0x92,0xff91,1,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0x513a,0x515a,0x517a,0x519a,0x513a,1,0x51ba,0x51da,0x51fa,0x521a,
-0x92,0xff91,0x92,0xff91,0x92,0xff91,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,1,0,0,0,0,0,0,0,4,0,0,0,0x64,0,
-0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x64,4,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,0,0,0,0,0,0,4,4,4,4,4,0x64,
-0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,
-4,4,0,0x60,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0x64,0,0,4,4,4,4,0,0,
-4,0,0,0,0x60,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,4,4,4,4,4,4,0,0,4,4,0,
-0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,4,
-0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
-0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x44,0,0x44,0x44,
-0x64,0,0,0x44,0x44,0,0,0,0,0,0x44,0x44,0,0x44,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,4,
-4,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,0x5239,1,1,1,1,1,1,1,4,
-5,5,5,5,1,1,1,1,1,1,0,0,0,0,0,0,
-0,0,0,0,0x5259,0x5289,0x52b9,0x52e9,0x5319,0x5349,0x5379,0x53a9,0x53d9,0x5409,0x5439,0x5469,
-0x5499,0x54c9,0x54f9,0x5529,0x5b59,0x5b89,0x5bb9,0x5be9,0x5c19,0x5c49,0x5c79,0x5ca9,0x5cd9,0x5d09,0x5d39,0x5d69,
-0x5d99,0x5dc9,0x5df9,0x5e29,0x5e59,0x5e89,0x5eb9,0x5ee9,0x5f19,0x5f49,0x5f79,0x5fa9,0x5fd9,0x6009,0x6039,0x6069,
-0x6099,0x60c9,0x60f9,0x6129,0x5559,0x5589,0x55b9,0x55e9,0x5619,0x5649,0x5679,0x56a9,0x56d9,0x5709,0x5739,0x5769,
-0x5799,0x57c9,0x57f9,0x5829,0x5859,0x5889,0x58b9,0x58e9,0x5919,0x5949,0x5979,0x59a9,0x59d9,0x5a09,0x5a39,0x5a69,
-0x5a99,0x5ac9,0x5af9,0x5b29,0,0,0,0,0,4,0,0,4,0,0,0,
-0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x6159,0x61d9,0x6259,0x62d9,0x6389,0x6439,0x64d9,0,0,0,0,0,
-0,0,0,0,0,0,0,0x6579,0x65f9,0x6679,0x66f9,0x6779,0,0,0,0,
-0,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,0,0,0,4,0,0,0,0,
-0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x64,
-0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,4,0,0,4,0,0,
-0,0,0,0,0,0,0,0,0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
+4,4,4,4,4,4,4,4,4,4,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,1,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,5,1,1,1,
+1,1,1,1,1,0x92,0xff91,0x92,0xff91,0x513a,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,4,4,4,0x92,0xff91,0x515a,1,0,0x92,0xff91,0x92,0xff91,
+0x1811,1,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x517a,0x519a,
+0x51ba,0x51da,0x517a,1,0x51fa,0x521a,0x523a,0x525a,0x92,0xff91,0x92,0xff91,0x92,0xff91,0x92,0xff91,
+0x92,0xff91,0x92,0xff91,0,0,0x92,0xff91,0xe812,0x527a,0x529a,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,1,0,0,0,0,0,0,0,4,0,
+0,0,0x64,0,0,0,0,4,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x64,4,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,0,0,0,0,0,0,4,4,
+4,4,4,0x64,0x64,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,
+4,4,4,4,4,4,0,0x60,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,4,4,
+4,4,0,0,4,4,0,0,0x60,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,
+0,4,4,0,0,4,4,0,0,0,0,0,0,0,0,0,
+0,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+4,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x44,0,0x44,0x44,0x64,0,0,0x44,0x44,0,0,0,0,0,0x44,0x44,
+0,0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,
+0,0,0,4,4,0,0x64,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,0x52b9,1,1,1,1,
+1,1,1,4,5,5,5,5,1,1,1,1,1,1,1,1,
+0,0,0,0,0,0,0,0,0x52d9,0x5309,0x5339,0x5369,0x5399,0x53c9,0x53f9,0x5429,
+0x5459,0x5489,0x54b9,0x54e9,0x5519,0x5549,0x5579,0x55a9,0x5bd9,0x5c09,0x5c39,0x5c69,0x5c99,0x5cc9,0x5cf9,0x5d29,
+0x5d59,0x5d89,0x5db9,0x5de9,0x5e19,0x5e49,0x5e79,0x5ea9,0x5ed9,0x5f09,0x5f39,0x5f69,0x5f99,0x5fc9,0x5ff9,0x6029,
+0x6059,0x6089,0x60b9,0x60e9,0x6119,0x6149,0x6179,0x61a9,0x55d9,0x5609,0x5639,0x5669,0x5699,0x56c9,0x56f9,0x5729,
+0x5759,0x5789,0x57b9,0x57e9,0x5819,0x5849,0x5879,0x58a9,0x58d9,0x5909,0x5939,0x5969,0x5999,0x59c9,0x59f9,0x5a29,
+0x5a59,0x5a89,0x5ab9,0x5ae9,0x5b19,0x5b49,0x5b79,0x5ba9,0,0,0,0,0,4,0,0,
+4,0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x61d9,0x6259,0x62d9,0x6359,0x6409,0x64b9,0x6559,0,
+0,0,0,0,0,0,0,0,0,0,0,0x65f9,0x6679,0x66f9,0x6779,0x67f9,
+0,0,0,0,0,0,0x64,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,4,
+0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x44,0x44,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,
+0,4,0,0,0,0,0,0,0,0,0,0,0,0x1012,0x1012,0x1012,
0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
-0x1012,0x1012,0x1012,0,0,0,4,0,4,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
+0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0,0,0,4,0,4,0xf011,0xf011,0xf011,
0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
-0xf011,0xf011,0xf011,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,
+0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,
-0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0x1412,0x1412,0x1412,0x1412,
+0,0x64,0,0,0x64,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,
+0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,
0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,
-0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0xec11,0xec11,0xec11,0xec11,
0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,
-0xec11,0xec11,0xec11,0xec11,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,
-0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0,0,0,0,0xec11,0xec11,0xec11,0xec11,
+0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,
+0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0x1412,0,0,0,0,
0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,
-0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0,0,0,0,0,4,4,4,
-0,4,4,0,0,0,0,0,4,0x64,4,0x44,0,0,0,0,
+0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0xec11,0,0,0,0,
+0,4,4,4,0,4,4,0,0,0,0,0,4,0x64,4,0x44,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x44,0x64,0x64,0,0,0,0,0x64,0,0,0,0,
-0,0x44,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x2012,0x2012,0x2012,0x2012,
+0,0,0,0,0,0,0,0,0x44,0x64,0x64,0,0,0,0,0x64,
+0,0,0,0,0,0x44,0x64,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,
0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,
-0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0x2012,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0xe011,0xe011,0xe011,0xe011,
+0x2012,0x2012,0x2012,0,0,0,0,0,0,0,0,0,0,0,0,0,
0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,
-0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x64,0x64,0x44,0x44,0x44,0x64,
-0x44,0x64,0x64,0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,
+0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,0xe011,
+0xe011,0xe011,0xe011,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,0x64,
+0x44,0x44,0x44,0x64,0x44,0x64,0x64,0x64,0x64,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,4,4,4,4,4,4,4,4,0x64,0,0,0,0,0,
+0,0,0,0,4,4,4,4,4,4,4,4,4,4,0x64,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,4,4,4,0,0,0x64,0x64,0,
-0,4,0,0,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,
+0,0x64,0x64,0,0,4,0,0,0x44,0x44,0x44,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,
-4,4,4,0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0x64,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,
+0,4,4,4,4,4,4,0x64,0x64,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,4,4,4,4,4,4,4,4,4,0,0x60,0,0,0,
-0,0,0,0,0,4,0x64,4,4,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
-4,4,0,0,4,0x60,0x64,4,0,0,0,0,0,0,4,0,
-0,0,0,4,4,4,4,4,4,0x64,0x64,0,0,0,0,0,
+0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,0,
+0x60,0,0,0,0,0,0,0,0,4,0x64,4,4,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,0,0,0,0,0,0,0,0,0,0,0,0,0x60,0,0,
+0,0,0,4,4,4,0,0,4,0x60,0x64,4,0,0,0,0,
+0,0,4,0,0,0,0,4,4,4,4,4,4,0x64,0x64,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0x44,0x44,0x44,0x44,
-0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,0x64,4,
-4,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x44,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
-4,4,4,4,4,0,4,0,0,0,0,4,4,0,0x64,0x64,
+0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,
+0,0x60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,
+0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0x64,4,4,0,0x64,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x44,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,
-4,4,0,0,0,0,0,0,4,4,0,0x64,0x64,0,0,0,
+0,0,0,4,4,4,4,4,4,0,4,0,0,0,0,4,
+4,0,0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
-4,4,4,4,4,4,4,0,0,4,0,0x64,0,0,0,0,
-0,0,0,0,0,0,0,4,0,4,0,0,4,4,4,4,
-4,4,0x60,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,4,4,4,4,0,0,0,0,0,0,4,4,0,0x64,
+0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,4,4,4,0,0,4,4,4,4,0,4,4,4,4,0x64,
+0,0,0,4,4,4,4,4,4,4,4,0,0,4,0,0x64,
+0,0,0,0,0,0,0,0,0,0,0,4,0,4,0,0,
+4,4,4,4,4,4,0x60,0x64,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,
-0,0x64,0x64,0,0,0,0,0,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
+0,0,0,0,0,4,4,4,0,0,4,4,4,4,0,4,
+4,4,4,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,
+4,4,4,4,0,0x64,0x64,0,0,0,0,0,0x1012,0x1012,0x1012,0x1012,
0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,
-0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
+0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0x1012,0xf011,0xf011,0xf011,0xf011,
0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,
-0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,4,4,4,4,4,4,4,
-4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,4,0x64,4,4,4,
-4,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0x64,
-0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,
-0,4,4,4,0,0,0,0,0,0,0,0,0,0,4,4,
-4,4,4,4,4,4,4,4,4,4,4,0,4,0x64,0,0,
+0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0xf011,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,4,4,4,4,4,0,4,4,4,4,4,4,0,0x64,
-4,4,4,4,4,4,4,4,0,0,4,4,4,4,4,4,
-4,0,4,4,0,4,4,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,0,
-0,0,4,0,4,4,0,4,4,4,0x64,4,0x64,0x64,0,4,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,4,4,0,0,0,4,0,0x64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,
+4,4,4,4,0,0,4,4,0,0,0,0,0,4,4,4,
+4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,
+0x64,4,4,4,4,0,0,4,4,4,4,0,0,0,0,0,
+0,0,0,0x64,0,0,0,0,0,0,0,0,0,4,4,4,
+4,4,4,0,0,4,4,4,0,0,0,0,0,0,0,0,
+0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,0,
+4,0x64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,4,4,4,4,4,4,4,0,4,4,4,4,
+4,4,0,0x64,4,4,4,4,4,4,4,4,0,0,4,4,
+4,4,4,4,4,0,4,4,0,4,4,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,
+4,4,4,0,0,0,4,0,4,4,0,4,4,4,0x64,4,
+0x64,0x64,0,4,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,4,4,0,0,
+0,4,0,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,4,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,
+4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0x64,0x64,0x64,0x64,0x64,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,
+4,4,4,4,4,4,4,4,4,4,0,4,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,4,0x64,0,0,0,0,0,0,0x60,0x60,0x64,
-0x64,0x64,0,0,0,0x60,0x60,0x60,0x60,0x60,0x60,4,4,4,4,4,
-4,4,4,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0,0,0x44,0x44,0x44,
-0x44,0x44,0x64,0x64,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,4,0x64,0,0,0,0,0,
+0,0x60,0x60,0x64,0x64,0x64,0,0,0,0x60,0x60,0x60,0x60,0x60,0x60,4,
+4,4,4,4,4,4,4,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0,
+0,0x44,0x44,0x44,0x44,0x44,0x64,0x64,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,
+0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0x44,0x44,0x44,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,
-1,1,0x21,0x21,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,1,1,1,1,1,1,1,0,0x21,0x21,1,1,1,1,
-1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,
+0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,
1,1,1,1,1,1,0x21,0x21,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,2,0,2,2,0,0,2,0,
-0,2,2,0,0,2,2,2,2,0,2,2,2,2,2,2,
-2,2,1,1,1,1,0,1,0,1,0x21,0x21,1,1,1,1,
-0,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
-2,2,0,2,2,2,2,0,0,2,2,2,2,2,2,2,
-2,0,2,2,2,2,2,2,2,0,1,1,1,1,1,1,
-1,1,0x21,0x21,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,0,2,2,2,2,0,2,2,2,2,
-2,0,2,0,0,0,2,2,2,2,2,2,2,0,1,1,
-1,1,1,1,1,1,0x21,0x21,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,0,0,
+2,2,2,2,2,2,1,1,1,1,1,1,1,0,0x21,0x21,
+1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,0,1,1,1,1,1,1,2,2,2,2,2,2,
+2,2,1,1,1,1,1,1,1,1,0x21,0x21,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,2,0,2,2,
+0,0,2,0,0,2,2,0,0,2,2,2,2,0,2,2,
+2,2,2,2,2,2,1,1,1,1,0,1,0,1,0x21,0x21,
+1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,
+1,1,1,1,2,2,0,2,2,2,2,0,0,2,2,2,
+2,2,2,2,2,0,2,2,2,2,2,2,2,0,1,1,
+1,1,1,1,1,1,0x21,0x21,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,2,2,0,2,2,2,2,0,
+2,2,2,2,2,0,2,0,0,0,2,2,2,2,2,2,
+2,0,1,1,1,1,1,1,1,1,0x21,0x21,1,1,1,1,
+1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
+1,1,0,0,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0,1,1,1,1,1,1,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-1,1,1,0,1,1,1,1,1,1,2,1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,0,0,0,0,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,
-0,4,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
+2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,
+1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,1,1,1,0,1,1,1,1,1,1,2,1,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,4,4,4,4,4,0,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,
-0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
-0x44,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0x44,0x44,0,0x44,0x44,
-0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x64,0x64,0x64,0x64,0x64,0x64,0x64,0,
-0,0,0,0,0,0,0,0,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,
+0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,
+0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,
+4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,4,4,4,4,4,0,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,0x44,0x44,0,0,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0,0x44,
+0x44,0,0x44,0x44,0x44,0x44,0x44,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x44,0x44,0x44,0x44,
+0x44,0x44,0x44,4,4,4,4,4,4,4,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x64,0x64,0x64,0x64,
+0x64,0x64,0x64,0,0,0,0,0,0,0,0,0,0x1112,0x1112,0x1112,0x1112,
0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,
-0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,
+0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0x1112,0xef11,0xef11,
0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,
-0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0x44,0x44,0x44,0x44,0x44,0x44,0x64,0,
+0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0xef11,0x44,0x44,0x44,0x44,
+0x44,0x44,0x64,4,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,
+2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,2,2,2,2,2,2,2,2,2,2,0,0,
-0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0
};
-static const uint16_t ucase_props_exceptions[1663]={
+static const uint16_t ucase_props_exceptions[1671]={
0xc850,0x20,2,0x130,0x131,0x4810,0x20,0x841,0x6b,1,0x212a,0x841,0x73,1,0x17f,0x5c50,
0x20,2,0x130,0x131,0x844,0x4b,1,0x212a,0x844,0x53,1,0x17f,0x806,0x3bc,0x39c,0x841,
0xe5,1,0x212b,0x8c0,1,0x2220,0x73,0x73,0x53,0x53,0x53,0x73,0x1e9e,0x844,0xc5,1,
@@ -782,101 +794,102 @@ static const uint16_t ucase_props_exceptions[1663]={
0x1cc,0x1ca,0x1cb,0x80c,0x1ca,0x1cb,0x880,0x2220,0x6a,0x30c,0x4a,0x30c,0x4a,0x30c,0x809,0x1f3,
0x1f2,0x80d,0x1f3,0x1f1,0x1f2,0x80c,0x1f1,0x1f2,0x810,0x2a2b,0x810,0x2a28,0x810,0x2a3f,0x810,0x2a1f,
0x810,0x2a1c,0x810,0x2a1e,0x810,0xa54f,0x810,0xa54b,0x810,0xa528,0x810,0xa544,0x810,0x29f7,0x810,0xa541,
-0x810,0x29fd,0x810,0x29e7,0x810,0xa52a,0x1810,0xa515,0x810,0xa512,0x6800,0x3846,0x3b9,0x399,1,0x1fbe,
-0x8c0,1,0x3330,0x3b9,0x308,0x301,0x399,0x308,0x301,0x399,0x308,0x301,0x1fd3,0x841,0x3b2,1,
-0x3d0,0x841,0x3b5,1,0x3f5,0x841,0x3b8,2,0x3d1,0x3f4,0x841,0x3b9,2,0x345,0x1fbe,0x841,
-0x3ba,1,0x3f0,0x841,0x3bc,1,0xb5,0x841,0x3c0,1,0x3d6,0x841,0x3c1,1,0x3f1,0x4850,
-0x20,1,0x3c2,0x841,0x3c6,1,0x3d5,0x841,0x3c9,1,0x2126,0x8c0,1,0x3330,0x3c5,0x308,
-0x301,0x3a5,0x308,0x301,0x3a5,0x308,0x301,0x1fe3,0x844,0x392,1,0x3d0,0x844,0x395,1,0x3f5,
-0x844,0x398,2,0x3d1,0x3f4,0x844,0x399,2,0x345,0x1fbe,0x844,0x39a,1,0x3f0,0x844,0x39c,
-1,0xb5,0x844,0x3a0,1,0x3d6,0x844,0x3a1,1,0x3f1,0x806,0x3c3,0x3a3,0x844,0x3a3,1,
-0x3c2,0x844,0x3a6,1,0x3d5,0x844,0x3a9,1,0x2126,0x806,0x3b2,0x392,0x846,0x3b8,0x398,1,
-0x3f4,0x806,0x3c6,0x3a6,0x806,0x3c0,0x3a0,0x806,0x3ba,0x39a,0x806,0x3c1,0x3a1,0x841,0x3b8,2,
-0x398,0x3d1,0x806,0x3b5,0x395,0x841,0x432,1,0x1c80,0x841,0x434,1,0x1c81,0x841,0x43e,1,
-0x1c82,0x841,0x441,1,0x1c83,0x841,0x442,2,0x1c84,0x1c85,0x841,0x44a,1,0x1c86,0x844,0x412,
-1,0x1c80,0x844,0x414,1,0x1c81,0x844,0x41e,1,0x1c82,0x844,0x421,1,0x1c83,0x844,0x422,
-2,0x1c84,0x1c85,0x844,0x42a,1,0x1c86,0x841,0x463,1,0x1c87,0x844,0x462,1,0x1c87,0x880,
-0x2220,0x565,0x582,0x535,0x552,0x535,0x582,0x810,0x1c60,0x80c,0x1c90,0x10d0,0x80c,0x1c91,0x10d1,0x80c,
-0x1c92,0x10d2,0x80c,0x1c93,0x10d3,0x80c,0x1c94,0x10d4,0x80c,0x1c95,0x10d5,0x80c,0x1c96,0x10d6,0x80c,0x1c97,
-0x10d7,0x80c,0x1c98,0x10d8,0x80c,0x1c99,0x10d9,0x80c,0x1c9a,0x10da,0x80c,0x1c9b,0x10db,0x80c,0x1c9c,0x10dc,
-0x80c,0x1c9d,0x10dd,0x80c,0x1c9e,0x10de,0x80c,0x1c9f,0x10df,0x80c,0x1ca0,0x10e0,0x80c,0x1ca1,0x10e1,0x80c,
-0x1ca2,0x10e2,0x80c,0x1ca3,0x10e3,0x80c,0x1ca4,0x10e4,0x80c,0x1ca5,0x10e5,0x80c,0x1ca6,0x10e6,0x80c,0x1ca7,
-0x10e7,0x80c,0x1ca8,0x10e8,0x80c,0x1ca9,0x10e9,0x80c,0x1caa,0x10ea,0x80c,0x1cab,0x10eb,0x80c,0x1cac,0x10ec,
-0x80c,0x1cad,0x10ed,0x80c,0x1cae,0x10ee,0x80c,0x1caf,0x10ef,0x80c,0x1cb0,0x10f0,0x80c,0x1cb1,0x10f1,0x80c,
-0x1cb2,0x10f2,0x80c,0x1cb3,0x10f3,0x80c,0x1cb4,0x10f4,0x80c,0x1cb5,0x10f5,0x80c,0x1cb6,0x10f6,0x80c,0x1cb7,
-0x10f7,0x80c,0x1cb8,0x10f8,0x80c,0x1cb9,0x10f9,0x80c,0x1cba,0x10fa,0x80c,0x1cbd,0x10fd,0x80c,0x1cbe,0x10fe,
-0x80c,0x1cbf,0x10ff,0xa10,0x97d0,0xa10,8,0x806,0x13f0,0x13f0,0x806,0x13f1,0x13f1,0x806,0x13f2,0x13f2,
-0x806,0x13f3,0x13f3,0x806,0x13f4,0x13f4,0x806,0x13f5,0x13f5,0x806,0x432,0x412,0x806,0x434,0x414,0x806,
-0x43e,0x41e,0x806,0x441,0x421,0x846,0x442,0x422,1,0x1c85,0x846,0x442,0x422,1,0x1c84,0x806,
-0x44a,0x42a,0x806,0x463,0x462,0x806,0xa64b,0xa64a,0xc10,0xbc0,0x810,0x8a04,0x810,0xee6,0x841,0x1e61,
-1,0x1e9b,0x844,0x1e60,1,0x1e9b,0x880,0x2220,0x68,0x331,0x48,0x331,0x48,0x331,0x880,0x2220,
-0x74,0x308,0x54,0x308,0x54,0x308,0x880,0x2220,0x77,0x30a,0x57,0x30a,0x57,0x30a,0x880,0x2220,
-0x79,0x30a,0x59,0x30a,0x59,0x30a,0x880,0x2220,0x61,0x2be,0x41,0x2be,0x41,0x2be,0x806,0x1e61,
-0x1e60,0xc90,0x1dbf,0x20,0x73,0x73,0x880,0x2220,0x3c5,0x313,0x3a5,0x313,0x3a5,0x313,0x880,0x3330,
-0x3c5,0x313,0x300,0x3a5,0x313,0x300,0x3a5,0x313,0x300,0x880,0x3330,0x3c5,0x313,0x301,0x3a5,0x313,
-0x301,0x3a5,0x313,0x301,0x880,0x3330,0x3c5,0x313,0x342,0x3a5,0x313,0x342,0x3a5,0x313,0x342,0x890,
-8,0x220,0x1f00,0x3b9,0x1f08,0x399,0x890,8,0x220,0x1f01,0x3b9,0x1f09,0x399,0x890,8,0x220,
-0x1f02,0x3b9,0x1f0a,0x399,0x890,8,0x220,0x1f03,0x3b9,0x1f0b,0x399,0x890,8,0x220,0x1f04,0x3b9,
-0x1f0c,0x399,0x890,8,0x220,0x1f05,0x3b9,0x1f0d,0x399,0x890,8,0x220,0x1f06,0x3b9,0x1f0e,0x399,
-0x890,8,0x220,0x1f07,0x3b9,0x1f0f,0x399,0xc90,8,0x220,0x1f00,0x3b9,0x1f08,0x399,0xc90,8,
-0x220,0x1f01,0x3b9,0x1f09,0x399,0xc90,8,0x220,0x1f02,0x3b9,0x1f0a,0x399,0xc90,8,0x220,0x1f03,
-0x3b9,0x1f0b,0x399,0xc90,8,0x220,0x1f04,0x3b9,0x1f0c,0x399,0xc90,8,0x220,0x1f05,0x3b9,0x1f0d,
-0x399,0xc90,8,0x220,0x1f06,0x3b9,0x1f0e,0x399,0xc90,8,0x220,0x1f07,0x3b9,0x1f0f,0x399,0x890,
-8,0x220,0x1f20,0x3b9,0x1f28,0x399,0x890,8,0x220,0x1f21,0x3b9,0x1f29,0x399,0x890,8,0x220,
-0x1f22,0x3b9,0x1f2a,0x399,0x890,8,0x220,0x1f23,0x3b9,0x1f2b,0x399,0x890,8,0x220,0x1f24,0x3b9,
-0x1f2c,0x399,0x890,8,0x220,0x1f25,0x3b9,0x1f2d,0x399,0x890,8,0x220,0x1f26,0x3b9,0x1f2e,0x399,
-0x890,8,0x220,0x1f27,0x3b9,0x1f2f,0x399,0xc90,8,0x220,0x1f20,0x3b9,0x1f28,0x399,0xc90,8,
-0x220,0x1f21,0x3b9,0x1f29,0x399,0xc90,8,0x220,0x1f22,0x3b9,0x1f2a,0x399,0xc90,8,0x220,0x1f23,
-0x3b9,0x1f2b,0x399,0xc90,8,0x220,0x1f24,0x3b9,0x1f2c,0x399,0xc90,8,0x220,0x1f25,0x3b9,0x1f2d,
-0x399,0xc90,8,0x220,0x1f26,0x3b9,0x1f2e,0x399,0xc90,8,0x220,0x1f27,0x3b9,0x1f2f,0x399,0x890,
-8,0x220,0x1f60,0x3b9,0x1f68,0x399,0x890,8,0x220,0x1f61,0x3b9,0x1f69,0x399,0x890,8,0x220,
-0x1f62,0x3b9,0x1f6a,0x399,0x890,8,0x220,0x1f63,0x3b9,0x1f6b,0x399,0x890,8,0x220,0x1f64,0x3b9,
-0x1f6c,0x399,0x890,8,0x220,0x1f65,0x3b9,0x1f6d,0x399,0x890,8,0x220,0x1f66,0x3b9,0x1f6e,0x399,
-0x890,8,0x220,0x1f67,0x3b9,0x1f6f,0x399,0xc90,8,0x220,0x1f60,0x3b9,0x1f68,0x399,0xc90,8,
-0x220,0x1f61,0x3b9,0x1f69,0x399,0xc90,8,0x220,0x1f62,0x3b9,0x1f6a,0x399,0xc90,8,0x220,0x1f63,
-0x3b9,0x1f6b,0x399,0xc90,8,0x220,0x1f64,0x3b9,0x1f6c,0x399,0xc90,8,0x220,0x1f65,0x3b9,0x1f6d,
-0x399,0xc90,8,0x220,0x1f66,0x3b9,0x1f6e,0x399,0xc90,8,0x220,0x1f67,0x3b9,0x1f6f,0x399,0x880,
-0x2220,0x1f70,0x3b9,0x1fba,0x399,0x1fba,0x345,0x890,9,0x220,0x3b1,0x3b9,0x391,0x399,0x880,0x2220,
-0x3ac,0x3b9,0x386,0x399,0x386,0x345,0x880,0x2220,0x3b1,0x342,0x391,0x342,0x391,0x342,0x880,0x3330,
-0x3b1,0x342,0x3b9,0x391,0x342,0x399,0x391,0x342,0x345,0xc90,9,0x220,0x3b1,0x3b9,0x391,0x399,
-0x846,0x3b9,0x399,1,0x345,0x880,0x2220,0x1f74,0x3b9,0x1fca,0x399,0x1fca,0x345,0x890,9,0x220,
-0x3b7,0x3b9,0x397,0x399,0x880,0x2220,0x3ae,0x3b9,0x389,0x399,0x389,0x345,0x880,0x2220,0x3b7,0x342,
-0x397,0x342,0x397,0x342,0x880,0x3330,0x3b7,0x342,0x3b9,0x397,0x342,0x399,0x397,0x342,0x345,0xc90,
-9,0x220,0x3b7,0x3b9,0x397,0x399,0x880,0x3330,0x3b9,0x308,0x300,0x399,0x308,0x300,0x399,0x308,
-0x300,0x8c0,1,0x3330,0x3b9,0x308,0x301,0x399,0x308,0x301,0x399,0x308,0x301,0x390,0x880,0x2220,
-0x3b9,0x342,0x399,0x342,0x399,0x342,0x880,0x3330,0x3b9,0x308,0x342,0x399,0x308,0x342,0x399,0x308,
-0x342,0x880,0x3330,0x3c5,0x308,0x300,0x3a5,0x308,0x300,0x3a5,0x308,0x300,0x8c0,1,0x3330,0x3c5,
-0x308,0x301,0x3a5,0x308,0x301,0x3a5,0x308,0x301,0x3b0,0x880,0x2220,0x3c1,0x313,0x3a1,0x313,0x3a1,
-0x313,0x880,0x2220,0x3c5,0x342,0x3a5,0x342,0x3a5,0x342,0x880,0x3330,0x3c5,0x308,0x342,0x3a5,0x308,
-0x342,0x3a5,0x308,0x342,0x880,0x2220,0x1f7c,0x3b9,0x1ffa,0x399,0x1ffa,0x345,0x890,9,0x220,0x3c9,
-0x3b9,0x3a9,0x399,0x880,0x2220,0x3ce,0x3b9,0x38f,0x399,0x38f,0x345,0x880,0x2220,0x3c9,0x342,0x3a9,
-0x342,0x3a9,0x342,0x880,0x3330,0x3c9,0x342,0x3b9,0x3a9,0x342,0x399,0x3a9,0x342,0x345,0xc90,9,
-0x220,0x3c9,0x3b9,0x3a9,0x399,0xc50,0x1d5d,1,0x3a9,0xc50,0x20bf,1,0x4b,0xc50,0x2046,1,
-0xc5,0xc10,0x29f7,0xc10,0xee6,0xc10,0x29e7,0xc10,0x2a2b,0xc10,0x2a28,0xc10,0x2a1c,0xc10,0x29fd,0xc10,
-0x2a1f,0xc10,0x2a1e,0xc10,0x2a3f,0xc10,0x1c60,0x841,0xa64b,1,0x1c88,0x844,0xa64a,1,0x1c88,0xc10,
-0x8a04,0xc10,0xa528,0xc10,0xa544,0xc10,0xa54f,0xc10,0xa54b,0xc10,0xa541,0xc10,0xa512,0xc10,0xa52a,0xc10,
-0xa515,0x810,0x3a0,0xc10,0x3a0,0x806,0x13a0,0x13a0,0x806,0x13a1,0x13a1,0x806,0x13a2,0x13a2,0x806,0x13a3,
-0x13a3,0x806,0x13a4,0x13a4,0x806,0x13a5,0x13a5,0x806,0x13a6,0x13a6,0x806,0x13a7,0x13a7,0x806,0x13a8,0x13a8,
-0x806,0x13a9,0x13a9,0x806,0x13aa,0x13aa,0x806,0x13ab,0x13ab,0x806,0x13ac,0x13ac,0x806,0x13ad,0x13ad,0x806,
-0x13ae,0x13ae,0x806,0x13af,0x13af,0x806,0x13b0,0x13b0,0x806,0x13b1,0x13b1,0x806,0x13b2,0x13b2,0x806,0x13b3,
-0x13b3,0x806,0x13b4,0x13b4,0x806,0x13b5,0x13b5,0x806,0x13b6,0x13b6,0x806,0x13b7,0x13b7,0x806,0x13b8,0x13b8,
-0x806,0x13b9,0x13b9,0x806,0x13ba,0x13ba,0x806,0x13bb,0x13bb,0x806,0x13bc,0x13bc,0x806,0x13bd,0x13bd,0x806,
-0x13be,0x13be,0x806,0x13bf,0x13bf,0x806,0x13c0,0x13c0,0x806,0x13c1,0x13c1,0x806,0x13c2,0x13c2,0x806,0x13c3,
-0x13c3,0x806,0x13c4,0x13c4,0x806,0x13c5,0x13c5,0x806,0x13c6,0x13c6,0x806,0x13c7,0x13c7,0x806,0x13c8,0x13c8,
-0x806,0x13c9,0x13c9,0x806,0x13ca,0x13ca,0x806,0x13cb,0x13cb,0x806,0x13cc,0x13cc,0x806,0x13cd,0x13cd,0x806,
-0x13ce,0x13ce,0x806,0x13cf,0x13cf,0x806,0x13d0,0x13d0,0x806,0x13d1,0x13d1,0x806,0x13d2,0x13d2,0x806,0x13d3,
-0x13d3,0x806,0x13d4,0x13d4,0x806,0x13d5,0x13d5,0x806,0x13d6,0x13d6,0x806,0x13d7,0x13d7,0x806,0x13d8,0x13d8,
-0x806,0x13d9,0x13d9,0x806,0x13da,0x13da,0x806,0x13db,0x13db,0x806,0x13dc,0x13dc,0x806,0x13dd,0x13dd,0x806,
-0x13de,0x13de,0x806,0x13df,0x13df,0x806,0x13e0,0x13e0,0x806,0x13e1,0x13e1,0x806,0x13e2,0x13e2,0x806,0x13e3,
-0x13e3,0x806,0x13e4,0x13e4,0x806,0x13e5,0x13e5,0x806,0x13e6,0x13e6,0x806,0x13e7,0x13e7,0x806,0x13e8,0x13e8,
-0x806,0x13e9,0x13e9,0x806,0x13ea,0x13ea,0x806,0x13eb,0x13eb,0x806,0x13ec,0x13ec,0x806,0x13ed,0x13ed,0x806,
-0x13ee,0x13ee,0x806,0x13ef,0x13ef,0x880,0x2220,0x66,0x66,0x46,0x46,0x46,0x66,0x880,0x2220,0x66,
-0x69,0x46,0x49,0x46,0x69,0x880,0x2220,0x66,0x6c,0x46,0x4c,0x46,0x6c,0x880,0x3330,0x66,
-0x66,0x69,0x46,0x46,0x49,0x46,0x66,0x69,0x880,0x3330,0x66,0x66,0x6c,0x46,0x46,0x4c,
-0x46,0x66,0x6c,0x8c0,1,0x2220,0x73,0x74,0x53,0x54,0x53,0x74,0xfb06,0x8c0,1,0x2220,
-0x73,0x74,0x53,0x54,0x53,0x74,0xfb05,0x880,0x2220,0x574,0x576,0x544,0x546,0x544,0x576,0x880,
-0x2220,0x574,0x565,0x544,0x535,0x544,0x565,0x880,0x2220,0x574,0x56b,0x544,0x53b,0x544,0x56b,0x880,
-0x2220,0x57e,0x576,0x54e,0x546,0x54e,0x576,0x880,0x2220,0x574,0x56d,0x544,0x53d,0x544,0x56d
+0x810,0x29fd,0x810,0x29e7,0x810,0xa543,0x810,0xa52a,0x1810,0xa515,0x810,0xa512,0x6800,0x3846,0x3b9,0x399,
+1,0x1fbe,0x8c0,1,0x3330,0x3b9,0x308,0x301,0x399,0x308,0x301,0x399,0x308,0x301,0x1fd3,0x841,
+0x3b2,1,0x3d0,0x841,0x3b5,1,0x3f5,0x841,0x3b8,2,0x3d1,0x3f4,0x841,0x3b9,2,0x345,
+0x1fbe,0x841,0x3ba,1,0x3f0,0x841,0x3bc,1,0xb5,0x841,0x3c0,1,0x3d6,0x841,0x3c1,1,
+0x3f1,0x4850,0x20,1,0x3c2,0x841,0x3c6,1,0x3d5,0x841,0x3c9,1,0x2126,0x8c0,1,0x3330,
+0x3c5,0x308,0x301,0x3a5,0x308,0x301,0x3a5,0x308,0x301,0x1fe3,0x844,0x392,1,0x3d0,0x844,0x395,
+1,0x3f5,0x844,0x398,2,0x3d1,0x3f4,0x844,0x399,2,0x345,0x1fbe,0x844,0x39a,1,0x3f0,
+0x844,0x39c,1,0xb5,0x844,0x3a0,1,0x3d6,0x844,0x3a1,1,0x3f1,0x806,0x3c3,0x3a3,0x844,
+0x3a3,1,0x3c2,0x844,0x3a6,1,0x3d5,0x844,0x3a9,1,0x2126,0x806,0x3b2,0x392,0x846,0x3b8,
+0x398,1,0x3f4,0x806,0x3c6,0x3a6,0x806,0x3c0,0x3a0,0x806,0x3ba,0x39a,0x806,0x3c1,0x3a1,0x841,
+0x3b8,2,0x398,0x3d1,0x806,0x3b5,0x395,0x841,0x432,1,0x1c80,0x841,0x434,1,0x1c81,0x841,
+0x43e,1,0x1c82,0x841,0x441,1,0x1c83,0x841,0x442,2,0x1c84,0x1c85,0x841,0x44a,1,0x1c86,
+0x844,0x412,1,0x1c80,0x844,0x414,1,0x1c81,0x844,0x41e,1,0x1c82,0x844,0x421,1,0x1c83,
+0x844,0x422,2,0x1c84,0x1c85,0x844,0x42a,1,0x1c86,0x841,0x463,1,0x1c87,0x844,0x462,1,
+0x1c87,0x880,0x2220,0x565,0x582,0x535,0x552,0x535,0x582,0x810,0x1c60,0x80c,0x1c90,0x10d0,0x80c,0x1c91,
+0x10d1,0x80c,0x1c92,0x10d2,0x80c,0x1c93,0x10d3,0x80c,0x1c94,0x10d4,0x80c,0x1c95,0x10d5,0x80c,0x1c96,0x10d6,
+0x80c,0x1c97,0x10d7,0x80c,0x1c98,0x10d8,0x80c,0x1c99,0x10d9,0x80c,0x1c9a,0x10da,0x80c,0x1c9b,0x10db,0x80c,
+0x1c9c,0x10dc,0x80c,0x1c9d,0x10dd,0x80c,0x1c9e,0x10de,0x80c,0x1c9f,0x10df,0x80c,0x1ca0,0x10e0,0x80c,0x1ca1,
+0x10e1,0x80c,0x1ca2,0x10e2,0x80c,0x1ca3,0x10e3,0x80c,0x1ca4,0x10e4,0x80c,0x1ca5,0x10e5,0x80c,0x1ca6,0x10e6,
+0x80c,0x1ca7,0x10e7,0x80c,0x1ca8,0x10e8,0x80c,0x1ca9,0x10e9,0x80c,0x1caa,0x10ea,0x80c,0x1cab,0x10eb,0x80c,
+0x1cac,0x10ec,0x80c,0x1cad,0x10ed,0x80c,0x1cae,0x10ee,0x80c,0x1caf,0x10ef,0x80c,0x1cb0,0x10f0,0x80c,0x1cb1,
+0x10f1,0x80c,0x1cb2,0x10f2,0x80c,0x1cb3,0x10f3,0x80c,0x1cb4,0x10f4,0x80c,0x1cb5,0x10f5,0x80c,0x1cb6,0x10f6,
+0x80c,0x1cb7,0x10f7,0x80c,0x1cb8,0x10f8,0x80c,0x1cb9,0x10f9,0x80c,0x1cba,0x10fa,0x80c,0x1cbd,0x10fd,0x80c,
+0x1cbe,0x10fe,0x80c,0x1cbf,0x10ff,0xa10,0x97d0,0xa10,8,0x806,0x13f0,0x13f0,0x806,0x13f1,0x13f1,0x806,
+0x13f2,0x13f2,0x806,0x13f3,0x13f3,0x806,0x13f4,0x13f4,0x806,0x13f5,0x13f5,0x806,0x432,0x412,0x806,0x434,
+0x414,0x806,0x43e,0x41e,0x806,0x441,0x421,0x846,0x442,0x422,1,0x1c85,0x846,0x442,0x422,1,
+0x1c84,0x806,0x44a,0x42a,0x806,0x463,0x462,0x806,0xa64b,0xa64a,0xc10,0xbc0,0x810,0x8a04,0x810,0xee6,
+0x810,0x8a38,0x841,0x1e61,1,0x1e9b,0x844,0x1e60,1,0x1e9b,0x880,0x2220,0x68,0x331,0x48,0x331,
+0x48,0x331,0x880,0x2220,0x74,0x308,0x54,0x308,0x54,0x308,0x880,0x2220,0x77,0x30a,0x57,0x30a,
+0x57,0x30a,0x880,0x2220,0x79,0x30a,0x59,0x30a,0x59,0x30a,0x880,0x2220,0x61,0x2be,0x41,0x2be,
+0x41,0x2be,0x806,0x1e61,0x1e60,0xc90,0x1dbf,0x20,0x73,0x73,0x880,0x2220,0x3c5,0x313,0x3a5,0x313,
+0x3a5,0x313,0x880,0x3330,0x3c5,0x313,0x300,0x3a5,0x313,0x300,0x3a5,0x313,0x300,0x880,0x3330,0x3c5,
+0x313,0x301,0x3a5,0x313,0x301,0x3a5,0x313,0x301,0x880,0x3330,0x3c5,0x313,0x342,0x3a5,0x313,0x342,
+0x3a5,0x313,0x342,0x890,8,0x220,0x1f00,0x3b9,0x1f08,0x399,0x890,8,0x220,0x1f01,0x3b9,0x1f09,
+0x399,0x890,8,0x220,0x1f02,0x3b9,0x1f0a,0x399,0x890,8,0x220,0x1f03,0x3b9,0x1f0b,0x399,0x890,
+8,0x220,0x1f04,0x3b9,0x1f0c,0x399,0x890,8,0x220,0x1f05,0x3b9,0x1f0d,0x399,0x890,8,0x220,
+0x1f06,0x3b9,0x1f0e,0x399,0x890,8,0x220,0x1f07,0x3b9,0x1f0f,0x399,0xc90,8,0x220,0x1f00,0x3b9,
+0x1f08,0x399,0xc90,8,0x220,0x1f01,0x3b9,0x1f09,0x399,0xc90,8,0x220,0x1f02,0x3b9,0x1f0a,0x399,
+0xc90,8,0x220,0x1f03,0x3b9,0x1f0b,0x399,0xc90,8,0x220,0x1f04,0x3b9,0x1f0c,0x399,0xc90,8,
+0x220,0x1f05,0x3b9,0x1f0d,0x399,0xc90,8,0x220,0x1f06,0x3b9,0x1f0e,0x399,0xc90,8,0x220,0x1f07,
+0x3b9,0x1f0f,0x399,0x890,8,0x220,0x1f20,0x3b9,0x1f28,0x399,0x890,8,0x220,0x1f21,0x3b9,0x1f29,
+0x399,0x890,8,0x220,0x1f22,0x3b9,0x1f2a,0x399,0x890,8,0x220,0x1f23,0x3b9,0x1f2b,0x399,0x890,
+8,0x220,0x1f24,0x3b9,0x1f2c,0x399,0x890,8,0x220,0x1f25,0x3b9,0x1f2d,0x399,0x890,8,0x220,
+0x1f26,0x3b9,0x1f2e,0x399,0x890,8,0x220,0x1f27,0x3b9,0x1f2f,0x399,0xc90,8,0x220,0x1f20,0x3b9,
+0x1f28,0x399,0xc90,8,0x220,0x1f21,0x3b9,0x1f29,0x399,0xc90,8,0x220,0x1f22,0x3b9,0x1f2a,0x399,
+0xc90,8,0x220,0x1f23,0x3b9,0x1f2b,0x399,0xc90,8,0x220,0x1f24,0x3b9,0x1f2c,0x399,0xc90,8,
+0x220,0x1f25,0x3b9,0x1f2d,0x399,0xc90,8,0x220,0x1f26,0x3b9,0x1f2e,0x399,0xc90,8,0x220,0x1f27,
+0x3b9,0x1f2f,0x399,0x890,8,0x220,0x1f60,0x3b9,0x1f68,0x399,0x890,8,0x220,0x1f61,0x3b9,0x1f69,
+0x399,0x890,8,0x220,0x1f62,0x3b9,0x1f6a,0x399,0x890,8,0x220,0x1f63,0x3b9,0x1f6b,0x399,0x890,
+8,0x220,0x1f64,0x3b9,0x1f6c,0x399,0x890,8,0x220,0x1f65,0x3b9,0x1f6d,0x399,0x890,8,0x220,
+0x1f66,0x3b9,0x1f6e,0x399,0x890,8,0x220,0x1f67,0x3b9,0x1f6f,0x399,0xc90,8,0x220,0x1f60,0x3b9,
+0x1f68,0x399,0xc90,8,0x220,0x1f61,0x3b9,0x1f69,0x399,0xc90,8,0x220,0x1f62,0x3b9,0x1f6a,0x399,
+0xc90,8,0x220,0x1f63,0x3b9,0x1f6b,0x399,0xc90,8,0x220,0x1f64,0x3b9,0x1f6c,0x399,0xc90,8,
+0x220,0x1f65,0x3b9,0x1f6d,0x399,0xc90,8,0x220,0x1f66,0x3b9,0x1f6e,0x399,0xc90,8,0x220,0x1f67,
+0x3b9,0x1f6f,0x399,0x880,0x2220,0x1f70,0x3b9,0x1fba,0x399,0x1fba,0x345,0x890,9,0x220,0x3b1,0x3b9,
+0x391,0x399,0x880,0x2220,0x3ac,0x3b9,0x386,0x399,0x386,0x345,0x880,0x2220,0x3b1,0x342,0x391,0x342,
+0x391,0x342,0x880,0x3330,0x3b1,0x342,0x3b9,0x391,0x342,0x399,0x391,0x342,0x345,0xc90,9,0x220,
+0x3b1,0x3b9,0x391,0x399,0x846,0x3b9,0x399,1,0x345,0x880,0x2220,0x1f74,0x3b9,0x1fca,0x399,0x1fca,
+0x345,0x890,9,0x220,0x3b7,0x3b9,0x397,0x399,0x880,0x2220,0x3ae,0x3b9,0x389,0x399,0x389,0x345,
+0x880,0x2220,0x3b7,0x342,0x397,0x342,0x397,0x342,0x880,0x3330,0x3b7,0x342,0x3b9,0x397,0x342,0x399,
+0x397,0x342,0x345,0xc90,9,0x220,0x3b7,0x3b9,0x397,0x399,0x880,0x3330,0x3b9,0x308,0x300,0x399,
+0x308,0x300,0x399,0x308,0x300,0x8c0,1,0x3330,0x3b9,0x308,0x301,0x399,0x308,0x301,0x399,0x308,
+0x301,0x390,0x880,0x2220,0x3b9,0x342,0x399,0x342,0x399,0x342,0x880,0x3330,0x3b9,0x308,0x342,0x399,
+0x308,0x342,0x399,0x308,0x342,0x880,0x3330,0x3c5,0x308,0x300,0x3a5,0x308,0x300,0x3a5,0x308,0x300,
+0x8c0,1,0x3330,0x3c5,0x308,0x301,0x3a5,0x308,0x301,0x3a5,0x308,0x301,0x3b0,0x880,0x2220,0x3c1,
+0x313,0x3a1,0x313,0x3a1,0x313,0x880,0x2220,0x3c5,0x342,0x3a5,0x342,0x3a5,0x342,0x880,0x3330,0x3c5,
+0x308,0x342,0x3a5,0x308,0x342,0x3a5,0x308,0x342,0x880,0x2220,0x1f7c,0x3b9,0x1ffa,0x399,0x1ffa,0x345,
+0x890,9,0x220,0x3c9,0x3b9,0x3a9,0x399,0x880,0x2220,0x3ce,0x3b9,0x38f,0x399,0x38f,0x345,0x880,
+0x2220,0x3c9,0x342,0x3a9,0x342,0x3a9,0x342,0x880,0x3330,0x3c9,0x342,0x3b9,0x3a9,0x342,0x399,0x3a9,
+0x342,0x345,0xc90,9,0x220,0x3c9,0x3b9,0x3a9,0x399,0xc50,0x1d5d,1,0x3a9,0xc50,0x20bf,1,
+0x4b,0xc50,0x2046,1,0xc5,0xc10,0x29f7,0xc10,0xee6,0xc10,0x29e7,0xc10,0x2a2b,0xc10,0x2a28,0xc10,
+0x2a1c,0xc10,0x29fd,0xc10,0x2a1f,0xc10,0x2a1e,0xc10,0x2a3f,0xc10,0x1c60,0x841,0xa64b,1,0x1c88,0x844,
+0xa64a,1,0x1c88,0xc10,0x8a04,0xc10,0xa528,0xc10,0xa544,0xc10,0xa54f,0xc10,0xa54b,0xc10,0xa541,0xc10,
+0xa512,0xc10,0xa52a,0xc10,0xa515,0x810,0x3a0,0xc10,0xa543,0xc10,0x8a38,0xc10,0x3a0,0x806,0x13a0,0x13a0,
+0x806,0x13a1,0x13a1,0x806,0x13a2,0x13a2,0x806,0x13a3,0x13a3,0x806,0x13a4,0x13a4,0x806,0x13a5,0x13a5,0x806,
+0x13a6,0x13a6,0x806,0x13a7,0x13a7,0x806,0x13a8,0x13a8,0x806,0x13a9,0x13a9,0x806,0x13aa,0x13aa,0x806,0x13ab,
+0x13ab,0x806,0x13ac,0x13ac,0x806,0x13ad,0x13ad,0x806,0x13ae,0x13ae,0x806,0x13af,0x13af,0x806,0x13b0,0x13b0,
+0x806,0x13b1,0x13b1,0x806,0x13b2,0x13b2,0x806,0x13b3,0x13b3,0x806,0x13b4,0x13b4,0x806,0x13b5,0x13b5,0x806,
+0x13b6,0x13b6,0x806,0x13b7,0x13b7,0x806,0x13b8,0x13b8,0x806,0x13b9,0x13b9,0x806,0x13ba,0x13ba,0x806,0x13bb,
+0x13bb,0x806,0x13bc,0x13bc,0x806,0x13bd,0x13bd,0x806,0x13be,0x13be,0x806,0x13bf,0x13bf,0x806,0x13c0,0x13c0,
+0x806,0x13c1,0x13c1,0x806,0x13c2,0x13c2,0x806,0x13c3,0x13c3,0x806,0x13c4,0x13c4,0x806,0x13c5,0x13c5,0x806,
+0x13c6,0x13c6,0x806,0x13c7,0x13c7,0x806,0x13c8,0x13c8,0x806,0x13c9,0x13c9,0x806,0x13ca,0x13ca,0x806,0x13cb,
+0x13cb,0x806,0x13cc,0x13cc,0x806,0x13cd,0x13cd,0x806,0x13ce,0x13ce,0x806,0x13cf,0x13cf,0x806,0x13d0,0x13d0,
+0x806,0x13d1,0x13d1,0x806,0x13d2,0x13d2,0x806,0x13d3,0x13d3,0x806,0x13d4,0x13d4,0x806,0x13d5,0x13d5,0x806,
+0x13d6,0x13d6,0x806,0x13d7,0x13d7,0x806,0x13d8,0x13d8,0x806,0x13d9,0x13d9,0x806,0x13da,0x13da,0x806,0x13db,
+0x13db,0x806,0x13dc,0x13dc,0x806,0x13dd,0x13dd,0x806,0x13de,0x13de,0x806,0x13df,0x13df,0x806,0x13e0,0x13e0,
+0x806,0x13e1,0x13e1,0x806,0x13e2,0x13e2,0x806,0x13e3,0x13e3,0x806,0x13e4,0x13e4,0x806,0x13e5,0x13e5,0x806,
+0x13e6,0x13e6,0x806,0x13e7,0x13e7,0x806,0x13e8,0x13e8,0x806,0x13e9,0x13e9,0x806,0x13ea,0x13ea,0x806,0x13eb,
+0x13eb,0x806,0x13ec,0x13ec,0x806,0x13ed,0x13ed,0x806,0x13ee,0x13ee,0x806,0x13ef,0x13ef,0x880,0x2220,0x66,
+0x66,0x46,0x46,0x46,0x66,0x880,0x2220,0x66,0x69,0x46,0x49,0x46,0x69,0x880,0x2220,0x66,
+0x6c,0x46,0x4c,0x46,0x6c,0x880,0x3330,0x66,0x66,0x69,0x46,0x46,0x49,0x46,0x66,0x69,
+0x880,0x3330,0x66,0x66,0x6c,0x46,0x46,0x4c,0x46,0x66,0x6c,0x8c0,1,0x2220,0x73,0x74,
+0x53,0x54,0x53,0x74,0xfb06,0x8c0,1,0x2220,0x73,0x74,0x53,0x54,0x53,0x74,0xfb05,0x880,
+0x2220,0x574,0x576,0x544,0x546,0x544,0x576,0x880,0x2220,0x574,0x565,0x544,0x535,0x544,0x565,0x880,
+0x2220,0x574,0x56b,0x544,0x53b,0x544,0x56b,0x880,0x2220,0x57e,0x576,0x54e,0x546,0x54e,0x576,0x880,
+0x2220,0x574,0x56d,0x544,0x53d,0x544,0x56d
};
static const uint16_t ucase_props_unfold[370]={
@@ -913,16 +926,16 @@ static const UCaseProps ucase_props_singleton={
ucase_props_unfold,
{
ucase_props_trieIndex,
- ucase_props_trieIndex+3248,
+ ucase_props_trieIndex+3288,
NULL,
- 3248,
- 8816,
+ 3288,
+ 8956,
0x188,
- 0xd2c,
+ 0xd54,
0x0,
0x0,
0xe0800,
- 0x2f1c,
+ 0x2fd0,
NULL, 0, FALSE, FALSE, 0, NULL
},
{ 4,0,0,0 }
diff --git a/Build/source/libs/icu/icu-src/source/common/uchar.cpp b/Build/source/libs/icu/icu-src/source/common/uchar.cpp
index 1b84a1d075d..b54cd626d10 100644
--- a/Build/source/libs/icu/icu-src/source/common/uchar.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uchar.cpp
@@ -40,7 +40,7 @@
/* constants and macros for access to the data ------------------------------ */
/* getting a uint32_t properties word from the data */
-#define GET_PROPS(c, result) ((result)=UTRIE2_GET16(&propsTrie, c));
+#define GET_PROPS(c, result) ((result)=UTRIE2_GET16(&propsTrie, c))
/* API functions ------------------------------------------------------------ */
@@ -453,12 +453,18 @@ u_getNumericValue(UChar32 c) {
}
return numValue;
- } else if(ntv>2);
return (double)numerator/denominator;
+ } else if(ntv>2);
+ return (double)numerator/denominator;
} else {
/* reserved */
return U_NO_NUMERIC_VALUE;
diff --git a/Build/source/libs/icu/icu-src/source/common/uchar_props_data.h b/Build/source/libs/icu/icu-src/source/common/uchar_props_data.h
index e9c231908e8..10c25b3048e 100644
--- a/Build/source/libs/icu/icu-src/source/common/uchar_props_data.h
+++ b/Build/source/libs/icu/icu-src/source/common/uchar_props_data.h
@@ -11,9 +11,9 @@
#ifdef INCLUDED_FROM_UCHAR_C
-static const UVersionInfo dataVersion={0xb,0,0,0};
+static const UVersionInfo dataVersion={0xc,1,0,0};
-static const uint16_t propsTrie_index[21452]={
+static const uint16_t propsTrie_index[21968]={
0x45d,0x465,0x46d,0x475,0x48d,0x495,0x49d,0x4a5,0x4ad,0x4b5,0x4bb,0x4c3,0x4cb,0x4d3,0x4db,0x4e3,
0x4e9,0x4f1,0x4f9,0x501,0x504,0x50c,0x514,0x51c,0x524,0x52c,0x528,0x530,0x538,0x540,0x545,0x54d,
0x555,0x55d,0x561,0x569,0x571,0x579,0x581,0x589,0x585,0x58d,0x592,0x59a,0x5a0,0x5a8,0x5b0,0x5b8,
@@ -21,29 +21,29 @@ static const uint16_t propsTrie_index[21452]={
0x635,0x62d,0x63d,0x645,0x47d,0x655,0x65d,0x64d,0x66d,0x66f,0x677,0x665,0x687,0x68d,0x695,0x67f,
0x6a5,0x6ab,0x6b3,0x69d,0x6c3,0x6c9,0x6d1,0x6bb,0x6e1,0x6e7,0x6ef,0x6d9,0x6ff,0x707,0x70f,0x6f7,
0x71f,0x725,0x72d,0x717,0x73d,0x743,0x74b,0x735,0x75b,0x760,0x768,0x753,0x778,0x77f,0x787,0x770,
-0x609,0x78f,0x797,0x47d,0x79f,0x7a7,0x7af,0x47d,0x7b7,0x7bf,0x7c7,0x7cc,0x7d4,0x7db,0x7e3,0x47d,
-0x5c8,0x7eb,0x7f3,0x7fb,0x803,0x555,0x813,0x80b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x81b,0x5c8,0x823,0x827,0x82f,0x5c8,0x835,0x5c8,0x83b,0x843,0x84b,0x555,0x555,0x853,
-0x85b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x860,0x868,0x5c8,0x5c8,0x870,0x878,0x880,0x888,0x890,0x5c8,0x898,0x8a0,0x8a8,
-0x8b8,0x5c8,0x8c0,0x8c2,0x8ca,0x8b0,0x5c8,0x8cd,0x8e1,0x8d5,0x8dd,0x8e9,0x5c8,0x8f1,0x8f7,0x8ff,
-0x907,0x5c8,0x917,0x91f,0x927,0x90f,0x47d,0x47d,0x937,0x93a,0x942,0x92f,0x952,0x94a,0x5c8,0x959,
-0x5c8,0x968,0x961,0x970,0x978,0x97c,0x984,0x98c,0x4fd,0x994,0x997,0x99d,0x9a4,0x997,0x524,0x9ac,
-0x4ad,0x4ad,0x4ad,0x4ad,0x9b4,0x4ad,0x4ad,0x4ad,0x9c4,0x9cc,0x9d4,0x9dc,0x9e4,0x9e8,0x9f0,0x9bc,
-0xa08,0xa10,0x9f8,0xa00,0xa18,0xa20,0xa28,0xa30,0xa48,0xa38,0xa40,0xa50,0xa58,0xa67,0xa6c,0xa5f,
-0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa7c,0xa84,0x8ff,0xa87,0xa8f,0xa96,0xa9b,0xaa3,
-0x8ff,0xaaa,0xaa9,0xaba,0xabd,0x8ff,0x8ff,0xab2,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0xacc,0xad4,0xac4,
-0x8ff,0x8ff,0x8ff,0xad9,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0xadf,0xae7,0x8ff,0xaef,0xaf6,
-0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0xa74,0xa74,0xa74,0xa74,0xafe,0xa74,0xb05,0xb0c,
-0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0x8ff,0xb14,0xb1b,0xb1f,0xb25,0x8ff,0xb2b,0xaa4,
-0x555,0xb3b,0xb33,0xb43,0x4ad,0x4ad,0x4ad,0xb4b,0x4fd,0xb53,0x5c8,0xb59,0xb69,0xb61,0xb61,0x524,
-0xb71,0xb79,0xb81,0x47d,0xb89,0x8ff,0x8ff,0xb90,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0xb98,0xb9e,
-0xbae,0xba6,0x609,0x5c8,0xbb6,0x85b,0x5c8,0xbbe,0xbc6,0xbca,0x5c8,0x5c8,0xbcf,0xbd7,0x8ff,0xbdf,
-0xaa4,0xbe7,0xbed,0x8ff,0xbe7,0xbf5,0x8ff,0xaa4,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,
-0xbfd,0x5c8,0x5c8,0x5c8,0xc05,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x609,0x78f,0x797,0x47d,0x79f,0x7a6,0x7ae,0x47d,0x7b6,0x7be,0x7c6,0x7cb,0x7d3,0x7da,0x7e2,0x47d,
+0x5c8,0x7ea,0x7f2,0x7fa,0x802,0x555,0x812,0x80a,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x81a,0x5c8,0x822,0x826,0x82e,0x5c8,0x834,0x5c8,0x83a,0x842,0x84a,0x555,0x555,0x852,
+0x85a,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x85f,0x867,0x5c8,0x5c8,0x86f,0x877,0x87f,0x887,0x88f,0x5c8,0x897,0x89f,0x8a7,
+0x8b7,0x5c8,0x8bf,0x8c1,0x8c9,0x8af,0x5c8,0x8cc,0x8e0,0x8d4,0x8dc,0x8e8,0x5c8,0x8f0,0x8f6,0x8fe,
+0x906,0x5c8,0x916,0x91e,0x926,0x90e,0x47d,0x47d,0x936,0x939,0x941,0x92e,0x951,0x949,0x5c8,0x958,
+0x5c8,0x967,0x960,0x96f,0x977,0x97b,0x983,0x98b,0x4fd,0x993,0x996,0x99c,0x9a3,0x996,0x524,0x9ab,
+0x4ad,0x4ad,0x4ad,0x4ad,0x9b3,0x4ad,0x4ad,0x4ad,0x9c3,0x9cb,0x9d3,0x9db,0x9e3,0x9e7,0x9ef,0x9bb,
+0xa07,0xa0f,0x9f7,0x9ff,0xa17,0xa1f,0xa27,0xa2f,0xa47,0xa37,0xa3f,0xa4f,0xa57,0xa66,0xa6b,0xa5e,
+0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0xa7b,0xa83,0x8fe,0xa86,0xa8e,0xa95,0xa9a,0xaa2,
+0x8fe,0xaa9,0xaa8,0xab9,0xabc,0x8fe,0x8fe,0xab1,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xacb,0xad3,0xac3,
+0x8fe,0x8fe,0x8fe,0xad8,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xade,0xae6,0x8fe,0xaee,0xaf5,
+0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xa73,0xa73,0xa73,0xa73,0xafd,0xa73,0xb04,0xb0b,
+0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0xa73,0x8fe,0xb13,0xb1a,0xb1e,0xb24,0x8fe,0x8fe,0x8fe,
+0x555,0xb34,0xb2c,0xb3c,0x4ad,0x4ad,0x4ad,0xb44,0x4fd,0xb4c,0x5c8,0xb52,0xb62,0xb5a,0xb5a,0x524,
+0xb6a,0xb72,0xb7a,0x47d,0xb82,0x8fe,0x8fe,0xb89,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xb91,0xb97,
+0xba7,0xb9f,0x609,0x5c8,0xbaf,0x85a,0x5c8,0xbb7,0xbbf,0xbc3,0x5c8,0x5c8,0xbc8,0xbd0,0x8fe,0xbd8,
+0xaa3,0xbe0,0xbe6,0x8fe,0xbe0,0xbee,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,
+0xbf6,0x5c8,0x5c8,0x5c8,0xbfe,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0xc0b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc10,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0xc04,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc09,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
@@ -52,54 +52,54 @@ static const uint16_t propsTrie_index[21452]={
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8cd,0x8ff,0x8ff,
-0xc18,0x5c8,0xc1b,0x5c8,0xc23,0xc29,0xc31,0xc39,0xc3e,0x5c8,0x5c8,0xc42,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc49,0x5c8,0xc50,0xc56,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc5e,0x5c8,0x5c8,0x5c8,0xc66,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8cc,0x8fe,0x8fe,
+0xc11,0x5c8,0xc14,0x5c8,0xc1c,0xc22,0xc2a,0xc32,0xc37,0x5c8,0x5c8,0xc3b,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc42,0x5c8,0xc49,0xc4f,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc57,0x5c8,0x5c8,0x5c8,0xc5f,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc68,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc6f,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc61,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc68,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0xc76,0x5c8,0x5c8,0x5c8,0xc7d,0xc85,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0xc6f,0x5c8,0x5c8,0x5c8,0xc76,0xc7e,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc8a,0x5c8,0x5c8,0xc92,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc83,0x5c8,0x5c8,0xc8b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc96,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc8f,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc99,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc92,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc9c,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xc95,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0xca2,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0xc9b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0xcaa,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0xca3,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0xcaf,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0xca8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcb4,0x5c8,0x5c8,0x5c8,0xcb9,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcad,0x5c8,0x5c8,0x5c8,0xcb2,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0xcc1,0xcc8,0xccc,0x5c8,0x5c8,0x5c8,0xcd3,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0xcba,0xcc1,0xcc5,0x5c8,0x5c8,0x5c8,0xccc,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcd9,
-0xce9,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcd2,
+0xce2,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0xce1,0x8ff,0xcf1,0x970,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0xcf6,0xcfe,0x4ad,0xd0e,0xd06,0x5c8,0x5c8,0xd16,0xd1e,0xd2e,0x4ad,0xd33,0xd3b,0xd41,0x47d,0xd26,
-0xd49,0xd51,0x5c8,0xd59,0xd69,0xd6c,0xd61,0xd74,0x61d,0xd7c,0xd83,0x8c1,0x66d,0xd93,0xd8b,0xd9b,
-0x5c8,0xda3,0xdab,0xdb3,0x5c8,0xdbb,0xdc3,0xdcb,0xdd3,0xddb,0xddf,0xde7,0x4fd,0x4fd,0x5c8,0xdef,
+0x5c8,0x5c8,0x5c8,0x5c8,0xcda,0x8fe,0xcea,0x96f,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0xcef,0xcf7,0x4ad,0xd07,0xcff,0x5c8,0x5c8,0xd0f,0xd17,0xd27,0x4ad,0xd2c,0xd34,0xd3a,0xd42,0xd1f,
+0xd4a,0xd52,0x5c8,0xd5a,0xd6a,0xd6d,0xd62,0xd75,0x61d,0xd7d,0xd84,0x8c0,0x66d,0xd94,0xd8c,0xd9c,
+0x5c8,0xda4,0xdac,0xdb4,0x5c8,0xdbc,0xdc4,0xdcc,0xdd4,0xddc,0xde0,0xde8,0x4fd,0x4fd,0x5c8,0xdf0,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
@@ -121,29 +121,29 @@ static const uint16_t propsTrie_index[21452]={
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xdf7,0xe03,0xdfb,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xdf8,0xe04,0xdfc,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,
-0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0x5c8,0x5c8,0x5c8,0xe1b,0x5c8,0xcd4,0xe22,0xe27,
-0x5c8,0x5c8,0x5c8,0xe2f,0x5c8,0x5c8,0x8cc,0x47d,0xe45,0xe35,0xe3d,0x5c8,0x5c8,0xe4d,0xe55,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xe5a,0xe62,0x5c8,0xe66,0x5c8,0xe6c,0xe70,
-0xe78,0xe80,0xe87,0xe8f,0x5c8,0x5c8,0x5c8,0xe95,0xead,0x46d,0xeb5,0xebd,0xec2,0x8e1,0xe9d,0xea5,
-0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,
-0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,0xe0b,
+0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,
+0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0x5c8,0x5c8,0x5c8,0xe1c,0x5c8,0xccd,0xe23,0xe28,
+0x5c8,0x5c8,0x5c8,0xe30,0x5c8,0x5c8,0x8cb,0x47d,0xe46,0xe36,0xe3e,0x5c8,0x5c8,0xe4e,0xe56,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xe5b,0xe63,0x5c8,0xe67,0x5c8,0xe6d,0xe71,
+0xe79,0xe81,0xe88,0xe90,0x5c8,0x5c8,0x5c8,0xe96,0xeae,0x46d,0xeb6,0xebe,0xec3,0x8e0,0xe9e,0xea6,
+0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,
+0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,0xe0c,
0x11f4,0x11f4,0x1234,0x1274,0x12b4,0x12ec,0x132c,0x136c,0x13a4,0x13e4,0x1410,0x1450,0x1490,0x14a0,0x14e0,0x1514,
0x1554,0x1584,0x15c4,0x1604,0x1614,0x1648,0x1680,0x16c0,0x1700,0x1740,0x1774,0x17a0,0x17e0,0x1818,0x1834,0x1874,
0xa80,0xac0,0xb00,0xb40,0xb80,0xa40,0xbc0,0xa40,0xbe2,0xa40,0xa40,0xa40,0xa40,0xc22,0x1db,0x1db,
@@ -182,118 +182,118 @@ static const uint16_t propsTrie_index[21452]={
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0xeca,0xed1,0xed9,0x47d,0x5c8,0x5c8,0x5c8,0xbd7,0xee9,0xee1,0xf00,0xef1,0xef8,0xf08,0xb85,0xf10,
-0x47d,0x47d,0x47d,0x47d,0x8c1,0x5c8,0xf18,0xf20,0x5c8,0xf28,0xf30,0xf34,0xf3c,0x5c8,0xf44,0x47d,
-0x555,0x55f,0xf4c,0x5c8,0xf50,0xf58,0xf68,0xf60,0x5c8,0xf70,0x5c8,0xf77,0x47d,0x47d,0x47d,0x47d,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xb69,0x8cd,0xe6c,0x47d,0x47d,0x47d,0x47d,
-0xf87,0xf7f,0xf8a,0xf92,0x8e1,0xf9a,0x47d,0xfa2,0xfaa,0xfb2,0x47d,0x47d,0x5c8,0xfc2,0xfca,0xfba,
-0xfda,0xfe1,0xfd2,0xfe9,0xff1,0x47d,0x1001,0xff9,0x5c8,0x1004,0x100c,0x1014,0x101c,0x1024,0x47d,0x47d,
-0x5c8,0x5c8,0x102c,0x47d,0x555,0x1034,0x4fd,0x103c,0x5c8,0x1044,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x104c,0x47d,0x47d,0x47d,0x47d,0x1054,0x105c,0x1063,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x1073,0x5fe,0x107b,0x106b,0x952,0x1083,0x108b,0x1091,0x10a9,0x1099,0x10a1,0x10ad,0x952,0x10bd,0x10b5,0x10c5,
-0x10d5,0x10cd,0x47d,0x47d,0x10dc,0x10e4,0x620,0x10ec,0x10fc,0x1102,0x110a,0x10f4,0x47d,0x47d,0x47d,0x47d,
-0x5c8,0x1112,0x111a,0x47d,0x5c8,0x1122,0x112a,0x47d,0x47d,0x47d,0x47d,0x47d,0x5c8,0x1132,0x113a,0x47d,
-0x5c8,0x1142,0x114a,0x1152,0x5c8,0x1162,0x115a,0x47d,0x83b,0x116a,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x5c8,0x1172,0x47d,0x47d,0x47d,0x555,0x4fd,0x117a,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x1192,0x1182,0x118a,0x5c8,0x11a2,0x119a,0x5c8,0x8c2,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x11b8,0x11bd,0x11aa,0x11b2,0x11cd,0x11c5,0x47d,0x47d,0x11dc,0x11e0,0x11d4,0x11f0,0x11e8,0x115a,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x11f4,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8cc,0x47d,0x47d,0x47d,
-0x1204,0x120c,0x1214,0x11fc,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x121c,0x47d,0x47d,0x47d,0x47d,0x47d,
+0xecb,0xed2,0xeda,0x47d,0x5c8,0x5c8,0x5c8,0xbd0,0xeea,0xee2,0xf01,0xef2,0xef9,0xf09,0xb7e,0xf11,
+0x47d,0x47d,0x47d,0x47d,0x8c0,0x5c8,0xf19,0xf21,0x5c8,0xf29,0xf31,0xf35,0xf3d,0x5c8,0xf45,0x47d,
+0x555,0x55f,0xf4d,0x5c8,0xf51,0xf59,0xf69,0xf61,0x5c8,0xf71,0x5c8,0xf78,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xb62,0x8cc,0xe6d,0x47d,0x47d,0x47d,0x47d,
+0xf88,0xf80,0xf8b,0xf93,0x8e0,0xf9b,0x47d,0xfa3,0xfab,0xfb3,0x47d,0x47d,0x5c8,0xfc3,0xfcb,0xfbb,
+0xfdb,0xfe2,0xfd3,0xfea,0xff2,0x47d,0x1002,0xffa,0x5c8,0x1005,0x100d,0x1015,0x101d,0x1025,0x47d,0x47d,
+0x5c8,0x5c8,0x102d,0x47d,0x555,0x1035,0x4fd,0x103d,0x5c8,0x1045,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x104d,0x47d,0x47d,0x47d,0x47d,0x1055,0x105d,0x1064,0x47d,0x47d,0x47d,0x47d,0xb62,
+0x1074,0x5fe,0x107c,0x106c,0x951,0x1084,0x108c,0x1092,0x10aa,0x109a,0x10a2,0x10ae,0x951,0x10be,0x10b6,0x10c6,
+0x10d6,0x10ce,0x47d,0x47d,0x10dd,0x10e5,0x620,0x10ed,0x10fd,0x1103,0x110b,0x10f5,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x1113,0x111b,0x47d,0x5c8,0x1123,0x112b,0x47d,0x47d,0x47d,0x47d,0x47d,0x5c8,0x1133,0x113b,0x47d,
+0x5c8,0x1143,0x114b,0x1153,0x5c8,0x1163,0x115b,0x47d,0x83a,0x116b,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x1173,0x47d,0x47d,0x47d,0x555,0x4fd,0x117b,0x47d,0x47d,0x47d,0x47d,0x47d,0x118b,0x118f,0x1183,
+0x11a7,0x1197,0x119f,0x5c8,0x11b7,0x11af,0x5c8,0x8c1,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x11cd,0x11d2,0x11bf,0x11c7,0x11e2,0x11da,0x47d,0x47d,0x11f1,0x11f5,0x11e9,0x1205,0x11fd,0x115b,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x1209,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x1219,0x1211,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8cb,0x47d,0x47d,0x47d,
+0x1229,0x1231,0x1239,0x1221,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x1241,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x1224,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x1249,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x1226,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x5c8,0x5c8,0x5c8,0x1251,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x8c2,0x8e1,0x122e,0x47d,0x47d,0xe62,0x1236,0x5c8,0x123e,0x1246,0x124e,0xcd9,0x47d,
+0x5c8,0x5c8,0x5c8,0x8c1,0x8e0,0x1259,0x47d,0x47d,0xe63,0x1261,0x5c8,0x1269,0x1271,0x1279,0xcd2,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x47d,0x555,0x4fd,0x1256,0x47d,0x47d,0x47d,0x5c8,0x5c8,0x125e,0x1263,0x126b,0x47d,
-0x47d,0x1273,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x47d,0x47d,0x47d,0x47d,0x555,0x4fd,0x1281,0x47d,0x47d,0x47d,0x5c8,0x5c8,0x1289,0x128e,0x1294,0x47d,
+0x47d,0x129c,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x127b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x1283,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x12a4,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x12ac,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8e1,0x47d,0x47d,0xe62,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xdfb,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x8e0,0x47d,0x12b1,0x12b8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xdfc,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x128b,0x1290,0x1298,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x12be,0x12c3,0x12cb,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0xb98,0x8ff,0x12a0,0x8ff,0x12a7,0x12af,0x12b5,
-0x8ff,0x12bb,0x8ff,0x8ff,0x12c3,0x47d,0x47d,0x47d,0x47d,0x12cb,0x8ff,0x8ff,0xaa6,0x12d3,0x47d,0x47d,
-0x47d,0x47d,0x12e3,0x12ea,0x12ef,0x12f5,0x12fd,0x1305,0x130d,0x12e7,0x1315,0x131d,0x1325,0x132a,0x12fc,0x12e3,
-0x12ea,0x12e6,0x12f5,0x1332,0x12e4,0x1335,0x12e7,0x133d,0x1345,0x134d,0x1354,0x1340,0x1348,0x1350,0x1357,0x1343,
-0x135f,0x12db,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,
-0x8ff,0x8ff,0x524,0x136f,0x524,0x1376,0x137d,0x1367,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xb91,0x8fe,0x12d3,0x8fe,0x12da,0x12e2,0x12e8,
+0x8fe,0x12ee,0x8fe,0x8fe,0x12f6,0x47d,0x47d,0x47d,0x47d,0x12fe,0x8fe,0x8fe,0xaa5,0x1306,0x47d,0x47d,
+0x47d,0x47d,0x1316,0x131d,0x1322,0x1328,0x1330,0x1338,0x1340,0x131a,0x1348,0x1350,0x1358,0x135d,0x132f,0x1316,
+0x131d,0x1319,0x1328,0x1365,0x1317,0x1368,0x131a,0x1370,0x1378,0x1380,0x1387,0x1373,0x137b,0x1383,0x138a,0x1376,
+0x1392,0x130e,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,
+0x8fe,0x8fe,0x524,0x13a2,0x524,0x13a9,0x13b0,0x139a,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x1384,0x138c,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x13b7,0x13bf,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x5c8,0x13cf,0x13c7,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x5c8,0x13d7,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x13df,0x47d,0x555,0x13ef,0x13e7,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x1394,0x47d,0x555,0x13a4,0x139c,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x47d,0x47d,0x13f7,0x1407,0x13ff,0x47d,0x47d,0x1417,0x140f,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x1427,0x142f,0x1437,0x143f,0x1447,0x144f,0x47d,0x141f,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x8fe,0x1457,0x8fe,0x8fe,0xb89,0x145c,0x1460,0xb91,0x1468,0x8fe,0x8fe,0x146d,0x8fe,0x12ed,
+0x47d,0x1475,0x147d,0x1481,0x1489,0x1491,0x47d,0x47d,0x47d,0x47d,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,
+0x8fe,0x1499,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,
+0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0x8fe,0xb91,0x14a1,0x8fe,0x8fe,0x8fe,0xb89,0x8fe,0x8fe,
+0x14a9,0x14b1,0x1457,0x8fe,0x14b9,0x8fe,0x14c1,0xb93,0x47d,0x47d,0x14c6,0x8fe,0x8fe,0x14ca,0x8fe,0x14d2,
+0x14d8,0x8fe,0x8fe,0x8fe,0xb89,0x14dd,0x14e3,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x47d,0x47d,0x13ac,0x13bc,0x13b4,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x13cc,0x13d4,0x13dc,0x13e4,0x13ec,0x13f4,0x47d,0x13c4,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x8ff,0x13fc,0x8ff,0x8ff,0xb90,0x1401,0x1405,0xb98,0x140d,0x8ff,0x8ff,0x13fc,0x8ff,0x12ba,
-0x47d,0x1415,0x141d,0x1421,0x1429,0x1431,0x47d,0x47d,0x47d,0x47d,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,
-0x8ff,0x1439,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,
-0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x8ff,0x1441,0x1449,0x8ff,0x8ff,0x8ff,0xb90,0x8ff,0x8ff,
-0x1451,0x47d,0x13fc,0x8ff,0x1459,0x8ff,0x1461,0xb9a,0x47d,0x47d,0x13fc,0xaa4,0x8ff,0x1465,0x8ff,0x146d,
-0x141d,0x8ff,0x47d,0x47d,0x47d,0xb9a,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x1475,0x5c8,0x5c8,0x147c,0x5c8,0x5c8,0x5c8,0x1484,0x5c8,0x148c,0x5c8,0x5c8,0x5c8,0x5c8,
+0x47d,0x47d,0x14eb,0x5c8,0x5c8,0x14f2,0x5c8,0x5c8,0x5c8,0x14fa,0x5c8,0x1502,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0xc7a,0x5c8,0x5c8,0x1494,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x149c,0x14a4,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0xc73,0x5c8,0x5c8,0x150a,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x1512,0x151a,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcb9,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0xcb2,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x14ab,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x1521,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x14b2,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x1528,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x14b9,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x152f,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0xb69,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0xb62,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x14bd,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0xf50,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x1533,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0xf51,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x127f,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x153b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x14c2,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x5c8,0x5c8,0x1543,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x14ca,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
-0x5c8,0x5c8,0x5c8,0xf50,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x5c8,0x5c8,0x5c8,0x5c8,0x154b,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,0x5c8,
+0x5c8,0x5c8,0x5c8,0xf51,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0x14da,0x14d2,0x14d2,0x14d2,0x47d,0x47d,0x47d,0x47d,0x524,0x524,0x524,0x524,0x524,
-0x524,0x524,0x14e2,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x155b,0x1553,0x1553,0x1553,0x47d,0x47d,0x47d,0x47d,0x524,0x524,0x524,0x524,0x524,
+0x524,0x524,0x1563,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
-0x47d,0x47d,0x47d,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,0xe13,
-0xe13,0xe13,0x14ea,0x45c,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
+0x47d,0x47d,0x47d,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,0xe14,
+0xe14,0xe14,0x156b,0x45c,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
0xf,0xf,0xf,0xf,0xc,0x17,0x17,0x17,0x19,0x17,0x17,0x17,0x14,0x15,0x17,0x18,
0x17,0x13,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,
@@ -469,7 +469,7 @@ static const uint16_t propsTrie_index[21452]={
0,0,8,8,8,0,8,8,8,6,0,0,5,0,0,0,
0,0,0,8,0,0,0,0,0,0,0,0,5,5,6,6,
0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,
-0,0,0,0,0x54b,0x58b,0x5cb,0x60b,0x58b,0x5cb,0x60b,0x1b,6,8,8,8,
+0,0,0,0x17,0x54b,0x58b,0x5cb,0x60b,0x58b,0x5cb,0x60b,0x1b,6,8,8,8,
6,5,5,5,5,5,5,5,5,0,5,5,5,0,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
@@ -502,803 +502,827 @@ static const uint16_t propsTrie_index[21452]={
6,6,6,6,6,6,6,0,0,0,0,0x19,5,5,5,5,
5,5,4,6,6,6,6,6,6,6,6,0x17,0x49,0x89,0xc9,0x109,
0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,0,0,0,0,0,5,5,0,
-5,0,0,5,5,0,5,0,0,5,0,0,0,0,0,0,
-5,5,5,5,0,5,5,5,5,5,5,5,0,5,5,5,
-0,5,0,5,0,0,5,5,0,5,5,5,5,6,5,5,
-6,6,6,6,6,6,0,6,6,5,0,0,5,5,5,5,
-5,0,4,0,6,6,6,6,6,6,0,0,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,5,5,5,5,5,0x1b,0x1b,0x1b,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x1b,
-0x17,0x1b,0x1b,0x1b,6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0x344b,0x3c4b,0x444b,0x4c4b,0x544b,0x5c4b,0x644b,0x6c4b,0x744b,0x2c4b,
-0x1b,6,0x1b,6,0x1b,6,0x14,0x15,0x14,0x15,8,8,5,5,5,5,
-5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,
-0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,
-6,6,6,6,6,0x17,6,6,5,5,5,5,5,6,6,6,
-6,6,6,6,6,6,6,6,0,6,6,6,6,6,6,6,
+5,0,5,5,5,5,5,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,5,0,5,
+5,5,5,5,5,5,5,5,5,6,5,5,6,6,6,6,
+6,6,6,6,6,5,0,0,5,5,5,5,5,0,4,0,
+6,6,6,6,6,6,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0,0,5,5,5,5,5,0x1b,0x1b,0x1b,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x1b,0x17,0x1b,0x1b,0x1b,
+6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0x344b,0x3c4b,0x444b,0x4c4b,0x544b,0x5c4b,0x644b,0x6c4b,0x744b,0x2c4b,0x1b,6,0x1b,6,
+0x1b,6,0x14,0x15,0x14,0x15,8,8,5,5,5,5,5,5,5,5,
+0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0,0,0,0,6,6,6,
+6,6,6,6,6,6,6,6,6,6,6,8,6,6,6,6,
+6,0x17,6,6,5,5,5,5,5,6,6,6,6,6,6,6,
+6,6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,6,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x17,0x17,0x17,0x17,
-0x17,0x1b,0x1b,0x1b,0x1b,0x17,0x17,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,8,8,6,6,6,6,8,6,6,
-6,6,6,6,8,6,6,8,8,6,6,5,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,0x17,0x17,0x17,0x17,5,5,5,5,
-5,5,8,8,6,6,5,5,5,5,6,6,6,5,8,8,
-8,5,5,8,8,8,8,8,8,8,5,5,5,6,6,6,
-6,5,5,5,5,5,5,5,5,5,5,5,5,5,6,8,
-8,6,6,8,8,8,8,8,8,6,5,8,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,8,8,8,6,0x1b,0x1b,2,2,2,2,
+6,6,6,6,6,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x17,0x17,0x17,0x17,0x17,0x1b,0x1b,0x1b,
+0x1b,0x17,0x17,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,8,8,6,6,6,6,8,6,6,6,6,6,6,
+8,6,6,8,8,6,6,5,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0x17,0x17,0x17,0x17,0x17,0x17,5,5,5,5,5,5,8,8,
+6,6,5,5,5,5,6,6,6,5,8,8,8,5,5,8,
+8,8,8,8,8,8,5,5,5,6,6,6,6,5,5,5,
+5,5,5,5,5,5,5,5,5,5,6,8,8,6,6,8,
+8,8,8,8,8,6,5,8,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,8,8,8,6,0x1b,0x1b,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,0x17,4,2,2,2,1,1,1,1,
-1,1,0,1,0,0,0,0,0,1,0,0,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,
-5,5,5,5,5,0,5,5,5,5,0,0,5,5,5,5,
-5,5,5,0,5,0,5,5,5,5,0,0,5,5,5,5,
-5,5,5,5,5,0,5,5,5,5,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
-5,5,0,0,5,5,5,5,5,5,5,0,5,0,5,5,
-5,5,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,0,5,5,5,5,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,0,0,6,6,6,0x17,0x17,0x17,0x17,
-0x17,0x17,0x17,0x17,0x17,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,
-0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x788b,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,0,0,2,2,2,2,2,2,0,0,0x13,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x17,0x17,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0xc,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0x14,0x15,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,0x17,0x17,0x17,0x98a,0x9ca,
-0xa0a,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
-5,5,6,6,6,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,6,6,6,0x17,0x17,0,0,0,0,0,0,0,0,0,
+2,2,2,0x17,4,2,2,2,1,1,1,1,1,1,0,1,
+0,0,0,0,0,1,0,0,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,5,5,5,5,5,5,5,5,
+5,0,5,5,5,5,0,0,5,5,5,5,5,5,5,0,
+5,0,5,5,5,5,0,0,5,5,5,5,5,5,5,5,
+5,0,5,5,5,5,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0,5,5,5,5,0,0,
+5,5,5,5,5,5,5,0,5,0,5,5,5,5,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
-5,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,
+5,0,5,5,5,5,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,0,0,6,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+0x17,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,
+0x16cb,0x194b,0x1bcb,0x1e4b,0x788b,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
+2,2,2,2,2,2,0,0,0x13,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0x1b,0x17,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0xc,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,0x14,0x15,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,0x17,0x17,0x17,0x98a,0x9ca,0xa0a,5,5,5,
+5,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0,5,5,5,5,6,6,
+6,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,
+6,0x17,0x17,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0,5,5,5,0,6,6,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,6,6,8,6,6,6,6,6,6,6,8,8,
-8,8,8,8,8,8,6,8,8,6,6,6,6,6,6,6,
-6,6,6,6,0x17,0x17,0x17,4,0x17,0x17,0x17,0x19,5,6,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-0x54b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,6,5,0,0,0,0,0,
+6,6,8,6,6,6,6,6,6,6,8,8,8,8,8,8,
+8,8,6,8,8,6,6,6,6,6,6,6,6,6,6,6,
+0x17,0x17,0x17,4,0x17,0x17,0x17,0x19,5,6,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,0x54b,0x58b,0x5cb,0x60b,
+0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,6,5,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x17,0x17,0x17,0x17,
+0x17,0x17,0x13,0x17,0x17,0x17,0x17,6,6,6,0x10,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,5,5,5,4,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0x17,0x17,0x17,0x17,0x17,0x17,0x13,0x17,0x17,0x17,0x17,6,6,6,0x10,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,
+0,0,0,0,5,5,5,5,5,6,6,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0,0,0,0,0,0,0,5,5,5,5,5,6,6,5,
+5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,
+6,6,6,8,8,8,8,6,6,8,8,8,0,0,0,0,
+8,8,6,8,8,8,8,8,8,6,6,6,0,0,0,0,
+0x1b,0,0,0,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,
-0,0,0,0,6,6,6,8,8,8,8,6,6,8,8,8,
-0,0,0,0,8,8,6,8,8,8,8,8,8,6,6,6,
-0,0,0,0,0x1b,0,0,0,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,
-0x1c9,0x209,0x249,0x289,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
+5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,0,5,5,5,5,5,0,0,0,0,0,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0x30b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+5,5,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0x30b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,6,6,8,8,6,0,0,0x17,0x17,0x17,0x17,0x17,0x17,
-0x17,0x17,0x17,4,0x17,0x17,0x17,0x17,0x17,0x17,0,0,6,6,6,6,
-6,6,6,6,6,6,6,6,6,6,7,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,8,6,8,6,6,6,6,6,6,6,0,6,8,6,8,
-8,6,6,6,6,6,6,6,6,8,8,8,8,8,8,6,
-6,6,6,6,6,6,6,6,6,0,0,6,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,0x17,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,6,6,6,6,6,6,6,6,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,6,6,6,6,
-8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,6,8,6,6,
-6,6,6,8,6,8,8,8,8,8,6,8,8,5,5,5,
-5,5,5,5,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0x17,0x17,0x17,0x17,0x17,0x17,5,8,6,6,6,6,8,8,
-6,6,8,6,6,6,5,5,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,5,5,5,5,5,5,6,6,8,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,6,8,6,6,8,8,
-8,6,8,6,6,6,8,8,0,0,0,0,0,0,0,0,
-0x17,0x17,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
-0,5,5,5,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,
-5,5,5,5,8,8,8,8,8,8,8,8,6,6,6,6,
-6,6,6,6,8,8,6,6,0,0,0,0x17,0x17,0x17,0x17,0x17,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,4,4,4,4,4,4,0x17,0x17,
-2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,
+6,8,8,6,0,0,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,4,
+0x17,0x17,0x17,0x17,0x17,0x17,0,0,6,6,6,6,6,6,6,6,
+6,6,6,6,6,6,7,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,8,6,8,
+6,6,6,6,6,6,6,0,6,8,6,8,8,6,6,6,
+6,6,6,6,6,8,8,8,8,8,8,6,6,6,6,6,
+6,6,6,6,6,0,0,6,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0,0,0,0,0,0,0x17,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,6,6,6,6,6,6,6,6,6,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,6,6,6,6,8,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,6,8,6,6,6,6,6,8,
+6,8,8,8,8,8,6,8,8,5,5,5,5,5,5,5,
+0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,
+0x17,0x17,0x17,0x17,5,8,6,6,6,6,8,8,6,6,8,6,
+6,6,5,5,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,
+5,5,5,5,6,6,8,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,6,8,6,6,8,8,8,6,8,6,
+6,6,8,8,0,0,0,0,0,0,0,0,0x17,0x17,0x17,0x17,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,5,5,5,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,5,5,5,5,
+8,8,8,8,8,8,8,8,6,6,6,6,6,6,6,6,
+8,8,6,6,0,0,0,0x17,0x17,0x17,0x17,0x17,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,4,4,4,4,4,4,0x17,0x17,2,2,2,2,
+2,2,2,2,2,0,0,0,0,0,0,0,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,
-6,6,6,0x17,6,6,6,6,6,6,6,6,6,6,6,6,
-6,8,6,6,6,6,6,6,6,5,5,5,5,6,5,5,
-5,5,8,8,6,5,5,8,6,6,0,0,0,0,0,0,
-2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,
+1,1,1,1,1,1,1,0,0,1,1,1,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,6,6,6,0x17,
+6,6,6,6,6,6,6,6,6,6,6,6,6,8,6,6,
+6,6,6,6,6,5,5,5,5,6,5,5,5,5,5,5,
+6,5,5,8,6,6,5,0,0,0,0,0,2,2,2,2,
+2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,
-2,2,2,2,2,2,2,2,2,2,2,2,4,2,2,2,
+4,4,4,4,4,4,4,4,4,4,4,2,2,2,2,2,
+2,2,2,2,2,2,2,2,4,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,4,4,4,4,4,
+2,2,2,2,2,2,2,4,4,4,4,4,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,6,6,0,6,6,6,6,6,
+6,6,6,6,6,6,0,6,6,6,6,6,1,2,1,2,
1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,
-1,2,1,2,1,2,2,2,2,2,2,2,2,2,1,2,
-2,2,2,2,2,2,2,2,1,1,1,1,1,0x1a,0x1a,0x1a,
-0,0,2,2,2,0,2,2,1,1,1,1,3,0x1a,0x1a,0,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
-2,2,2,2,2,2,0,0,1,1,1,1,1,1,0,0,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
-2,2,2,2,2,2,0,0,1,1,1,1,1,1,0,0,
-2,2,2,2,2,2,2,2,0,1,0,1,0,1,0,1,
-2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,
-2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,
-2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,
-2,2,2,2,2,0,2,2,1,1,1,1,3,0x1a,2,0x1a,
-0x1a,0x1a,2,2,2,0,2,2,1,1,1,1,3,0x1a,0x1a,0x1a,
-2,2,2,2,0,0,2,2,1,1,1,1,0,0x1a,0x1a,0x1a,
-0x16,0x17,0x17,0x17,0x18,0x14,0x15,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-0x17,0x17,0x18,0x17,0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0xc,
-0x10,0x10,0x10,0x10,0x10,0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-0x2cb,4,0,0,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x18,0x18,0x18,0x14,0x15,4,
-0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x10,0x10,0x10,0x10,0x10,
-0x13,0x13,0x13,0x13,0x13,0x13,0x17,0x17,0x1c,0x1d,0x14,0x1c,0x1c,0x1d,0x14,0x1c,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0xd,0xe,0x10,0x10,0x10,0x10,0x10,0xc,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x1c,0x1d,0x17,0x17,0x17,0x17,0x16,
-0x2cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x18,0x18,0x18,0x14,0x15,0,
-4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,
-0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
+1,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,
+2,2,2,2,1,1,1,1,1,0x1a,0x1a,0x1a,0,0,2,2,
+2,0,2,2,1,1,1,1,3,0x1a,0x1a,0,2,2,2,2,
+2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,
+2,2,0,0,1,1,1,1,1,1,0,0,2,2,2,2,
+2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,
+2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,
+2,2,0,0,1,1,1,1,1,1,0,0,2,2,2,2,
+2,2,2,2,0,1,0,1,0,1,0,1,2,2,2,2,
+2,2,2,2,1,1,1,1,1,1,1,1,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,
+2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,
+2,2,2,2,3,3,3,3,3,3,3,3,2,2,2,2,
+2,0,2,2,1,1,1,1,3,0x1a,2,0x1a,0x1a,0x1a,2,2,
+2,0,2,2,1,1,1,1,3,0x1a,0x1a,0x1a,2,2,2,2,
+0,0,2,2,1,1,1,1,0,0x1a,0x1a,0x1a,0x16,0x17,0x17,0x17,
+0x18,0x14,0x15,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x18,0x17,
+0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0xc,0x10,0x10,0x10,0x10,
+0x10,0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x2cb,4,0,0,
+0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x18,0x18,0x18,0x14,0x15,4,0xc,0xc,0xc,0xc,
+0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x10,0x10,0x10,0x10,0x10,0x13,0x13,0x13,0x13,
+0x13,0x13,0x17,0x17,0x1c,0x1d,0x14,0x1c,0x1c,0x1d,0x14,0x1c,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0xd,0xe,0x10,0x10,0x10,0x10,0x10,0xc,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0x17,0x1c,0x1d,0x17,0x17,0x17,0x17,0x16,0x2cb,0x30b,0x34b,0x38b,
+0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x18,0x18,0x18,0x14,0x15,0,4,4,4,4,
+4,4,4,4,4,4,4,4,4,0,0,0,0x19,0x19,0x19,0x19,
0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,
-7,6,7,7,7,6,6,6,6,6,6,6,6,6,6,6,
-6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x1b,0x1b,0x1b,0x1b,1,0x1b,1,0x1b,1,0x1b,1,1,1,1,0x1b,2,
-1,1,1,1,2,5,5,5,5,2,0x1b,0x1b,2,2,1,1,
-0x18,0x18,0x18,0x18,0x18,1,2,2,2,2,0x1b,0x18,0x1b,0x1b,2,0x1b,
-0x358b,0x360b,0x364b,0x348b,0x388b,0x350b,0x390b,0x3d0b,0x410b,0x354b,0x454b,0x35cb,0x3dcb,0x45cb,0x4dcb,0x58b,
-0x1b,0x1b,1,0x1b,0x1b,0x1b,0x1b,1,0x1b,0x1b,2,1,1,1,2,2,
-1,1,1,2,0x1b,1,0x1b,0x1b,0x18,1,1,1,1,1,0x1b,0x1b,
-0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x7ca,0x80a,0x84a,0x11ca,0x1e4a,0x980a,0x784a,
-0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x7ca,0x80a,0x84a,0x11ca,0x1e4a,0x980a,0x784a,
-0x784a,0x984a,0x788a,1,2,0x6ca,0x11ca,0x988a,0x78ca,0x54b,0x1b,0x1b,0,0,0,0,
-0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x18,
-0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,
-0x1b,0x1b,0x18,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,
+6,6,6,6,6,6,6,6,6,7,7,7,7,6,7,7,
+7,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+1,0x1b,1,0x1b,1,0x1b,1,1,1,1,0x1b,2,1,1,1,1,
+2,5,5,5,5,2,0x1b,0x1b,2,2,1,1,0x18,0x18,0x18,0x18,
+0x18,1,2,2,2,2,0x1b,0x18,0x1b,0x1b,2,0x1b,0x358b,0x360b,0x364b,0x348b,
+0x388b,0x350b,0x390b,0x3d0b,0x410b,0x354b,0x454b,0x35cb,0x3dcb,0x45cb,0x4dcb,0x58b,0x1b,0x1b,1,0x1b,
+0x1b,0x1b,0x1b,1,0x1b,0x1b,2,1,1,1,2,2,1,1,1,2,
+0x1b,1,0x1b,0x1b,0x18,1,1,1,1,1,0x1b,0x1b,0x58a,0x5ca,0x60a,0x64a,
+0x68a,0x6ca,0x70a,0x74a,0x78a,0x7ca,0x80a,0x84a,0x11ca,0x1e4a,0x980a,0x784a,0x58a,0x5ca,0x60a,0x64a,
+0x68a,0x6ca,0x70a,0x74a,0x78a,0x7ca,0x80a,0x84a,0x11ca,0x1e4a,0x980a,0x784a,0x784a,0x984a,0x788a,1,
+2,0x6ca,0x11ca,0x988a,0x78ca,0x54b,0x1b,0x1b,0,0,0,0,0x18,0x18,0x18,0x18,
+0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x18,0x1b,0x1b,0x18,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x1b,0x1b,0x18,0x1b,
+0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x14,0x15,0x14,0x15,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x14,0x15,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x14,0x15,0x14,0x15,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x14,0x15,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x2cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,0x30b,0x34b,0x38b,
-0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x2cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,
-0x50b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,0x30b,0x34b,0x38b,0x3cb,
-0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,
+0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x2cb,0x80b,
+0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,
+0x4cb,0x50b,0x7cb,0x2cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x80b,0x84b,
+0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,
+0x50b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0xa4b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,
-0x14,0x15,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x30b,0x34b,0x38b,0x3cb,
-0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,
-0x18,0x14,0x15,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,
-0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x14,0x15,0x14,
-0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,
-0x15,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x14,0x15,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x18,0x18,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x30b,0x34b,
+0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,
+0x50b,0x7cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x14,0x15,0x14,0x15,
+0x14,0x15,0x14,0x15,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,
+0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x14,0x15,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x14,0x15,0x18,0x18,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x18,
+0x18,0x18,0x18,0x18,0x18,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,2,2,2,2,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,0,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,1,
-1,2,2,1,2,1,2,1,2,1,1,1,1,2,1,2,
-2,1,2,2,2,2,2,2,4,4,1,1,1,2,1,2,
-2,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,1,2,1,2,6,6,6,1,2,
-0,0,0,0,0,0x17,0x17,0x17,0x17,0x344b,0x17,0x17,2,2,2,2,
-2,2,0,2,0,0,0,0,0,2,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
-0,0,0,4,0x17,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,6,5,5,5,5,5,5,5,0,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,0,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,
-0,0,0,0,0x17,0x17,0x1c,0x1d,0x1c,0x1d,0x17,0x17,0x17,0x1c,0x1d,0x17,
-0x1c,0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x13,0x17,0x17,0x13,0x17,
-0x1c,0x1d,0x17,0x17,0x1c,0x1d,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x17,0x17,
-0x17,0x17,0x17,4,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x13,0x13,
-0x17,0x17,0x17,0x17,0x13,0x17,0x14,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-0x17,0x17,0x17,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,0,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0,0,0,0,0x1b,0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,
-0x74a,0x78a,6,6,6,6,8,8,0x13,4,4,4,4,4,0x1b,0x1b,
-0x7ca,0xa4a,0xcca,4,5,0x17,0x1b,0x1b,0xc,0x17,0x17,0x17,0x1b,4,5,0x54a,
-0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x1b,0x1b,0x14,0x15,0x14,0x15,
-0x14,0x15,0x14,0x15,0x13,0x14,0x15,0x15,5,5,5,5,5,5,5,5,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+1,2,1,1,1,2,2,1,2,1,2,1,2,1,1,1,
+1,2,1,2,2,1,2,2,2,2,2,2,4,4,1,1,
+1,2,1,2,2,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,1,2,1,2,6,
+6,6,1,2,0,0,0,0,0,0x17,0x17,0x17,0x17,0x344b,0x17,0x17,
+2,2,2,2,2,2,0,2,0,0,0,0,0,2,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+0,0,0,0,0,0,0,4,0x17,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,6,5,5,5,5,5,5,5,0,
+5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,0,
+5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
-0,6,6,0x1a,0x1a,4,4,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0x17,4,4,4,5,0,0,0,0,0,5,5,5,
+0,0,0,0,0,0,0,0,0x17,0x17,0x1c,0x1d,0x1c,0x1d,0x17,0x17,
+0x17,0x1c,0x1d,0x17,0x1c,0x1d,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x13,
+0x17,0x17,0x13,0x17,0x1c,0x1d,0x17,0x17,0x1c,0x1d,0x14,0x15,0x14,0x15,0x14,0x15,
+0x14,0x15,0x17,0x17,0x17,0x17,0x17,4,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+0x17,0x17,0x13,0x13,0x17,0x17,0x17,0x17,0x13,0x17,0x14,0x17,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,
+0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0x1b,0x58a,0x5ca,0x60a,
+0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,6,6,6,6,8,8,0x13,4,4,4,
+4,4,0x1b,0x1b,0x7ca,0xa4a,0xcca,4,5,0x17,0x1b,0x1b,0xc,0x17,0x17,0x17,
+0x1b,4,5,0x54a,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x1b,0x1b,
+0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x13,0x14,0x15,0x15,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,0x1b,0x1b,0x58b,0x5cb,
-0x60b,0x64b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,5,5,5,5,
+5,5,5,0,0,6,6,0x1a,0x1a,4,4,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0x58b,0x5cb,0x60b,0x64b,
-0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x7cb,0xa4b,0xccb,0xf4b,
-0x11cb,0x144b,0x16cb,0x194b,0x1b,0xa8b,0xacb,0xb0b,0xb4b,0xb8b,0xbcb,0xc0b,0xc4b,0xc8b,0xccb,0xd0b,
-0xd4b,0xd8b,0xdcb,0xe0b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0xe4b,0xe8b,0xecb,0xf0b,0xf4b,0xf8b,0xfcb,0x100b,0x104b,0x108b,0x10cb,
-0x110b,0x114b,0x118b,0x11cb,5,5,5,5,5,0x685,5,5,5,5,5,5,
+5,5,5,5,5,5,5,0x17,4,4,4,5,0,0,0,0,
+0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+0x1b,0x1b,0x58b,0x5cb,0x60b,0x64b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,0x5c5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,
+0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,0,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x685,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x705,5,5,
+0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1b,0xa8b,0xacb,0xb0b,0xb4b,0xb8b,0xbcb,0xc0b,
+0xc4b,0xc8b,0xccb,0xd0b,0xd4b,0xd8b,0xdcb,0xe0b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0xe4b,0xe8b,0xecb,0xf0b,0xf4b,0xf8b,0xfcb,
+0x100b,0x104b,0x108b,0x10cb,0x110b,0x114b,0x118b,0x11cb,5,5,5,5,5,0x685,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0x585,5,5,0x705,5,5,5,0x7885,5,0x605,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,0x5c5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x785,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x5c5,5,5,5,5,5,5,5,
-0x685,5,0x645,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x685,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0x7985,0x7c5,5,5,5,5,5,5,5,5,5,5,5,
+5,0x705,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,0x585,5,5,0x705,5,5,5,0x7885,5,0x605,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0x7845,5,5,5,5,5,5,5,5,0x605,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0x785,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x5c5,5,5,5,
+5,5,5,5,0x685,5,0x645,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,0x685,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x1e45,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x7985,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,0x7985,0x7c5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x7a85,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,0x7845,5,5,5,5,5,5,5,5,
+0x605,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0x685,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x1e45,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x7985,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x5c5,5,0x745,5,0x6c5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x7c5,5,0x7845,0xa45,0xcc5,5,5,
-5,5,5,5,0xf45,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x605,0x605,0x605,0x605,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x7a85,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0x645,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x585,5,5,
-5,5,5,5,5,0x585,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0x5c5,5,0x745,5,0x6c5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0x7c5,5,0x7845,
+0xa45,0xcc5,5,5,5,5,5,5,0xf45,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0x605,0x605,0x605,
+0x605,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x645,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x585,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,0x585,5,5,5,5,5,5,5,0x585,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x785,0xa45,5,5,5,5,5,5,5,5,5,5,5,5,
-0x585,0x5c5,0x605,5,0x5c5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,0x585,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x7c5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0x745,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0x705,5,5,5,5,5,
+5,5,5,5,5,5,0x785,0xa45,5,5,5,5,5,5,5,5,
+5,5,5,5,0x585,0x5c5,0x605,5,0x5c5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x785,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x7c5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0x745,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x705,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x1e45,5,5,5,5,5,5,5,0x645,5,
+5,5,5,5,5,5,5,5,5,5,0x785,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x7885,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x5c5,5,
-5,5,5,0x5c5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0x5c5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,0x7845,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x1e45,5,5,5,5,5,
+5,5,0x645,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x7885,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x6c5,5,5,5,5,5,0x1e45,5,5,5,
+5,5,0x5c5,5,5,5,5,0x5c5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0x5c5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0x7845,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x6c5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x6c5,5,5,5,5,5,
+0x1e45,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x6c5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x545,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,
-5,5,5,5,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,4,0x17,0x17,0x17,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,5,5,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,1,2,1,2,1,2,1,2,
+5,5,5,5,5,5,0x545,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,
+5,5,5,5,5,5,5,5,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,4,0x17,0x17,0x17,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,2,
1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,
-1,2,1,2,4,4,6,6,1,2,1,2,1,2,1,2,
-1,2,1,2,1,2,5,6,7,7,7,0x17,6,6,6,6,
-6,6,6,6,6,6,0x17,4,5,5,5,5,5,5,0x58a,0x5ca,
-0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x54a,6,6,0x17,0x17,0x17,0x17,0x17,0x17,
-0,0,0,0,0,0,0,0,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
-0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,4,
-4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,
-4,4,2,5,5,5,5,5,0x1a,0x1a,1,2,1,2,1,2,
-1,2,1,2,1,2,1,2,2,2,1,2,1,2,1,2,
-1,2,1,2,1,2,1,2,1,2,1,2,4,2,2,2,
-2,2,2,2,2,1,2,1,2,1,1,2,1,2,1,2,
-1,2,1,2,4,0x1a,0x1a,1,2,1,2,5,1,2,1,2,
-2,2,1,2,1,2,1,2,1,2,1,2,1,2,1,1,
-1,1,1,2,1,1,1,1,1,2,1,2,1,2,0,0,
-0,0,0,0,5,5,6,5,5,5,6,5,5,5,5,6,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,8,8,6,6,8,0x1b,0x1b,0x1b,0x1b,
-0,0,0,0,0x34cb,0x344b,0x3ccb,0x37cb,0x35cb,0x3fcb,0x1b,0x1b,0x19,0x1b,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x17,0x17,0x17,0x17,0,0,0,0,
-0,0,0,0,8,8,8,8,6,6,0,0,0,0,0,0,
-0,0,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
-0,0,0,0,8,8,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,8,8,8,8,8,8,8,8,8,8,8,8,
-6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-6,6,5,5,5,5,5,5,0x17,0x17,0x17,5,0x17,5,5,6,
-5,5,5,5,5,5,6,6,6,6,6,6,6,6,0x17,0x17,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,6,6,6,6,6,6,6,6,6,6,6,8,8,
-0,0,0,0,0,0,0,0,0,0,0,0x17,8,0x17,0x17,0x17,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,4,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0x17,0x17,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,
-8,8,6,6,6,6,8,8,6,8,8,8,5,5,5,5,
-5,6,4,5,5,5,5,5,5,5,5,5,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,5,5,5,0,5,5,5,5,
-5,5,5,5,5,6,6,6,6,6,6,8,8,6,6,8,
-8,6,6,0,0,0,0,0,0,0,0,0,5,5,5,6,
-5,5,5,5,5,5,5,5,6,8,0,0,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0x17,0x17,0x17,0x17,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,
-5,5,5,0x1b,0x1b,0x1b,5,8,6,8,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,
-6,5,5,6,6,5,5,5,5,5,6,6,5,6,5,0,
+1,2,1,2,1,2,1,2,4,4,6,6,1,2,1,2,
+1,2,1,2,1,2,1,2,1,2,5,6,7,7,7,0x17,
+6,6,6,6,6,6,6,6,6,6,0x17,4,5,5,5,5,
+5,5,0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x54a,6,6,0x17,0x17,
+0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,0x1a,0x1a,0x1a,0x1a,
+0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+0x1a,0x1a,0x1a,4,4,4,4,4,4,4,4,4,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,5,4,4,2,5,5,5,5,5,0x1a,0x1a,1,2,
+1,2,1,2,1,2,1,2,1,2,1,2,2,2,1,2,
+1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,
+4,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,
+1,2,1,2,1,2,1,2,4,0x1a,0x1a,1,2,1,2,5,
+1,2,1,2,2,2,1,2,1,2,1,2,1,2,1,2,
+1,2,1,1,1,1,1,2,1,1,1,1,1,2,1,2,
+1,2,1,2,1,2,1,2,0,0,1,2,1,1,1,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,5,5,4,0x17,0x17,5,5,5,5,
-5,5,5,5,5,5,5,8,6,6,8,8,0x17,0x17,5,4,
-4,8,6,0,0,0,0,0,0,0,0,0,0,5,5,5,
-5,5,5,0,0,5,5,5,5,5,5,0,0,5,5,5,
-5,5,5,0,0,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,0,2,2,2,2,
+0,0,0,0,0,0,0,0,5,5,6,5,5,5,6,5,
+5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,8,8,6,6,8,
+0x1b,0x1b,0x1b,0x1b,0,0,0,0,0x34cb,0x344b,0x3ccb,0x37cb,0x35cb,0x3fcb,0x1b,0x1b,
+0x19,0x1b,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x17,0x17,0x17,0x17,
+0,0,0,0,0,0,0,0,8,8,8,8,6,6,0,0,
+0,0,0,0,0,0,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0,0,0,0,0,0,8,8,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,8,8,8,8,8,8,8,8,
+8,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,
+6,6,6,6,6,6,5,5,5,5,5,5,0x17,0x17,0x17,5,
+0x17,5,5,6,5,5,5,5,5,5,6,6,6,6,6,6,
+6,6,0x17,0x17,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,
+6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0x17,
+8,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,4,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0x17,0x17,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,6,8,8,6,6,6,6,8,8,6,6,8,8,
+5,5,5,5,5,6,4,5,5,5,5,5,5,5,5,5,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,5,5,5,5,5,0,
+5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,8,
+8,6,6,8,8,6,6,0,0,0,0,0,0,0,0,0,
+5,5,5,6,5,5,5,5,5,5,5,5,6,8,0,0,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0x17,0x17,0x17,0x17,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+4,5,5,5,5,5,5,0x1b,0x1b,0x1b,5,8,6,8,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+6,5,6,6,6,5,5,6,6,5,5,5,5,5,6,6,
+5,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,5,5,4,0x17,0x17,
+5,5,5,5,5,5,5,5,5,5,5,8,6,6,8,8,
+0x17,0x17,5,4,4,8,6,0,0,0,0,0,0,0,0,0,
+0,5,5,5,5,5,5,0,0,5,5,5,5,5,5,0,
+0,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,0,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,0x1a,4,4,4,4,2,2,2,2,
-2,2,0,0,0,0,0,0,0,0,0,0,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,8,
-8,6,8,8,6,8,8,0x17,8,6,0,0,0x49,0x89,0xc9,0x109,
-0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,5,5,5,5,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+2,2,2,2,2,2,2,2,2,2,2,0x1a,4,4,4,4,
+2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+5,5,5,8,8,6,8,8,6,8,8,0x17,8,6,0,0,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
+5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
+5,5,5,5,5,5,5,0,0,0,0,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,0,0,0,5,5,5,5,
-5,5,5,0,0,0,0,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0x12,0x12,0x12,0x12,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
-0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x11,0x11,0x11,0x11,
+0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
-0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,5,5,5,5,
-5,5,5,5,5,5,5,0x605,5,5,5,5,5,5,5,0x7c5,
-5,5,5,5,0x5c5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x6c5,5,0x6c5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x7c5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x18,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,
-5,0,5,0,5,5,0,5,5,0,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,2,2,2,2,2,2,2,0,0,0,0,0,
-0,0,0,0,0,0,0,2,2,2,2,2,0,0,0,0,
-0,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
-0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0x15,0x14,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,0,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,0x19,0x1b,0,0,
-6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,0x15,0x17,0,0,0,0,0,0,
-6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-0x17,0x13,0x13,0x16,0x16,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,0x15,0x14,
-0x15,0x17,0x17,0x14,0x15,0x17,0x17,0x17,0x17,0x16,0x16,0x16,0x17,0x17,0x17,0,
-0x17,0x17,0x17,0x17,0x13,0x14,0x15,0x14,0x15,0x14,0x15,0x17,0x17,0x17,0x18,0x13,
-0x18,0x18,0x18,0,0x17,0x19,0x17,0x17,0,0,0,0,5,5,5,5,
-5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0,0,0x10,0,0,5,5,5,5,5,5,0,0,5,5,
-5,5,5,5,0,0,5,5,5,5,5,5,0,0,5,5,
-5,0,0,0,0x19,0x19,0x18,0x1a,0x1b,0x19,0x19,0,0x1b,0x18,0x18,0x18,
-0x18,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,0x10,0x10,0x10,
-0x1b,0x1b,0,0,0,0x17,0x17,0x17,0x19,0x17,0x17,0x17,0x14,0x15,0x17,0x18,
-0x17,0x13,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,
-0x18,0x18,0x18,0x17,0x1a,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0x14,
-0x18,0x15,0x18,0x14,0x15,0x17,0x14,0x15,0x17,0x17,5,5,5,5,5,5,
-5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,
+0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+5,5,5,5,5,5,5,5,5,5,5,0x605,5,5,5,5,
+5,5,5,0x7c5,5,5,5,5,0x5c5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0x6c5,5,0x6c5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,4,4,5,5,5,5,5,5,5,5,
-5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
-5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,0,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0x984b,0xa04b,0xa84b,0xb04b,0xb84b,0x788b,
-0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x17,0x17,0x17,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,0x68b,
-0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x800b,0x880b,
-0x900b,0x980b,0xa00b,0xa80b,0x7ca,0x7ca,0x7ca,0x7ca,0x7ca,0xcca,0x11ca,0x11ca,0x11ca,0x11ca,0x1e4a,0x880a,
-0x980a,0x980a,0x980a,0x980a,0x980a,0x784a,0x984a,0x68a,0x11ca,0x344b,0x344b,0x388b,0x3ccb,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x54b,0x34cb,0x1b,0x1b,0x1b,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,
-0x34ca,0x344a,0x58a,0x68a,0x11ca,0x980a,0x984a,0x988a,0x68a,0x7ca,0x11ca,0x1e4a,0x980a,0x784a,0x984a,0x68a,
-0x7ca,0x11ca,0x1e4a,0x980a,0x784a,0x788a,0x988a,0x7ca,0x58a,0x58a,0x58a,0x5ca,0x5ca,0x5ca,0x5ca,0x68a,
-0x1b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0x7c5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-6,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,
-0x16cb,0x194b,0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0,0,0,0,
-0x58b,0x68b,0x7cb,0x11cb,0,0,0,0,0,0,0,0,0,5,5,5,
+5,0x18,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+5,5,5,5,5,0,5,0,5,5,0,5,5,0,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x1bca,5,5,5,5,5,5,5,5,0xb80a,0,0,0,0,0,
+5,5,5,5,5,5,5,5,2,2,2,2,2,2,2,0,
+0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,
+0,0,0,0,0,5,6,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,
+0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0x1a,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,6,6,6,6,6,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,0x15,0x14,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,0,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+0x19,0x1b,0,0,6,6,6,6,6,6,6,6,6,6,6,6,
+6,6,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x14,0x15,0x17,0,0,
+0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,
+6,6,6,6,0x17,0x13,0x13,0x16,0x16,0x14,0x15,0x14,0x15,0x14,0x15,0x14,
+0x15,0x14,0x15,0x14,0x15,0x17,0x17,0x14,0x15,0x17,0x17,0x17,0x17,0x16,0x16,0x16,
+0x17,0x17,0x17,0,0x17,0x17,0x17,0x17,0x13,0x14,0x15,0x14,0x15,0x14,0x15,0x17,
+0x17,0x17,0x18,0x13,0x18,0x18,0x18,0,0x17,0x19,0x17,0x17,0,0,0,0,
+5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0x17,
-5,5,5,5,0,0,0,0,5,5,5,5,5,5,5,5,
-0x17,0x58a,0x5ca,0x7ca,0xa4a,0x1e4a,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,0,0,0x10,0,0,5,5,5,5,5,5,
+0,0,5,5,5,5,5,5,0,0,5,5,5,5,5,5,
+0,0,5,5,5,0,0,0,0x19,0x19,0x18,0x1a,0x1b,0x19,0x19,0,
+0x1b,0x18,0x18,0x18,0x18,0x1b,0x1b,0,0,0,0,0,0,0,0,0,
+0,0x10,0x10,0x10,0x1b,0x1b,0,0,0,0x17,0x17,0x17,0x19,0x17,0x17,0x17,
+0x14,0x15,0x17,0x18,0x17,0x13,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0x17,0x17,0x18,0x18,0x18,0x17,0x1a,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,0x14,0x18,0x15,0x18,0x14,0x15,0x17,0x14,0x15,0x17,0x17,5,5,
+5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,0,0,0,0,2,2,2,2,2,2,2,2,
-5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0,0,0,0,0,0,0,0,0,0,0,0x17,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,4,4,5,5,5,5,
+5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,5,5,0,0,0,5,0,0,5,5,5,5,5,
-5,5,0,0,5,0,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0x17,
-0x58b,0x5cb,0x60b,0x7cb,0xa4b,0x1e4b,0x784b,0x788b,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x1b,
-0x1b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x7cb,0xa4b,0,0,0,0,0,0,0,0x58b,
-0x5cb,0x60b,0x64b,0x64b,0x68b,0x7cb,0xa4b,0x1e4b,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,5,5,0,0,
-0,0,0,0x58b,0x68b,0x7cb,0xa4b,0x1e4b,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x58b,0x7cb,
-0xa4b,0x1e4b,0x5cb,0x60b,0,0,0,0x17,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,0,0,0,0,0x17,0xa04b,0xa84b,0xb04b,0xb84b,0x788b,0x808b,0x888b,0x908b,
-0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0x78cb,0x80cb,0x88cb,0x90cb,0x98cb,0xa0cb,0xa8cb,0xb0cb,0xb8cb,0x36cb,0x354b,
-0x34cb,0x348b,0x46cb,0x344b,0x4ecb,0x388b,0x3ccb,0x454b,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0,0,0,0,0x5ecb,0x344b,5,5,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,
-0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0,0,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,
-0xa80b,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0x984b,0x30b,0x34b,0x38b,0x3cb,0x7cb,0xa4b,0x1e4b,0x784b,
-0x344b,0,0,0,0,0,0,0,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-0x17,0,0,0,0,0,0,0,5,6,6,6,0,6,6,0,
-0,0,0,0,6,6,6,6,5,5,5,5,0,5,5,5,
+5,5,5,0,5,5,0,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,0,0,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0x984b,0xa04b,
+0xa84b,0xb04b,0xb84b,0x788b,0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0,0,0,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x17,0x17,0x17,0,0,0,0,0x58b,
+0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,
+0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0x7ca,0x7ca,0x7ca,0x7ca,0x7ca,0xcca,0x11ca,0x11ca,
+0x11ca,0x11ca,0x1e4a,0x880a,0x980a,0x980a,0x980a,0x980a,0x980a,0x784a,0x984a,0x68a,0x11ca,0x344b,0x344b,0x388b,
+0x3ccb,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x54b,0x34cb,
+0x1b,0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0,0,0,0,0x34ca,0x344a,0x58a,0x68a,0x11ca,0x980a,0x984a,0x988a,0x68a,0x7ca,0x11ca,0x1e4a,
+0x980a,0x784a,0x984a,0x68a,0x7ca,0x11ca,0x1e4a,0x980a,0x784a,0x788a,0x988a,0x7ca,0x58a,0x58a,0x58a,0x5ca,
+0x5ca,0x5ca,0x5ca,0x68a,0x1b,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,6,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,6,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,
+0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,
+0,0,0,0,0x58b,0x68b,0x7cb,0x11cb,0,0,0,0,0,0,0,0,
0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0,0,6,6,6,0,
-0,0,0,6,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0x1bca,5,5,5,5,5,5,5,5,0xb80a,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x58b,0x11cb,0x17,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,0,0x17,5,5,5,5,0,0,0,0,5,5,5,5,
+5,5,5,5,0x17,0x58a,0x5ca,0x7ca,0xa4a,0x1e4a,0,0,0,0,0,0,
+0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x58b,0x7cb,0xa4b,5,5,5,5,5,6,6,0,0,0,0,0x58b,
-0x68b,0x7cb,0xa4b,0x1e4b,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,0x1b,5,5,5,
+5,5,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
+0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,0,0,0,0,2,2,2,2,
+2,2,2,2,5,5,5,5,5,5,5,5,0,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0x17,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0,0,0,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+5,5,5,5,5,5,0,5,5,0,0,0,5,0,0,5,
+5,5,5,5,5,5,0,0,5,0,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0,0,0x58b,0x5cb,0x60b,0x64b,0x7cb,0xa4b,0x1e4b,0x784b,
+5,5,0,0x17,0x58b,0x5cb,0x60b,0x7cb,0xa4b,0x1e4b,0x784b,0x788b,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,0x7cb,0xa4b,0x1e4b,0x784b,
+5,5,5,0x1b,0x1b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x7cb,0xa4b,0,0,0,0,
+0,0,0,0x58b,0x5cb,0x60b,0x64b,0x64b,0x68b,0x7cb,0xa4b,0x1e4b,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+5,5,0,0,0,0,0,0x58b,0x68b,0x7cb,0xa4b,0x1e4b,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0,0,0,0,0,0,0,0x17,0x17,0x17,0x17,0,0,0,
-0,0,0,0,0,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,0x7cb,0xa4b,0x1e4b,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,0,0,0,0,0,0,0,0x58b,0x68b,0x7cb,0x11cb,0x1e4b,0x784b,
-5,5,5,5,6,6,6,6,0,0,0,0,0,0,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,
-0x194b,0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x344b,0x34cb,0x348b,0x388b,0,
+5,5,0x58b,0x7cb,0xa4b,0x1e4b,0x5cb,0x60b,0,0,0,0x17,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x58b,0x5cb,0x60b,
-0x64b,0x68b,0x7cb,0xa4b,0xccb,0x1e4b,0x344b,5,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,0,0,0,0,0,0x17,0xa04b,0xa84b,0xb04b,0xb84b,
+0x788b,0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0x78cb,0x80cb,0x88cb,0x90cb,0x98cb,0xa0cb,0xa8cb,
+0xb0cb,0xb8cb,0x36cb,0x354b,0x34cb,0x348b,0x46cb,0x344b,0x4ecb,0x388b,0x3ccb,0x454b,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,6,6,6,6,6,6,6,6,6,6,6,0x58b,0x7cb,0xa4b,
-0x1e4b,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0x144b,0x16cb,0x194b,0x1bcb,
-0x1e4b,0x784b,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,6,8,6,8,5,
+5,5,5,5,0,0,0,0,0x5ecb,0x344b,5,5,0x58b,0x5cb,0x60b,0x64b,
+0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0,0,0x1e4b,0x800b,
+0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0x984b,0x30b,0x34b,0x38b,0x3cb,
+0x7cb,0xa4b,0x1e4b,0x784b,0x344b,0,0,0,0,0,0,0,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,5,6,6,6,
+0,6,6,0,0,0,0,0,6,6,6,6,5,5,5,5,
+0,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
+6,6,6,0,0,0,0,6,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,
-6,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0x30b,0x34b,
-0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,6,
-6,6,6,8,8,6,6,0x17,0x17,0x10,0x17,0x17,0x17,0x17,0,0,
-0,0,0,0,0,0,0,0,0,0x10,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,
+5,5,5,5,5,0x58b,0x11cb,0x17,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0x58b,0x7cb,0xa4b,5,5,5,5,5,6,6,0,
+0,0,0,0x58b,0x68b,0x7cb,0xa4b,0x1e4b,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+0x1b,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0,0,0,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0,0,0x58b,0x5cb,0x60b,0x64b,
+0x7cb,0xa4b,0x1e4b,0x784b,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,0,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,
+0x7cb,0xa4b,0x1e4b,0x784b,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,0,0,0,0,0,0,0,0x17,0x17,0x17,
+0x17,0,0,0,0,0,0,0,0,0,0,0,0,0x58b,0x5cb,0x60b,
+0x64b,0x7cb,0xa4b,0x1e4b,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,
+0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,0,0,0,0,0,0,0,0x58b,0x68b,
+0x7cb,0x11cb,0x1e4b,0x784b,5,5,5,5,6,6,6,6,0,0,0,0,
0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
-0,0,0,0,5,5,5,5,5,5,5,6,6,6,6,6,
-8,6,6,6,6,6,6,6,6,0,0x49,0x89,0xc9,0x109,0x149,0x189,
-0x1c9,0x209,0x249,0x289,0x17,0x17,0x17,0x17,5,8,8,0,0,0,0,0,
+0,0,0,0,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,0xccb,
+0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x344b,
+0x34cb,0x348b,0x388b,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,0x58b,0x5cb,0x60b,0x64b,0x68b,0x7cb,0xa4b,0xccb,0x1e4b,0x344b,5,0,0,0,0,
0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,6,6,6,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,6,0x17,0x17,5,0,0,0,0,0,
-0,0,0,0,8,5,5,5,5,0x17,0x17,0x17,0x17,6,6,6,
-6,0x17,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,5,0x17,
-5,0x17,0x17,0x17,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,8,8,8,6,6,6,6,6,6,
-6,6,6,8,0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,
-0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x784b,0,0,0,0,0,0,0,
+5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,
+6,0x58b,0x7cb,0xa4b,0x1e4b,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,
+0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x784b,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,
+8,6,8,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+6,6,6,6,6,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,
+0,0,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+8,8,8,6,6,6,6,8,8,6,6,0x17,0x17,0x10,0x17,0x17,
+0x17,0x17,0,0,0,0,0,0,0,0,0,0,0,0x10,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,0,0,0,0,0,0,5,5,5,5,5,5,5,6,
+6,6,6,6,8,6,6,6,6,6,6,6,6,0,0x49,0x89,
+0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x17,0x17,0x17,0x17,5,8,8,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,6,6,6,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,6,0x17,0x17,5,0,
+0,0,0,0,0,0,0,0,8,5,5,5,5,0x17,0x17,0x17,
+0x17,6,6,6,6,0x17,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
+0x249,0x289,5,0x17,5,0x17,0x17,0x17,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,8,8,8,6,6,
+6,6,6,6,6,6,6,8,0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,
+0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0x784b,0,0,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,8,8,8,6,6,6,8,8,6,8,6,6,
+0x17,0x17,0x17,0x17,0x17,0x17,6,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,0,5,0,5,5,
+5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,0,5,5,5,5,5,5,5,5,5,5,0x17,0,0,
0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-8,8,8,6,6,6,8,8,6,8,6,6,0x17,0x17,0x17,0x17,
-0x17,0x17,6,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,0,5,0,5,5,5,5,0,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,
-5,5,5,5,5,5,5,5,5,0x17,0,0,0,0,0,0,
+5,5,5,5,8,8,8,6,6,6,6,6,6,6,6,0,
+0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
+0,0,0,0,5,5,8,8,0,0,6,6,6,6,6,6,
+6,0,0,0,6,6,6,6,6,0,0,0,0,0,0,0,
+0,0,0,0,6,6,8,8,0,5,5,5,5,5,5,5,
+5,0,0,5,5,0,0,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0,5,5,5,5,5,5,5,0,5,5,
+0,5,5,5,5,5,0,6,6,5,8,8,6,8,8,8,
+8,0,0,8,8,0,0,8,8,8,0,0,5,0,0,0,
+0,0,0,8,0,0,0,0,0,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-8,8,8,6,6,6,6,6,6,6,6,0,0,0,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-5,5,8,8,0,0,6,6,6,6,6,6,6,0,0,0,
-6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,
-6,6,8,8,0,5,5,5,5,5,5,5,5,0,0,5,
-5,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0,5,5,5,5,5,5,5,0,5,5,0,5,5,5,
-5,5,0,6,6,5,8,8,6,8,8,8,8,0,0,8,
-8,0,0,8,8,8,0,0,5,0,0,0,0,0,0,8,
-0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,
-6,6,6,6,6,6,6,6,8,8,6,6,6,8,6,5,
-5,5,5,0x17,0x17,0x17,0x17,0x17,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0x17,0,0x17,6,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,8,8,8,6,6,6,6,6,
-6,8,6,8,8,8,8,6,6,8,6,6,5,5,0x17,5,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,8,8,8,6,6,6,6,0,0,
-8,8,8,8,6,6,8,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
+5,8,8,8,6,6,6,6,6,6,6,6,8,8,6,6,
+6,8,6,5,5,5,5,0x17,0x17,0x17,0x17,0x17,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0x17,0,0x17,6,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,6,
+6,6,6,6,6,8,6,8,8,8,8,6,6,8,6,6,
+5,5,0x17,5,0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,8,8,8,6,6,
+6,6,0,0,8,8,8,8,6,6,8,6,6,0x17,0x17,0x17,
0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-5,5,5,5,6,6,0,0,5,5,5,5,5,5,5,5,
+0x17,0x17,0x17,0x17,5,5,5,5,6,6,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,6,
+6,6,6,6,6,6,6,8,8,6,8,6,6,0x17,0x17,0x17,
+5,0,0,0,0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,6,8,6,8,8,6,6,6,6,
+6,6,8,6,5,0,0,0,0,0,0,0,8,8,6,6,
+6,6,8,6,6,6,6,6,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0x7cb,0xa4b,0x17,0x17,0x17,0x1b,5,5,5,5,
5,5,5,5,5,5,5,5,8,8,8,6,6,6,6,6,
-6,6,6,8,8,6,8,6,6,0x17,0x17,0x17,5,0,0,0,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0,0,0,0,0,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
-0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,6,8,6,8,8,6,6,6,6,6,6,8,6,
-0,0,0,0,0,0,0,0,8,8,6,6,6,6,8,6,
-6,6,6,6,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0x7cb,0xa4b,0x17,0x17,0x17,0x1b,5,5,5,5,5,5,5,5,
-5,5,5,5,8,8,8,6,6,6,6,6,6,6,6,6,
-8,6,6,0x17,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0,0,0,0,0,
-0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,
-6,8,5,6,6,6,6,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,6,
-0,0,0,0,0,0,0,0,5,6,6,6,6,6,6,8,
-8,6,6,6,5,5,5,5,5,6,6,6,6,6,6,6,
-6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x17,0x17,0x17,0,0,0,0,0,
+6,6,6,6,8,6,6,0x17,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0,
+0,0,0,0,0,0,0,0,0,0,0,5,6,5,0x17,5,
+8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,0,0,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,8,8,8,
+6,6,6,6,0,0,6,6,8,8,8,8,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,
+6,6,6,6,6,8,5,6,6,6,6,0x17,0x17,0x17,0x17,0x17,
+0x17,0x17,0x17,6,0,0,0,0,0,0,0,0,5,6,6,6,
+6,6,6,8,8,6,6,6,5,5,5,5,5,6,6,6,
+6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x17,0x17,0x17,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,0,0,5,5,
-5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,8,
-6,6,0x17,0x17,0x17,5,0x17,0x17,5,0x17,0x17,0x17,0x17,0x17,0,0,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,
-0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0,0,0,0x17,0x17,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,
+6,6,6,8,6,6,0x17,0x17,0x17,5,0x17,0x17,5,0x17,0x17,0x17,
+0x17,0x17,0,0,0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,
+0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,0,0,0,0x17,0x17,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,8,6,6,6,6,6,6,6,0,6,6,6,6,
-6,6,8,6,6,6,6,6,6,6,6,6,0,8,6,6,
-6,6,6,6,6,8,6,6,8,6,6,0,0,0,0,0,
-0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0,0,6,6,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,5,6,0,0,0,0,0,0,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0,
-5,5,5,5,5,5,5,0,5,5,0,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,6,6,6,6,6,6,0,0,0,6,0,6,6,0,6,
-5,5,5,5,5,5,5,5,5,5,8,8,8,8,8,0,
-6,6,0,8,8,6,8,6,5,0,0,0,0,0,0,0,
-5,5,5,5,5,5,0,5,5,0,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,6,6,8,8,0x17,0x17,0,0,0,0,0,0,0,
-0x34ca,0x354a,0x34ca,0x34ca,0x344a,0x348a,0x388a,0xf4a,0x11ca,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0,
-0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,0,0,0,0,
-0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x64a,
-0x68a,0x6ca,0x70a,0x74a,0x78a,0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x58a,0x5ca,
-0x60a,0x64a,0x68a,0x5ca,0x60a,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x58a,0x5ca,0x60a,0x60a,
-0x64a,0x68a,0xc08a,0xc18a,0x58a,0x5ca,0x60a,0x60a,0x64a,0x68a,0x60a,0x60a,0x64a,0x64a,0x64a,0x64a,
-0x6ca,0x70a,0x70a,0x70a,0x74a,0x74a,0x78a,0x78a,0x78a,0x78a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x58a,
-0x5ca,0x60a,0x64a,0x64a,0x68a,0x68a,0x5ca,0x60a,0x58a,0x5ca,0x348a,0x388a,0x454a,0x348a,0x388a,0x35ca,
-5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,8,6,6,6,6,6,6,6,0,
+6,6,6,6,6,6,8,6,6,6,6,6,6,6,6,6,
+0,8,6,6,6,6,6,6,6,8,6,6,8,6,6,0,
+0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0,0,6,6,6,6,6,6,
+6,6,6,6,6,6,6,6,6,6,5,6,0,0,0,0,
+0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
+0,0,0,0,5,5,5,5,5,5,5,0,5,5,0,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,6,6,6,6,6,6,0,0,0,6,0,
+6,6,0,6,5,5,5,5,5,5,5,5,5,5,8,8,
+8,8,8,0,6,6,0,8,8,6,8,6,5,0,0,0,
+0,0,0,0,5,5,5,5,5,5,0,5,5,0,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,6,6,8,8,0x17,0x17,0,0,0,
+0,0,0,0,0x19,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0x17,0xcd0b,0xcc0b,0xcb0b,0xd00b,0xca0b,0xcf0b,0xcb4b,0xd04b,0xc90b,0x37cb,0x37cb,0x364b,
+0x35cb,0xc94b,0x3fcb,0x350b,0x34cb,0x344b,0x344b,0x3ccb,0xcd0b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x19,0x19,0x19,0x34ca,0x354a,0x34ca,0x34ca,0x344a,0x348a,0x388a,0xf4a,0x11ca,0x64a,0x68a,0x6ca,
+0x70a,0x74a,0x78a,0,0x17,0x17,0x17,0x17,0x17,0,0,0,0,0,0,0,
+0,0,0,0,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x60a,0x64a,0x68a,0x6ca,
+0x70a,0x74a,0x78a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,0x58a,0x5ca,0x60a,0x64a,0x68a,0x6ca,0x70a,
+0x74a,0x78a,0x58a,0x5ca,0x60a,0x64a,0x68a,0x5ca,0x60a,0x60a,0x64a,0x68a,0x6ca,0x70a,0x74a,0x78a,
+0x58a,0x5ca,0x60a,0x60a,0x64a,0x68a,0xc08a,0xc18a,0x58a,0x5ca,0x60a,0x60a,0x64a,0x68a,0x60a,0x60a,
+0x64a,0x64a,0x64a,0x64a,0x6ca,0x70a,0x70a,0x70a,0x74a,0x74a,0x78a,0x78a,0x78a,0x78a,0x5ca,0x60a,
+0x64a,0x68a,0x6ca,0x58a,0x5ca,0x60a,0x64a,0x64a,0x68a,0x68a,0x5ca,0x60a,0x58a,0x5ca,0x348a,0x388a,
+0x454a,0x348a,0x388a,0x35ca,5,5,5,5,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0,0,0,0x17,0x17,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,0,0,6,6,6,6,6,0x17,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,0x17,
-0x17,0x17,0x17,0x17,0x1b,0x1b,0x1b,0x1b,4,4,4,4,0x17,0x1b,0,0,
-0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0,0x7cb,0x1e4b,0x788b,0x790b,0x798b,0x7a0b,0x7a8b,0,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0,0,0,0,0,5,5,5,0x54b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,
-0x74b,0x78b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0x58b,0x5cb,0x60b,0x17,
-0x17,0x17,0x17,0,0,0,0,0,5,5,5,5,5,0,0,0,
-0,0,0,0,0,0,0,0,5,8,8,8,8,8,8,8,
+0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,
+0,0,0x17,0x17,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,0,0,6,6,6,6,6,0x17,0,0,0,0,0,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,6,6,6,6,6,6,6,0x17,0x17,0x17,0x17,0x17,
+0x1b,0x1b,0x1b,0x1b,4,4,4,4,0x17,0x1b,0,0,0,0,0,0,
+0,0,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0x7cb,
+0x1e4b,0x788b,0x790b,0x798b,0x7a0b,0x7a8b,0,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
+0,5,5,5,0x54b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0x80b,
+0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0x58b,0x5cb,0x60b,0x17,0x17,0x17,0x17,0,
+0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,0,
+0,0,0,6,5,8,8,8,8,8,8,8,8,8,8,8,
8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
-8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,4,
-4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,
+8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,
+6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,0x17,4,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
-5,5,5,5,5,5,5,5,5,5,0,0,0x1b,6,6,0x17,
-0x10,0x10,0x10,0x10,0,0,0,0,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,5,0,0,0,0,0,0,0,0,0,
+0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,
+5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,0,0,0,0,0,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,0,0,0x1b,6,6,0x17,0x10,0x10,0x10,0x10,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0,0,0,0,0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,8,8,6,
+6,6,0x1b,0x1b,0x1b,8,8,8,8,8,8,0x10,0x10,0x10,0x10,0x10,
+0x10,0x10,0x10,6,6,6,6,6,6,6,6,0x1b,0x1b,6,6,6,
+6,6,6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,6,6,6,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,8,8,6,6,6,0x1b,0x1b,0x1b,8,8,8,8,8,8,0x10,
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,6,6,6,6,6,6,6,6,0x1b,
-0x1b,6,6,6,6,6,6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,6,
-6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x1b,0x1b,6,6,
-6,0x1b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x54b,0x58b,0x5cb,0x60b,
-0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,
-0,0,0,0,0,0,0,0,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,
-0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x58b,0x5cb,
-0x60b,0x64b,0x68b,0x58b,0x68b,0,0,0,0,0,0,0,0x249,0x289,0x49,0x89,
-0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,
-0x249,0x289,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,1,1,1,1,
+0x1b,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1b,0x1b,6,6,6,0x1b,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x54b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,
+0x74b,0x78b,0x7cb,0x80b,0x84b,0x88b,0x8cb,0x90b,0x94b,0x98b,0x9cb,0xa0b,0,0,0,0,
+0,0,0,0,0,0,0,0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,
+0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x58b,0x5cb,0x60b,0x64b,0x68b,0x58b,
+0x68b,0,0,0,0,0,0,0,0x249,0x289,0x49,0x89,0xc9,0x109,0x149,0x189,
+0x1c9,0x209,0x249,0x289,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0x49,0x89,
+0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
-2,0,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
+1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,2,2,2,2,2,2,2,0,2,2,
+2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,
+1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,2,1,0,1,1,
+0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,
+1,1,1,1,1,1,2,2,2,2,0,2,0,2,2,2,
+2,2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+2,2,2,2,1,1,0,1,1,1,1,0,0,1,1,1,
+1,1,1,1,1,0,1,1,1,1,1,1,1,0,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-1,0,1,1,0,0,1,0,0,1,1,0,0,1,1,1,
-1,0,1,1,1,1,1,1,1,1,2,2,2,2,0,2,
-0,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,
-2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,1,1,0,1,1,1,1,0,
-0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,
+2,2,2,2,2,2,2,2,1,1,0,1,1,1,1,0,
+1,1,1,1,1,0,1,0,0,0,1,1,1,1,1,1,
1,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,1,1,0,1,
-1,1,1,0,1,1,1,1,1,0,1,0,0,0,1,1,
-1,1,1,1,1,0,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,2,2,2,2,2,2,0,0,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,0x18,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0x18,
-2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0x18,
+2,2,2,2,2,2,0,0,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,0x18,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,2,2,2,2,2,2,2,2,2,2,0x18,2,2,2,2,
+2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,1,1,1,0x18,2,2,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,0x18,2,2,2,2,2,2,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,0x18,
-2,2,2,2,2,2,1,2,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,
-0x1c9,0x209,0x249,0x289,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0,6,6,6,
-6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,
-6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-6,6,6,0x1b,0x1b,0x1b,0x1b,6,6,6,6,6,6,6,6,6,
-6,6,6,6,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,0x1b,0x1b,0x17,0x17,0x17,0x17,0x17,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,
-6,6,6,6,6,6,6,0,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,6,0,0,6,6,6,6,6,
-6,6,0,6,6,0,6,6,6,6,6,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,5,0,0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,
-6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,
-2,2,2,2,6,6,6,6,6,6,6,0,0,0,0,0,
-0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0x17,0x17,
-1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
+2,0x18,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
+1,1,1,1,1,1,1,1,2,2,2,0x18,2,2,2,2,
+2,2,1,2,0,0,0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0x249,0x289,
+0x49,0x89,0xc9,0x109,0x149,0x189,0x1c9,0x209,0,6,6,6,6,6,6,6,
+6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,
+6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0x1b,
+0x1b,0x1b,0x1b,6,6,6,6,6,6,6,6,6,6,6,6,6,
+6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,6,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,6,0x1b,0x1b,0x17,0x17,0x17,0x17,0x17,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,
+6,6,6,0,6,6,6,6,6,6,6,6,6,6,6,6,
+6,6,6,6,6,0,0,6,6,6,6,6,6,6,0,6,
+6,0,6,6,6,6,6,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,5,0x1b,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0,0,0,6,6,6,6,
+6,6,6,4,4,4,4,4,4,4,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,6,6,6,6,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0,0x19,5,5,5,5,
+5,0,0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,6,6,6,6,
+6,6,6,0,0,0,0,0,0,0,0,0,2,2,2,2,
+6,6,6,6,6,6,6,4,0,0,0,0,0x49,0x89,0xc9,0x109,
+0x149,0x189,0x1c9,0x209,0x249,0x289,0,0,0,0,0x17,0x17,1,1,2,2,
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,
-0x78cb,0x794b,0x814b,0x58b,0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x1b,0x34cb,0x344b,0x3ccb,
-0x19,0x58b,0x5cb,0x788b,0x78cb,0,0,0,0,0,0,0,0,0,0,0,
-0x16cb,0x194b,0x1bcb,0x1e4b,0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,
-0x984b,0xa04b,0xa84b,0xb04b,0xb84b,0x788b,0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0x78cb,0x80cb,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x18,0x18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-5,5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-0,5,5,0,5,0,0,5,0,5,5,5,5,5,5,5,
-5,5,5,0,5,5,5,5,0,5,0,5,0,0,0,0,
-0,0,5,0,0,0,0,5,0,5,0,5,0,5,5,5,
-0,5,5,0,5,0,0,5,0,5,0,5,0,5,0,5,
-0,5,5,0,5,0,0,5,5,5,5,0,5,5,5,5,
-5,5,5,0,5,5,5,5,0,5,5,5,5,0,5,0,
-5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
-0,5,5,5,0,5,5,5,5,5,0,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,
+2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0x58b,0x5cb,0x60b,
+0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x78cb,0x794b,0x814b,0x58b,
+0x5cb,0x60b,0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x1b,0x34cb,0x344b,0x3ccb,0x19,0x58b,0x5cb,0x788b,
+0x78cb,0,0,0,0,0,0,0,0,0,0,0,0x16cb,0x194b,0x1bcb,0x1e4b,
+0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0x984b,0xa04b,0xa84b,0xb04b,
+0xb84b,0x788b,0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0x78cb,0x80cb,0x984b,0xa04b,0xa84b,0xb04b,
+0xb84b,0x788b,0x808b,0x888b,0x908b,0x988b,0xa08b,0xa88b,0xb08b,0xb88b,0x1b,0x5cb,0x60b,0x64b,0x68b,0x6cb,
+0x70b,0x74b,0x78b,0x7cb,0x900b,0xa00b,0x804b,0x788b,0x344b,0x354b,0,0,0,0x58b,0x5cb,0x60b,
+0x64b,0x68b,0x6cb,0x70b,0x74b,0x78b,0x7cb,0xa4b,0xccb,0xf4b,0x11cb,0x144b,0x16cb,0x194b,0x1bcb,0x1e4b,
+0x800b,0x880b,0x900b,0x980b,0xa00b,0xa80b,0xb00b,0xb80b,0x784b,0x804b,0x884b,0x904b,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x18,0x18,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,0,
+5,0,0,5,0,5,5,5,5,5,5,5,5,5,5,0,
+5,5,5,5,0,5,0,5,0,0,0,0,0,0,5,0,
+0,0,0,5,0,5,0,5,0,5,5,5,0,5,5,0,
+5,0,0,5,0,5,0,5,0,5,0,5,0,5,5,0,
+5,0,0,5,5,5,5,0,5,5,5,5,5,5,5,0,
+5,5,5,5,0,5,5,5,5,0,5,0,5,5,5,5,
+5,5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0,0,0,0,0,5,5,5,
+0,5,5,5,5,5,0,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,
+0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x2cb,0x2cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x54b,0x54b,0,0,0,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x2cb,0x2cb,0x30b,0x34b,0x38b,0x3cb,0x40b,0x44b,0x48b,0x4cb,0x50b,0x54b,
-0x54b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,
@@ -1311,50 +1335,58 @@ static const uint16_t propsTrie_index[21452]={
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1a,
0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,
-0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,
+0x1b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,
+0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,
0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0,0,0,0x1b,0,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,
-0,0,0,0,5,0x705,5,5,5,5,5,5,5,5,5,5,
+0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0x1b,0x1b,0x1b,0x1b,0,
+0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0,0,0,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0,0,0x1b,0x1b,0x1b,
+0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0,0,0x1b,0x1b,0x1b,0x1b,0,0,0,0,0x1b,0x1b,0x1b,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x1b,0x1b,0x1b,0x1b,
+0x1b,0x1b,0,0,0,0,0,0,0,0,0,0,5,0x705,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0x645,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x645,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x645,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,0x645,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x685,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0x685,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0xcc5,5,5,5,5,5,5,5,5,0xf45,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,0xf45,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0x6c5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x605,5,5,
+5,5,5,5,5,5,5,5,5,5,5,0xcc5,5,5,5,5,
+5,5,5,5,0xf45,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,0xf45,5,5,5,5,5,5,5,5,5,5,5,
+5,5,0x6c5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,0x605,5,5,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0x605,5,5,5,5,5,5,
+5,0x605,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x605,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,0x605,5,5,5,5,5,5,5,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,0x605,5,5,5,5,
+5,5,5,5,5,5,5,5,5,0x645,5,5,5,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0x605,5,5,5,5,5,5,5,5,5,5,5,5,
-5,0x645,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
+5,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x785,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
+0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x785,5,5,5,
+5,5,5,5,5,5,5,5,5,5,5,5,0x10,0x10,0x10,0x10,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
-0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0,0x10,0,0,0,0,0,0,
+0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0,0x10,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
+0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,
+6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0x11,0x11,0x11,0x11,
0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
-0x11,0x11,0x11,0x11,0x11,0x11,0,0,0,0,0,0
+0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0,0,0,0,0,0
};
static const UTrie2 propsTrie={
@@ -1362,1911 +1394,1947 @@ static const UTrie2 propsTrie={
propsTrie_index+4468,
NULL,
4468,
- 16984,
+ 17500,
0xa40,
0x11f4,
0x0,
0x0,
0x110000,
- 0x53c8,
+ 0x55cc,
NULL, 0, FALSE, FALSE, 0, NULL
};
-static const uint16_t propsVectorsTrie_index[30012]={
-0x4d5,0x4dd,0x4e5,0x4ed,0x505,0x50d,0x515,0x51d,0x525,0x52d,0x535,0x53d,0x545,0x54d,0x555,0x55d,
-0x564,0x56c,0x574,0x57c,0x57f,0x587,0x58f,0x597,0x59f,0x5a7,0x5af,0x5b7,0x5bf,0x5c7,0x5cf,0x5d7,
-0x5df,0x5e7,0x5ee,0x5f6,0x5fe,0x606,0x60e,0x616,0x61e,0x626,0x62b,0x633,0x63a,0x642,0x64a,0x652,
-0x65a,0x662,0x66a,0x672,0x679,0x681,0x689,0x691,0x699,0x6a1,0x6a9,0x6b1,0x6b9,0x6c1,0x6c9,0x6d1,
-0x19a7,0xd68,0xe47,0x6d9,0x4f5,0xeae,0xeb6,0x1b46,0x1276,0x128e,0x127e,0x1286,0x7ae,0x7b4,0x7bc,0x7c4,
-0x7cc,0x7d2,0x7da,0x7e2,0x7ea,0x7f0,0x7f8,0x800,0x808,0x80e,0x816,0x81e,0x826,0x82e,0x836,0x83d,
-0x845,0x84b,0x853,0x85b,0x863,0x869,0x871,0x879,0x881,0x1296,0x889,0x891,0x899,0x8a0,0x8a8,0x8b0,
-0x8b8,0x8bc,0x8c4,0x8cb,0x8d3,0x8db,0x8e3,0x8eb,0x15a6,0x15ae,0x8f3,0x8fb,0x903,0x90b,0x913,0x91a,
-0x160c,0x15fc,0x1604,0x18e2,0x18ea,0x12a6,0x922,0x129e,0x14f0,0x14f0,0x14f2,0x12ba,0x12bb,0x12ae,0x12b0,0x12b2,
-0x1614,0x1616,0x92a,0x1616,0x932,0x937,0x93f,0x161b,0x945,0x1616,0x94b,0x953,0xc3d,0x1623,0x1623,0x95b,
-0x1633,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,0x1634,
-0x1634,0x1634,0x1634,0x162b,0x963,0x163c,0x163c,0x96b,0xb52,0xb5a,0xb62,0xb6a,0x164c,0x1644,0x973,0x97b,
-0x983,0x1656,0x165e,0x98b,0x1654,0x993,0x19af,0xd70,0xb72,0xb7a,0xb82,0xb87,0x1850,0xc70,0xc77,0x17b8,
-0xc0d,0x19b7,0xd78,0xd80,0xd88,0xd90,0xf66,0xf66,0x18a8,0x18ad,0xcab,0xcb3,0x191e,0x1926,0x1a68,0xe4f,
-0x192e,0xcfc,0xd04,0x1936,0x112a,0x11ca,0xf46,0xd98,0x17d8,0x17c0,0x17d0,0x17c8,0x1868,0x1860,0x1828,0xc1d,
-0x12c3,0x12c3,0x12c3,0x12c3,0x12c6,0x12c3,0x12c3,0x12ce,0x99b,0x12d6,0x99f,0x9a7,0x12d6,0x9af,0x9b7,0x9bf,
-0x12e6,0x12de,0x12ee,0x9c7,0x9cf,0x12f6,0x9d7,0x9df,0x12fe,0x1306,0x130e,0x1316,0x9e7,0x131e,0x1325,0x132d,
-0x1335,0x133d,0x1345,0x134d,0x1355,0x135c,0x1364,0x136c,0x1374,0x137c,0x137f,0x1381,0x1666,0x174b,0x1751,0x1898,
-0x1389,0x9ef,0x9f7,0x14a3,0x14a8,0x14ab,0x14b3,0x1391,0x14bb,0x14bb,0x13a1,0x1399,0x13a9,0x13b1,0x13b9,0x13c1,
-0x13c9,0x13d1,0x13d9,0x13e1,0x1759,0x17b0,0x18f2,0x1a48,0x13f1,0x13f8,0x1400,0x1408,0x13e9,0x1410,0x1761,0x1768,
-0x166e,0x166e,0x166e,0x166e,0x166e,0x166e,0x166e,0x166e,0x1770,0x1773,0x1770,0x1770,0x177b,0x1782,0x1784,0x178b,
-0x1793,0x1797,0x1797,0x179a,0x1797,0x1797,0x17a0,0x1797,0x17e0,0x18a0,0x18fa,0xb8f,0xb95,0x1b7a,0xb9b,0xba0,
-0x1840,0xc4d,0xc51,0x18b5,0x1830,0x1830,0x1830,0xc25,0x1838,0xc45,0x1880,0xc9b,0xc2d,0xc35,0xc35,0x193e,
-0x1870,0x1902,0xc87,0xc8b,0x9ff,0x1676,0x1676,0xa07,0x167e,0x167e,0x167e,0x167e,0x167e,0x167e,0xa0f,0x6dd,
-0x14d8,0x14fa,0xa17,0x1502,0xa1f,0x150a,0x1512,0x151a,0xa27,0xa2c,0x1522,0x1529,0xa31,0xa39,0x1890,0xc15,
-0xa41,0x1580,0x1587,0x1531,0x158f,0x1596,0x1539,0xa49,0x1552,0x1552,0x1554,0x1541,0x1549,0x1549,0x154a,0x159e,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x1686,0x122b,0x17e8,0x17e8,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,
-0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x155c,0x1563,0x199f,0x1233,
-0x168e,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,
-0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,0x1694,
-0x1694,0x1694,0x1694,0x1694,0xa51,0x169c,0xa59,0x19bf,0x194a,0x194a,0x194a,0x194a,0x194a,0x194a,0x194a,0x194a,
-0x1946,0xd0c,0x195a,0x1952,0x195c,0x19c7,0x19c7,0xda0,0x1848,0x18bd,0x1912,0x1916,0x190a,0xcbb,0xcc2,0xcc5,
-0x1878,0xc93,0x18c5,0xccd,0x1964,0x1967,0xd14,0x19cf,0x1977,0x196f,0xd1c,0xda8,0x19d7,0x19db,0xdb0,0x100d,
-0x197f,0xd24,0xd2c,0x19e3,0x19f3,0x19eb,0xdb8,0xf09,0xe57,0xe5f,0x1bc1,0xfc5,0x1c66,0x1c66,0x19fb,0xdc0,
-0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,
-0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,
-0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,
-0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,
-0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,
-0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,
-0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,
-0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,
-0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,
-0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,
-0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,
-0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,
-0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,
-0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,
-0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,
-0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,
-0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,
-0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,
-0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,
-0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,
-0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,
-0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0x15f4,0x15ee,0x15ef,0x15f0,0x15f1,0x15f2,0x15f3,0xa61,0xdc8,0xdcb,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,
-0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,
-0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x14c3,0x156b,0x156b,0x156b,0x156b,0x156b,0x156b,0x156b,0x156b,
-0x1570,0x1578,0x17a8,0x123b,0x1888,0x1888,0x123f,0x1246,0xa69,0xa71,0xa79,0x1430,0x1437,0x143f,0xa81,0x1447,
-0x1478,0x1478,0x1420,0x1428,0x144f,0x146f,0x1470,0x1480,0x1457,0x1418,0xa89,0x145f,0xa91,0x1467,0xa99,0xa9d,
-0xca3,0x1488,0xaa5,0xaad,0x1490,0x1496,0x149b,0xab5,0xac5,0x14e0,0x14e8,0x14cb,0x14d0,0xacd,0xad5,0xabd,
-0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,
-0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15b6,0x15be,0x15be,0x15be,0x15be,
-0x13d4,0x13d4,0x1414,0x1454,0x1494,0x14d4,0x1514,0x1554,0x1590,0x15d0,0x15fc,0x163c,0x167c,0x16bc,0x16fc,0x173c,
-0x177c,0x17b8,0x17f8,0x1838,0x1878,0x18ac,0x18e8,0x1928,0x1968,0x19a8,0x19e4,0x1a24,0x1a64,0x1aa4,0x1ae4,0x1b24,
-0xa80,0xac0,0xb00,0xb40,0xb80,0xa40,0xbc0,0xa40,0xea8,0xa40,0xa40,0xa40,0xa40,0xc00,0x12d3,0x12d3,
-0xee8,0xf28,0xa40,0xa40,0xa40,0xa40,0xc40,0xc60,0xa40,0xa40,0xca0,0xce0,0xd20,0xd60,0xe68,0xdd8,
-0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,0x1213,
-0x1213,0x1213,0x1213,0x1213,0xf68,0x1253,0x1088,0x10c8,0x1293,0x10d3,0x1313,0x1313,0x1313,0xfa8,0xfc8,0x1008,
-0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,
-0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0xfc8,0x1048,
+static const uint16_t propsVectorsTrie_index[30588]={
+0x4d6,0x4de,0x4e6,0x4ee,0x506,0x50e,0x516,0x51e,0x526,0x52e,0x536,0x53e,0x546,0x54e,0x556,0x55e,
+0x565,0x56d,0x575,0x57d,0x580,0x588,0x590,0x598,0x5a0,0x5a8,0x5b0,0x5b8,0x5c0,0x5c8,0x5d0,0x5d8,
+0x5e0,0x5e8,0x5ef,0x5f7,0x5ff,0x607,0x60f,0x617,0x61f,0x627,0x62c,0x634,0x63b,0x643,0x64b,0x653,
+0x65b,0x663,0x66b,0x673,0x67a,0x682,0x68a,0x692,0x69a,0x6a2,0x6aa,0x6b2,0x6ba,0x6c2,0x6ca,0x6d2,
+0x19e4,0xd43,0xe2a,0x6da,0x4f6,0xe91,0xe99,0x1b8e,0x12b7,0x12c7,0x12af,0x12bf,0x7a3,0x7a9,0x7b1,0x7b9,
+0x7c1,0x7c7,0x7cf,0x7d7,0x7df,0x7e5,0x7ed,0x7f5,0x7fd,0x803,0x80b,0x813,0x81b,0x823,0x82b,0x832,
+0x83a,0x840,0x848,0x850,0x858,0x85e,0x866,0x86e,0x876,0x12cf,0x87e,0x886,0x88e,0x895,0x89d,0x8a5,
+0x8ad,0x8b1,0x8b9,0x8c0,0x8c8,0x8d0,0x8d8,0x8e0,0x15e3,0x15eb,0x8e8,0x8f0,0x8f8,0x900,0x908,0x90f,
+0x1649,0x1639,0x1641,0x191f,0x1927,0x12df,0x917,0x12d7,0x1529,0x1529,0x152b,0x12f3,0x12f4,0x12e7,0x12e9,0x12eb,
+0x1651,0x1653,0x91f,0x1653,0x927,0x92c,0x934,0x1658,0x93a,0x1653,0x940,0x948,0xc1f,0x1660,0x1660,0x950,
+0x1670,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,
+0x1671,0x1671,0x1671,0x1668,0x958,0x1679,0x1679,0x960,0xb3f,0xb47,0xb4f,0xb57,0x1689,0x1681,0x968,0x970,
+0x978,0x1693,0x169b,0x980,0x1691,0x988,0x19ec,0xd4b,0xb5f,0xb67,0xb6f,0xb74,0x188d,0xc52,0xc59,0x17f5,
+0xbef,0x19f4,0xd53,0xd5b,0xd63,0xd6b,0xf44,0xf44,0x18e5,0x18ea,0xc8d,0xc95,0x195b,0x1963,0x1aad,0xe32,
+0x196b,0xcd7,0xcdf,0x1973,0x1101,0x11a9,0xf24,0xd73,0x1815,0x17fd,0x180d,0x1805,0x18a5,0x189d,0x1865,0xbff,
+0x12fc,0x12fc,0x12fc,0x12fc,0x12ff,0x12fc,0x12fc,0x1307,0x990,0x130f,0x994,0x99c,0x130f,0x9a4,0x9ac,0x9b4,
+0x131f,0x1317,0x1327,0x9bc,0x9c4,0x132f,0x9cc,0x9d4,0x1337,0x133f,0x1347,0x134f,0x9dc,0x1357,0x135e,0x1366,
+0x136e,0x1376,0x137e,0x1386,0x138e,0x1395,0x139d,0x13a5,0x13ad,0x13b5,0x13b8,0x13ba,0x16a3,0x1788,0x178e,0x18d5,
+0x13c2,0x9e4,0x9ec,0x14dc,0x14e1,0x14e4,0x14ec,0x13ca,0x14f4,0x14f4,0x13da,0x13d2,0x13e2,0x13ea,0x13f2,0x13fa,
+0x1402,0x140a,0x1412,0x141a,0x1796,0x17ed,0x192f,0x1a85,0x142a,0x1431,0x1439,0x1441,0x1422,0x1449,0x179e,0x17a5,
+0x16ab,0x16ab,0x16ab,0x16ab,0x16ab,0x16ab,0x16ab,0x16ab,0x17ad,0x17b0,0x17ad,0x17ad,0x17b8,0x17bf,0x17c1,0x17c8,
+0x17d0,0x17d4,0x17d4,0x17d7,0x17d4,0x17d4,0x17dd,0x17d4,0x181d,0x18dd,0x1937,0xb7c,0xb82,0x1bca,0x1bd2,0x1ca9,
+0x187d,0xc2f,0xc33,0x18f2,0x186d,0x186d,0x186d,0xc07,0x1875,0xc27,0x18bd,0xc7d,0xc0f,0xc17,0xc17,0x197b,
+0x18ad,0x193f,0xc69,0xc6d,0x9f4,0x16b3,0x16b3,0x9fc,0x16bb,0x16bb,0x16bb,0x16bb,0x16bb,0x16bb,0xa04,0x6de,
+0x1511,0x1533,0xa0c,0x153b,0xa14,0x1543,0x154b,0x1553,0xa1c,0xa21,0x155b,0x1562,0xa26,0xa2e,0x18cd,0xbf7,
+0xa36,0x15bd,0x15c4,0x156a,0x15cc,0x15d3,0x1572,0x1576,0x158f,0x158f,0x1591,0x157e,0x1586,0x1586,0x1587,0x15db,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,
+0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x16c3,0x1264,0x1825,0x1825,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,
+0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x15a0,0x19dc,0x126c,
+0x16cb,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,
+0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,
+0x16d1,0x16d1,0x16d1,0x16d1,0xa3e,0x16d9,0xa46,0x19fc,0x1987,0x1987,0x1987,0x1987,0x1987,0x1987,0x1987,0x1987,
+0x1983,0xce7,0x1997,0x198f,0x1999,0x1a04,0x1a04,0xd7b,0x1885,0x18fa,0x194f,0x1953,0x1947,0x1aa5,0xc9d,0xca0,
+0x18b5,0xc75,0x1902,0xca8,0x19a1,0x19a4,0xcef,0x1a0c,0x19b4,0x19ac,0xcf7,0xd83,0x1a14,0x1a18,0xd8b,0xfec,
+0x19bc,0xcff,0xd07,0x1a20,0x1a30,0x1a28,0xd93,0xeec,0xe3a,0xe42,0x1c19,0xfa4,0x1cc6,0x1cc6,0x1a38,0xd9b,
+0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,
+0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,
+0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,
+0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,
+0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,
+0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,
+0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,
+0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,
+0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,
+0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,
+0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,
+0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,
+0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,
+0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,
+0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,
+0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,
+0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,
+0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,
+0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,
+0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,
+0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,
+0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0x1631,0x162b,0x162c,0x162d,0x162e,0x162f,0x1630,0xa4e,0xda3,0xda6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,
+0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,0x1603,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,
+0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x14fc,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,0x15a8,
+0x15ad,0x15b5,0x17e5,0x1274,0x18c5,0x18c5,0x1278,0x127f,0xa56,0xa5e,0xa66,0x1469,0x1470,0x1478,0xa6e,0x1480,
+0x14b1,0x14b1,0x1459,0x1461,0x1488,0x14a8,0x14a9,0x14b9,0x1490,0x1451,0xa76,0x1498,0xa7e,0x14a0,0xa86,0xa8a,
+0xc85,0x14c1,0xa92,0xa9a,0x14c9,0x14cf,0x14d4,0xaa2,0xab2,0x1519,0x1521,0x1504,0x1509,0xaba,0xac2,0xaaa,
+0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,
+0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15fb,0x15fb,0x15fb,0x15fb,
+0x13d8,0x13d8,0x1418,0x1458,0x1498,0x14d8,0x1518,0x1558,0x1594,0x15d4,0x1600,0x1640,0x1680,0x16c0,0x1700,0x1740,
+0x1780,0x17bc,0x17fc,0x183c,0x187c,0x18b0,0x18ec,0x192c,0x196c,0x19ac,0x19e8,0x1a28,0x1a68,0x1aa8,0x1ae8,0x1b28,
+0xa80,0xac0,0xb00,0xb40,0xb80,0xa40,0xe48,0xa40,0xe6a,0xa40,0xa40,0xa40,0xa40,0xbc0,0x12d5,0x12d5,
+0xeaa,0xeea,0xa40,0xa40,0xa40,0xa40,0xf2a,0xc00,0xa40,0xa40,0xc40,0xc80,0xcc0,0xd00,0xe08,0xd78,
+0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,0x1215,
+0x1215,0x1215,0x1215,0x1215,0xf6a,0x1255,0x108a,0x10ca,0x1295,0x10d5,0x1315,0x1315,0x1315,0xfaa,0xfca,0x100a,
+0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,
+0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0xfca,0x104a,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
-0xe18,0xe28,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
-0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd98,
-0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,
-0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1193,0x1113,
-0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,
-0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x1153,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0xba8,0xbaf,0xbb7,0xbbf,0x17f0,0x17f0,0x17f0,0xbc7,0xbcf,0xbd2,0x1820,0x1818,0xc05,0xd34,0xd38,0xd3c,
-0x4f5,0x4f5,0x4f5,0x4f5,0xd44,0x1987,0xd4c,0xf5e,0x16a4,0xadd,0xae3,0x101d,0xbda,0x1858,0xc7f,0x4f5,
-0x16b9,0x16ac,0x16b1,0x17f8,0xbe2,0xbea,0x1168,0x116e,0x1ba9,0xf7b,0x1b99,0x6e5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1bc9,0x1bc9,0x1bc9,0x1bc9,0x1bc9,0x1bc9,0x1bc9,0x1bc9,0x1bc9,0xfcd,0xfd5,0xfdd,0x4f5,0x4f5,0x4f5,0x4f5,
-0xbf2,0xbf5,0xdd3,0x1c11,0x1015,0x6ed,0x4f5,0x10ae,0xcd5,0xd54,0x4f5,0x4f5,0x1b56,0xf11,0xf19,0x1c51,
-0xc59,0xc60,0xc68,0x1a03,0x1bf1,0x4f5,0x1bd1,0xfed,0x1a0b,0xddb,0xde3,0xdeb,0x103d,0x6f5,0x4f5,0x4f5,
-0x1a13,0x1a13,0x6fd,0x4f5,0x1c7e,0x10c6,0x1c76,0x10ce,0x1d26,0x11e0,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0xdf3,0x4f5,0x4f5,0x4f5,0x4f5,0x1d46,0x1208,0x120f,0x705,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1a70,0x1a72,0xe67,0xe6e,0x1a1b,0x1a23,0xdfb,0xf3e,0x1b4e,0xef9,0xf01,0xfe5,0x1b66,0x1b6a,0xf36,0x105d,
-0xfb0,0xfb5,0x70d,0x4f5,0x10b6,0x10be,0x1bb9,0xfbd,0xf92,0xf98,0xfa0,0xfa8,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1cc6,0x1cbe,0x1158,0x1160,0x1c39,0x1c31,0x1084,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x1c21,0x1045,0x104d,0x1055,
-0x1be9,0x1be1,0xffd,0x1150,0x1b72,0xf4e,0x715,0x4f5,0x1094,0x109c,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1d1e,0x11c2,0x71d,0x4f5,0x4f5,0x1c49,0x1c41,0x108c,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1cf6,0x1cee,0x11b2,0x1ce6,0x11aa,0x725,0x1c19,0x1035,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x110e,0x1113,0x111b,0x1122,0x1142,0x1148,0x4f5,0x4f5,0x118e,0x1192,0x119a,0x11d2,0x11d8,0x72d,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x11f0,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,
-0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18cd,0x18d2,0xcdd,0xce4,0xce4,0xce4,
-0x18da,0x18da,0x18da,0xcec,0x1c6e,0x1c6e,0x1c6e,0x1c6e,0x1c6e,0x1c6e,0x735,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,
-0x1a2b,0x1a2b,0x1a2d,0x1a2b,0x1a35,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a2b,0x1a38,0x1a2b,0x1a2b,0x1a2b,0x1a2b,
-0x1a2b,0x73d,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,0x1a7a,
-0x1a7a,0xe76,0x1005,0x745,0x4f5,0x4f5,0x749,0xf56,0x1c09,0x1c01,0x1025,0x102d,0x751,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x1d3e,0x1d36,0x1200,0x4f5,0x4f5,0x4f5,0x1b5e,0x1b5e,0xf21,0xf26,0xf2e,0x4f5,0x4f5,0x113a,
-0x1a8a,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1186,0x759,0x4f5,0x75d,0x1d16,0x1d16,0x1d16,0x1d16,
-0x1d16,0x1d16,0x1d16,0x1d16,0x1d16,0x1d16,0x1d16,0x11a2,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1ba1,0x1ba1,0x1ba1,0xf6e,0xf73,0x765,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x16c1,0x16c1,0x16c1,0x16c1,0x16c1,0x16c1,0x16c1,0xaeb,0x16d1,0xaf3,0x16d2,0x16c9,0x16da,0x16e0,0x16e8,0xafb,
-0x1810,0x1810,0x76d,0x4f5,0x4f5,0x4f5,0x4f5,0x11f8,0x1800,0x1800,0xbfd,0xcf4,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1719,0x1720,0xb03,0x1723,0xb0b,0xb13,0xb1b,0x171d,0xb23,0xb2b,0xb33,0x1722,0x172a,0x1719,0x1720,0x171c,
-0x1723,0x172b,0x171a,0x1721,0x171d,0xb3a,0x16f0,0x16f8,0x16ff,0x1706,0x16f3,0x16fb,0x1702,0x1709,0xb42,0x1711,
-0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,0x1c96,
-0x1c86,0x1c89,0x1c86,0x1c90,0x10fe,0x775,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1132,0x77d,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x1bd9,0x1bd9,0x1bd9,0x1bd9,0x1bd9,0x1bd9,0xff5,0x4f5,0x1cb6,0x1cae,0x1106,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x781,0x1d2e,0x11e8,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0xebe,0xec6,0xece,0xed6,0xede,0xee6,0xeed,0xef1,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x789,0x1065,0x1c29,0x106b,0x1c29,0x1073,0x1078,0x107c,0x107c,
-0x10d6,0x10de,0x1cce,0x10e6,0x1ca6,0x10ee,0x10f6,0x1d06,0x11ba,0x11ba,0x11ba,0x791,0x795,0x795,0x795,0x795,
-0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,
-0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,
-0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x796,0xb4a,0x1733,0x1733,0x1733,0x79e,0x79e,0x79e,0x79e,
-0x1808,0x1808,0x1808,0x1808,0x1808,0x1808,0x1808,0x7a6,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,
-0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,
-0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,
-0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,
-0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x198f,0xd5c,0x1997,0x1997,0xd60,0xe7e,0xe86,0xe8e,
-0xe03,0x1a40,0x1a58,0xe0b,0x1a50,0xe13,0xe17,0xe1e,0xe26,0xe2d,0xe35,0xe3d,0xe3f,0xe3f,0xe3f,0xe3f,
-0x1ab1,0x1ab9,0x1ab1,0x1abf,0x1ac7,0x1a92,0x1acf,0x1ad7,0x1ab1,0x1adf,0x1ae7,0x1aee,0x1af6,0x1a9a,0x1ab1,0x1af8,
-0x1aa2,0x1aa9,0x1b00,0x1b06,0x1b8a,0x1b91,0x1b82,0x1b0e,0x1b16,0x1b1e,0x1b26,0x1bf9,0x1b2e,0x1b36,0xe96,0xe9e,
-0x1a82,0x1a82,0x1a82,0xea6,0x1bb1,0x1bb1,0xf83,0xf8a,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,
-0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,0x1c59,0x1c5e,0x1c59,0x1c59,0x1c59,0x10a4,0x10a6,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1176,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,
-0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x1cde,0x117e,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,
-0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x4f5,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x124e,0x1217,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x121f,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,
-0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,0x1743,0x1256,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1223,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,
-0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1217,0x1223,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x125e,0x1b3e,0x1b3e,0x1b3e,0x1b3e,0x1b3e,0x1b3e,0x1266,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x126e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15ce,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15d6,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,
-0x15de,0x15de,0x15de,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,0x15e6,
-0x15e6,0x15e6,0x15e6,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,0x173b,
-0x173b,0x173b,0x173b,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,0x1a60,
-0x1a60,0x1a60,0x1a60,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,0x1c9e,
-0x1c9e,0x1c9e,0x1c9e,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,0x1cd6,
-0x1cd6,0x1cd6,0x1cd6,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,0x1d0e,
-0x1d0e,0x1d0e,0x1d0e,0x4d4,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a3,0x2ac,0x2a6,
-0x2a6,0x2a9,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,
-0x2a0,0x2a0,0x2a0,0x2a0,0x7d4,0x7ce,0x7b3,0x7aa,0x7a1,0x79e,0x795,0x7b0,0x79b,0x7a7,0x7aa,0x7c5,
-0x7bc,0x7ad,0x7d1,0x7a4,0x792,0x792,0x792,0x792,0x792,0x792,0x792,0x792,0x792,0x792,0x7b9,0x7b6,
-0x7bf,0x7bf,0x7bf,0x7ce,0x795,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7e0,0x7da,0x7da,0x7da,0x7da,0x7da,
-0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x7da,0x79b,
-0x7a1,0x7a7,0x7cb,0x78f,0x7c8,0x7dd,0x7dd,0x7dd,0x7dd,0x7dd,0x7dd,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,
-0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x7d7,0x79b,
-0x7c2,0x798,0x7bf,0x2a0,0,0,0,0,0,0,0,0,0,0,0,0,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
+0xdb8,0xdc8,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,
+0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xa40,0xd38,
+0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,
+0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1195,0x1115,
+0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,
+0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x11d5,0x1155,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0xb8a,0xb91,0xb99,0xba1,0x182d,0x182d,0x182d,0xba9,0xbb1,0xbb4,0x185d,0x1855,0xbe7,0xd0f,0xd13,0xd17,
+0x4f6,0x4f6,0x4f6,0x4f6,0xd1f,0x19c4,0xd27,0xf3c,0x16e1,0xaca,0xad0,0xffc,0xbbc,0x1895,0xc61,0x4f6,
+0x16f6,0x16e9,0x16ee,0x1835,0xbc4,0xbcc,0x113f,0x1145,0x1c01,0xf59,0x1bf1,0x6e6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1c21,0x1c21,0x1c21,0x1c21,0x1c21,0x1c21,0x1c21,0x1c21,0x1c21,0xfac,0xfb4,0xfbc,0x4f6,0x4f6,0x4f6,0x4f6,
+0xbd4,0xbd7,0xdae,0x1c69,0xff4,0x6ee,0x4f6,0x108d,0xcb0,0xd2f,0x4f6,0x4f6,0x1b9e,0xef4,0xefc,0x1cb1,
+0xc3b,0xc42,0xc4a,0x1a40,0x1c49,0x4f6,0x1c29,0xfcc,0x1a48,0xdb6,0xdbe,0xdc6,0x101c,0x6f6,0x4f6,0x4f6,
+0x1a50,0x1a50,0x6fe,0x4f6,0x1cde,0x10a5,0x1cd6,0x10ad,0x1d96,0x11bf,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0xdce,0x4f6,0x4f6,0x4f6,0x4f6,0x1db6,0x11e7,0x11ee,0x706,0x4f6,0x4f6,0x4f6,0x11f6,
+0x1ab5,0x1ab7,0xe4a,0xe51,0x1a58,0x1a60,0xdd6,0xf1c,0x1b96,0xedc,0xee4,0xfc4,0x1bb6,0x1bba,0xf14,0x103c,
+0xf8f,0xf94,0x70e,0x4f6,0x1095,0x109d,0x1c11,0xf9c,0xf71,0xf77,0xf7f,0xf87,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1d26,0x1d1e,0x112f,0x1137,0x1c91,0x1c89,0x1063,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1c79,0x1024,0x102c,0x1034,
+0x1c41,0x1c39,0xfdc,0x1127,0x1bc2,0xf2c,0x716,0x4f6,0x1073,0x107b,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1d8e,0x11a1,0x71e,0x4f6,0x4f6,0x1ca1,0x1c99,0x106b,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x11fe,0x1202,0x120a,
+0x1d66,0x1d5e,0x1189,0x1d56,0x1d4e,0x726,0x1c71,0x1014,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x10e5,0x10ea,0x10f2,0x10f9,0x1119,0x111f,0x4f6,0x4f6,0x116d,0x1171,0x1179,0x11b1,0x11b7,0x72e,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x11cf,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1dce,0x1240,
+0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,
+0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190a,0x190f,0xcb8,0xcbf,0xcbf,0xcbf,
+0x1917,0x1917,0x1917,0xcc7,0x1cce,0x1cce,0x1cce,0x1cce,0x1cce,0x1cce,0x736,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,0x1abf,
+0x1abf,0xe59,0xfe4,0x73e,0x4f6,0x4f6,0x742,0xf34,0x1c61,0x1c59,0x1004,0x100c,0x74a,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x1dae,0x1da6,0x11df,0x4f6,0x4f6,0x4f6,0x1bae,0x1bae,0xf04,0x1ba6,0xf0c,0x4f6,0x4f6,0x1111,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1bf9,0x1bf9,0x1bf9,0xf4c,0xf51,0x752,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x16fe,0x16fe,0x16fe,0x16fe,0x16fe,0x16fe,0x16fe,0xad8,0x170e,0xae0,0x170f,0x1706,0x1717,0x171d,0x1725,0xae8,
+0x184d,0x184d,0x75a,0x4f6,0x4f6,0x4f6,0x4f6,0x11d7,0x183d,0x183d,0xbdf,0xccf,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1756,0x175d,0xaf0,0x1760,0xaf8,0xb00,0xb08,0x175a,0xb10,0xb18,0xb20,0x175f,0x1767,0x1756,0x175d,0x1759,
+0x1760,0x1768,0x1757,0x175e,0x175a,0xb27,0x172d,0x1735,0x173c,0x1743,0x1730,0x1738,0x173f,0x1746,0xb2f,0x174e,
+0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,0x1cf6,
+0x1ce6,0x1ce9,0x1ce6,0x1cf0,0x10d5,0x762,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1109,0x76a,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1dc6,0x1212,0x772,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1dd6,0x1248,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x1c31,0x1c31,0x1c31,0x1c31,0x1c31,0x1c31,0xfd4,0x4f6,0x1d16,0x1d0e,0x10dd,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x776,0x1d9e,0x11c7,0x4f6,0x4f6,0x121a,0x121b,0x77e,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0xea1,0xea9,0xeb1,0xeb9,0xec1,0xec9,0xed0,0xed4,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x782,0x1044,0x1c81,0x104a,0x1c81,0x1052,0x1057,0x105b,0x105b,
+0x10b5,0x1d2e,0x1d36,0x10bd,0x1d06,0x10c5,0x10cd,0x1d76,0x1dbe,0x1dbe,0x1191,0x1199,0x1232,0x1238,0x1238,0x1238,
+0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,
+0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,
+0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78a,0x78b,0xb37,0x1770,0x1770,0x1770,0x793,0x793,0x793,0x793,
+0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x79b,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,
+0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,
+0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,
+0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,
+0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x793,0x19cc,0xd37,0x19d4,0x19d4,0xd3b,0xe61,0xe69,0xe71,
+0xde6,0x1a7d,0x1a95,0xdee,0x1a8d,0xdf6,0xdfa,0xe01,0xe09,0xe10,0xe18,0xe20,0xe22,0xe22,0xe22,0xe22,
+0x1af6,0x1afe,0x1af6,0x1b04,0x1b0c,0x1ad7,0x1b14,0x1b1c,0x1af6,0x1b24,0x1b2c,0x1b33,0x1b3b,0x1adf,0x1af6,0x1b40,
+0x1ae7,0x1aee,0x1b48,0x1b4e,0x1be2,0x1be9,0x1bda,0x1b56,0x1b5e,0x1b66,0x1b6e,0x1c51,0x1b76,0x1b7e,0xe79,0xe81,
+0x1ac7,0x1ac7,0x1ac7,0xe89,0x1c09,0x1c09,0xf61,0xf69,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,
+0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0x1a6a,0x1a68,0x1a72,0x1a68,0x1a68,0x1a68,
+0x1a68,0x1a68,0x1a68,0x1a75,0x1a68,0x1a68,0x1a68,0x1a68,0x1a68,0xdde,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,
+0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cb9,0x1cbe,0x1cb9,0x1cb9,0x1cb9,0x1083,0x1085,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x114d,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,
+0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,0x1d46,
+0x1d46,0x1155,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1acf,0x1d6e,0x1d6e,0x1d6e,0x1d6e,0x1d6e,
+0x1d6e,0x1d6e,0x115d,0x1165,0x1223,0x122a,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,0x1d86,
+0x1d86,0x1181,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,
+0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x4f6,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1287,0x1250,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1258,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,
+0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,0x1780,0x128f,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x125c,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,
+0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x1250,0x125c,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1297,0x1b86,0x1b86,0x1b86,0x1b86,0x1b86,0x1b86,0x129f,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x12a7,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x160b,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1613,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,0x161b,
+0x161b,0x161b,0x161b,0x161b,0x161b,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,0x1778,
+0x1778,0x1778,0x1778,0x1778,0x1778,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,
+0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1a9d,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,
+0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1cfe,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,
+0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d3e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,
+0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x1d7e,0x4d5,0x4d5,0x4d5,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,
+0x2bb,0x2be,0x2c7,0x2c1,0x2c1,0x2c4,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,
+0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x2bb,0x7ef,0x7e9,0x7ce,0x7c5,0x7bc,0x7b9,0x7b0,0x7cb,
+0x7b6,0x7c2,0x7c5,0x7e0,0x7d7,0x7c8,0x7ec,0x7bf,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,0x7ad,
+0x7ad,0x7ad,0x7d4,0x7d1,0x7da,0x7da,0x7da,0x7e9,0x7b0,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7fb,0x7f5,
+0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,0x7f5,
+0x7f5,0x7f5,0x7f5,0x7b6,0x7bc,0x7c2,0x7e6,0x7aa,0x7e3,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f8,0x7f2,
+0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,
+0x7f2,0x7f2,0x7f2,0x7b6,0x7dd,0x7b3,0x7da,0x2bb,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x2af,0x2af,0x2af,0x2af,0x2af,0x2be,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,
-0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,
-0x2af,0x2af,0x2af,0x2af,0x2b2,0x62a,0x7e9,0x7ec,0x630,0x7ec,0x7e6,0x627,0x61e,0x2b8,0x63c,0x2bb,
-0x7ef,0x615,0x633,0x7e3,0x62d,0x639,0x61b,0x61b,0x621,0x2b5,0x627,0x624,0x61e,0x61b,0x63c,0x2bb,
-0x618,0x618,0x618,0x62a,0x2c4,0x2c4,0x2c4,0x2c4,0x2c4,0x2c4,0x645,0x2c4,0x2c4,0x2c4,0x2c4,0x2c4,
-0x2c4,0x2c4,0x2c4,0x2c4,0x645,0x2c4,0x2c4,0x2c4,0x2c4,0x2c4,0x2c4,0x636,0x645,0x2c4,0x2c4,0x2c4,
-0x2c4,0x2c4,0x645,0x63f,0x642,0x642,0x2c1,0x2c1,0x2c1,0x2c1,0x63f,0x2c1,0x642,0x642,0x642,0x2c1,
-0x642,0x642,0x2c1,0x2c1,0x63f,0x2c1,0x642,0x642,0x2c1,0x2c1,0x2c1,0x636,0x63f,0x642,0x642,0x2c1,
-0x642,0x2c1,0x63f,0x2c1,0x2d0,0x64b,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,
-0x2d0,0x2c7,0x2d0,0x2c7,0x2cd,0x648,0x2d0,0x64b,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x64b,
-0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x651,0x648,0x2d0,0x2c7,0x2d0,0x64b,
-0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x648,0x654,0x64e,0x2d0,0x2c7,0x2d0,0x2c7,0x648,0x2d0,0x2c7,0x2d0,
-0x2c7,0x2d0,0x2c7,0x654,0x64e,0x651,0x648,0x2d0,0x64b,0x2d0,0x2c7,0x2d0,0x64b,0x657,0x651,0x648,
-0x2d0,0x64b,0x2d0,0x2c7,0x2d0,0x2c7,0x651,0x648,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,
-0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x651,0x648,0x2d0,0x2c7,0x2d0,0x64b,
-0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2c7,0x2d0,0x2d0,0x2c7,0x2d0,
-0x2c7,0x2d0,0x2c7,0x2ca,0x2d3,0x2df,0x2df,0x2d3,0x2df,0x2d3,0x2df,0x2df,0x2d3,0x2df,0x2df,0x2df,
-0x2d3,0x2d3,0x2df,0x2df,0x2df,0x2df,0x2d3,0x2df,0x2df,0x2d3,0x2df,0x2df,0x2df,0x2d3,0x2d3,0x2d3,
-0x2df,0x2df,0x2d3,0x2df,0x2e2,0x2d6,0x2df,0x2d3,0x2df,0x2d3,0x2df,0x2df,0x2d3,0x2df,0x2d3,0x2d3,
-0x2df,0x2d3,0x2df,0x2e2,0x2d6,0x2df,0x2df,0x2df,0x2d3,0x2df,0x2d3,0x2df,0x2df,0x2d3,0x2d3,0x2dc,
-0x2df,0x2d3,0x2d3,0x2d3,0x2dc,0x2dc,0x2dc,0x2dc,0x2e5,0x2e5,0x2d9,0x2e5,0x2e5,0x2d9,0x2e5,0x2e5,
-0x2d9,0x2e2,0x65a,0x2e2,0x65a,0x2e2,0x65a,0x2e2,0x65a,0x2e2,0x65a,0x2e2,0x65a,0x2e2,0x65a,0x2e2,
-0x65a,0x2d3,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2df,0x2d3,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,
-0x2e2,0x2d6,0x2e2,0x2d6,0x2d6,0x2e5,0x2e5,0x2d9,0x2e2,0x2d6,0x9c3,0x9c3,0x9c6,0x9c0,0x2e2,0x2d6,
-0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,
-0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x2e2,0x2d6,0x9c6,0x9c0,0x9c6,0x9c0,0x9c3,0x9bd,0x9c6,0x9c0,
-0xb88,0xc90,0x9c3,0x9bd,0x9c3,0x9bd,0x9c6,0x9c0,0x9c6,0x9c0,0x9c6,0x9c0,0x9c6,0x9c0,0x9c6,0x9c0,
-0x9c6,0x9c0,0x9c6,0x9c0,0xc90,0xc90,0xc90,0xd8f,0xd8f,0xd8f,0xd92,0xd92,0xd8f,0xd92,0xd92,0xd8f,
-0xd8f,0xd92,0xed3,0xed6,0xed6,0xed6,0xed6,0xed3,0xed6,0xed3,0xed6,0xed3,0xed6,0xed3,0xed6,0xed3,
-0x2e8,0x65d,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,
-0x2e8,0x65d,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,
-0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,
-0x2eb,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,
-0x2e8,0x2e8,0x2e8,0x2e8,0x2e8,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0xc93,0xc93,0x303,0x303,0x303,0x303,
-0x303,0x303,0x303,0x303,0x303,0x2fa,0x2fa,0x2fa,0x2fa,0x2fa,0x2fa,0x2fa,0x2f7,0x2f7,0x2f4,0x2f4,
-0x663,0x2f4,0x2fa,0x666,0x2fd,0x666,0x666,0x666,0x2fd,0x666,0x2fa,0x2fa,0x669,0x300,0x2f4,0x2f4,
-0x2f4,0x2f4,0x2f4,0x2f4,0x660,0x660,0x660,0x660,0x2f1,0x660,0x2f4,0xb01,0x303,0x303,0x303,0x303,
-0x303,0x2ee,0x2ee,0x2ee,0x2ee,0x2ee,0x9d2,0x9d2,0x9cf,0x9cc,0x9cf,0xc96,0xc96,0xc96,0xc96,0xc96,
-0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0x66c,0x66c,0x66c,0x66c,
-0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,
-0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,
-0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,
-0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66c,0x66f,0x66f,0x927,0x66f,
-0x66f,0x92a,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xc45,0xd5c,0xd5c,0xd5c,0xd5c,
-0xd5c,0xd5c,0xd5c,0xd5c,0xe9a,0xe9a,0xe9a,0xe9a,0xe9d,0xd5f,0xd5f,0xd5f,0x672,0x672,0xb07,0xc8d,
-0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xc8d,0xf81,0xf7e,0xf81,0xf7e,
-0x30f,0x318,0xf81,0xf7e,9,9,0x31e,0xed9,0xed9,0xed9,0x306,0x14d6,9,9,9,9,
-0x31b,0x309,0x32d,0x30c,0x32d,0x32d,0x32d,9,0x32d,9,0x32d,0x32d,0x324,0x678,0x678,0x678,
-0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,0x678,9,0x678,
-0x678,0x678,0x678,0x678,0x678,0x678,0x32d,0x32d,0x324,0x324,0x324,0x324,0x324,0x675,0x675,0x675,
-0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x675,0x321,0x675,
-0x675,0x675,0x675,0x675,0x675,0x675,0x324,0x324,0x324,0x324,0x324,0xf81,0x330,0x330,0x333,0x32d,
-0x32d,0x330,0x327,0x9d5,0xb91,0xb8e,0x32a,0x9d5,0x32a,0x9d5,0x32a,0x9d5,0x32a,0x9d5,0x315,0x312,
-0x315,0x312,0x315,0x312,0x315,0x312,0x315,0x312,0x315,0x312,0x315,0x312,0x330,0x330,0x327,0x321,
-0xb40,0xb3d,0xb8b,0xc9c,0xc99,0xc9f,0xc9c,0xc99,0xd95,0xd98,0xd98,0xd98,0x9e4,0x684,0x33f,0x342,
-0x33f,0x33f,0x33f,0x342,0x33f,0x33f,0x33f,0x33f,0x342,0x9e4,0x342,0x33f,0x681,0x681,0x681,0x681,
-0x681,0x681,0x681,0x681,0x681,0x684,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,
-0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x681,0x67b,0x67b,0x67b,0x67b,
-0x67b,0x67b,0x67b,0x67b,0x67b,0x67e,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,
-0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x67b,0x9de,0x67e,0x339,0x33c,0x339,0x339,0x339,0x33c,
-0x339,0x339,0x339,0x339,0x33c,0x9de,0x33c,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,
-0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x342,0x33c,
-0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x336,0x933,0x936,0x918,0x918,0x112b,
-0x9d8,0x9d8,0xb97,0xb94,0x9e1,0x9db,0x9e1,0x9db,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,
-0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,
-0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,
-0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x339,0x33f,0x342,0x33c,0x33f,0x339,0xb97,0xb94,0x33f,
-0x339,0xb97,0xb94,0x33f,0x339,0xb97,0xb94,0xedc,0x342,0x33c,0x342,0x33c,0x33f,0x339,0x342,0x33c,
-0x33f,0x339,0x342,0x33c,0x342,0x33c,0x342,0x33c,0x33f,0x339,0x342,0x33c,0x342,0x33c,0x342,0x33c,
-0x33f,0x339,0x342,0x33c,0x9e4,0x9de,0x342,0x33c,0x342,0x33c,0x342,0x33c,0x342,0x33c,0xd9e,0xd9b,
-0x342,0x33c,0xedf,0xedc,0xedf,0xedc,0xedf,0xedc,0xc06,0xc03,0xc06,0xc03,0xc06,0xc03,0xc06,0xc03,
-0xc06,0xc03,0xc06,0xc03,0xc06,0xc03,0xc06,0xc03,0xf0c,0xf09,0xf0c,0xf09,0xfff,0xffc,0xfff,0xffc,
-0xfff,0xffc,0xfff,0xffc,0xfff,0xffc,0xfff,0xffc,0xfff,0xffc,0xfff,0xffc,0x1164,0x1161,0x134a,0x1347,
-0x150f,0x150c,0x150f,0x150c,0x150f,0x150c,0x150f,0x150c,0xc,0x354,0x354,0x354,0x354,0x354,0x354,0x354,
-0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,0x354,
-0x354,0x354,0x354,0xc,0xc,0x357,0x345,0x348,0x348,0x34b,0x348,0x345,0x1917,0x34e,0x34e,0x34e,
-0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,
-0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x34e,0x351,
-0x1917,0x89d,0x9e7,0xc,0xc,0x14d9,0x14d9,0x13f5,0xf,0x957,0x957,0x957,0x957,0x957,0x957,0x957,
-0x957,0x957,0x957,0x957,0x957,0x957,0x957,0x957,0x957,0x957,0xda1,0x957,0x957,0x957,0x957,0x957,
-0x957,0x957,0x957,0x957,0x957,0x957,0x957,0x957,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,0x35a,
-0x35a,0x35a,0xee2,0x35a,0x35a,0x35a,0x366,0x35a,0x35d,0x35a,0x35a,0x369,0x95a,0xda4,0xda7,0xda4,
-0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,
-0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,0x36c,
-0x36c,0x36c,0x36c,0xf,0xf,0xf,0xf,0x191a,0x36c,0x36c,0x36c,0x363,0x360,0xf,0xf,0xf,
-0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xcb4,0xcb4,0xcb4,0xcb4,0x13f8,0x14dc,0xf8a,0xf8a,
-0xf8a,0xf87,0xf87,0xdad,0x8a3,0xcae,0xcab,0xcab,0xca2,0xca2,0xca2,0xca2,0xca2,0xca2,0xf84,0xf84,
-0xf84,0xf84,0xf84,0x8a0,0x14d3,0x12,0xdb0,0x8a6,0x1311,0x387,0x38a,0x38a,0x38a,0x38a,0x38a,0x387,
-0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
-0x387,0x387,0x387,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0x8a9,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
-0x387,0x387,0x387,0x91e,0x91e,0x91e,0x91e,0x91e,0x91e,0x91e,0x91e,0xb37,0xb37,0xb37,0xca2,0xca8,
-0xca5,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0xdaa,0x130e,0x939,0x939,0x939,0x939,0x939,0x939,0x939,0x939,
-0x939,0x939,0x381,0x37e,0x37b,0x378,0xb9a,0xb9a,0x91b,0x387,0x387,0x393,0x387,0x38d,0x38d,0x38d,
-0x38d,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
-0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
+0,0,0,0,0,0,0,0,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2d9,0x2ca,0x2ca,
+0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,
+0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2ca,0x2cd,0x645,0x804,0x807,0x64b,0x807,0x801,0x642,
+0x639,0x2d3,0x657,0x2d6,0x80a,0x630,0x64e,0x7fe,0x648,0x654,0x636,0x636,0x63c,0x2d0,0x642,0x63f,
+0x639,0x636,0x657,0x2d6,0x633,0x633,0x633,0x645,0x2df,0x2df,0x2df,0x2df,0x2df,0x2df,0x660,0x2df,
+0x2df,0x2df,0x2df,0x2df,0x2df,0x2df,0x2df,0x2df,0x660,0x2df,0x2df,0x2df,0x2df,0x2df,0x2df,0x651,
+0x660,0x2df,0x2df,0x2df,0x2df,0x2df,0x660,0x65a,0x65d,0x65d,0x2dc,0x2dc,0x2dc,0x2dc,0x65a,0x2dc,
+0x65d,0x65d,0x65d,0x2dc,0x65d,0x65d,0x2dc,0x2dc,0x65a,0x2dc,0x65d,0x65d,0x2dc,0x2dc,0x2dc,0x651,
+0x65a,0x65d,0x65d,0x2dc,0x65d,0x2dc,0x65a,0x2dc,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,
+0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2e8,0x663,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,
+0x2eb,0x2e2,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x66c,0x663,
+0x2eb,0x2e2,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x663,0x66f,0x669,0x2eb,0x2e2,0x2eb,0x2e2,
+0x663,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x66f,0x669,0x66c,0x663,0x2eb,0x666,0x2eb,0x2e2,0x2eb,
+0x666,0x672,0x66c,0x663,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,0x66c,0x663,0x2eb,0x2e2,0x2eb,0x2e2,
+0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x66c,0x663,
+0x2eb,0x2e2,0x2eb,0x666,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,
+0x2eb,0x2eb,0x2e2,0x2eb,0x2e2,0x2eb,0x2e2,0x2e5,0x2ee,0x2fa,0x2fa,0x2ee,0x2fa,0x2ee,0x2fa,0x2fa,
+0x2ee,0x2fa,0x2fa,0x2fa,0x2ee,0x2ee,0x2fa,0x2fa,0x2fa,0x2fa,0x2ee,0x2fa,0x2fa,0x2ee,0x2fa,0x2fa,
+0x2fa,0x2ee,0x2ee,0x2ee,0x2fa,0x2fa,0x2ee,0x2fa,0x2fd,0x2f1,0x2fa,0x2ee,0x2fa,0x2ee,0x2fa,0x2fa,
+0x2ee,0x2fa,0x2ee,0x2ee,0x2fa,0x2ee,0x2fa,0x2fd,0x2f1,0x2fa,0x2fa,0x2fa,0x2ee,0x2fa,0x2ee,0x2fa,
+0x2fa,0x2ee,0x2ee,0x2f7,0x2fa,0x2ee,0x2ee,0x2ee,0x2f7,0x2f7,0x2f7,0x2f7,0x300,0x300,0x2f4,0x300,
+0x300,0x2f4,0x300,0x300,0x2f4,0x2fd,0x675,0x2fd,0x675,0x2fd,0x675,0x2fd,0x675,0x2fd,0x675,0x2fd,
+0x675,0x2fd,0x675,0x2fd,0x675,0x2ee,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fa,0x2ee,0x2fd,0x2f1,
+0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2f1,0x300,0x300,0x2f4,0x2fd,0x2f1,0x9e1,0x9e1,
+0x9e4,0x9de,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,
+0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x2fd,0x2f1,0x9e4,0x9de,0x9e4,0x9de,
+0x9e1,0x9db,0x9e4,0x9de,0xba6,0xcae,0x9e1,0x9db,0x9e1,0x9db,0x9e4,0x9de,0x9e4,0x9de,0x9e4,0x9de,
+0x9e4,0x9de,0x9e4,0x9de,0x9e4,0x9de,0x9e4,0x9de,0xcae,0xcae,0xcae,0xdad,0xdad,0xdad,0xdb0,0xdb0,
+0xdad,0xdb0,0xdb0,0xdad,0xdad,0xdb0,0xeee,0xef1,0xef1,0xef1,0xef1,0xeee,0xef1,0xeee,0xef1,0xeee,
+0xef1,0xeee,0xef1,0xeee,0x303,0x678,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,
+0x303,0x303,0x303,0x303,0x303,0x678,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,
+0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,
+0x303,0x303,0x303,0x303,0x306,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,
+0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x303,0x9e7,0x9e7,0x9e7,0x9e7,0x9e7,0xcb1,0xcb1,
+0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x31e,0x315,0x315,0x315,0x315,0x315,0x315,0x315,
+0x312,0x312,0x30f,0x30f,0x67e,0x30f,0x315,0x681,0x318,0x681,0x681,0x681,0x318,0x681,0x315,0x315,
+0x684,0x31b,0x30f,0x30f,0x30f,0x30f,0x30f,0x30f,0x67b,0x67b,0x67b,0x67b,0x30c,0x67b,0x30f,0xb1c,
+0x31e,0x31e,0x31e,0x31e,0x31e,0x309,0x309,0x309,0x309,0x309,0x9f0,0x9f0,0x9ed,0x9ea,0x9ed,0xcb4,
+0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,0xcb4,
+0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
+0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
+0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
+0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,0x687,
+0x68a,0x68a,0x942,0x68a,0x68a,0x945,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xc63,
+0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xd7a,0xeb5,0xeb5,0xeb5,0xeb5,0xeb8,0xd7d,0xd7d,0xd7d,
+0x68d,0x68d,0xb22,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,0xcab,
+0xf9c,0xf99,0xf9c,0xf99,0x32a,0x333,0xf9c,0xf99,9,9,0x339,0xef4,0xef4,0xef4,0x321,0x14f1,
+9,9,9,9,0x336,0x324,0x348,0x327,0x348,0x348,0x348,9,0x348,9,0x348,0x348,
+0x33f,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x693,
+0x693,0x693,9,0x693,0x693,0x693,0x693,0x693,0x693,0x693,0x348,0x348,0x33f,0x33f,0x33f,0x33f,
+0x33f,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x690,
+0x690,0x690,0x33c,0x690,0x690,0x690,0x690,0x690,0x690,0x690,0x33f,0x33f,0x33f,0x33f,0x33f,0xf9c,
+0x34b,0x34b,0x34e,0x348,0x348,0x34b,0x342,0x9f3,0xbaf,0xbac,0x345,0x9f3,0x345,0x9f3,0x345,0x9f3,
+0x345,0x9f3,0x330,0x32d,0x330,0x32d,0x330,0x32d,0x330,0x32d,0x330,0x32d,0x330,0x32d,0x330,0x32d,
+0x34b,0x34b,0x342,0x33c,0xb5e,0xb5b,0xba9,0xcba,0xcb7,0xcbd,0xcba,0xcb7,0xdb3,0xdb6,0xdb6,0xdb6,
+0xa02,0x69f,0x35a,0x35d,0x35a,0x35a,0x35a,0x35d,0x35a,0x35a,0x35a,0x35a,0x35d,0xa02,0x35d,0x35a,
+0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69f,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,
+0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,0x69c,
+0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x699,0x696,0x696,0x696,0x696,0x696,0x696,
+0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x696,0x9fc,0x699,0x354,0x357,
+0x354,0x354,0x354,0x357,0x354,0x354,0x354,0x354,0x357,0x9fc,0x357,0x354,0x35a,0x354,0x35a,0x354,
+0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,
+0x35a,0x354,0x35d,0x357,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x351,0x94e,
+0x951,0x933,0x933,0x1143,0x9f6,0x9f6,0xbb5,0xbb2,0x9ff,0x9f9,0x9ff,0x9f9,0x35a,0x354,0x35a,0x354,
+0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,
+0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,
+0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x354,0x35a,0x35d,0x357,0x35a,
+0x354,0xbb5,0xbb2,0x35a,0x354,0xbb5,0xbb2,0x35a,0x354,0xbb5,0xbb2,0xef7,0x35d,0x357,0x35d,0x357,
+0x35a,0x354,0x35d,0x357,0x35a,0x354,0x35d,0x357,0x35d,0x357,0x35d,0x357,0x35a,0x354,0x35d,0x357,
+0x35d,0x357,0x35d,0x357,0x35a,0x354,0x35d,0x357,0xa02,0x9fc,0x35d,0x357,0x35d,0x357,0x35d,0x357,
+0x35d,0x357,0xdbc,0xdb9,0x35d,0x357,0xefa,0xef7,0xefa,0xef7,0xefa,0xef7,0xc24,0xc21,0xc24,0xc21,
+0xc24,0xc21,0xc24,0xc21,0xc24,0xc21,0xc24,0xc21,0xc24,0xc21,0xc24,0xc21,0xf27,0xf24,0xf27,0xf24,
+0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,0x1017,0x1014,
+0x117c,0x1179,0x1365,0x1362,0x152a,0x1527,0x152a,0x1527,0x152a,0x1527,0x152a,0x1527,0xc,0x36f,0x36f,0x36f,
+0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,
+0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0x36f,0xc,0xc,0x372,0x360,0x363,0x363,0x366,0x363,0x360,
+0x1932,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,
+0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,0x369,
+0x369,0x369,0x369,0x36c,0x1932,0x8b8,0xa05,0xc,0xc,0x14f4,0x14f4,0x1410,0xf,0x975,0x975,0x975,
+0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0xdbf,0x975,
+0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x975,0x375,0x375,0x375,0x375,
+0x375,0x375,0x375,0x375,0x375,0x375,0xefd,0x375,0x375,0x375,0x381,0x375,0x378,0x375,0x375,0x384,
+0x978,0xdc2,0xdc5,0xdc2,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0x387,0x387,0x387,0x387,
0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
-0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x9ed,0x9ed,0x387,0x387,
-0x387,0x387,0x387,0x9ed,0x38a,0x387,0x38a,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,0x387,
-0x387,0x387,0x387,0x9ed,0x387,0x387,0x387,0x38a,0x93c,0x387,0x372,0x372,0x372,0x372,0x372,0x372,
-0x372,0x36f,0x378,0x375,0x375,0x372,0x372,0x372,0x372,0x390,0x390,0x372,0x372,0x378,0x375,0x375,
-0x375,0x372,0xcb1,0xcb1,0x384,0x384,0x384,0x384,0x384,0x384,0x384,0x384,0x384,0x384,0x9ed,0x9ed,
-0x9ed,0x9ea,0x9ea,0xcb1,0xa02,0xa02,0xa02,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9fc,0x9f9,
-0x9fc,0x9f9,0x15,0xa05,0x9ff,0x9f0,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,
-0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,0x9ff,
-0x9ff,0xcb7,0xcb7,0xcb7,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,0x9f6,
-0x9f6,0x9f6,0x9f6,0x9f6,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x9f3,0x15,
-0x15,0xcb7,0xcb7,0xcb7,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,
-0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,0xe10,
-0xe10,0xe10,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,0x1011,
-0x1011,0x1011,0x1011,0x1011,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,
-0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,
-0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa0b,0xa08,0xa08,0xa08,0xa08,0xa08,0xa08,
-0xa08,0xa08,0xa08,0xa08,0xa08,0xb9d,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf24,0xf27,0xf27,
-0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,
-0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf27,0xf1b,
-0xf1b,0xf1b,0xf1b,0xf1b,0xf1b,0xf1b,0xf1b,0xf1b,0xf2a,0xf2a,0xf1e,0xf1e,0xf21,0xf30,0xf2d,0x10e,
-0x10e,0x193e,0x1941,0x1941,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x18d2,0x25b,
-0x25b,0x25b,0x25b,0x25b,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xb13,0xb13,0xb16,0xb16,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
-0x72,0x72,0x72,0x72,0x1593,0x1593,0x1593,0x1593,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,
-0x1c2,0x1c2,0x1c2,0x1590,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x164d,0x164d,0x164d,0x164d,0x164d,
-0x164d,0x164d,0x164d,0x164d,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x1686,0x1686,0x1686,
-0x1686,0x1686,0x1686,0x1686,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x177,0x177,0x177,
-0x177,0x177,0x177,0x177,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,
-0x27f,0x27f,0x27f,0x27f,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,
-0x1d7,0x1d7,0x1d7,0x1d7,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x14af,0x14af,0x14af,0x14af,0x14af,0x14af,0x14af,0x14af,0x14af,0x14af,0x1bc,0x1bc,
-0x1bc,0x1bc,0x1bc,0x1bc,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,
-0x264,0x264,0x264,0x264,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x18c0,0x18c3,0x18c3,0x258,0x258,0x258,0x258,0x258,0x258,0x258,0x258,0x258,
-0x258,0x258,0x258,0x258,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x26a,0x26a,
-0x26a,0x26a,0x26a,0x26a,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1782,0x1782,0x1782,0x1782,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,
-0x21c,0x21c,0x21c,0x21c,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,
-0x127b,0x127b,0x127b,0x180,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1ef,0x1ef,
-0x1ef,0x1ef,0x163e,0x163e,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
-0x158a,0x158a,0x158a,0x158a,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
-0x1674,0x1674,0x1674,0x1674,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,
-0x24f,0x24f,0x24f,0x24f,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
-0x1911,0x1911,0x1911,0x1911,0x16ec,0x16ec,0x16ec,0x16ec,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,
-0x204,0x204,0x204,0x204,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0xe07,0xe07,0xe04,0xe04,0xe04,0xe07,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,
-0xdb,0xdb,0xdb,0xdb,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x22b,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
-0x179a,0x179a,0x179a,0x179a,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x181b,0x181b,0x237,0x181b,0x181b,0x237,0x181b,0x181b,0x181b,0x181b,0x181b,0x237,
-0x237,0x237,0x237,0x237,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x270,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,
-0x19a1,0x19a1,0x19a1,0x19a1,0,0,0,0,0,0,0,0,0,0,0,0,
+0x387,0x387,0x387,0x387,0x387,0x387,0x387,0xf,0xf,0xf,0xf,0x1935,0x387,0x387,0x387,0x37e,
+0x37b,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xcd2,0xcd2,0xcd2,0xcd2,
+0x1413,0x14f7,0xfa5,0xfa5,0xfa5,0xfa2,0xfa2,0xdcb,0x8be,0xccc,0xcc9,0xcc9,0xcc0,0xcc0,0xcc0,0xcc0,
+0xcc0,0xcc0,0xf9f,0xf9f,0xf9f,0xf9f,0xf9f,0x8bb,0x14ee,0x12,0xdce,0x8c1,0x132c,0x3a2,0x3a5,0x3a5,
+0x3a5,0x3a5,0x3a5,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0xfa8,0xfa8,0xfa8,0xfa8,0xfa8,0x8c4,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x939,0x939,0x939,0x939,0x939,0x939,0x939,0x939,0xb55,
+0xb55,0xb55,0xcc0,0xcc6,0xcc3,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0xdc8,0x1329,0x954,0x954,0x954,0x954,
+0x954,0x954,0x954,0x954,0x954,0x954,0x39c,0x399,0x396,0x393,0xbb8,0xbb8,0x936,0x3a2,0x3a2,0x3ae,
+0x3a2,0x3a8,0x3a8,0x3a8,0x3a8,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0xa0b,0xa0b,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0xa0b,0x3a5,0x3a2,0x3a5,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,
+0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0x3a2,0xa0b,0x3a2,0x3a2,0x3a2,0x3a5,0x957,0x3a2,0x38d,0x38d,
+0x38d,0x38d,0x38d,0x38d,0x38d,0x38a,0x393,0x390,0x390,0x38d,0x38d,0x38d,0x38d,0x3ab,0x3ab,0x38d,
+0x38d,0x393,0x390,0x390,0x390,0x38d,0xccf,0xccf,0x39f,0x39f,0x39f,0x39f,0x39f,0x39f,0x39f,0x39f,
+0x39f,0x39f,0xa0b,0xa0b,0xa0b,0xa08,0xa08,0xccf,0xa20,0xa20,0xa20,0xa1a,0xa1a,0xa1a,0xa1a,0xa1a,
+0xa1a,0xa1a,0xa1a,0xa17,0xa1a,0xa17,0x15,0xa23,0xa1d,0xa0e,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
+0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
+0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xcd5,0xcd5,0xcd5,0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,
+0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,0xa14,0xa11,0xa11,0xa11,0xa11,0xa11,0xa11,0xa11,0xa11,
+0xa11,0xa11,0xa11,0x15,0x15,0xcd5,0xcd5,0xcd5,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,
+0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,
+0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0xe2e,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,
+0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0x1029,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,
+0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,
+0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa29,0xa26,0xa26,
+0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0xbbb,0x18,0x18,0x18,0x18,0x18,0x18,
+0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,0xf3f,
+0xf3f,0xf3f,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,
+0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,
+0xf42,0xf42,0xf42,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf45,0xf45,0xf39,0xf39,
+0xf3c,0xf4b,0xf48,0x10e,0x10e,0x1959,0x195c,0x195c,0x18ed,0x18ed,0x18ed,0x18ed,0x18ed,0x18ed,0x18ed,0x18ed,
+0x18ed,0x18ed,0x18ed,0x25b,0x25b,0x25b,0x25b,0x25b,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xb2e,0xb2e,0xb31,0xb31,0xb2e,0xb2e,0xb2e,0xb2e,
+0xb2e,0xb2e,0xb2e,0xb2e,0x72,0x72,0x72,0x72,0x15ae,0x15ae,0x15ae,0x15ae,0x1c2,0x1c2,0x1c2,0x1c2,
+0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x1c2,0x15ab,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1f5,0x1668,
+0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x201,
+0x201,0x16a1,0x16a1,0x16a1,0x16a1,0x16a1,0x16a1,0x16a1,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,
+0x126f,0x177,0x177,0x177,0x177,0x177,0x177,0x177,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,
+0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,
+0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0x1d7,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x14ca,0x14ca,0x14ca,0x14ca,0x14ca,0x14ca,0x14ca,0x14ca,
+0x14ca,0x14ca,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,
+0x264,0x264,0x264,0x264,0x264,0x264,0x264,0x264,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x18db,0x18de,0x18de,0x258,0x258,0x258,0x258,0x258,
+0x258,0x258,0x258,0x258,0x258,0x258,0x258,0x258,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x19a7,0x19a7,0x19a7,0x19a7,0x19a7,0x19a7,0x19a7,0x19a7,
+0x19a7,0x19a7,0x26a,0x26a,0x26a,0x26a,0x26a,0x26a,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x179d,0x179d,0x179d,0x179d,0x21c,0x21c,0x21c,0x21c,
+0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0x21c,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,0x1653,
+0x1653,0x1653,0x1ef,0x1ef,0x1ef,0x1ef,0x1659,0x1659,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
+0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,
+0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1707,0x1707,0x1707,0x1707,0x204,0x204,0x204,0x204,
+0x204,0x204,0x204,0x204,0x204,0x204,0x204,0x204,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0xe25,0xe25,0xe22,0xe22,0xe22,0xe25,0xdb,0xdb,
+0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0xdb,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x22b,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,
+0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1836,0x1836,0x237,0x1836,0x1836,0x237,0x1836,0x1836,
+0x1836,0x1836,0x1836,0x237,0x237,0x237,0x237,0x237,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x1a5e,0x1a5e,0x1a5e,0x1a5e,0x1a5e,0x1a5e,0x1a5e,0x1a5e,
+0x1a5e,0x1a5e,0x28b,0x28b,0x28b,0x28b,0x1a61,0x1a5b,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0x270,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,
+0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,
+0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x954,0x954,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,0x196e,
-0x196e,0x196e,0x261,0x261,3,3,3,3,3,3,3,3,3,3,3,3,
+0,0,0,0,0,0,0x972,0x972,3,3,3,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
-3,3,3,3,3,3,0x954,0x954,6,6,6,6,6,6,6,6,
+3,3,3,3,3,3,3,3,3,3,0x972,0x972,6,6,6,6,
6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,
-0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,6,6,6,6,6,6,6,6,
-6,6,6,6,6,6,6,6,0x14e2,0x3ab,0x3ba,0x3ba,0x1b,0x3c0,0x3c0,0x3c0,
-0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x1b,0x1b,0x3c0,0x3c0,0x1b,0x1b,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,
-0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x1b,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,0x3c0,
-0x3c0,0x1b,0x3c0,0x1b,0x1b,0x1b,0x3c0,0x3c0,0x3c0,0x3c0,0x1b,0x1b,0x3ae,0xcbd,0x3ab,0x3ba,
-0x3ba,0x3ab,0x3ab,0x3ab,0x3ab,0x1b,0x1b,0x3ba,0x3ba,0x1b,0x1b,0x3bd,0x3bd,0x3b1,0xdb6,0x1b,
-0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3ab,0x1b,0x1b,0x1b,0x1b,0x3c3,0x3c3,0x1b,0x3c3,
-0x3c0,0x3c0,0x3ab,0x3ab,0x1b,0x1b,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,0x942,
-0x3c0,0x3c0,0x3b7,0x3b7,0x3b4,0x3b4,0x3b4,0x3b4,0x3b4,0x3b7,0x3b4,0x113a,0x187b,0x1878,0x191d,0x1b,
-0x1e,0xcc0,0x3c6,0xcc3,0x1e,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x1e,0x1e,0x1e,0x1e,0x3d2,
-0x3d2,0x1e,0x1e,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,
-0x3d2,0x1e,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x1e,0x3d2,0x3d5,0x1e,0x3d2,0x3d5,0x1e,
-0x3d2,0x3d2,0x1e,0x1e,0x3c9,0x1e,0x3cf,0x3cf,0x3cf,0x3c6,0x3c6,0x1e,0x1e,0x1e,0x1e,0x3c6,
-0x3c6,0x1e,0x1e,0x3c6,0x3c6,0x3cc,0x1e,0x1e,0x1e,0xf96,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,
-0x1e,0x3d5,0x3d5,0x3d5,0x3d2,0x1e,0x3d5,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x945,0x945,
-0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x945,0x3c6,0x3c6,0x3d2,0x3d2,0x3d2,0xf96,0x1920,0x1e,
-0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x21,0x3d8,0x3d8,0x3e1,0x21,0x3e4,0x3e4,0x3e4,
-0x3e4,0x3e4,0x3e4,0x3e4,0xccc,0x3e4,0x21,0x3e4,0x3e4,0x3e4,0x21,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,
-0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x21,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,
-0x3e4,0x21,0x3e4,0x3e4,0x21,0x3e4,0x3e4,0x3e4,0x3e4,0x3e4,0x21,0x21,0x3db,0x3e4,0x3e1,0x3e1,
-0x3e1,0x3d8,0x3d8,0x3d8,0x3d8,0x3d8,0x21,0x3d8,0x3d8,0x3e1,0x21,0x3e1,0x3e1,0x3de,0x21,0x21,
-0x3e4,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
-0x3e4,0xccc,0xcc6,0xcc6,0x21,0x21,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,0x948,
-0x13fb,0xcc9,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x16fe,0x187e,0x187e,0x187e,0x1881,0x1881,0x1881,
-0x24,0x3e7,0x3f6,0x3f6,0x24,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x24,0x24,0x3fc,
-0x3fc,0x24,0x24,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,
-0x3fc,0x24,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x3fc,0x24,0x3fc,0x3fc,0x24,0xccf,0x3fc,0x3fc,
-0x3fc,0x3fc,0x24,0x24,0x3ea,0x3fc,0x3e7,0x3e7,0x3f6,0x3e7,0x3e7,0x3e7,0xf99,0x24,0x24,0x3f6,
-0x3f9,0x24,0x24,0x3f9,0x3f9,0x3ed,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x3e7,0x3e7,
-0x24,0x24,0x24,0x24,0x3ff,0x3ff,0x24,0x3fc,0x3fc,0x3fc,0xf99,0xf99,0x24,0x24,0x3f3,0x3f3,
-0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f3,0x3f0,0xccf,0x131d,0x131d,0x131d,0x131d,0x131d,0x131d,
-0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x27,0x27,0x402,0x40e,0x27,0x40e,0x40e,0x40e,
-0x40e,0x40e,0x40e,0x27,0x27,0x27,0x40e,0x40e,0x40e,0x27,0x40e,0x40e,0x411,0x40e,0x27,0x27,
-0x27,0x40e,0x40e,0x27,0x40e,0x27,0x40e,0x40e,0x27,0x27,0x27,0x40e,0x40e,0x27,0x27,0x27,
-0x40e,0x40e,0x40e,0x27,0x27,0x27,0x40e,0x40e,0x40e,0x40e,0x40e,0x40e,0x40e,0x40e,0xdb9,0x40e,
-0x40e,0x40e,0x27,0x27,0x27,0x27,0x402,0x408,0x402,0x408,0x408,0x27,0x27,0x27,0x408,0x408,
-0x408,0x27,0x40b,0x40b,0x40b,0x405,0x27,0x27,0xf9c,0x27,0x27,0x27,0x27,0x27,0x27,0x402,
-0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0xed0,0x94e,0x94e,0x94e,0x94e,0x94e,
-0x94e,0x94e,0x94e,0x94e,0x94b,0x94b,0x94b,0xd89,0xcd2,0xcd2,0xcd2,0xcd2,0xcd2,0xcd5,0xcd2,0x27,
-0x27,0x27,0x27,0x27,0x14e5,0x420,0x420,0x420,0x1923,0x423,0x423,0x423,0x423,0x423,0x423,0x423,
-0x423,0x2a,0x423,0x423,0x423,0x2a,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,
-0x423,0x423,0x423,0x423,0x423,0x2a,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,0x423,
-0x14e8,0x423,0x423,0x423,0x423,0x423,0x2a,0x2a,0x2a,0xfa5,0x414,0x414,0x414,0x420,0x420,0x420,
-0x420,0x2a,0x414,0x414,0x417,0x2a,0x414,0x414,0x414,0x41a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,
-0x2a,0x414,0x414,0x2a,0xfa5,0xfa5,0x1701,0x2a,0x2a,0x2a,0x2a,0x2a,0x423,0x423,0xf9f,0xf9f,
-0x2a,0x2a,0x41d,0x41d,0x41d,0x41d,0x41d,0x41d,0x41d,0x41d,0x41d,0x41d,0x2a,0x2a,0x2a,0x2a,
-0x2a,0x2a,0x2a,0x2a,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0xfa2,0x17be,0x14eb,0x42f,0x42f,
-0x1926,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x2d,0x435,0x435,0x435,0x2d,0x435,0x435,
-0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x2d,0x435,0x435,
-0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x435,0x2d,0x435,0x435,0x435,0x435,0x435,0x2d,0x2d,
-0xcd8,0xcdb,0x42f,0x426,0x432,0x42f,0x426,0x42f,0x42f,0x2d,0x426,0x432,0x432,0x2d,0x432,0x432,
-0x426,0x429,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x426,0x426,0x2d,0x2d,0x2d,0x2d,0x2d,
-0x2d,0x2d,0x435,0x2d,0x435,0x435,0xee8,0xee8,0x2d,0x2d,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,
-0x42c,0x42c,0x42c,0x42c,0x2d,0xeeb,0xeeb,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,
-0x2d,0x2d,0x2d,0x2d,0x1884,0x14ee,0x441,0x441,0x30,0x447,0x447,0x447,0x447,0x447,0x447,0x447,
-0x447,0x30,0x447,0x447,0x447,0x30,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,
-0x447,0x447,0x447,0x447,0x441,0x438,0x438,0x438,0xfa8,0x30,0x441,0x441,0x441,0x30,0x444,0x444,
-0x444,0x43b,0x1323,0x17c1,0x30,0x30,0x30,0x30,0x17c4,0x17c4,0x17c4,0x438,0x17c1,0x17c1,0x17c1,0x17c1,
-0x17c1,0x17c1,0x17c1,0x1704,0x447,0x447,0xfa8,0xfa8,0x30,0x30,0x43e,0x43e,0x43e,0x43e,0x43e,0x43e,
-0x43e,0x43e,0x43e,0x43e,0xfab,0xfab,0xfab,0xfab,0xfab,0xfab,0x17c1,0x17c1,0x17c1,0xfae,0xfb1,0xfb1,
-0xfb1,0xfb1,0xfb1,0xfb1,0x33,0x33,0xa17,0xa17,0x33,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
-0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0x33,0x33,0x33,0xa1d,0xa1d,
-0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,
-0xa1d,0xa1d,0x33,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0x33,0xa1d,0x33,0x33,
-0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0xa1d,0x33,0x33,0x33,0xa11,0x33,0x33,0x33,0x33,0xa0e,
-0xa17,0xa17,0xa0e,0xa0e,0xa0e,0x33,0xa0e,0x33,0xa17,0xa17,0xa1a,0xa17,0xa1a,0xa1a,0xa1a,0xa0e,
-0x33,0x33,0x33,0x33,0x33,0x33,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,0x14f1,
-0x33,0x33,0xa17,0xa17,0xa14,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
-0x36,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,
-0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,
-0x462,0x44d,0x462,0x45f,0x44d,0x44d,0x44d,0x44d,0x44d,0x44d,0x453,0x36,0x36,0x36,0x36,0x44a,
-0x468,0x468,0x468,0x468,0x468,0x462,0x465,0x450,0x450,0x450,0x450,0x450,0x450,0x44d,0x450,0x456,
-0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x45c,0x459,0x459,0x36,0x36,0x36,0x36,
+6,6,6,6,6,6,6,6,6,6,6,6,0xd83,0xd83,0xd83,0xd83,
+0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,6,6,6,6,
+6,6,6,6,6,6,6,6,6,6,6,6,0x14fd,0x3c9,0x3d8,0x3d8,
+0x1b,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x1b,0x1b,0x3de,0x3de,0x1b,0x1b,0x3de,
+0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x3de,0x1b,0x3de,0x3de,
+0x3de,0x3de,0x3de,0x3de,0x3de,0x1b,0x3de,0x1b,0x1b,0x1b,0x3de,0x3de,0x3de,0x3de,0x1b,0x1b,
+0x3cc,0xcdb,0x3c9,0x3d8,0x3d8,0x3c9,0x3c9,0x3c9,0x3c9,0x1b,0x1b,0x3d8,0x3d8,0x1b,0x1b,0x3db,
+0x3db,0x3cf,0xdd4,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x1b,0x3c9,0x1b,0x1b,0x1b,0x1b,
+0x3e1,0x3e1,0x1b,0x3e1,0x3de,0x3de,0x3c9,0x3c9,0x1b,0x1b,0x95d,0x95d,0x95d,0x95d,0x95d,0x95d,
+0x95d,0x95d,0x95d,0x95d,0x3de,0x3de,0x3d5,0x3d5,0x3d2,0x3d2,0x3d2,0x3d2,0x3d2,0x3d5,0x3d2,0x1152,
+0x1896,0x1893,0x1938,0x1b,0x1e,0xcde,0x3e4,0xce1,0x1e,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x1e,
+0x1e,0x1e,0x1e,0x3f0,0x3f0,0x1e,0x1e,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,
+0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x1e,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x3f0,0x1e,0x3f0,0x3f3,
+0x1e,0x3f0,0x3f3,0x1e,0x3f0,0x3f0,0x1e,0x1e,0x3e7,0x1e,0x3ed,0x3ed,0x3ed,0x3e4,0x3e4,0x1e,
+0x1e,0x1e,0x1e,0x3e4,0x3e4,0x1e,0x1e,0x3e4,0x3e4,0x3ea,0x1e,0x1e,0x1e,0xfb1,0x1e,0x1e,
+0x1e,0x1e,0x1e,0x1e,0x1e,0x3f3,0x3f3,0x3f3,0x3f0,0x1e,0x3f3,0x1e,0x1e,0x1e,0x1e,0x1e,
+0x1e,0x1e,0x960,0x960,0x960,0x960,0x960,0x960,0x960,0x960,0x960,0x960,0x3e4,0x3e4,0x3f0,0x3f0,
+0x3f0,0xfb1,0x193b,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x21,0x3f6,0x3f6,0x3ff,
+0x21,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0xcea,0x402,0x21,0x402,0x402,0x402,0x21,0x402,
+0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x402,0x21,0x402,0x402,
+0x402,0x402,0x402,0x402,0x402,0x21,0x402,0x402,0x21,0x402,0x402,0x402,0x402,0x402,0x21,0x21,
+0x3f9,0x402,0x3ff,0x3ff,0x3ff,0x3f6,0x3f6,0x3f6,0x3f6,0x3f6,0x21,0x3f6,0x3f6,0x3ff,0x21,0x3ff,
+0x3ff,0x3fc,0x21,0x21,0x402,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
+0x21,0x21,0x21,0x21,0x402,0xcea,0xce4,0xce4,0x21,0x21,0x963,0x963,0x963,0x963,0x963,0x963,
+0x963,0x963,0x963,0x963,0x1416,0xce7,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x1719,0x1899,0x1899,
+0x1899,0x189c,0x189c,0x189c,0x24,0x405,0x414,0x414,0x24,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,
+0x41a,0x24,0x24,0x41a,0x41a,0x24,0x24,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,
+0x41a,0x41a,0x41a,0x41a,0x41a,0x24,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x41a,0x24,0x41a,0x41a,
+0x24,0xced,0x41a,0x41a,0x41a,0x41a,0x24,0x24,0x408,0x41a,0x405,0x405,0x414,0x405,0x405,0x405,
+0xfb4,0x24,0x24,0x414,0x417,0x24,0x24,0x417,0x417,0x40b,0x24,0x24,0x24,0x24,0x24,0x24,
+0x24,0x24,0x405,0x405,0x24,0x24,0x24,0x24,0x41d,0x41d,0x24,0x41a,0x41a,0x41a,0xfb4,0xfb4,
+0x24,0x24,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x411,0x40e,0xced,0x1338,0x1338,
+0x1338,0x1338,0x1338,0x1338,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x27,0x27,0x420,0x42c,
+0x27,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x27,0x27,0x27,0x42c,0x42c,0x42c,0x27,0x42c,0x42c,
+0x42f,0x42c,0x27,0x27,0x27,0x42c,0x42c,0x27,0x42c,0x27,0x42c,0x42c,0x27,0x27,0x27,0x42c,
+0x42c,0x27,0x27,0x27,0x42c,0x42c,0x42c,0x27,0x27,0x27,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,
+0x42c,0x42c,0xdd7,0x42c,0x42c,0x42c,0x27,0x27,0x27,0x27,0x420,0x426,0x420,0x426,0x426,0x27,
+0x27,0x27,0x426,0x426,0x426,0x27,0x429,0x429,0x429,0x423,0x27,0x27,0xfb7,0x27,0x27,0x27,
+0x27,0x27,0x27,0x420,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0x27,0xeeb,0x969,
+0x969,0x969,0x969,0x969,0x969,0x969,0x969,0x969,0x966,0x966,0x966,0xda7,0xcf0,0xcf0,0xcf0,0xcf0,
+0xcf0,0xcf3,0xcf0,0x27,0x27,0x27,0x27,0x27,0x1500,0x43e,0x43e,0x43e,0x193e,0x441,0x441,0x441,
+0x441,0x441,0x441,0x441,0x441,0x2a,0x441,0x441,0x441,0x2a,0x441,0x441,0x441,0x441,0x441,0x441,
+0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x441,0x2a,0x441,0x441,0x441,0x441,0x441,0x441,
+0x441,0x441,0x441,0x441,0x1503,0x441,0x441,0x441,0x441,0x441,0x2a,0x2a,0x2a,0xfc0,0x432,0x432,
+0x432,0x43e,0x43e,0x43e,0x43e,0x2a,0x432,0x432,0x435,0x2a,0x432,0x432,0x432,0x438,0x2a,0x2a,
+0x2a,0x2a,0x2a,0x2a,0x2a,0x432,0x432,0x2a,0xfc0,0xfc0,0x171c,0x2a,0x2a,0x2a,0x2a,0x2a,
+0x441,0x441,0xfba,0xfba,0x2a,0x2a,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,0x43b,
+0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x2a,0x1a0a,0xfbd,0xfbd,0xfbd,0xfbd,0xfbd,0xfbd,0xfbd,0xfbd,
+0x17d9,0x1506,0x44a,0x44a,0x1941,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x2d,0x450,0x450,
+0x450,0x2d,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,
+0x450,0x2d,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x450,0x2d,0x450,0x450,0x450,
+0x450,0x450,0x2d,0x2d,0xcf6,0xcf9,0x44a,0x444,0x44d,0x44a,0x444,0x44a,0x44a,0x2d,0x444,0x44d,
+0x44d,0x2d,0x44d,0x44d,0x444,0x447,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x444,0x444,0x2d,
+0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x450,0x2d,0x450,0x450,0xf03,0xf03,0x2d,0x2d,0x96c,0x96c,
+0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x2d,0xf06,0xf06,0x2d,0x2d,0x2d,0x2d,0x2d,
+0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x2d,0x189f,0x1509,0x45c,0x45c,0x30,0x462,0x462,0x462,
+0x462,0x462,0x462,0x462,0x462,0x30,0x462,0x462,0x462,0x30,0x462,0x462,0x462,0x462,0x462,0x462,
+0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x45c,0x453,0x453,0x453,0xfc3,0x30,0x45c,0x45c,
+0x45c,0x30,0x45f,0x45f,0x45f,0x456,0x133e,0x17dc,0x30,0x30,0x30,0x30,0x17df,0x17df,0x17df,0x453,
+0x17dc,0x17dc,0x17dc,0x17dc,0x17dc,0x17dc,0x17dc,0x171f,0x462,0x462,0xfc3,0xfc3,0x30,0x30,0x459,0x459,
+0x459,0x459,0x459,0x459,0x459,0x459,0x459,0x459,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0xfc6,0x17dc,0x17dc,
+0x17dc,0xfc9,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,0x33,0x33,0xa35,0xa35,0x33,0xa3b,0xa3b,0xa3b,
+0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0x33,
+0x33,0x33,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,
+0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0x33,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,
+0x33,0xa3b,0x33,0x33,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0xa3b,0x33,0x33,0x33,0xa2f,0x33,
+0x33,0x33,0x33,0xa2c,0xa35,0xa35,0xa2c,0xa2c,0xa2c,0x33,0xa2c,0x33,0xa35,0xa35,0xa38,0xa35,
+0xa38,0xa38,0xa38,0xa2c,0x33,0x33,0x33,0x33,0x33,0x33,0x150c,0x150c,0x150c,0x150c,0x150c,0x150c,
+0x150c,0x150c,0x150c,0x150c,0x33,0x33,0xa35,0xa35,0xa32,0x33,0x33,0x33,0x33,0x33,0x33,0x33,
+0x33,0x33,0x33,0x33,0x36,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,0x47d,
+0x47d,0x47d,0x47d,0x47d,0x47d,0x468,0x47d,0x47a,0x468,0x468,0x468,0x468,0x468,0x468,0x46e,0x36,
+0x36,0x36,0x36,0x465,0x483,0x483,0x483,0x483,0x483,0x47d,0x480,0x46b,0x46b,0x46b,0x46b,0x46b,
+0x46b,0x468,0x46b,0x471,0x477,0x477,0x477,0x477,0x477,0x477,0x477,0x477,0x477,0x477,0x474,0x474,
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
-0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x39,0x477,0x477,0x39,
-0x477,0x39,0x39,0x477,0x477,0x39,0x477,0x39,0x39,0x477,0x39,0x39,0x39,0x39,0x39,0x39,
-0x477,0x477,0x477,0x477,0x39,0x477,0x477,0x477,0x477,0x477,0x477,0x477,0x39,0x477,0x477,0x477,
-0x39,0x477,0x39,0x477,0x39,0x39,0x477,0x477,0x39,0x477,0x477,0x477,0x477,0x46b,0x477,0x474,
-0x46b,0x46b,0x46b,0x46b,0x46b,0x46b,0x39,0x46b,0x46b,0x477,0x39,0x39,0x480,0x480,0x480,0x480,
-0x480,0x39,0x47d,0x39,0x46e,0x46e,0x46e,0x46e,0x46e,0x46b,0x39,0x39,0x471,0x471,0x471,0x471,
-0x471,0x471,0x471,0x471,0x471,0x471,0x39,0x39,0x47a,0x47a,0x13fe,0x13fe,0x39,0x39,0x39,0x39,
+0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,
+0x39,0x492,0x492,0x39,0x492,0x39,0x1a10,0x492,0x492,0x1a10,0x492,0x39,0x1a10,0x492,0x1a10,0x1a10,
+0x1a10,0x1a10,0x1a10,0x1a10,0x492,0x492,0x492,0x492,0x1a10,0x492,0x492,0x492,0x492,0x492,0x492,0x492,
+0x1a10,0x492,0x492,0x492,0x39,0x492,0x39,0x492,0x1a10,0x1a10,0x492,0x492,0x1a10,0x492,0x492,0x492,
+0x492,0x486,0x492,0x48f,0x486,0x486,0x486,0x486,0x486,0x486,0x1a0d,0x486,0x486,0x492,0x39,0x39,
+0x49b,0x49b,0x49b,0x49b,0x49b,0x39,0x498,0x39,0x489,0x489,0x489,0x489,0x489,0x486,0x39,0x39,
+0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x39,0x39,0x495,0x495,0x1419,0x1419,
+0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,
-0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x39,0x990,0x990,0x990,0x993,
-0x990,0x990,0x990,0x990,0x3c,0x990,0x990,0x990,0x990,0x993,0x990,0x990,0x990,0x990,0x993,0x990,
-0x990,0x990,0x990,0x993,0x990,0x990,0x990,0x990,0x993,0x990,0x990,0x990,0x990,0x990,0x990,0x990,
-0x990,0x990,0x990,0x990,0x990,0x993,0xa2c,0xfbd,0xfbd,0x3c,0x3c,0x3c,0x3c,0x95d,0x95d,0x960,
-0x95d,0x960,0x960,0x969,0x960,0x969,0x95d,0x95d,0x95d,0x95d,0x95d,0x98a,0x95d,0x960,0x963,0x963,
-0x966,0x96f,0x963,0x963,0x990,0x990,0x990,0x990,0x132c,0x1326,0x1326,0x1326,0x95d,0x95d,0x95d,0x960,
-0x95d,0x95d,0xa20,0x95d,0x3c,0x95d,0x95d,0x95d,0x95d,0x960,0x95d,0x95d,0x95d,0x95d,0x960,0x95d,
-0x95d,0x95d,0x95d,0x960,0x95d,0x95d,0x95d,0x95d,0x960,0x95d,0xa20,0xa20,0xa20,0x95d,0x95d,0x95d,
-0x95d,0x95d,0x95d,0x95d,0xa20,0x960,0xa20,0xa20,0xa20,0x3c,0xa29,0xa29,0xa26,0xa26,0xa26,0xa26,
-0xa26,0xa26,0xa23,0xa26,0xa26,0xa26,0xa26,0xa26,0xa26,0x3c,0xfb4,0xa26,0xdbc,0xdbc,0xfb7,0xfba,
-0xfb4,0x113d,0x113d,0x113d,0x113d,0x1329,0x1329,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
+0x9ae,0x9ae,0x9ae,0x9b1,0x9ae,0x9ae,0x9ae,0x9ae,0x3c,0x9ae,0x9ae,0x9ae,0x9ae,0x9b1,0x9ae,0x9ae,
+0x9ae,0x9ae,0x9b1,0x9ae,0x9ae,0x9ae,0x9ae,0x9b1,0x9ae,0x9ae,0x9ae,0x9ae,0x9b1,0x9ae,0x9ae,0x9ae,
+0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9b1,0xa4a,0xfd8,0xfd8,0x3c,0x3c,0x3c,
+0x3c,0x97b,0x97b,0x97e,0x97b,0x97e,0x97e,0x987,0x97e,0x987,0x97b,0x97b,0x97b,0x97b,0x97b,0x9a8,
+0x97b,0x97e,0x981,0x981,0x984,0x98d,0x981,0x981,0x9ae,0x9ae,0x9ae,0x9ae,0x1347,0x1341,0x1341,0x1341,
+0x97b,0x97b,0x97b,0x97e,0x97b,0x97b,0xa3e,0x97b,0x3c,0x97b,0x97b,0x97b,0x97b,0x97e,0x97b,0x97b,
+0x97b,0x97b,0x97e,0x97b,0x97b,0x97b,0x97b,0x97e,0x97b,0x97b,0x97b,0x97b,0x97e,0x97b,0xa3e,0xa3e,
+0xa3e,0x97b,0x97b,0x97b,0x97b,0x97b,0x97b,0x97b,0xa3e,0x97e,0xa3e,0xa3e,0xa3e,0x3c,0xa47,0xa47,
+0xa44,0xa44,0xa44,0xa44,0xa44,0xa44,0xa41,0xa44,0xa44,0xa44,0xa44,0xa44,0xa44,0x3c,0xfcf,0xa44,
+0xdda,0xdda,0xfd2,0xfd5,0xfcf,0x1155,0x1155,0x1155,0x1155,0x1344,0x1344,0x3c,0x3c,0x3c,0x3c,0x3c,
0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,
-0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x486,0x486,0x486,0x486,0x486,0x486,0x3f,0x1404,
-0x3f,0x3f,0x3f,0x3f,0x3f,0x1404,0x3f,0x3f,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,
-0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,
-0xa56,0x42,0xa56,0xa56,0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0x42,
-0xa56,0x42,0xa56,0xa56,0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,
-0xa56,0x42,0xa56,0xa56,0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,0xa56,0x42,0xa56,0xa56,
-0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0x42,0xa56,0x42,0xa56,0xa56,
-0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0x42,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xdcb,0xa56,0x42,0xa56,0xa56,0xa56,0xa56,0x42,0x42,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xdcb,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0x42,0x42,0x132f,0x132f,0xdc5,0xdc8,0xa50,0xa59,0xa4d,
-0xa4d,0xa4d,0xa4d,0xa59,0xa59,0xa53,0xa53,0xa53,0xa53,0xa53,0xa53,0xa53,0xa53,0xa53,0xa4a,0xa4a,
-0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0xa4a,0x42,0x42,0x42,0xa5c,0xa5c,0xa5c,0xa5c,
-0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,
-0xa5c,0x170a,0x45,0x45,0x1707,0x1707,0x1707,0x1707,0x1707,0x1707,0x45,0x45,0xa6e,0xa71,0xa71,0xa71,
-0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,
-0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa6b,0xa68,0x48,0x48,0x48,0xa77,0xa77,0xa77,0xa77,
-0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa74,0xa74,0xa74,0xa77,0xa77,0xa77,0x14f4,0x14f4,0x14f4,
-0x14f4,0x14f4,0x14f4,0x14f4,0x14f4,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0xa98,0xa98,0xa98,0xa98,
-0xa98,0xa98,0xa7a,0xa98,0xa98,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa7d,0xa80,0xa7d,
-0xa8f,0xa8f,0xa92,0xa9b,0xa89,0xa86,0xa8f,0xa8c,0xa9b,0xcde,0x4e,0x4e,0xa95,0xa95,0xa95,0xa95,
-0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xce1,0xce1,0xce1,0xce1,
-0xce1,0xce1,0xce1,0xce1,0xce1,0xce1,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,0xaaa,0xaaa,0xb2e,0xb31,
-0xab0,0xb2b,0xaad,0xaaa,0xab3,0xac2,0xab6,0xac5,0xac5,0xac5,0xaa1,0x51,0xab9,0xab9,0xab9,0xab9,
-0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0x51,0x51,0x51,0x51,0x51,0x51,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0x1929,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xaa4,0xfde,0x51,0x51,0x51,0x51,0x51,0x1194,0x1194,0x1194,0x1194,
-0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x54,0x54,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x54,0x54,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x54,0x4a7,0x54,0x4a7,0x54,0x4a7,0x54,0x4a7,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x54,0x54,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x54,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x49e,0x4a4,0x49e,0x49e,0x49b,0x4a4,0x4a4,
-0x4a4,0x54,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x49b,0x49b,0x49b,0x4a4,0x4a4,0x4a4,0x4a4,
-0x54,0x54,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x54,0x49b,0x49b,0x49b,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a4,0x4a4,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x49b,0x49b,0x49b,0x54,0x54,0x4a4,0x4a4,
-0x4a4,0x54,0x4a4,0x4a4,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a1,0x49e,0x54,0xba3,0xba6,0xba6,0xba6,
-0xfe7,0x57,0x14d0,0x14d0,0x14d0,0x14d0,0x4b0,0x4b0,0x4b0,0x4b0,0x4b0,0x4b0,0x4fb,0xbb8,0x5a,0x5a,
-0x6ba,0x4fb,0x4fb,0x4fb,0x4fb,0x4fb,0x501,0x513,0x501,0x50d,0x507,0x6bd,0x4f8,0x6b7,0x6b7,0x6b7,
-0x6b7,0x4f8,0x4f8,0x4f8,0x4f8,0x4f8,0x4fe,0x510,0x4fe,0x50a,0x504,0x5a,0xdd4,0xdd4,0xdd4,0xdd4,
-0xdd4,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x1332,0x5a,0x5a,0x5a,0x5d,0x5d,0x5d,0x5d,
-0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x522,0x522,0x522,0x522,
-0x522,0x522,0x522,0x522,0x522,0x522,0x522,0x522,0x522,0x51f,0x51f,0x51f,0x51f,0x522,0xad7,0xada,
-0xbbe,0xbc4,0xbc4,0xbc1,0xbc1,0xbc1,0xbc1,0xdda,0xeee,0xeee,0xeee,0xeee,0x1128,0x60,0x60,0x60,
-0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x552,0x552,0x552,0xae3,
-0xef7,0xfed,0xfed,0xfed,0xfed,0x1287,0x1710,0x1710,0x63,0x63,0x63,0x63,0x6e4,0x6e4,0x6e4,0x6e4,
-0x6e7,0x6e7,0x6e7,0x6e7,0x6e7,0x6e7,0x55e,0x55e,0x55b,0x55b,0x55b,0x55b,0x585,0x585,0x585,0x585,
-0x585,0xaef,0xaef,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
-0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x588,0x588,0x588,0x588,
-0x588,0x588,0x588,0x588,0x588,0x588,0x588,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
-0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0xb0a,0xb0a,0xb0a,0xb0a,
-0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,
-0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0x6c,0xb0a,0xb0a,0xb0a,0xb0a,0xb0d,0xb0a,0xb0a,0xb0a,0xb0a,
-0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0d,
-0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0xb10,0xb10,0xb10,0xb10,
-0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-0xb10,0xb10,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x75,0x81c,0x816,0x81c,
-0x816,0x81c,0x816,0x81c,0x816,0x81c,0x816,0x816,0x819,0x816,0x819,0x816,0x819,0x816,0x819,0x816,
-0x819,0x816,0x819,0x816,0x819,0x816,0x819,0x816,0x819,0x816,0x819,0x816,0x816,0x816,0x816,0x81c,
-0x816,0x81c,0x816,0x81c,0x816,0x816,0x816,0x816,0x816,0x816,0x81c,0x816,0x816,0x816,0x816,0x816,
-0x819,0xc6c,0xc6c,0x75,0x75,0x930,0x930,0x8fa,0x8fa,0x81f,0x822,0xc69,0x78,0x78,0x78,0x78,
-0x78,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,
-0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x834,0x1116,0x18f3,0x19d7,
-0x7b,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,
-0x837,0x837,0x837,0x7b,0x903,0x903,0x906,0x906,0x906,0x906,0x906,0x906,0x906,0x906,0x906,0x906,
-0x906,0x906,0x906,0x906,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,
-0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0xb1c,0x13c5,0x13c5,0x13c5,0x7e,
-0x7e,0x7e,0x7e,0x7e,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,
-0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,0x840,
-0x840,0xd71,0xd71,0x81,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,
-0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,
-0x846,0x846,0x846,0x81,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-0xb22,0x84,0x84,0x84,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,
-0xb28,0xb28,0xb28,0xb28,0xb28,0xc75,0xb28,0xb28,0xb28,0xc75,0xb28,0x87,0x87,0x87,0x87,0x87,
-0x87,0x87,0x87,0x87,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,
-0x11bb,0x11bb,0x11bb,0x11bb,0x9b4,0x9b4,0x9b4,0x9b4,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,
-0x8a,0x8a,0x8a,0x8a,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,
-0x1230,0x1230,0x1230,0x1230,0x5e5,0x5e5,0x5e5,0x5e5,0x5e5,0x5e5,0x5e5,0x8d,0x8d,0x8d,0x8d,0x8d,
-0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x8d,0x8d,0x8d,0x8d,
-0x8d,0xafb,0x5d6,0x5dc,0x5e2,0x5e2,0x5e2,0x5e2,0x5e2,0x5e2,0x5e2,0x5e2,0x5e2,0x5d9,0x5dc,0x5dc,
-0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x8d,0x5dc,0x5dc,0x5dc,0x5dc,
-0x5dc,0x8d,0x5dc,0x8d,0x5dc,0x5dc,0x8d,0x5dc,0x5dc,0x8d,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,0x5dc,
-0x5dc,0x5dc,0x5dc,0x5df,0x5f7,0x5f1,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,
-0x5f4,0x5fa,0x5f7,0x5f1,0x1344,0x1344,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
-0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,
-0x5f1,0x5f7,0x5f7,0x5f1,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
-0x90,0x90,0x90,0x90,0x5f4,0x5f1,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f1,0x5f4,0x5f1,0x5f1,
-0x5f4,0x5f4,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f4,0x5f4,0x5f4,0x5f1,
-0x5f4,0x5f4,0x5f4,0x5f4,0x90,0x90,0x5f4,0x5f4,0x5f4,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f4,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f4,0x5f4,0x5f1,0x5f1,0x90,0x90,0x90,0x90,
-0x90,0x90,0x90,0x90,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,
-0xb43,0xb43,0xb43,0xb43,0x5f7,0x5f7,0x951,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5ee,0x5ee,
-0xbfd,0xd8c,0x90,0x90,0x858,0x86a,0x867,0x86a,0x867,0xc8a,0xc8a,0xd7d,0xd7a,0x85b,0x85b,0x85b,
-0x85b,0x86d,0x86d,0x86d,0x885,0x888,0x897,0x93,0x88b,0x88e,0x89a,0x89a,0x882,0x879,0x873,0x879,
-0x873,0x879,0x873,0x876,0x876,0x891,0x891,0x894,0x891,0x891,0x891,0x93,0x891,0x87f,0x87c,0x876,
-0x93,0x93,0x93,0x93,0x603,0x60f,0x603,0xc00,0x603,0x96,0x603,0x60f,0x603,0x60f,0x603,0x60f,
-0x603,0x60f,0x603,0x60f,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,
-0x60f,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x60c,
-0x606,0x96,0x96,0x600,0x756,0x759,0x76e,0x771,0x750,0x759,0x759,0x9c,0x738,0x73b,0x73b,0x73b,
-0x73b,0x738,0x738,0x9c,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0xafe,0xafe,0xafe,
-0x9b7,0x732,0x612,0x612,0x9c,0x780,0x75f,0x750,0x759,0x756,0x750,0x762,0x753,0x74d,0x750,0x76e,
-0x765,0x75c,0x77d,0x750,0x77a,0x77a,0x77a,0x77a,0x77a,0x77a,0x77a,0x77a,0x77a,0x77a,0x76b,0x768,
-0x76e,0x76e,0x76e,0x780,0x741,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,
-0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,
-0x73e,0x73e,0x73e,0x9c,0x9c,0x9c,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x9c,0x9c,0x73e,0x73e,
-0x73e,0x73e,0x73e,0x73e,0x9c,0x9c,0x73e,0x73e,0x73e,0x73e,0x73e,0x73e,0x9c,0x9c,0x73e,0x73e,
-0x73e,0x9c,0x9c,0x9c,0xb46,0xb46,0xb46,0xb46,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,0x9f,
-0x9f,0x1890,0x1890,0x1890,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,
-0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xb4c,0xa2,0xa2,0xa2,0xa2,0xa2,0x165c,0x165c,0x165c,0x165c,
-0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0xb55,0xb55,0xb55,0xb55,
-0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,
-0xb55,0xb55,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xa8,0xa8,0xff9,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0x1716,0x1716,0x1716,0x1716,
-0x1716,0x1716,0x1716,0x1716,0x1716,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
-0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xab,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb79,0xab,0xb79,0xb79,0xab,0xab,0xb79,0xab,
-0xab,0xb79,0xb79,0xab,0xab,0xb79,0xb79,0xb79,0xb79,0xab,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb76,0xb76,0xb76,0xb76,0xab,0xb76,0xab,0xb76,0xb76,0xb76,0xb76,0xd02,0xb76,0xb76,
-0xab,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb76,0xb76,0xb76,0xb76,
-0xb79,0xb79,0xab,0xb79,0xb79,0xb79,0xb79,0xab,0xab,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xab,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xab,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xab,0xb79,0xb79,0xb79,0xb79,0xab,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xab,0xb79,0xab,0xab,0xab,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xab,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xdef,0xdef,0xab,0xab,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb76,0xb76,0xb76,0xb70,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xf06,0xf03,0xab,0xab,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,
-0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xae,0xb7f,0xae,0xae,0xae,0xae,0xae,0xae,
+0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x4a1,0x4a1,0x4a1,0x4a1,
+0x4a1,0x4a1,0x3f,0x141f,0x3f,0x3f,0x3f,0x3f,0x3f,0x141f,0x3f,0x3f,0x49e,0x49e,0x49e,0x49e,
+0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xde9,0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0x42,0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xde9,0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,
+0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0x42,
+0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,0xa74,0x42,0xa74,0xa74,0xa74,0xa74,0x42,0x42,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0x42,0x42,0x134a,0x134a,0xde3,
+0xde6,0xa6e,0xa77,0xa6b,0xa6b,0xa6b,0xa6b,0xa77,0xa77,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,0xa71,
+0xa71,0xa71,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0xa68,0x42,0x42,0x42,
+0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,
+0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0x1725,0x45,0x45,0x1722,0x1722,0x1722,0x1722,0x1722,0x1722,0x45,0x45,
+0xa8c,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,
+0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa8f,0xa89,0xa86,0x48,0x48,0x48,
+0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa92,0xa92,0xa92,0xa95,0xa95,
+0xa95,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x150f,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,0x4b,
+0xab6,0xab6,0xab6,0xab6,0xab6,0xab6,0xa98,0xab6,0xab6,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,
+0xa9b,0xa9b,0xa9e,0xa9b,0xaad,0xaad,0xab0,0xab9,0xaa7,0xaa4,0xaad,0xaaa,0xab9,0xcfc,0x4e,0x4e,
+0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0xab3,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,
+0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0xcff,0x4e,0x4e,0x4e,0x4e,0x4e,0x4e,
+0xac8,0xac8,0xb49,0xb4c,0xace,0xb46,0xacb,0xac8,0xad1,0xae0,0xad4,0xae3,0xae3,0xae3,0xabf,0x51,
+0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0xad7,0x51,0x51,0x51,0x51,0x51,0x51,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0x1944,0x51,0x51,0x51,0x51,0x51,0x51,0x51,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xac2,0xff6,0x51,0x51,0x51,0x51,0x51,
+0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x54,0x54,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x54,0x54,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x54,0x4c2,0x54,0x4c2,0x54,0x4c2,0x54,0x4c2,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x54,0x54,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x54,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4b9,0x4bf,0x4b9,
+0x4b9,0x4b6,0x4bf,0x4bf,0x4bf,0x54,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4b6,0x4b6,0x4b6,
+0x4bf,0x4bf,0x4bf,0x4bf,0x54,0x54,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x54,0x4b6,0x4b6,0x4b6,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4b6,0x4b6,0x4b6,
+0x54,0x54,0x4bf,0x4bf,0x4bf,0x54,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4bc,0x4b9,0x54,
+0xbc1,0xbc4,0xbc4,0xbc4,0xfff,0x57,0x14eb,0x14eb,0x14eb,0x14eb,0x4cb,0x4cb,0x4cb,0x4cb,0x4cb,0x4cb,
+0x516,0xbd6,0x5a,0x5a,0x6d5,0x516,0x516,0x516,0x516,0x516,0x51c,0x52e,0x51c,0x528,0x522,0x6d8,
+0x513,0x6d2,0x6d2,0x6d2,0x6d2,0x513,0x513,0x513,0x513,0x513,0x519,0x52b,0x519,0x525,0x51f,0x5a,
+0xdf2,0xdf2,0xdf2,0xdf2,0xdf2,0x134d,0x134d,0x134d,0x134d,0x134d,0x134d,0x134d,0x134d,0x5a,0x5a,0x5a,
+0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,0x5d,
+0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53d,0x53a,0x53a,0x53a,
+0x53a,0x53d,0xaf2,0xaf5,0xbdc,0xbe2,0xbe2,0xbdf,0xbdf,0xbdf,0xbdf,0xdf8,0xf09,0xf09,0xf09,0xf09,
+0x1140,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
+0x56d,0x56d,0x56d,0xafe,0xf12,0x1005,0x1005,0x1005,0x1005,0x129f,0x172b,0x172b,0x63,0x63,0x63,0x63,
+0x6ff,0x6ff,0x6ff,0x6ff,0x702,0x702,0x702,0x702,0x702,0x702,0x579,0x579,0x576,0x576,0x576,0x576,
+0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0xb0a,0xb0a,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
+0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,
+0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x69,0x69,0x69,0x69,0x69,
+0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,0x69,
+0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,
+0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0x6c,0xb25,0xb25,0xb25,0xb25,0xb28,
+0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,
+0xb25,0xb25,0xb25,0xb28,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,
+0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,
+0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,0x6f,
+0x75,0x837,0x831,0x837,0x831,0x837,0x831,0x837,0x831,0x837,0x831,0x831,0x834,0x831,0x834,0x831,
+0x834,0x831,0x834,0x831,0x834,0x831,0x834,0x831,0x834,0x831,0x834,0x831,0x834,0x831,0x834,0x831,
+0x831,0x831,0x831,0x837,0x831,0x837,0x831,0x837,0x831,0x831,0x831,0x831,0x831,0x831,0x837,0x831,
+0x831,0x831,0x831,0x831,0x834,0xc8a,0xc8a,0x75,0x75,0x94b,0x94b,0x915,0x915,0x83a,0x83d,0xc87,
+0x78,0x78,0x78,0x78,0x78,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,
+0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,
+0x84f,0x112e,0x190e,0x19f2,0x7b,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,
+0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x7b,0x91e,0x91e,0x921,0x921,0x921,0x921,0x921,0x921,
+0x921,0x921,0x921,0x921,0x921,0x921,0x921,0x921,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,
+0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,0xb37,
+0x13e0,0x13e0,0x13e0,0x7e,0x7e,0x7e,0x7e,0x7e,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,
+0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,0x85b,
+0x85b,0x85b,0x85b,0x85b,0x85b,0xd8f,0xd8f,0x81,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,
+0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0x84,0x84,0x84,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,
+0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xc93,0xb43,0xb43,0xb43,0xc93,0xb43,0x87,
+0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x87,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,
+0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x9d2,0x9d2,0x9d2,0x9d2,0x8a,0x8a,0x8a,0x8a,
+0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x8a,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,
+0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x600,0x600,0x600,0x600,0x600,0x600,0x600,0x8d,
+0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x8d,0x5ee,0x5ee,0x5ee,0x5ee,0x5ee,
+0x8d,0x8d,0x8d,0x8d,0x8d,0xb16,0x5f1,0x5f7,0x5fd,0x5fd,0x5fd,0x5fd,0x5fd,0x5fd,0x5fd,0x5fd,
+0x5fd,0x5f4,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x8d,
+0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x8d,0x5f7,0x8d,0x5f7,0x5f7,0x8d,0x5f7,0x5f7,0x8d,0x5f7,0x5f7,
+0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5fa,0x612,0x60c,0x612,0x60c,0x60f,0x615,0x612,0x60c,
+0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x135f,0x135f,0x90,0x90,0x90,0x90,0x90,0x90,
+0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x612,0x60c,0x60f,0x615,0x612,
+0x60c,0x612,0x60c,0x612,0x60c,0x612,0x612,0x60c,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,
+0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x60f,0x60c,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
+0x60c,0x60f,0x60c,0x60c,0x60f,0x60f,0x60c,0x60c,0x60c,0x60c,0x60c,0x60f,0x60c,0x60c,0x60f,0x60c,
+0x60f,0x60f,0x60f,0x60c,0x60f,0x60f,0x60f,0x60f,0x90,0x90,0x60f,0x60f,0x60f,0x60f,0x60c,0x60c,
+0x60f,0x60c,0x60c,0x60c,0x60c,0x60f,0x60c,0x60c,0x60c,0x60c,0x60c,0x60f,0x60f,0x60f,0x60c,0x60c,
+0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
+0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0x612,0x612,0x96f,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x609,0x609,0xc1b,0xdaa,0x90,0x90,0x873,0x885,0x882,0x885,0x882,0xca8,0xca8,0xd9b,
+0xd98,0x876,0x876,0x876,0x876,0x888,0x888,0x888,0x8a0,0x8a3,0x8b2,0x93,0x8a6,0x8a9,0x8b5,0x8b5,
+0x89d,0x894,0x88e,0x894,0x88e,0x894,0x88e,0x891,0x891,0x8ac,0x8ac,0x8af,0x8ac,0x8ac,0x8ac,0x93,
+0x8ac,0x89a,0x897,0x891,0x93,0x93,0x93,0x93,0x61e,0x62a,0x61e,0xc1e,0x61e,0x96,0x61e,0x62a,
+0x61e,0x62a,0x61e,0x62a,0x61e,0x62a,0x61e,0x62a,0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,
+0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x627,0x621,0x627,0x621,0x624,0x62a,0x627,0x621,0x627,
+0x621,0x627,0x621,0x627,0x621,0x96,0x96,0x61b,0x771,0x774,0x789,0x78c,0x76b,0x774,0x774,0x9c,
+0x753,0x756,0x756,0x756,0x756,0x753,0x753,0x9c,0x99,0x99,0x99,0x99,0x99,0x99,0x99,0x99,
+0x99,0xb19,0xb19,0xb19,0x9d5,0x74d,0x62d,0x62d,0x9c,0x79b,0x77a,0x76b,0x774,0x771,0x76b,0x77d,
+0x76e,0x768,0x76b,0x789,0x780,0x777,0x798,0x76b,0x795,0x795,0x795,0x795,0x795,0x795,0x795,0x795,
+0x795,0x795,0x786,0x783,0x789,0x789,0x789,0x79b,0x75c,0x759,0x759,0x759,0x759,0x759,0x759,0x759,
+0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x759,
+0x759,0x759,0x759,0x759,0x759,0x759,0x759,0x9c,0x9c,0x9c,0x759,0x759,0x759,0x759,0x759,0x759,
+0x9c,0x9c,0x759,0x759,0x759,0x759,0x759,0x759,0x9c,0x9c,0x759,0x759,0x759,0x759,0x759,0x759,
+0x9c,0x9c,0x759,0x759,0x759,0x9c,0x9c,0x9c,0xb64,0xb64,0xb64,0xb64,0x9f,0x9f,0x9f,0x9f,
+0x9f,0x9f,0x9f,0x9f,0x9f,0x18ab,0x18ab,0x18ab,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,
+0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xb6a,0xa2,0xa2,0xa2,0xa2,0xa2,
+0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,
+0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,
+0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xa8,0xa8,0x1011,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0x1731,0x1731,0x1731,0x1731,0x1731,0x1731,0x1731,0x1731,0x1731,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,0xa8,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xab,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb97,0xb97,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xab,0xb97,0xb97,
+0xab,0xab,0xb97,0xab,0xab,0xb97,0xb97,0xab,0xab,0xb97,0xb97,0xb97,0xb97,0xab,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb94,0xb94,0xb94,0xb94,0xab,0xb94,0xab,0xb94,0xb94,0xb94,
+0xb94,0xd20,0xb94,0xb94,0xab,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xab,0xb97,0xb97,0xb97,0xb97,0xab,0xab,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xab,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xab,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xab,0xb97,0xb97,0xb97,0xb97,0xab,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xab,0xb97,0xab,0xab,0xab,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xab,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xe0d,0xe0d,0xab,0xab,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb94,0xb94,0xb94,0xb8e,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xf21,0xf1e,0xab,0xab,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
+0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xae,0xb9d,0xae,0xae,
0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,
-0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,
-0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xb1,0xc0f,0xc0f,0xc0f,0xc0f,0xc09,0xc09,0xc0c,0xb1,0xb1,0xb1,
-0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,
-0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc18,0xc12,0xc12,0xc15,0xc7e,0xc7e,0xb4,
-0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,
-0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1e,0xc1b,0xc1b,0xb7,0xb7,0xb7,0xb7,
-0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,0xc24,
-0xc24,0xc24,0xc24,0xc24,0xc24,0xba,0xc24,0xc24,0xc24,0xba,0xc21,0xc21,0xba,0xba,0xba,0xba,
-0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,
-0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,0xd14,
-0xd14,0xd14,0xd14,0xd14,0xd14,0x1512,0x1512,0xbd,0xd05,0xd05,0xd05,0xd11,0xd11,0xd11,0xd11,0xd05,
-0xd05,0xd11,0xd11,0xd11,0xbd,0xbd,0xbd,0xbd,0xd11,0xd11,0xd05,0xd11,0xd11,0xd11,0xd11,0xd11,
-0xd11,0xd08,0xd08,0xd08,0xbd,0xbd,0xbd,0xbd,0xd0b,0xbd,0xbd,0xbd,0xd17,0xd17,0xd0e,0xd0e,
-0xd0e,0xd0e,0xd0e,0xd0e,0xd0e,0xd0e,0xd0e,0xd0e,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,
-0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xd1a,0xc0,0xc0,0xd1a,0xd1a,0xd1a,0xd1a,
-0xd1a,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x1515,0x1515,0x1515,0x1515,
-0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,
-0xc3,0xc3,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,
-0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0xc3,0xc3,0x1515,0x1515,0x1515,0x1515,
-0x1515,0x1515,0x1515,0x1515,0x1515,0xc3,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1893,0x192c,
-0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x1719,0x1719,0x1719,0x1719,
-0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0xc3,
-0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xc6,0xd41,0xd41,0xd41,
-0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,
-0xd41,0xd41,0xd41,0xc6,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,
-0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xc6,0xd41,0xd41,0xc6,0xd41,0xd41,0xd41,0xd41,0xd41,
-0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xc6,0xc6,0xd41,0xd41,0xd41,0xd41,
-0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xd41,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
+0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xae,0xc2d,0xc2d,0xc2d,0xc2d,
+0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xb1,0xc2d,0xc2d,0xc2d,0xc2d,0xc27,0xc27,
+0xc2a,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xc36,0xc36,0xc36,0xc36,
+0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc36,0xc30,0xc30,
+0xc33,0xc9c,0xc9c,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xb4,0xc3c,0xc3c,0xc3c,0xc3c,
+0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc39,0xc39,
+0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xb7,0xc42,0xc42,0xc42,0xc42,
+0xc42,0xc42,0xc42,0xc42,0xc42,0xc42,0xc42,0xc42,0xc42,0xba,0xc42,0xc42,0xc42,0xba,0xc3f,0xc3f,
+0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xd32,0xd32,0xd32,0xd32,
+0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,
+0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0xd32,0x152d,0x152d,0xbd,0xd23,0xd23,0xd23,0xd2f,
+0xd2f,0xd2f,0xd2f,0xd23,0xd23,0xd2f,0xd2f,0xd2f,0xbd,0xbd,0xbd,0xbd,0xd2f,0xd2f,0xd23,0xd2f,
+0xd2f,0xd2f,0xd2f,0xd2f,0xd2f,0xd26,0xd26,0xd26,0xbd,0xbd,0xbd,0xbd,0xd29,0xbd,0xbd,0xbd,
+0xd35,0xd35,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd38,0xd38,0xd38,0xd38,
+0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xc0,0xc0,
+0xd38,0xd38,0xd38,0xd38,0xd38,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
+0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
+0x1530,0x1530,0x1530,0x1530,0xc3,0xc3,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
+0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0xc3,0xc3,
+0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,
+0xd5f,0xd5f,0xd5f,0xd5f,0xc6,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,
+0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xc6,0xd5f,0xd5f,0xd5f,0xd5f,
+0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xc6,
+0xd5f,0xd5f,0xc6,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,
+0xd5f,0xd5f,0xc6,0xc6,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,0xd5f,
+0xd5f,0xd5f,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
-0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xd44,0xd44,0xd44,0xd44,
-0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,
-0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xc9,0xc9,0xc9,0xc9,0xc9,0xd86,0xd86,0xd86,0xcc,
-0xcc,0xcc,0xcc,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,
-0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xd80,0xcc,0xcc,0xcc,0xd83,
-0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,
-0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,
-0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xcf,0xd47,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,
-0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,
-0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd2,0xd2,0xd50,0xd50,0xd50,0xd50,0xd50,0xd50,0xd50,0xd50,
-0xd50,0xd50,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,
-0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd5,0xd5,
-0xd56,0xd5,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,
-0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd56,0xd5,0xd56,0xd56,0xd5,0xd5,0xd5,
-0xd56,0xd5,0xd5,0xd56,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,
-0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd8,0xd8,0xd8,0xd8,0xd8,
-0xd8,0xd8,0xd8,0xd8,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0x1518,
-0x1518,0x17ca,0x17ca,0xde,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,0x10f5,
-0x135,0x135,0x135,0x135,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,
-0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe13,0xe13,0xe19,0xe19,0xe13,
-0xe1,0xe1,0xe16,0xe16,0x1125,0x1125,0x1125,0x1125,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,
-0xe4,0xe4,0xe4,0xe4,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,0xc7b,
-0xc7b,0xc7b,0xc7b,0xc7b,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x151b,0x151b,0x151b,0x151b,0x151b,
-0x151b,0x151b,0x151b,0x151b,0x151b,0x151b,0x151b,0x151b,0x151b,0x151e,0x1896,0x1896,0x1896,0x1896,0xe7,0x17cd,
-0x1350,0x1167,0xf15,0xf15,0xe2e,0xe2b,0xe2e,0xe2b,0xe2b,0xe22,0xe22,0xe22,0xe22,0xe22,0xe22,0x1170,
-0x116d,0x1170,0x116d,0x116a,0x116a,0x116a,0x140d,0x140a,0xea,0xea,0xea,0xea,0xea,0xe28,0xe25,0xe25,
-0xe25,0xe22,0xe28,0xe25,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,
-0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xed,0xed,0xed,0xed,0xed,
-0xed,0xed,0xed,0xed,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xed,0xe31,0xe31,0xe31,0xe31,
-0xe31,0xe31,0xe31,0xed,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xe31,0xed,0xe31,0xe31,0xe31,0xe31,
-0xe31,0xe31,0xe31,0xed,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,0xe37,
-0xe37,0xe37,0xe37,0xe37,0xe34,0xe34,0xe34,0xe34,0xe34,0xe34,0xe34,0xe34,0xe34,0xe34,0xf0,0xf0,
-0xf0,0xf0,0xf0,0xf0,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xf3,0x1410,0xf3,0xf3,0xf3,0xf3,
-0xf3,0x1410,0xf3,0xf3,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,
-0xe94,0xe94,0xe94,0xe94,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,
-0xe40,0xe40,0xe40,0xf6,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,
-0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,0xe3d,
-0xe3d,0xe3d,0xe3d,0xf6,0xe52,0xe46,0xe46,0xe46,0xf9,0xe46,0xe46,0xf9,0xf9,0xf9,0xf9,0xf9,
-0xe46,0xe46,0xe46,0xe46,0xe52,0xe52,0xe52,0xe52,0xf9,0xe52,0xe52,0xe52,0xf9,0xe52,0xe52,0xe52,
-0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,
-0xe52,0xe52,0xe52,0xe52,0x1932,0x1932,0xf9,0xf9,0xe43,0xe43,0xe43,0xf9,0xf9,0xf9,0xf9,0xe49,
-0xe4c,0xe4c,0xe4c,0xe4c,0xe4c,0xe4c,0xe4c,0xe4c,0x192f,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
-0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe55,0xe55,0xe4c,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,
-0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0x1176,0x1176,0xfc,0xfc,0xfc,0xfc,
-0xe61,0xe61,0xe61,0xe61,0xe61,0xe64,0xe64,0xe64,0xe61,0xe61,0xe64,0xe61,0xe61,0xe61,0xe61,0xe61,
-0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xfc,0xfc,0xfc,0xfc,0xfc,0xfc,0xe5e,0xe5e,0xe5e,0xe5e,
-0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0x1173,0xfc,0xfc,0xfc,0xe5b,0xe5b,0xe6a,0xe6a,0xe6a,0xe6a,
-0xff,0xff,0xff,0xff,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe67,0xe6a,0xe6a,0xe6a,
-0xe6a,0xe6a,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x1527,0x152d,0x152a,0x1875,
-0x17d0,0x1899,0x1899,0x1899,0x1899,0x1899,0x1938,0x1935,0x193b,0x1935,0x193b,0x102,0x102,0x102,0x102,0x102,
+0xc6,0xc6,0xc6,0xc6,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,
+0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xc9,
+0xc9,0xc9,0xc9,0xc9,0xda4,0xda4,0xda4,0xcc,0xcc,0xcc,0xcc,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,
+0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,0xd9e,
+0xd9e,0xd9e,0xd9e,0xd9e,0xcc,0xcc,0xcc,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,0xda1,
+0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,
+0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xd68,0xcf,0xd65,
+0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,
+0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd71,0xd2,0xd2,
+0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd6e,0xd2,0xd2,0xd2,0xd2,0xd2,0xd2,
+0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,
+0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd5,0xd5,0xd74,0xd5,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,
+0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,0xd74,
+0xd74,0xd74,0xd5,0xd74,0xd74,0xd5,0xd5,0xd5,0xd74,0xd5,0xd5,0xd74,0xd77,0xd77,0xd77,0xd77,
+0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,
+0xd77,0xd77,0xd77,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xd8,0xe28,0xe28,0xe28,0xe28,
+0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0x1533,0x1533,0x17e5,0x17e5,0xde,0x110d,0x110d,0x110d,0x110d,
+0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x135,0x135,0x135,0x135,0xe3a,0xe3a,0xe3a,0xe3a,
+0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
+0xe3a,0xe3a,0xe3a,0xe31,0xe31,0xe37,0xe37,0xe31,0xe1,0xe1,0xe34,0xe34,0x113d,0x113d,0x113d,0x113d,
+0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xe4,0xc99,0xc99,0xc99,0xc99,
+0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0xc99,0x102c,0x102c,0x102c,0x102c,
+0x102c,0x102c,0x102c,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,0x1536,
+0x1536,0x1539,0x18b1,0x18b1,0x18b1,0x18b1,0xe7,0x17e8,0x136b,0x117f,0xf30,0xf30,0xe4c,0xe49,0xe4c,0xe49,
+0xe49,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0x1188,0x1185,0x1188,0x1185,0x1182,0x1182,0x1182,0x1428,0x1425,
+0xea,0xea,0xea,0xea,0xea,0xe46,0xe43,0xe43,0xe43,0xe40,0xe46,0xe43,0xe4f,0xe4f,0xe4f,0xe4f,
+0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,
+0xe4f,0xe4f,0xe4f,0xed,0xed,0xed,0xed,0xed,0xed,0xed,0xed,0xed,0xe4f,0xe4f,0xe4f,0xe4f,
+0xe4f,0xe4f,0xe4f,0xed,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xed,0xe4f,0xe4f,0xe4f,0xe4f,
+0xe4f,0xe4f,0xe4f,0xed,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xe4f,0xed,0xe55,0xe55,0xe55,0xe55,
+0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe55,0xe52,0xe52,0xe52,0xe52,
+0xe52,0xe52,0xe52,0xe52,0xe52,0xe52,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xe58,0xe58,0xe58,0xe58,
+0xe58,0xe58,0xf3,0x142b,0xf3,0xf3,0xf3,0xf3,0xf3,0x142b,0xf3,0xf3,0xeaf,0xeaf,0xeaf,0xeaf,
+0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xe5e,0xe5e,0xe5e,0xe5e,
+0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xf6,0xe5b,0xe5b,0xe5b,0xe5b,
+0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,
+0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xe5b,0xf6,0xe70,0xe64,0xe64,0xe64,
+0xf9,0xe64,0xe64,0xf9,0xf9,0xf9,0xf9,0xf9,0xe64,0xe64,0xe64,0xe64,0xe70,0xe70,0xe70,0xe70,
+0xf9,0xe70,0xe70,0xe70,0xf9,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,
+0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0x194d,0x194d,0xf9,0xf9,
+0xe61,0xe61,0xe61,0xf9,0xf9,0xf9,0xf9,0xe67,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,
+0x194a,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe6d,0xe73,0xe73,
+0xe6a,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xf9,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,
+0xe7f,0xe7f,0x118e,0x118e,0xfc,0xfc,0xfc,0xfc,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe82,0xe82,0xe82,
+0xe7f,0xe7f,0xe82,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xfc,0xfc,
+0xfc,0xfc,0xfc,0xfc,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0x118b,0xfc,
+0xfc,0xfc,0xe79,0xe79,0xe88,0xe88,0xe88,0xe88,0xff,0xff,0xff,0xff,0xe88,0xe88,0xe88,0xe88,
+0xe88,0xe88,0xe88,0xe88,0xe85,0xe88,0xe88,0xe88,0xe88,0xe88,0xff,0xff,0xff,0xff,0xff,0xff,
+0xff,0xff,0xff,0xff,0x1542,0x1548,0x1545,0x1890,0x17eb,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x1953,0x1950,
+0x1956,0x1950,0x1956,0x1a16,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,
0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,
-0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0x102,0xe91,0xe91,0xe91,0xe8e,
-0xe8e,0xe85,0xe85,0xe8e,0xe8b,0xe8b,0xe8b,0xe8b,0x105,0x105,0x105,0x105,0x12ed,0x12ed,0x12ed,0x12f0,
-0x12f0,0x12f0,0x12e7,0x12e7,0x12ea,0x12e7,0x159,0x159,0x159,0x159,0x159,0x159,0xe94,0xe94,0xe94,0xe94,
-0xe94,0xe94,0x141c,0x141c,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0xe97,0x1356,0x108,0x108,0x108,
-0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x1353,0xc4b,0xc4b,0xc4b,0xc4b,
-0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4e,0xec4,0xeb5,0xeaf,0xec1,
-0xebe,0xeb8,0xeb8,0xec7,0xeb2,0xebb,0x10b,0x10b,0x10b,0x10b,0x10b,0x10b,0xf48,0xf48,0xf33,0xf48,
-0xf4b,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0x111,0x111,0x111,0x111,0xf42,0xf42,0xf42,0xf42,
-0xf42,0xf42,0xf42,0xf42,0xf42,0xf42,0xf54,0xf54,0xf39,0xf3f,0xf54,0xf54,0xf3c,0xf39,0xf39,0xf39,
-0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,0xf36,
-0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0xf39,0x111,0x111,0x111,0x135c,0x1359,0x135c,0x1359,
-0x135c,0x1359,0x135c,0x1359,0x135c,0x1359,0x1422,0x1539,0x1539,0x1539,0x17d3,0x1944,0x1539,0x1539,0x1722,0x1722,
-0x1722,0x171c,0x1722,0x171c,0x1947,0x1944,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,
+0x102,0x102,0x102,0x102,0xeac,0xeac,0xeac,0xea9,0xea9,0xea0,0xea0,0xea9,0xea6,0xea6,0xea6,0xea6,
+0x105,0x105,0x105,0x105,0x1308,0x1308,0x1308,0x130b,0x130b,0x130b,0x1302,0x1302,0x1305,0x1302,0x159,0x159,
+0x159,0x159,0x159,0x159,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0x1437,0x1437,0x108,0x108,0x108,0x108,
+0x108,0x108,0x108,0xeb2,0x1371,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,0x108,
+0x108,0x108,0x108,0x136e,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,0xc69,
+0xc69,0xc69,0xc69,0xc6c,0xedf,0xed0,0xeca,0xedc,0xed9,0xed3,0xed3,0xee2,0xecd,0xed6,0x10b,0x10b,
+0x10b,0x10b,0x10b,0x10b,0xf63,0xf63,0xf4e,0xf63,0xf66,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,
+0x111,0x111,0x111,0x111,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf5d,0xf6f,0xf6f,
+0xf54,0xf5a,0xf6f,0xf6f,0xf57,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf51,
+0xf51,0xf51,0xf51,0xf51,0xf51,0xf51,0xf51,0xf51,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,0xf54,
+0xf54,0x111,0x111,0x111,0x114,0x114,0x1a1c,0x1a19,0x1a1c,0x1a1c,0x1a1c,0x114,0x114,0x114,0x114,0x114,
0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,
-0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x1536,0x1425,0x1425,0x1359,0x1050,
-0x1050,0x1050,0x1050,0x1050,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,
-0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf60,0xf60,0xf66,0xf66,0x117,0x117,0x117,0x117,
-0x117,0x117,0x117,0x117,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,
-0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf6f,0xf69,0xf69,0xf69,0xf69,0x117f,0x117f,
-0x11a,0x11a,0x11a,0xf6c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,
-0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x1725,0x11d,0x11d,
-0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,
+0x114,0x114,0x114,0x114,0x114,0x114,0x114,0x1551,0x1440,0x1440,0x1374,0x1068,0x1068,0x1068,0x1068,0x1068,
+0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,
+0xf7e,0xf7e,0xf7e,0xf7e,0xf7b,0xf7b,0xf81,0xf81,0x117,0x117,0x117,0x117,0x117,0x117,0x117,0x117,
+0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,
+0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf8a,0xf84,0xf84,0xf84,0xf84,0x1197,0x1197,0x11a,0x11a,0x11a,0xf87,
+0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,
+0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1740,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,
0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,
-0xf78,0xf78,0xf78,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x1542,0x120,
-0xf75,0xf75,0xf75,0xf75,0x153f,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,
-0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,0xf7b,
-0xf7b,0xf7b,0x194a,0x194a,0x194a,0x194a,0x194a,0x194a,0x194a,0x123,0x123,0x123,0x123,0x123,0x123,0x123,
-0x1077,0x1077,0x1077,0x1077,0x1074,0x1074,0x1074,0x1074,0x1074,0x1074,0x1074,0x1074,0x1065,0x1065,0x1065,0x1065,
-0x1065,0x1065,0x1065,0x1065,0x1074,0x1074,0x106b,0x1068,0x126,0x126,0x126,0x107a,0x107a,0x106e,0x106e,0x106e,
-0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x126,0x126,0x126,0x1077,0x1077,0x1077,
-0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,
-0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1092,0x1095,0x1095,0x129,0x129,0x129,0x129,
-0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,
-0x10bc,0x10bc,0x10bc,0x10bc,0x10b6,0x17d6,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x10c2,0x10c2,
-0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x10b9,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,
-0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,
-0x10d4,0x10d4,0x10da,0x10dd,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x10d7,
-0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10ec,
-0x10ec,0x10e3,0x10e3,0x10ec,0x10ec,0x10e3,0x10e3,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,
-0x10ef,0x10ef,0x10ef,0x10e3,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10e3,0x10ec,0x132,0x132,
-0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x10e9,0x132,0x132,0x10e6,0x10f2,0x10f2,0x10f2,
-0x154e,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,
+0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0x11d,0xf93,0xf93,0xf93,0x155d,
+0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x155d,0x120,0xf90,0xf90,0xf90,0xf90,
+0x155a,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0x120,0xf96,0xf96,0xf96,0xf96,
+0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0xf96,0x1965,0x1965,
+0x1965,0x1965,0x1965,0x1965,0x1965,0x123,0x123,0x123,0x123,0x123,0x123,0x123,0x108f,0x108f,0x108f,0x108f,
+0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,0x107d,
+0x108c,0x108c,0x1083,0x1080,0x126,0x126,0x126,0x1092,0x1092,0x1086,0x1086,0x1086,0x1089,0x1089,0x1089,0x1089,
+0x1089,0x1089,0x1089,0x1089,0x1089,0x1089,0x126,0x126,0x126,0x108f,0x108f,0x108f,0x1095,0x1095,0x1095,0x1095,
+0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x10aa,0x10aa,0x10aa,0x10aa,
+0x10aa,0x10aa,0x10aa,0x10aa,0x10aa,0x10aa,0x10ad,0x10ad,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,
+0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x129,0x10d4,0x10d4,0x10d4,0x10d4,
+0x10ce,0x17f1,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x10da,0x10da,0x10d1,0x10d1,0x10d1,0x10d1,
+0x10d1,0x10d1,0x10d1,0x10d1,0x10d1,0x10d1,0x12c,0x12c,0x12c,0x12c,0x12c,0x12c,0x10f8,0x10f8,0x10f8,0x10f8,
+0x10f8,0x10f8,0x10f8,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10ec,0x10f2,0x10f5,
+0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x12f,0x10ef,0x1107,0x1107,0x1107,0x1107,
+0x1107,0x1107,0x1107,0x1107,0x1107,0x10fb,0x10fb,0x10fb,0x10fb,0x10fb,0x10fb,0x1104,0x1104,0x10fb,0x10fb,0x1104,
+0x1104,0x10fb,0x10fb,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x132,0x1107,0x1107,0x1107,0x10fb,
+0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x10fb,0x1104,0x132,0x132,0x1101,0x1101,0x1101,0x1101,
+0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x132,0x132,0x10fe,0x110a,0x110a,0x110a,0x1569,0x135,0x135,0x135,
0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,
-0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,
-0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10fb,0x138,0x138,
-0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,
-0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x10fe,0x13b,0x13b,0x13b,
-0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,
-0x1101,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,
-0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,
-0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x141,0x141,0x141,0x141,0x141,0x1104,
-0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x144,0x144,0x144,0x144,
-0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,
-0x110d,0x110d,0x110d,0x110d,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,
-0x1185,0x1185,0x1185,0x1185,0x118e,0x1185,0x1185,0x1185,0x118e,0x1185,0x1185,0x1185,0x1185,0x1182,0x14a,0x14a,
-0x118b,0x118b,0x118b,0x118b,0x118b,0x118b,0x118b,0x1191,0x118b,0x1191,0x118b,0x118b,0x118b,0x1191,0x1191,0x14a,
-0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,
-0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,
-0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,
-0x11af,0x11af,0x11af,0x11af,0x11af,0x11ac,0x1197,0x11ac,0x1197,0x1197,0x1197,0x1197,0x1197,0x1197,0x1197,0x150,
-0x11a0,0x11a9,0x1197,0x11a9,0x11a9,0x1197,0x1197,0x1197,0x1197,0x1197,0x1197,0x1197,0x1197,0x11ac,0x11ac,0x11ac,
-0x11ac,0x11ac,0x11ac,0x1197,0x1197,0x119d,0x119d,0x119d,0x119d,0x119d,0x119d,0x119d,0x119d,0x150,0x150,0x119a,
-0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x150,0x150,0x150,0x150,0x150,0x150,
-0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x150,0x150,0x150,0x150,0x150,0x150,
-0x11a3,0x11a3,0x11a3,0x11a3,0x11a3,0x11a3,0x11a3,0x11b2,0x11b5,0x11b5,0x11b5,0x11b5,0x11a3,0x11a3,0x150,0x150,
-0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1596,0x1c8,
-0x1302,0x12e1,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12f9,0x12d8,0x12e4,0x12d8,0x12d8,0x12ff,0x12d8,0x12d8,
-0x12d8,0x12d8,0x12de,0x14c4,0x14ca,0x14c7,0x14c7,0x1914,0x16ef,0x16ef,0x153,0x153,0x153,0x153,0x153,0x153,
-0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,
-0x11c1,0x11c1,0x11c4,0x11cd,0x11c7,0x11c7,0x11c7,0x11cd,0x156,0x156,0x156,0x156,0x156,0x156,0x156,0x156,
-0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,
-0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x12c6,0x15c,0x15c,0x15c,
-0x11eb,0x11df,0x11df,0x11df,0x11df,0x11df,0x11df,0x11e2,0x11f1,0x11f1,0x11df,0x11df,0x11df,0x11df,0x15f,0x12f3,
-0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x11e5,0x15f,0x15f,0x15f,0x15f,0x11df,0x11df,
-0x120f,0x1203,0x120f,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,
-0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x120c,0x120c,0x1212,0x1206,0x1209,
-0x1227,0x1227,0x1227,0x1221,0x1221,0x1218,0x1221,0x1221,0x1218,0x1221,0x1221,0x122a,0x1224,0x121b,0x165,0x165,
-0x121e,0x121e,0x121e,0x121e,0x121e,0x121e,0x121e,0x121e,0x121e,0x121e,0x165,0x165,0x165,0x165,0x165,0x165,
-0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x1230,0x168,0x168,0x168,0x168,0x122d,0x122d,0x122d,0x122d,0x122d,
-0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,
-0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x122d,0x168,0x168,0x168,0x168,0x1239,0x1239,0x1239,0x1239,
-0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,0x1239,
-0x1239,0x1239,0x16b,0x1236,0x1233,0x1233,0x1233,0x1233,0x1233,0x1233,0x1233,0x1233,0x1248,0x1248,0x1248,0x1248,
-0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,
-0x1248,0x1248,0x16e,0x16e,0x16e,0x1242,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x124e,0x124e,0x124e,0x124e,
-0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,0x124e,
-0x124e,0x124e,0x171,0x171,0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x1254,0x1254,0x1254,0x1254,
-0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x1254,0x174,
-0x174,0x174,0x174,0x174,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x125a,0x125a,0x125a,0x125a,
-0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,
-0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x125a,0x17a,0x1275,0x1275,0x17d,0x17d,
-0x17d,0x17d,0x17d,0x17d,0x17d,0x17d,0x17d,0x17d,0x17d,0x1953,0x17d,0x17d,0x14a3,0x14a3,0x14a3,0x14a3,
-0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x12a2,0x12a2,0x12a2,0x12a2,
-0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x155a,0x155a,0x183,0x183,0x183,0x12a2,0x12a2,0x12a2,0x12a2,
-0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x13ad,0x13ad,0x13ad,0x13ad,
-0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x1434,0x1434,0x183,0x183,0x183,0x183,0x13b3,0x13b3,0x13ad,0x13ad,
-0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x12ab,0x13ad,0x12ab,0x12ab,0x13ad,0x13b3,0x12b1,0x1854,0x1854,0x1854,0x1854,
-0x1854,0x1854,0x1854,0x1854,0x1854,0x1854,0x1854,0x1854,0x1854,0x183,0x183,0x183,0x183,0x183,0x183,0x183,
+0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x135,0x1110,0x1110,0x1110,0x1110,
+0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,
+0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1110,0x1113,0x138,0x138,0x1116,0x1116,0x1116,0x1116,
+0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,
+0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x1116,0x13b,0x13b,0x13b,0x1119,0x1119,0x1119,0x1119,
+0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x13e,0x13e,0x13e,
+0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x13e,0x111f,0x111f,0x111f,0x111f,
+0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,
+0x111f,0x111f,0x111f,0x111f,0x111f,0x111f,0x141,0x141,0x141,0x141,0x141,0x111c,0x1122,0x1122,0x1122,0x1122,
+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x144,0x144,0x144,0x144,0x1125,0x1125,0x1125,0x1125,
+0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,
+0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x147,0x119d,0x119d,0x119d,0x119d,
+0x11a6,0x119d,0x119d,0x119d,0x11a6,0x119d,0x119d,0x119d,0x119d,0x119a,0x14a,0x14a,0x11a3,0x11a3,0x11a3,0x11a3,
+0x11a3,0x11a3,0x11a3,0x11a9,0x11a3,0x11a9,0x11a3,0x11a3,0x11a3,0x11a9,0x11a9,0x14a,0x11ac,0x11ac,0x11ac,0x11ac,
+0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,
+0x11ac,0x11ac,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x14d,0x11c7,0x11c7,0x11c7,0x11c7,
+0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,
+0x11c7,0x11c4,0x11af,0x11c4,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x150,0x11b8,0x11c1,0x11af,0x11c1,
+0x11c1,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11c4,0x11c4,0x11c4,0x11c4,0x11c4,0x11c4,0x11af,
+0x11af,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x11b5,0x150,0x150,0x11b2,0x11be,0x11be,0x11be,0x11be,
+0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x150,0x150,0x150,0x150,0x150,0x150,0x11be,0x11be,0x11be,0x11be,
+0x11be,0x11be,0x11be,0x11be,0x11be,0x11be,0x150,0x150,0x150,0x150,0x150,0x150,0x11bb,0x11bb,0x11bb,0x11bb,
+0x11bb,0x11bb,0x11bb,0x11ca,0x11cd,0x11cd,0x11cd,0x11cd,0x11bb,0x11bb,0x150,0x150,0x15b4,0x15b4,0x15b4,0x15b4,
+0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b1,0x1c8,0x131d,0x12f6,0x1314,0x1314,
+0x1314,0x1314,0x1314,0x1314,0x1314,0x12fc,0x12f9,0x12f0,0x12f0,0x131a,0x12f0,0x12f0,0x12f0,0x12f0,0x12ff,0x14df,
+0x14e5,0x14e2,0x14e2,0x192f,0x170a,0x170a,0x1a9d,0x153,0x153,0x153,0x153,0x153,0x11e2,0x11e2,0x11e2,0x11e2,
+0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11d9,0x11d9,0x11dc,0x11e5,
+0x11df,0x11df,0x11df,0x11e5,0x156,0x156,0x156,0x156,0x156,0x156,0x156,0x156,0x12de,0x12de,0x12de,0x12de,
+0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,
+0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x12de,0x15c,0x15c,0x15c,0x1203,0x11f7,0x11f7,0x11f7,
+0x11f7,0x11f7,0x11f7,0x11fa,0x1209,0x1209,0x11f7,0x11f7,0x11f7,0x11f7,0x15f,0x130e,0x11fd,0x11fd,0x11fd,0x11fd,
+0x11fd,0x11fd,0x11fd,0x11fd,0x11fd,0x11fd,0x15f,0x15f,0x15f,0x15f,0x11f7,0x11f7,0x1227,0x121b,0x1227,0x162,
+0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x162,
+0x162,0x162,0x162,0x162,0x162,0x162,0x162,0x1224,0x1224,0x122a,0x121e,0x1221,0x123f,0x123f,0x123f,0x1239,
+0x1239,0x1230,0x1239,0x1239,0x1230,0x1239,0x1239,0x1242,0x123c,0x1233,0x165,0x165,0x1236,0x1236,0x1236,0x1236,
+0x1236,0x1236,0x1236,0x1236,0x1236,0x1236,0x165,0x165,0x165,0x165,0x165,0x165,0x1248,0x1248,0x1248,0x1248,
+0x1248,0x1248,0x1248,0x168,0x168,0x168,0x168,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,
+0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,0x1245,
+0x1245,0x1245,0x1245,0x1245,0x168,0x168,0x168,0x168,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,
+0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x1251,0x16b,0x124e,
+0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x124b,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,
+0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x16e,0x16e,
+0x16e,0x125a,0x125d,0x125d,0x125d,0x125d,0x125d,0x125d,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,
+0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x1266,0x171,0x171,
+0x1263,0x1263,0x1263,0x1263,0x1263,0x1263,0x1263,0x1263,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,
+0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x126c,0x174,0x174,0x174,0x174,0x174,
+0x1269,0x1269,0x1269,0x1269,0x1269,0x1269,0x1269,0x1269,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,
+0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,
+0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x1272,0x17a,0x128d,0x128d,0x17d,0x17d,0x17d,0x17d,0x17d,0x17d,
+0x17d,0x17d,0x17d,0x17d,0x17d,0x196e,0x17d,0x17d,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,
+0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,
+0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x180,0x1a40,0x1a40,0x1a40,0x1a40,0x1a40,0x1a40,0x1a40,0x1a43,
+0x1a3d,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,
+0x12ba,0x12ba,0x12ba,0x1575,0x1575,0x183,0x183,0x183,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,
+0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,
+0x13c8,0x13c8,0x144f,0x144f,0x1a1f,0x183,0x183,0x183,0x13ce,0x13ce,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,
+0x13c8,0x12c3,0x13c8,0x12c3,0x12c3,0x13c8,0x13ce,0x12c9,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,
+0x186f,0x186f,0x186f,0x186f,0x186f,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,
0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,
-0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x1365,0x1365,
-0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,
-0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x1365,0x12d2,0x13ce,0x13cb,0x186,0x186,0x186,0x186,0x186,
-0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,
-0x12cc,0x12cc,0x12cf,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,
-0x12cc,0x12cc,0x12cc,0x12cf,0x12cc,0x12cc,0x13ce,0x13ce,0x13ce,0x13ce,0x13ce,0x13cb,0x13ce,0x13ce,0x13ce,0x1857,
-0x186,0x186,0x186,0x186,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x12c9,0x186,0x186,0x186,
-0x186,0x186,0x186,0x186,0x13f2,0x13f2,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
-0x186,0x186,0x186,0x186,0x18f9,0x18f9,0x18f9,0x18f9,0x18f9,0x18f9,0x186,0x186,0x186,0x186,0x186,0x186,
+0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x183,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,
+0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,
+0x1380,0x1380,0x1380,0x1380,0x12ea,0x13e9,0x13e6,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
+0x186,0x186,0x186,0x186,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e7,0x12e4,
+0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e4,0x12e7,
+0x12e4,0x12e4,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e6,0x13e9,0x13e9,0x13e9,0x1872,0x186,0x186,0x186,0x186,
+0x12e1,0x12e1,0x12e1,0x12e1,0x12e1,0x12e1,0x12e1,0x12e1,0x12e1,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
+0x140d,0x140d,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
+0x1914,0x1914,0x1914,0x1914,0x1914,0x1914,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,
-0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x136e,0x136e,0x136e,0x136e,
-0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,0x136e,
-0x136e,0x136e,0x136e,0x136e,0x136e,0x1368,0x1368,0x1368,0x189,0x189,0x136b,0x189,0x1380,0x1380,0x1380,0x1380,
-0x1380,0x1380,0x1371,0x137a,0x1374,0x1374,0x137a,0x137a,0x137a,0x1374,0x137a,0x1374,0x1374,0x1374,0x137d,0x137d,
-0x18c,0x18c,0x18c,0x18c,0x18c,0x18c,0x18c,0x18c,0x1377,0x1377,0x1377,0x1377,0x18f,0x1383,0x1383,0x1383,
-0x1383,0x1383,0x1383,0x18f,0x18f,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x18f,0x18f,0x1383,0x1383,0x1383,
-0x1383,0x1383,0x1383,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x1383,0x1383,0x1383,0x1383,
-0x1383,0x1383,0x1383,0x18f,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x1383,0x18f,0x15f6,0x15f6,0x15f6,0x15f6,
-0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x1386,0x1386,0x1386,0x1386,
-0x1386,0x1386,0x1389,0x139b,0x139b,0x138f,0x138f,0x138f,0x138f,0x138f,0x192,0x192,0x192,0x192,0x138c,0x138c,
-0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x138c,0x1392,0x1392,
-0x1392,0x1392,0x1392,0x1392,0x1392,0x1392,0x1392,0x1392,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,
-0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x155d,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,
-0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,
-0x139e,0x195,0x195,0x195,0x195,0x195,0x195,0x195,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
-0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x198,0x198,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
-0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x1560,0x198,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
-0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13d7,0x198,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,
-0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,
-0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x1560,0x198,0x198,
-0x198,0x198,0x198,0x198,0x198,0x198,0x198,0x198,0x13ec,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x1575,0x1575,
-0x1575,0x1575,0x1575,0x1578,0x16e6,0x1578,0x1578,0x1578,0x17b2,0x1860,0x1860,0x189c,0x189c,0x19b,0x19b,0x19b,
-0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x1578,0x1578,0x1578,0x1578,0x1578,0x1578,0x1575,0x1575,
-0x1575,0x1578,0x1575,0x16e3,0x16e3,0x19b,0x19b,0x19b,0x1578,0x1575,0x1575,0x1578,0x1860,0x1860,0x1860,0x18ff,
-0x18ff,0x19dd,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,
-0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x19e,0x19e,0x19e,0x19e,
-0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x1440,0x157e,0x1440,0x1440,0x1440,0x1440,0x1440,0x1440,
-0x1440,0x1440,0x1440,0x1440,0x1440,0x157e,0x157e,0x157e,0x157e,0x157e,0x157e,0x1737,0x1737,0x1a1,0x17e2,0x17e2,
-0x17e2,0x17e2,0x17e2,0x17e2,0x17e2,0x17e2,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,
-0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1959,0x17df,0x17df,0x17df,0x17df,
-0x17df,0x17df,0x17df,0x17df,0x17df,0x17df,0x17df,0x17df,0x1446,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1a4,0x1446,0x1a4,0x1a4,0x1446,
-0x1a4,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,
-0x1a4,0x1446,0x1a4,0x1446,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1446,0x1a4,0x1a4,0x1a4,0x1a4,0x1446,
-0x1a4,0x1446,0x1a4,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1a4,0x1446,0x1a4,0x1a4,0x1446,
-0x1a4,0x1446,0x1a4,0x1446,0x1a4,0x1446,0x1a4,0x1446,0x1a4,0x1446,0x1446,0x1a4,0x1446,0x1a4,0x1a4,0x1446,
-0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,
-0x1a4,0x1446,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1446,0x1446,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1446,0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1a4,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,0x1446,
-0x1446,0x1446,0x1446,0x1446,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
+0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x186,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,
+0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,0x1389,
+0x1389,0x1383,0x1383,0x1383,0x189,0x189,0x1386,0x189,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x138c,0x1395,
+0x138f,0x138f,0x1395,0x1395,0x1395,0x138f,0x1395,0x138f,0x138f,0x138f,0x1398,0x1398,0x18c,0x18c,0x18c,0x18c,
+0x18c,0x18c,0x18c,0x18c,0x1392,0x1392,0x1392,0x1392,0x18f,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x18f,
+0x18f,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x18f,0x18f,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x18f,
+0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x18f,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x18f,
+0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x18f,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,
+0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a4,0x13b6,
+0x13b6,0x13aa,0x13aa,0x13aa,0x13aa,0x13aa,0x192,0x192,0x192,0x192,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,
+0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13a7,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,
+0x13ad,0x13ad,0x13ad,0x13ad,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,0x192,
+0x192,0x192,0x192,0x1578,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,
+0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x195,0x195,0x195,
+0x195,0x195,0x195,0x195,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,
+0x13bc,0x13bc,0x13bc,0x198,0x198,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,
+0x13bc,0x13bc,0x13bc,0x157b,0x198,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,
+0x13bc,0x13bc,0x13bc,0x13f2,0x198,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,0x13bc,
+0x13bc,0x13bc,0x13bc,0x13bc,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,
+0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x157b,0x198,0x198,0x198,0x198,0x198,0x198,
+0x198,0x198,0x198,0x198,0x1407,0x1404,0x1404,0x1404,0x1404,0x1404,0x1590,0x1590,0x1590,0x1590,0x1590,0x1593,
+0x1701,0x1593,0x1593,0x1593,0x17cd,0x187b,0x187b,0x18b7,0x18b7,0x1a7f,0x19b,0x19b,0x19b,0x19b,0x19b,0x19b,
+0x19b,0x19b,0x19b,0x19b,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1590,0x1590,0x1590,0x1593,0x1590,0x16fe,
+0x16fe,0x19b,0x19b,0x19b,0x1593,0x1590,0x1590,0x1593,0x187b,0x187b,0x187b,0x191a,0x191a,0x19f8,0x1a7f,0x19b,
+0x19b,0x19b,0x19b,0x19b,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,
+0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,0x19e,
+0x19e,0x19e,0x19e,0x19e,0x145b,0x1599,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,
+0x145b,0x1599,0x1599,0x1599,0x1599,0x1599,0x1599,0x1752,0x1752,0x1a1,0x17fd,0x17fd,0x17fd,0x17fd,0x17fd,0x17fd,
+0x17fd,0x17fd,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,
+0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1a1,0x1974,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,
+0x17fa,0x17fa,0x17fa,0x17fa,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,
+0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,
+0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1a4,0x1461,0x1a4,0x1a4,0x1461,0x1a4,0x1461,0x1461,0x1461,
+0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1a4,0x1461,
+0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1461,0x1a4,0x1a4,0x1a4,0x1a4,0x1461,0x1a4,0x1461,0x1a4,0x1461,
+0x1a4,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1a4,0x1461,0x1a4,0x1a4,0x1461,0x1a4,0x1461,0x1a4,0x1461,
+0x1a4,0x1461,0x1a4,0x1461,0x1a4,0x1461,0x1461,0x1a4,0x1461,0x1a4,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1a4,
+0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1461,
+0x1461,0x1a4,0x1461,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,
+0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,
+0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1461,0x1461,0x1461,0x1a4,0x1461,0x1461,0x1461,0x1461,0x1461,0x1a4,0x1461,
+0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,0x1461,
+0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
-0x1a4,0x1a4,0x1a4,0x1a4,0x1443,0x1443,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
-0x1a4,0x1a4,0x1a4,0x1a4,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x1449,0x1449,0x1449,0x1449,0x1449,
-0x1458,0x1449,0x144c,0x144c,0x1449,0x1449,0x1449,0x144f,0x144f,0x1a7,0x1455,0x1455,0x1455,0x1455,0x1455,0x1455,
-0x1455,0x1455,0x1455,0x1455,0x1452,0x145e,0x145e,0x145e,0x195f,0x195c,0x195c,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,
-0x1a7,0x1a7,0x1a7,0x1a7,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-0x1608,0x1608,0x1608,0x1608,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x146a,0x1467,
-0x1461,0x1461,0x1467,0x1467,0x1470,0x1470,0x146a,0x146d,0x146d,0x1467,0x1464,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,
-0x1aa,0x1aa,0x1aa,0x1aa,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,
-0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1473,0x1ad,0x1ad,0x1ad,0x1ad,
-0x173a,0x173a,0x1473,0x1473,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,
-0x173a,0x173a,0x173a,0x173a,0x1ad,0x1ad,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,
-0x173a,0x173a,0x173a,0x173a,0x147f,0x147f,0x147f,0x147f,0x147f,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,
-0x1b0,0x1b0,0x1b0,0x1b0,0x147f,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,
-0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,
-0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x147c,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,
-0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1479,0x1479,0x1479,0x1479,0x1482,0x1482,0x1482,0x1482,0x1482,
-0x1482,0x1482,0x1482,0x1482,0x1482,0x1482,0x1482,0x1482,0x1494,0x1497,0x149a,0x149a,0x1497,0x149d,0x149d,0x1488,
-0x148b,0x173d,0x1740,0x1740,0x1740,0x1584,0x1b3,0x1b3,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,
-0x148e,0x148e,0x1581,0x1746,0x1749,0x1743,0x174c,0x174c,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,0x14a3,
-0x14a3,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,
-0x14a0,0x14a0,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x14a6,0x14a6,0x14a6,0x14a6,0x14a6,0x14a6,0x14a6,0x14a6,
-0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x12fc,0x12f9,0x12fc,0x12db,0x12f9,0x12ff,0x12ff,0x1302,
-0x12ff,0x1302,0x1305,0x12f9,0x1302,0x1302,0x12f9,0x12f9,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,
-0x14b8,0x14b8,0x14b8,0x14a9,0x14b2,0x14a9,0x14b2,0x14b2,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14b5,0x14ac,
-0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
-0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x1bf,0x1bf,0x1587,0x1587,0x1587,0x1587,0x1587,0x158d,0x1bf,0x1bf,
-0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x16f2,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,
-0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,
-0x16e9,0x16e9,0x16e9,0x16e9,0x1c5,0x1c5,0x1c5,0x1c5,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,
+0x145e,0x145e,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,0x1a4,
+0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1464,0x1464,0x1464,0x1464,0x1464,0x1473,0x1464,0x1467,0x1467,
+0x1464,0x1464,0x1464,0x146a,0x146a,0x1a7,0x1470,0x1470,0x1470,0x1470,0x1470,0x1470,0x1470,0x1470,0x1470,0x1470,
+0x146d,0x1479,0x1479,0x1479,0x197a,0x1977,0x1977,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,0x1a7,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1482,0x147c,0x147c,0x1482,0x1482,
+0x148b,0x148b,0x1485,0x1488,0x1488,0x1482,0x147f,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,0x1aa,
+0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,
+0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x148e,0x1ad,0x1ad,0x1ad,0x1ad,0x1755,0x1755,0x148e,0x148e,
+0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,
+0x1ad,0x1ad,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,
+0x149a,0x149a,0x149a,0x149a,0x149a,0x1a28,0x1a28,0x1a28,0x1a28,0x1a28,0x1a28,0x1b0,0x1b0,0x1b0,0x1b0,0x1a22,
+0x149a,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,
+0x1a25,0x1a25,0x1a25,0x1a25,0x1a25,0x1a25,0x1a25,0x1a25,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1b0,0x1494,
+0x1494,0x1494,0x1494,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,0x149d,
+0x14af,0x14b2,0x14b5,0x14b5,0x14b2,0x14b8,0x14b8,0x14a3,0x14a6,0x1758,0x175b,0x175b,0x175b,0x159f,0x1b3,0x1b3,
+0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x14a9,0x159c,0x1761,0x1764,0x175e,0x1767,0x1767,
+0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x14be,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,
+0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x14bb,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,0x1b6,
+0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x14c1,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,0x1b9,
+0x1317,0x1314,0x1317,0x12f3,0x1314,0x131a,0x131a,0x131d,0x131a,0x131d,0x1320,0x1314,0x131d,0x131d,0x1314,0x1314,
+0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14c4,0x14cd,0x14c4,0x14cd,0x14cd,
+0x14c4,0x14c4,0x14c4,0x14c4,0x14c4,0x14c4,0x14d0,0x14c7,0x1a2b,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,0x1bc,
+0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x1bf,0x1bf,
+0x15a2,0x15a2,0x15a2,0x15a2,0x15a2,0x15a8,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,0x1bf,
+0x170d,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,
+0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1704,0x1c5,0x1c5,0x1c5,0x1c5,
0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,
-0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-0x15a5,0x15a5,0x15a5,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,0x15a5,0x15a5,0x15a5,0x15a5,
-0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x1cb,0x1cb,0x15a2,0x159c,0x159f,0x15a8,0x15ab,0x15ab,0x15ab,0x15ab,
-0x15ab,0x15ab,0x15ab,0x15ab,0x1ce,0x1ce,0x1ce,0x1ce,0x1ce,0x1ce,0x1ce,0x1ce,0x1593,0x1593,0x1593,0x1593,
-0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x15ae,0x15ae,0x15ae,0x15ae,
-0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,
-0x15ae,0x1962,0x1962,0x1962,0x1962,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,
+0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,0x1c8,
+0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1cb,0x1cb,0x1cb,0x1cb,0x1cb,
+0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1cb,0x1cb,0x1cb,
+0x1cb,0x1cb,0x1cb,0x1cb,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1cb,0x1cb,
+0x15bd,0x15b7,0x15ba,0x15c3,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x1ce,0x1ce,0x1ce,0x1ce,
+0x1ce,0x1ce,0x1ce,0x1ce,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,
+0x15ae,0x15ae,0x15ae,0x15ae,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,
+0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x197d,0x197d,0x197d,0x197d,0x1d1,0x1d1,0x1d1,
+0x1d1,0x1d1,0x1d1,0x1d1,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,0x1a82,
0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,
-0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x1d1,0x174f,0x16f5,0x15b7,0x16fb,0x1d4,0x15c0,0x15c0,0x15c0,
-0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1d4,0x1d4,0x15c0,0x15c0,0x1d4,0x1d4,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
-0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1d4,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
-0x15c0,0x1d4,0x15c0,0x15c0,0x1d4,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x1d4,0x19ec,0x16f8,0x15c0,0x15b1,0x15b7,
-0x15b1,0x15b7,0x15b7,0x15b7,0x15b7,0x1d4,0x1d4,0x15b7,0x15b7,0x1d4,0x1d4,0x15ba,0x15ba,0x15bd,0x1d4,0x1d4,
-0x1752,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x15b1,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x15c3,0x15c0,0x15c0,
-0x15c0,0x15c0,0x15b7,0x15b7,0x1d4,0x1d4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x1d4,0x1d4,0x1d4,
-0x15b4,0x15b4,0x15b4,0x15b4,0x15b4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,
-0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,
-0x15d8,0x15d8,0x1d7,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,0x15d8,
-0x15d2,0x15d2,0x15d2,0x15c6,0x15c6,0x15c6,0x15d2,0x15d2,0x15c6,0x15d5,0x15c9,0x15c6,0x15db,0x15db,0x15cf,0x15db,
-0x15db,0x15cc,0x17e5,0x1d7,0x15ea,0x15ea,0x15ea,0x15de,0x15de,0x15de,0x15de,0x15de,0x15de,0x15e1,0x15e4,0x1da,
-0x1da,0x1da,0x1da,0x1da,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x15e7,0x1da,0x1da,
-0x1da,0x1da,0x1da,0x1da,0x1755,0x1755,0x1755,0x1755,0x15f6,0x15f3,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,
-0x1dd,0x1dd,0x1dd,0x1dd,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,
-0x177f,0x177f,0x177f,0x177f,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,
-0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
-0x1e0,0x1e0,0x1e0,0x1e0,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,
-0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
-0x1e0,0x1e0,0x1e0,0x1e0,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x1e0,0x1e0,0x1e0,0x1e0,
+0x1d1,0x1d1,0x1d1,0x1d1,0x176a,0x1710,0x15d2,0x1716,0x1d4,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,
+0x15db,0x1d4,0x1d4,0x15db,0x15db,0x1d4,0x1d4,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,
+0x15db,0x15db,0x15db,0x15db,0x15db,0x1d4,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x15db,0x1d4,0x15db,0x15db,
+0x1d4,0x15db,0x15db,0x15db,0x15db,0x15db,0x1d4,0x1a07,0x1713,0x15db,0x15cc,0x15d2,0x15cc,0x15d2,0x15d2,0x15d2,
+0x15d2,0x1d4,0x1d4,0x15d2,0x15d2,0x1d4,0x1d4,0x15d5,0x15d5,0x15d8,0x1d4,0x1d4,0x176d,0x1d4,0x1d4,0x1d4,
+0x1d4,0x1d4,0x1d4,0x15cc,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x15de,0x15db,0x15db,0x15db,0x15db,0x15d2,0x15d2,
+0x1d4,0x1d4,0x15cf,0x15cf,0x15cf,0x15cf,0x15cf,0x15cf,0x15cf,0x1d4,0x1d4,0x1d4,0x15cf,0x15cf,0x15cf,0x15cf,
+0x15cf,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x1d4,0x15f3,0x15f3,0x15f3,0x15f3,
+0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x1d7,0x15f3,
+0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15f3,0x15ed,0x15ed,0x15ed,0x15e1,
+0x15e1,0x15e1,0x15ed,0x15ed,0x15e1,0x15f0,0x15e4,0x15e1,0x15f6,0x15f6,0x15ea,0x15f6,0x15f6,0x15e7,0x1800,0x1d7,
+0x1605,0x1605,0x1605,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15f9,0x15fc,0x15ff,0x1da,0x1da,0x1da,0x1da,0x1da,
+0x1602,0x1602,0x1602,0x1602,0x1602,0x1602,0x1602,0x1602,0x1602,0x1602,0x1da,0x1da,0x1da,0x1da,0x1da,0x1da,
+0x1770,0x1770,0x1770,0x1770,0x1611,0x160e,0x1a2e,0x1a2e,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,0x1dd,
+0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
+0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,
+0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
+0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,
+0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
+0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,0x1e0,
-0x1e0,0x1e0,0x1e0,0x1e0,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
-0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x15ff,0x1602,0x1605,0x1608,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,
-0x1e3,0x1e3,0x1e3,0x1e3,0x1617,0x1617,0x1617,0x1617,0x1617,0x160b,0x160b,0x1e6,0x1e6,0x1e6,0x1e6,0x160e,
-0x160e,0x160e,0x160e,0x160e,0x1614,0x1614,0x1614,0x1614,0x1614,0x1614,0x1611,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,
-0x1e6,0x1e6,0x1e6,0x1e6,0x1620,0x1620,0x1620,0x1620,0x1620,0x1e9,0x1e9,0x161d,0x161d,0x161d,0x161d,0x161d,
-0x161d,0x161d,0x161d,0x161d,0x161a,0x161a,0x161a,0x161a,0x161a,0x161a,0x161a,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,
-0x1e9,0x1e9,0x1e9,0x1e9,0x1623,0x1635,0x1635,0x1629,0x1632,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,
-0x1ec,0x1ec,0x1ec,0x1ec,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x162c,0x1ec,0x1ec,
-0x1ec,0x1ec,0x1ec,0x1ec,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
-0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
-0x163b,0x163b,0x163b,0x1ef,0x1647,0x1647,0x1647,0x1647,0x1647,0x1641,0x164a,0x1647,0x1647,0x1647,0x1647,0x1647,
-0x1647,0x1647,0x1647,0x1647,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1644,0x1647,0x1647,
-0x1647,0x1647,0x1647,0x1f2,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,
-0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,0x1650,
-0x1650,0x1650,0x1650,0x1f5,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,
-0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x165c,0x1659,0x1659,0x1659,0x1659,0x1659,0x1f8,
-0x1f8,0x1f8,0x1f8,0x1f8,0x1674,0x1674,0x1677,0x1677,0x167a,0x166b,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,
-0x1fb,0x1fb,0x1fb,0x1fb,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1fb,0x166b,
-0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x1fb,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
-0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1fb,0x1fb,0x1fb,0x1fb,
-0x1fb,0x1674,0x1674,0x1674,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,
-0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1fe,0x1fe,0x1fe,
-0x1fe,0x1fe,0x1fe,0x1fe,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,
-0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x1689,0x1689,0x1689,
-0x1689,0x201,0x201,0x201,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,
-0x16a7,0x16a7,0x16a7,0x168f,0x16a1,0x16a1,0x168f,0x168f,0x168f,0x168f,0x207,0x207,0x16a1,0x16a1,0x16a4,0x16a4,
-0x168f,0x168f,0x16a1,0x1695,0x1692,0x1698,0x16aa,0x16aa,0x169b,0x169b,0x169e,0x169e,0x169e,0x16aa,0x175e,0x175e,
-0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175e,0x175b,0x175b,0x175b,0x175b,
-0x1758,0x1758,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,
+0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,
+0x1623,0x1623,0x1623,0x161a,0x161d,0x1620,0x1623,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,0x1e3,
+0x1632,0x1632,0x1632,0x1632,0x1632,0x1626,0x1626,0x1e6,0x1e6,0x1e6,0x1e6,0x1629,0x1629,0x1629,0x1629,0x1629,
+0x162f,0x162f,0x162f,0x162f,0x162f,0x162f,0x162c,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,0x1e6,
+0x163b,0x163b,0x163b,0x163b,0x163b,0x1e9,0x1e9,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,0x1638,
+0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1635,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,0x1e9,
+0x163e,0x1650,0x1650,0x1644,0x164d,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,
+0x1647,0x1647,0x1647,0x1647,0x1647,0x1647,0x1647,0x1647,0x1647,0x1647,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,0x1ec,
+0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,
+0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1ef,
+0x1662,0x1662,0x1662,0x1662,0x1662,0x165c,0x1665,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,0x1662,
+0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x1662,0x1662,0x1662,0x1662,0x1662,0x1f2,
+0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,
+0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x166b,0x1f5,
+0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,
+0x1677,0x1677,0x1677,0x1677,0x1677,0x1677,0x1674,0x1674,0x1674,0x1674,0x1674,0x1f8,0x1f8,0x1f8,0x1f8,0x1f8,
+0x168f,0x168f,0x1692,0x1692,0x1695,0x1686,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,
+0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x168c,0x1fb,0x1686,0x1686,0x1686,0x1686,0x1686,
+0x1686,0x1686,0x1fb,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,
+0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x1fb,0x1fb,0x1fb,0x1fb,0x1fb,0x168f,0x168f,0x168f,
+0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,
+0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,0x1fe,
+0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,
+0x16a7,0x16a7,0x201,0x201,0x201,0x201,0x201,0x201,0x201,0x16a4,0x16a4,0x16a4,0x16a4,0x201,0x201,0x201,
+0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16aa,
+0x16bc,0x16bc,0x16aa,0x16aa,0x16aa,0x16aa,0x207,0x207,0x16bc,0x16bc,0x16bf,0x16bf,0x16aa,0x16aa,0x16bc,0x16b0,
+0x16ad,0x16b3,0x16c5,0x16c5,0x16b6,0x16b6,0x16b9,0x16b9,0x16b9,0x16c5,0x1779,0x1779,0x1779,0x1779,0x1779,0x1779,
+0x1779,0x1779,0x1779,0x1779,0x1779,0x1779,0x1779,0x1779,0x1776,0x1776,0x1776,0x1776,0x1773,0x1773,0x207,0x207,
0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,
-0x207,0x207,0x207,0x207,0x20a,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,
-0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x16ad,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,
-0x20a,0x20a,0x20a,0x20a,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,
-0x20d,0x20d,0x20d,0x20d,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x20d,0x20d,
-0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,
+0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,0x207,
+0x20a,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,
+0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,0x20a,
+0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x20d,0x20d,0x20d,0x20d,
+0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x16cb,0x16cb,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,
0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,
-0x16b3,0x16c2,0x16b9,0x16b6,0x16c8,0x16c8,0x16bc,0x16c8,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,
-0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x16bf,0x210,0x210,0x210,0x210,0x210,0x210,
-0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
-0x16cb,0x16cb,0x16cb,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x16d4,
-0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,
-0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1770,0x1965,0x216,0x216,0x1761,0x1761,0x1761,
-0x176d,0x176d,0x1761,0x1761,0x1761,0x1761,0x176d,0x1761,0x1761,0x1761,0x1761,0x1764,0x216,0x216,0x216,0x216,
-0x176a,0x176a,0x176a,0x176a,0x176a,0x176a,0x176a,0x176a,0x176a,0x176a,0x1767,0x1767,0x1773,0x1773,0x1773,0x1767,
-0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,
+0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x20d,0x16ce,0x16dd,0x16d4,0x16d1,
+0x16e3,0x16e3,0x16d7,0x16e3,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x210,0x16da,0x16da,0x16da,0x16da,
+0x16da,0x16da,0x16da,0x16da,0x16da,0x16da,0x210,0x210,0x210,0x210,0x210,0x210,0x16e9,0x16e9,0x16e9,0x16e9,
+0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e9,0x16e6,0x16e6,0x16e6,0x16e6,0x16e6,0x16e6,0x16e6,0x16e6,0x16e6,0x213,
+0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x213,0x16ef,0x178b,0x178b,0x178b,0x178b,
+0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,
+0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x1980,0x216,0x216,0x177c,0x177c,0x177c,0x1788,0x1788,0x177c,0x177c,
+0x177c,0x177c,0x1788,0x177c,0x177c,0x177c,0x177c,0x177f,0x216,0x216,0x216,0x216,0x1785,0x1785,0x1785,0x1785,
+0x1785,0x1785,0x1785,0x1785,0x1785,0x1785,0x1782,0x1782,0x178e,0x178e,0x178e,0x1782,0x1791,0x1791,0x1791,0x1791,
+0x1791,0x1791,0x1791,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,
0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,
-0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x219,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,
-0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x1788,0x21f,0x1788,0x1788,0x21f,0x21f,
-0x21f,0x21f,0x21f,0x1785,0x1785,0x1785,0x1785,0x1785,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x222,
-0x178b,0x222,0x178b,0x178b,0x178b,0x178b,0x222,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,
-0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x222,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,0x178b,
-0x178b,0x178e,0x222,0x222,0x222,0x222,0x222,0x222,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,
-0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,
-0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x225,0x225,0x225,0x225,0x225,
-0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,
-0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x225,0x225,0x225,0x225,0x225,
-0x225,0x225,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x189f,0x189f,0x189f,0x189f,0x189f,0x189f,0x189f,0x189f,
-0x189f,0x189f,0x189f,0x189f,0x228,0x228,0x228,0x228,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,
-0x17bb,0x1869,0x1869,0x1869,0x1869,0x1866,0x1869,0x1905,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1869,0x1866,
-0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1869,0x1905,0x1905,0x1869,0x1869,0x1869,0x1869,0x1869,
-0x1869,0x1869,0x1866,0x1863,0x1866,0x1869,0x1869,0x228,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,
-0x1902,0x1902,0x1902,0x1902,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x228,0x228,0x19e0,0x19e0,0x19e0,0x19e0,0x228,
-0x228,0x228,0x19e0,0x228,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x228,0x228,0x228,0x228,0x228,
-0x228,0x228,0x228,0x228,0x228,0x228,0x228,0x228,0x19e3,0x19e3,0x19e3,0x19e3,0x19e0,0x19e6,0x19e6,0x19e0,
-0x19e6,0x19e6,0x228,0x228,0x228,0x228,0x228,0x228,0x17b8,0x19e0,0x19e0,0x228,0x228,0x228,0x228,0x228,
-0x228,0x228,0x228,0x228,0x228,0x228,0x228,0x228,0x1902,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,
-0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1902,0x1902,0x179d,0x179d,0x179d,0x179d,0x179a,0x179d,0x179d,0x17a0,
-0x17a3,0x17a0,0x17a0,0x179d,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,
-0x22b,0x22b,0x22b,0x179a,0x179a,0x179a,0x179a,0x179a,0x17f7,0x17f7,0x17f7,0x17f7,0x17ee,0x17ee,0x17ee,0x17e8,
-0x17eb,0x17eb,0x17eb,0x22e,0x22e,0x22e,0x22e,0x22e,0x17f4,0x17f4,0x17f4,0x17f4,0x17f4,0x17f4,0x17f4,0x17f4,
-0x17f4,0x17f4,0x22e,0x22e,0x22e,0x22e,0x17f1,0x17f1,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
-0x1812,0x231,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
-0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x180f,0x17fd,0x17fd,0x17fd,0x17fd,
-0x17fd,0x17fd,0x17fd,0x231,0x17fd,0x17fd,0x17fd,0x17fd,0x17fd,0x17fd,0x180f,0x1800,0x1812,0x1815,0x1815,0x1809,
-0x1806,0x1806,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x180c,0x180c,0x180c,0x180c,
-0x180c,0x180c,0x180c,0x180c,0x180c,0x180c,0x1803,0x1803,0x1803,0x1803,0x1803,0x1803,0x1803,0x1803,0x1803,0x1803,
-0x1803,0x1803,0x1803,0x1803,0x1803,0x231,0x231,0x231,0x1821,0x1824,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,
-0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,
-0x1818,0x234,0x234,0x234,0x234,0x234,0x234,0x234,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,
-0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x237,
-0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,0x181b,
-0x181b,0x237,0x237,0x181b,0x181b,0x181b,0x181b,0x181b,0x186c,0x1908,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,
+0x219,0x219,0x219,0x219,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,
+0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x17a3,0x21f,0x17a3,0x17a3,0x21f,0x21f,0x21f,0x21f,0x21f,0x17a0,
+0x17a0,0x17a0,0x17a0,0x17a0,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x222,0x17a6,0x222,0x17a6,0x17a6,
+0x17a6,0x17a6,0x222,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,
+0x17a6,0x17a6,0x222,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a9,0x222,0x222,
+0x222,0x222,0x222,0x222,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
+0x1608,0x1608,0x1608,0x1608,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,
+0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x225,
+0x225,0x225,0x225,0x225,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,
+0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x225,0x225,0x225,0x225,0x225,0x225,0x225,0x17ac,0x17ac,
+0x17ac,0x17ac,0x17ac,0x17ac,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,0x18ba,
+0x228,0x1a85,0x1a85,0x1a88,0x17d3,0x17d3,0x17d3,0x17d3,0x17d3,0x17d3,0x17d3,0x17d3,0x17d6,0x1884,0x1884,0x1884,
+0x1884,0x1884,0x1884,0x1920,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,
+0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x1a85,0x228,0x19fb,0x19fb,0x19fb,0x19fb,0x228,0x228,0x228,0x19fb,0x1a85,
+0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x228,0x228,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x228,
+0x228,0x228,0x1a85,0x1a85,0x19fe,0x19fe,0x19fe,0x19fe,0x19fb,0x1a01,0x1a01,0x19fb,0x1a01,0x1a01,0x1a85,0x1a88,
+0x1a85,0x1a85,0x1a85,0x1a85,0x17d3,0x19fb,0x19fb,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x1a85,0x228,
+0x228,0x1a88,0x1a88,0x1a88,0x191d,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,0x1920,
+0x1920,0x1920,0x191d,0x191d,0x17b8,0x17b8,0x17b8,0x17b8,0x17b5,0x17b8,0x17b8,0x17bb,0x17be,0x17bb,0x17bb,0x17b8,
+0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x22b,0x17b5,
+0x17b5,0x17b5,0x17b5,0x17b5,0x1812,0x1812,0x1812,0x1812,0x1809,0x1809,0x1809,0x1803,0x1806,0x1806,0x1806,0x1a31,
+0x22e,0x22e,0x22e,0x22e,0x180f,0x180f,0x180f,0x180f,0x180f,0x180f,0x180f,0x180f,0x180f,0x180f,0x22e,0x22e,
+0x22e,0x22e,0x180c,0x180c,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x231,0x182d,0x182d,
+0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,
+0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182a,0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,0x231,
+0x1818,0x1818,0x1818,0x1818,0x1818,0x1818,0x182a,0x181b,0x182d,0x1830,0x1830,0x1824,0x1821,0x1821,0x231,0x231,
+0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x231,0x1827,0x1827,0x1827,0x1827,0x1827,0x1827,0x1827,0x1827,
+0x1827,0x1827,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,
+0x181e,0x231,0x231,0x231,0x183c,0x183f,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,
+0x1845,0x1845,0x1845,0x1845,0x1833,0x1833,0x1833,0x1833,0x1833,0x1833,0x1833,0x1833,0x1833,0x234,0x234,0x234,
+0x234,0x234,0x234,0x234,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,
+0x199e,0x199e,0x199e,0x199e,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x237,0x1836,0x1836,0x1836,0x1836,
+0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x1836,0x237,0x237,0x1836,
+0x1836,0x1836,0x1836,0x1836,0x1887,0x1923,0x1a8b,0x1a8e,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,
0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,
-0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x23a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,
-0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x182a,0x23d,0x23d,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,
-0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,0x23d,0x1827,0x181e,0x181e,0x181e,0x181e,0x181e,0x181e,
-0x181e,0x1827,0x181e,0x181e,0x1827,0x181e,0x181e,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,
-0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x182d,0x240,0x240,0x240,
-0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,
-0x1845,0x1845,0x1836,0x1830,0x1830,0x1845,0x1833,0x1848,0x1848,0x1848,0x1848,0x184b,0x184b,0x183f,0x183c,0x1839,
-0x1842,0x1842,0x1842,0x1842,0x1842,0x1842,0x1842,0x1842,0x1842,0x1842,0x243,0x183f,0x243,0x1839,0x1968,0x243,
+0x23a,0x23a,0x23a,0x23a,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,0x1845,
+0x1845,0x1845,0x1845,0x1845,0x23d,0x23d,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,
+0x1839,0x1839,0x1839,0x1839,0x23d,0x1842,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1839,0x1842,0x1839,0x1839,
+0x1842,0x1839,0x1839,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x23d,0x1848,0x1848,0x1848,0x1848,
+0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x240,0x240,0x240,0x240,0x240,0x240,0x240,
+0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x240,0x1860,0x1860,0x1851,0x184b,
+0x184b,0x1860,0x184e,0x1863,0x1863,0x1863,0x1863,0x1866,0x1866,0x185a,0x1857,0x1854,0x185d,0x185d,0x185d,0x185d,
+0x185d,0x185d,0x185d,0x185d,0x185d,0x185d,0x243,0x185a,0x243,0x1854,0x1983,0x1a34,0x243,0x243,0x243,0x243,
0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,
-0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,
-0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,0x1851,
-0x1851,0x1851,0x1851,0x1851,0x246,0x246,0x246,0x246,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,
-0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,0x184e,
-0x184e,0x184e,0x184e,0x184e,0x246,0x246,0x246,0x246,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,
-0x186f,0x186f,0x186f,0x186f,0x186f,0x19e9,0x19e9,0x19e9,0x19e9,0x19e9,0x249,0x249,0x249,0x249,0x249,0x249,
-0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x249,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,
-0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x24c,0x24c,0x24c,0x24c,0x24c,
-0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,
-0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,
-0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x190e,0x24f,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x252,
-0x18ae,0x18ae,0x252,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,
-0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18ae,0x18a2,0x18a2,0x18a2,0x18a2,0x18a2,0x18a2,0x252,
-0x252,0x252,0x18a2,0x252,0x18a2,0x18a2,0x252,0x18a2,0x18a2,0x18a2,0x18a5,0x18a2,0x18a8,0x18a8,0x18b1,0x18a2,
-0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x252,0x18ab,0x18ab,0x18ab,0x18ab,0x18ab,0x18ab,0x18ab,0x18ab,
-0x18ab,0x18ab,0x252,0x252,0x252,0x252,0x252,0x252,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
-0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
-0x1911,0x1911,0x1911,0x1911,0x255,0x255,0x255,0x255,0x18c9,0x18c9,0x18c9,0x18c9,0x258,0x258,0x18cc,0x18cc,
-0x18cc,0x18cc,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18c6,
-0x18b7,0x18ba,0x18bd,0x18cf,0x18cf,0x196b,0x18c0,0x18c0,0x18de,0x18e1,0x18f0,0x18f0,0x18e1,0x18e4,0x18de,0x18db,
-0x25e,0x25e,0x25e,0x25e,0x25e,0x25e,0x25e,0x25e,0x18c9,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18b4,0x18c6,
-0x18c6,0x18b4,0x18b4,0x18b4,0x18c9,0x18c9,0x18c9,0x18c9,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,
-0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,
-0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,
-0x1980,0x1980,0x1980,0x1980,0x197d,0x197d,0x197d,0x1971,0x1971,0x1971,0x1971,0x1971,0x1971,0x1971,0x1971,0x1971,
-0x197d,0x1977,0x1974,0x197a,0x264,0x264,0x264,0x264,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,
-0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,0x1983,
-0x1983,0x1983,0x1983,0x267,0x267,0x1983,0x1983,0x1983,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x26a,0x1992,
-0x1992,0x26a,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,
-0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x1992,0x198f,0x198f,0x198f,0x198f,0x198f,0x26a,
-0x1986,0x1986,0x26a,0x198f,0x198f,0x1986,0x198f,0x1989,0x1992,0x26a,0x26a,0x26a,0x26a,0x26a,0x26a,0x26a,
-0x199b,0x199b,0x199e,0x199e,0x1995,0x1995,0x1995,0x1995,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,
-0x1998,0x1998,0x1998,0x1998,0x1998,0x1998,0x1998,0x1998,0x1998,0x1998,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,
-0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a4,0x19a1,0x19a1,0x19a1,
-0x19a4,0x19a1,0x19a1,0x19a1,0x19a1,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,
+0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x243,0x186c,0x186c,0x186c,0x186c,
+0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,0x186c,
+0x246,0x246,0x246,0x246,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,
+0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,0x1869,
+0x246,0x246,0x246,0x246,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,
+0x188a,0x1a04,0x1a04,0x1a04,0x1a04,0x1a04,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x1a91,0x249,0x249,0x249,0x249,
+0x249,0x249,0x249,0x249,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,
+0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,0x24c,
+0x24c,0x24c,0x24c,0x24c,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,
+0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,0x1929,
+0x1929,0x1929,0x1929,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,0x24f,
+0x24f,0x24f,0x24f,0x24f,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,
+0x291,0x291,0x291,0x291,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x252,0x18c9,0x18c9,0x252,0x18c9,
+0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,
+0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18bd,0x18bd,0x18bd,0x18bd,0x18bd,0x18bd,0x252,0x252,0x252,0x18bd,0x252,
+0x18bd,0x18bd,0x252,0x18bd,0x18bd,0x18bd,0x18c0,0x18bd,0x18c3,0x18c3,0x18cc,0x18bd,0x252,0x252,0x252,0x252,
+0x252,0x252,0x252,0x252,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x18c6,0x252,0x252,
+0x252,0x252,0x252,0x252,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,
+0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,
+0x255,0x255,0x255,0x255,0x18f9,0x18fc,0x190b,0x190b,0x18fc,0x18ff,0x18f9,0x18f6,0x25e,0x25e,0x25e,0x25e,
+0x25e,0x25e,0x25e,0x25e,0x18e4,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18e1,0x18e1,0x18cf,0x18cf,0x18cf,
+0x18e4,0x18e4,0x18e4,0x18e4,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,
+0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x261,0x261,0x261,0x261,0x261,0x261,0x261,0x261,
+0x261,0x261,0x261,0x261,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,0x1989,
+0x1989,0x1989,0x261,0x261,0x1a9a,0x1a9a,0x1a9a,0x1a9a,0x294,0x294,0x294,0x294,0x1a9a,0x1a9a,0x1a9a,0x294,
+0x294,0x294,0x294,0x294,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,
+0x1998,0x1998,0x1998,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x198c,0x1998,0x1992,0x198f,0x1995,
+0x264,0x264,0x264,0x264,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,
+0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x199e,0x267,
+0x267,0x199e,0x199e,0x199e,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x26a,0x19ad,0x19ad,0x26a,0x19ad,0x19ad,
0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,
-0x19ad,0x19ad,0x19ad,0x19a7,0x19a7,0x19aa,0x19aa,0x19b0,0x19b0,0x273,0x273,0x273,0x273,0x273,0x273,0x273,
-0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,
-0x19b3,0x19b3,0x19b3,0x19b3,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,
-0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,
-0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b9,0x19c2,0x19b6,0x19b6,0x279,0x279,0x279,0x279,0x279,
-0x19c5,0x19c5,0x19c5,0x19c5,0x19c5,0x19c5,0x19c5,0x19c8,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,
+0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19ad,0x19aa,0x19aa,0x19aa,0x19aa,0x19aa,0x26a,0x19a1,0x19a1,0x26a,0x19aa,
+0x19aa,0x19a1,0x19aa,0x19a4,0x19ad,0x26a,0x26a,0x26a,0x26a,0x26a,0x26a,0x26a,0x19b6,0x19b6,0x19b9,0x19b9,
+0x19b0,0x19b0,0x19b0,0x19b0,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x19b3,0x19b3,0x19b3,0x19b3,
+0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x19b3,0x26d,0x26d,0x26d,0x26d,0x26d,0x26d,0x19bc,0x19bc,0x19bc,0x19bc,
+0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bf,0x19bc,0x19bc,0x19bc,0x19bf,0x19bc,0x19bc,0x19bc,
+0x19bc,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x270,0x19c8,0x19c8,0x19c8,0x19c8,
+0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c2,
+0x19c2,0x19c5,0x19c5,0x19cb,0x19cb,0x273,0x273,0x273,0x273,0x273,0x273,0x273,0x19ce,0x19ce,0x19ce,0x19ce,
+0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,0x19ce,
+0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x276,0x19d1,0x19d1,0x19d1,0x19d1,
0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,0x19d1,
-0x19d1,0x19d1,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19cb,0x19ce,0x19ce,0x19ce,
-0x19ce,0x19d4,0x19d4,0x19d4,0x19d4,0x19d4,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x282,0x282,0x282,0x282,
-0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,
-0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x190b,0x29d,0x29d,0x29d,
-0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x282,0x282,0x282,0x282,
-0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,
-0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x282,0x954,0x954,0xb1f,0xb1f,0xb1f,0xb1f,
-0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-0xb1f,0xb1f,0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x18f6,0x18f6,0x18f6,0x18f6,
-0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x19da,0x19da,0x19da,0x19da,0x19da,0x288,0x288,0x288,0x288,
-0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0xc78,0xc78,0xc78,0xc78,
-0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0x12c0,0x12c0,0x12c0,0x28b,0x28b,0xeac,0xeac,0xeac,0xeac,
-0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,
-0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,
-0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,
-0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0x28b,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,
-0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0x28e,
-0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0x28e,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,
-0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,
-0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0x291,0x291,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,
-0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x294,0x294,0x294,
-0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,
-0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,
-0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x297,0x297,0x17b5,0x17b5,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,
-0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x29a,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,
-0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x1131,0x396,0x396,0x3a2,0xcba,0x3a5,0x3a5,0x3a5,
-0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,
-0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a2,0x396,0x396,0x396,0x396,0x396,0x396,0x396,
-0x396,0x3a2,0x3a2,0x3a2,0x3a2,0x39c,0x1134,0x1317,0x3a5,0x921,0x924,0x399,0x399,0x1131,0x1314,0x1314,
-0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a8,0x3a5,0x3a5,0x396,0x396,0x8ac,0x8af,0x93f,0x93f,
-0x93f,0x93f,0x93f,0x93f,0x93f,0x93f,0x93f,0x93f,0x39f,0xf93,0xf90,0x131a,0x131a,0x131a,0x131a,0x131a,
-0x14df,0x1137,0x1137,0xee5,0xee5,0xdb3,0xee5,0xee5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,
-0x3a5,0x3a8,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a5,0x3a8,0x3a5,0x3a5,0x3a8,0x3a5,0x3a5,0x3a5,
-0x3a5,0x3a5,0x1314,0x1317,0x399,0x3a5,0x3a2,0x3a2,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,
-0x447,0x1320,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,0x447,
-0x447,0x447,0x1320,0x1887,0x1887,0xfb1,0x438,0x441,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,
-0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0x483,0xba0,
-0xba0,0xdbf,0xdbf,0x8b2,0xdc2,0x1401,0x1401,0x1401,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,
-0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,
-0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x486,0x48c,0x48c,0x48c,0x114c,0x114c,0x114c,0x114c,0x114c,
-0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,
-0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,0x489,
-0x489,0x489,0x1149,0x1149,0x1149,0x1149,0x1149,0x1149,0x48f,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,
-0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,
-0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x48c,0x498,0x492,0x498,0x492,
-0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,
-0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x492,0x492,
-0x492,0x492,0x495,0x996,0xfe1,0xfe1,0xfe4,0xfe1,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,
-0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,0x498,0x492,
-0x498,0x492,0xfe4,0xfe1,0xfe4,0xfe1,0xfe4,0xfe1,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,
-0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x687,0x687,0x68a,0x4c2,0x696,0x693,0x693,0x690,
-0x4ec,0x4ec,0x4aa,0x4aa,0x4aa,0x4aa,0x4aa,0xac8,0x699,0x4ce,0x6b1,0x6b4,0x4e3,0x699,0x4d1,0x4d1,
-0x4c2,0x4dd,0x4dd,0x687,0x4e9,0x4e6,0x68d,0x4bc,0x4b3,0x4b3,0x4b6,0x4b6,0x4b6,0x4b6,0x4b6,0x4b9,
-0x4b6,0x4b6,0x4b6,0x4ad,0x4f5,0x4f2,0x4ef,0x4ef,0x6a5,0x4d7,0x4d4,0x6a2,0x69f,0x69c,0x6ae,0x4c5,
-0x6ab,0x6ab,0x4da,0x4dd,0x6a8,0x6a8,0x4da,0x4dd,0x4bf,0x4c2,0x4c2,0x4c2,0x4e0,0x4cb,0x4c8,0xbb5,
-0xace,0xad1,0xacb,0xacb,0xacb,0xacb,0xbac,0xbac,0xbac,0xbac,0xbb2,0xce7,0xce4,0xdce,0xdd1,0xbaf,
-0xdd1,0xdd1,0xdd1,0xdd1,0xdce,0xdd1,0xdd1,0xba9,0x519,0x519,0x519,0x519,0x519,0x519,0x519,0x516,
-0x51c,0x735,0x519,0x999,0x9ba,0xad4,0xad4,0xad4,0xbbb,0xbbb,0xdd7,0xdd7,0xdd7,0xdd7,0x1155,0x1158,
-0x1158,0x1335,0x14cd,0x14f7,0x14fa,0x14fa,0x170d,0x188a,0x528,0x528,0x540,0x6c3,0x525,0x6c0,0x528,0x53d,
-0x525,0x6c3,0x537,0x540,0x540,0x540,0x537,0x537,0x540,0x540,0x540,0x6cc,0x525,0x540,0x6c6,0x525,
-0x534,0x540,0x540,0x540,0x540,0x540,0x525,0x525,0x52b,0x6c0,0x6c9,0x525,0x540,0x525,0x6cf,0x525,
-0x540,0x52e,0x546,0x6d2,0x540,0x540,0x531,0x537,0x540,0x540,0x543,0x540,0x537,0x53a,0x53a,0x53a,
-0x53a,0xae0,0xadd,0xcea,0xde0,0xbd0,0xbd3,0xbd3,0xbcd,0xbca,0xbca,0xbca,0xbca,0xbd3,0xbd0,0xbd0,
-0xbd0,0xbd0,0xbc7,0xbca,0xddd,0xef1,0xef4,0xfea,0x115b,0x115b,0x115b,0x6d8,0x6d5,0x549,0x54c,0x54c,
-0x54c,0x54c,0x54c,0x6d5,0x6d8,0x6d8,0x6d5,0x54c,0x6de,0x6de,0x6de,0x6de,0x6de,0x6de,0x6de,0x6de,
-0x6de,0x6de,0x6de,0x6de,0x555,0x555,0x555,0x555,0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,0x6db,
-0x6db,0x6db,0x54f,0x54f,0x54f,0x54f,0x54f,0x54f,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
-0x558,0x561,0x561,0x55b,0x55b,0x55b,0x55e,0x558,0x55b,0x55b,0x558,0x558,0x558,0x558,0x55b,0x55b,
-0x6e1,0x6e1,0x558,0x558,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
-0x55b,0x55e,0x55e,0x55e,0x55b,0x55b,0x6e4,0x55b,0x6e4,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,0x55b,
-0x558,0x55b,0x558,0x558,0x558,0x558,0x558,0x558,0x55b,0x55b,0x558,0x6e1,0x558,0x558,0x558,0xae6,
-0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xae6,0xbd6,0xbd6,0xbd6,0xbd6,0xbd6,0xbd6,0xbd6,0xbd6,
-0xbd6,0xbd6,0xbd6,0xbd6,0x6ea,0x564,0x6ea,0x6ea,0x567,0x564,0x564,0x6ea,0x6ea,0x567,0x564,0x6ea,
-0x567,0x564,0x564,0x6ea,0x564,0x6ea,0x573,0x570,0x564,0x6ea,0x564,0x564,0x564,0x564,0x6ea,0x564,
-0x564,0x6ea,0x6ea,0x6ea,0x6ea,0x564,0x564,0x6ea,0x567,0x6ea,0x567,0x6ea,0x6ea,0x6ea,0x6ea,0x6ea,
-0x6f0,0x56a,0x6ea,0x56a,0x56a,0x564,0x564,0x564,0x6ea,0x6ea,0x6ea,0x6ea,0x564,0x564,0x564,0x564,
-0x6ea,0x6ea,0x564,0x564,0x564,0x567,0x564,0x564,0x567,0x564,0x564,0x567,0x6ea,0x567,0x564,0x564,
-0x6ea,0x564,0x564,0x564,0x564,0x564,0x6ea,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,
-0x564,0x564,0x564,0x564,0x6ed,0x6ea,0x567,0x564,0x6ea,0x6ea,0x6ea,0x6ea,0x564,0x564,0x6ea,0x6ea,
-0x564,0x567,0x6ed,0x6ed,0x567,0x567,0x564,0x564,0x567,0x567,0x564,0x564,0x567,0x567,0x564,0x564,
-0x564,0x564,0x564,0x564,0x567,0x567,0x6ea,0x6ea,0x567,0x567,0x6ea,0x6ea,0x567,0x567,0x564,0x564,
-0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x6ea,0x564,0x564,0x564,0x6ea,0x564,0x564,
-0x564,0x564,0x564,0x564,0x564,0x6ea,0x564,0x564,0x564,0x564,0x564,0x564,0x567,0x567,0x567,0x567,
-0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x6ea,
-0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,
-0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,0x564,
-0x567,0x567,0x567,0x567,0x564,0x564,0x564,0x564,0x564,0x564,0x567,0x567,0x567,0x567,0x564,0x56d,
-0x564,0x564,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,0xbd9,
-0x576,0xae9,0x576,0x576,0x576,0x576,0x576,0x576,0x582,0x57f,0x582,0x57f,0x576,0x576,0x576,0x576,
-0x576,0x576,0x6f3,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x7f8,0x7f8,0x576,0x576,0x576,0x576,
-0x57c,0x57c,0x576,0x576,0x576,0x576,0x576,0x576,0x579,0x7fe,0x7fb,0x576,0x576,0x576,0x576,0x576,
-0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,
-0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0xae9,
-0xbdf,0xae9,0xae9,0xae9,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
-0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,0x585,
-0x585,0x585,0x585,0x585,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x58b,0xc48,
-0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,
-0xc48,0xc48,0xc48,0xd62,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,
-0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x58e,0x591,0x591,0x591,0x591,0x591,0x591,0x591,
-0x591,0x591,0x591,0x591,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,
-0x591,0x591,0x591,0x591,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,
-0x705,0x705,0x705,0x705,0x708,0x708,0x708,0x708,0x708,0x708,0x708,0x708,0x708,0x708,0x708,0x708,
-0x708,0x708,0x708,0x708,0x594,0x594,0x708,0x708,0x708,0x708,0xbe2,0xbe2,0xbe2,0xbe2,0xbe2,0xbe2,
-0xbe2,0xbe2,0xbe2,0xbe2,0x70e,0x70e,0x597,0x70b,0x70b,0x70b,0x70b,0x70b,0x70b,0x70b,0x59a,0x59a,
-0x597,0x597,0x59d,0x59d,0x59d,0x59d,0x70e,0x70e,0x59d,0x59d,0x711,0x70e,0x597,0x597,0x597,0x597,
-0x70e,0x70e,0x59d,0x59d,0x711,0x70e,0x597,0x597,0x597,0x597,0x70e,0x70e,0x70b,0x597,0x59d,0x70e,
-0x597,0x597,0x70b,0x70e,0x70e,0x70e,0x59d,0x59d,0x597,0x597,0x597,0x597,0x597,0x597,0x597,0x597,
-0x597,0x597,0x597,0x597,0x597,0x597,0x70e,0x70b,0x70e,0x70b,0x597,0x59d,0x59d,0x59d,0x59d,0x59d,
-0x59d,0x597,0x597,0x70b,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xaf2,0xbe5,0xbe5,0xbe5,0xbe8,
-0xbe8,0xc63,0xc63,0xbe5,0x5ac,0x5ac,0x5ac,0x5ac,0x5a9,0x723,0x720,0x5a3,0x5a3,0x714,0x5a3,0x5a3,
-0x5a3,0x5a3,0x71a,0x714,0x5a3,0x5a9,0x5a3,0x5a0,0xd6b,0xd6b,0xbee,0xbee,0xdec,0xaf5,0x5a6,0x5a6,
-0x717,0x5af,0x717,0x5a6,0x5a9,0x5a3,0x5a9,0x5a9,0x5a3,0x5a3,0x5a9,0x5a3,0x5a3,0x5a3,0x5a9,0x5a3,
-0x5a3,0x5a3,0x5a9,0x5a9,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a9,0x5ac,0x5ac,0x5a6,
-0x5a3,0x5a3,0x5a3,0x5a3,0x726,0x5a3,0x726,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x801,0x801,0x801,0x801,
-0x801,0x801,0x801,0x801,0x801,0x801,0x801,0x801,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,0x5a3,
-0x5a3,0x5a3,0x5a3,0x5a9,0x726,0x723,0x5b2,0x726,0x714,0x71a,0x5a9,0x714,0x71d,0x714,0x714,0x5a3,
-0x714,0x723,0x5b2,0x723,0xaf5,0xaf5,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf4,
-0xbf1,0xbf1,0xde9,0xea3,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,
-0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b5,0x5b8,0x13bf,0x13bf,0x13bf,0x5b8,0x5b8,0x5b8,0x5b8,
-0x5b8,0x5b8,0x5b8,0x5b8,0x1503,0x5c4,0x5cd,0x5c4,0x5c4,0x13bf,0x5b8,0x5b8,0x5cd,0x5cd,0x13c2,0x13c2,
-0x5d0,0x5d0,0x5c1,0x5c7,0x5c1,0x5c1,0x5c7,0x5b8,0x5c7,0x5b8,0x5c7,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,
-0x5b8,0x5c7,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x13bf,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,
-0x5b8,0x5b8,0x5b8,0x5c7,0x5c7,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x72c,0x5b8,0x5b8,
-0x5b8,0x5b8,0x5b8,0x5b8,0x5c7,0x5b8,0x5b8,0x5c7,0x5b8,0x5b8,0x5b8,0x5b8,0x13bf,0x5b8,0x13bf,0x5b8,
-0x5b8,0x5b8,0x5b8,0x13bf,0x13bf,0x13bf,0x5b8,0x12ba,0x5b8,0x5b8,0x5b8,0x5be,0x5be,0x5be,0x5be,0x1341,
-0x1341,0x5b8,0x5bb,0x5ca,0x5cd,0x5c1,0x5c1,0x5c1,0xbfa,0xbf7,0xbfa,0xbf7,0xbfa,0xbf7,0xbfa,0xbf7,
-0xbfa,0xbf7,0xbfa,0xbf7,0xbfa,0xbf7,0x729,0x729,0x729,0x729,0x729,0x729,0x729,0x729,0x729,0x729,
-0x5b8,0x5c7,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,
-0x13bf,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x13bf,
-0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f4,0x5f4,
-0x5f4,0x5f4,0x5f4,0x5f4,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5f1,0x5f7,0x5e8,0x5eb,
-0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,
-0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5ee,0x5ee,
-0x5ee,0x5ee,0x5ee,0x5ee,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,
-0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,
-0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,
-0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f7,0x5f1,0x5f4,0x5fa,
-0x5f7,0x5f1,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f4,0x5fa,0x5f7,0x5f1,0x5f7,0x5f1,0x1344,0x1344,
-0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x1344,0x5f7,0x5f1,0x5f7,0x5f1,
-0x5f7,0x5f1,0x5f4,0x5fa,0x5f4,0x5fa,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,0x5f7,0x5f1,
-0x5f7,0x5f1,0x5f7,0x5f1,0x5f4,0x5f7,0x5f1,0x5f4,0x5f7,0x5f1,0x5f4,0x5fa,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f1,0x5f1,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f7,0x5f7,0x5f7,0x5f7,
-0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f4,0x5f1,0x5f4,
-0x5f1,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f4,0x5f4,
-0x5f1,0x5f1,0x5f1,0x5f4,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,
-0x5f4,0x5f4,0x5f1,0x5f1,0x5f4,0x5f1,0x5f4,0x5f1,0x5f1,0x5f1,0x5f1,0x5f1,0x5f4,0x5f4,0x5f4,0x5f4,
-0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,
-0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5f4,0x5fa,
-0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,
-0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,
-0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,
-0x5fa,0x5fa,0x5fa,0x5fa,0x5fa,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,0x5f7,
-0x5fd,0x5fd,0x5fd,0x5fd,0xff6,0xff6,0xff6,0x1506,0x1506,0x1506,0x1506,0x1506,0x1506,0x1506,0x1713,0x1713,
-0x85e,0x864,0x864,0x870,0x870,0x861,0x858,0x861,0x858,0x861,0x858,0x861,0x858,0x861,0x858,0x861,
-0x60c,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x60c,
-0x606,0x609,0x60f,0x60c,0x606,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,
-0x60f,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,
-0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,
-0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x60f,0x60c,0x606,0x609,0x6f9,0x6f9,0x6f9,0x6f9,
-0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,
-0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,
-0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,
-0x6f6,0x6f6,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x702,0x6ff,
-0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6ff,0x6fc,0x6fc,0x6fc,0x6fc,
-0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x6fc,0x705,0x705,0x705,0x705,
-0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,
-0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x705,0x72f,0x72f,0x72f,0x72f,
-0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,
-0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0x72f,0xc51,0x8c4,0x8be,0x8bb,
-0x8c1,0x8b8,0x744,0x747,0x747,0x747,0x747,0x747,0x747,0x747,0x747,0x747,0x8ca,0x744,0x744,0x744,
-0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,
-0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x744,0x8c7,0x8c7,
-0x74a,0x8d9,0x8dc,0x8e2,0x804,0x810,0x8f7,0x80d,0x8d0,0x8cd,0x8d0,0x8cd,0x8d6,0x8d3,0x8d6,0x8d3,
-0x8d0,0x8cd,0x80a,0x8e2,0x8d0,0x8cd,0x8d0,0x8cd,0x8d0,0x8cd,0x8d0,0x8cd,0x8e5,0x8ee,0x8eb,0x8eb,
-0x750,0x78c,0x78c,0x78c,0x78c,0x78c,0x78c,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,
-0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x786,0x753,0x76e,0x74d,0x774,0x777,
-0x771,0x789,0x789,0x789,0x789,0x789,0x789,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,
-0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x783,0x753,0x76e,0x74d,0x76e,0xc54,
-0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,
-0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,0x7f2,
-0x7f2,0x7f2,0x12b4,0x12b4,0x12b4,0x12b4,0x12b4,0x7f5,0x80a,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,
-0x80d,0x80d,0x92d,0x92d,0x92d,0x92d,0x813,0x813,0x8e8,0x8f4,0x8f4,0x8f4,0x8f4,0x8f1,0x807,0x8df,
-0xb19,0xb19,0xb19,0xc66,0xc84,0xc81,0xb34,0x8b5,0x819,0x816,0x819,0x81c,0x816,0x819,0x816,0x819,
-0x816,0x819,0x816,0x816,0x816,0x816,0x816,0x816,0x819,0x819,0x816,0x819,0x819,0x816,0x819,0x819,
-0x816,0x819,0x819,0x816,0x819,0x819,0x816,0x816,0xc87,0x82b,0x825,0x82b,0x825,0x82b,0x825,0x82b,
-0x825,0x82b,0x825,0x825,0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x825,
-0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x825,0x828,0x82b,0x825,0x828,0x825,0x828,
-0x825,0x828,0x825,0x825,0x825,0x825,0x825,0x825,0x828,0x828,0x825,0x828,0x828,0x825,0x828,0x828,
-0x825,0x828,0x828,0x825,0x828,0x828,0x825,0x825,0x825,0x825,0x825,0x82b,0x825,0x82b,0x825,0x82b,
-0x825,0x825,0x825,0x825,0x825,0x825,0x82b,0x825,0x825,0x825,0x825,0x825,0x828,0x82b,0x82b,0x828,
-0x828,0x828,0x828,0x8fd,0x900,0x82e,0x831,0xc6f,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,
-0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,
-0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x83a,0x837,0x837,0x837,0x837,0x837,0x837,0x837,
-0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,0x837,
-0x837,0x837,0x837,0x837,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,
-0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,0x843,
-0xd74,0xd74,0xea6,0x83d,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,
-0xd6e,0xd6e,0xd6e,0xd6e,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,0x846,
-0x846,0x846,0x846,0x846,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,
-0x912,0x912,0x912,0x912,0x912,0x849,0x849,0x849,0x849,0x849,0x849,0xd77,0xd77,0xd77,0xd77,0x915,
-0x915,0x915,0x915,0x915,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,
-0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,0x849,
-0x849,0x849,0x849,0x849,0x849,0x849,0xd77,0xd77,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,
-0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,
-0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x84c,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,
-0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,
-0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,0x84f,
-0x84f,0x84f,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,
-0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0xea9,0x1119,0x1119,0x1119,0x1119,0x852,0x852,0x852,0x852,
+0x19d1,0x19d1,0x19d1,0x19d4,0x19dd,0x19d1,0x19d1,0x279,0x279,0x279,0x279,0x279,0x19e0,0x19e0,0x19e0,0x19e0,
+0x19e0,0x19e0,0x19e0,0x19e3,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,0x27c,0x19ec,0x19ec,0x19ec,0x19ec,
+0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19ec,0x19e6,0x19e6,
+0x19e6,0x19e6,0x19e6,0x19e6,0x19e6,0x19e6,0x19e6,0x19e6,0x19e6,0x19e9,0x19e9,0x19e9,0x19e9,0x19ef,0x19ef,0x19ef,
+0x19ef,0x19ef,0x27f,0x27f,0x27f,0x27f,0x27f,0x27f,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,
+0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x1a46,0x285,
+0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x285,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,
+0x288,0x288,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,
+0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a55,0x1a52,0x1a52,0x1a52,0x1a49,0x1a49,0x1a49,0x1a49,
+0x288,0x288,0x1a49,0x1a49,0x1a52,0x1a52,0x1a52,0x1a52,0x1a4c,0x1a55,0x1a4f,0x1a55,0x1a52,0x288,0x288,0x288,
+0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,
+0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x288,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,
+0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x28b,0x28b,0x28b,0x1a58,0x1a58,0x1a58,0x1a58,0x1a58,0x1a58,0x1a58,0x1a61,
+0x1a61,0x1a61,0x1a61,0x1a61,0x1a64,0x1a64,0x28b,0x28b,0x28e,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,
+0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,
+0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x1a67,0x28e,0x28e,0x291,0x291,0x291,0x291,
+0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x1a94,0x1a94,0x1a94,0x291,
+0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x1a97,0x1a97,0x1a97,0x1a97,
+0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x291,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,
+0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x1a9a,0x1a9a,0x1a9a,0x294,0x294,0x294,0x294,0x294,
+0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x1a9a,0x1a9a,0x1a9a,0x1a9a,0x1a9a,0x1a9a,0x294,0x294,
+0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,
+0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,0x294,
+0x1a70,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,
+0x1a6a,0x1a6a,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x297,0x1a6d,
+0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a73,0x1a73,0x1a73,0x1a73,
+0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x1a79,0x29a,0x29a,0x29a,0x29a,0x29a,0x1a76,
+0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,
+0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,
+0x1926,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,0x2b8,
+0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,
+0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x29d,0x972,0x972,
+0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,
+0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,0x2a0,
+0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x19f5,0x19f5,0x19f5,0x19f5,0x19f5,
+0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,0x2a3,
+0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0x12d8,0x12d8,0x12d8,0x2a6,0x2a6,
+0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,
+0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,
+0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,
+0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0x2a6,0xba0,0xba0,0xba0,0xba0,
+0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,
+0xba0,0xba0,0xba0,0x2a9,0x2a9,0x2a9,0x2a9,0x2a9,0x2a9,0x2a9,0x2a9,0x2a9,0xba3,0xba3,0xba3,0xba3,
+0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,
+0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0x2ac,0x2ac,0x12ed,0x12ed,0x12ed,0x12ed,
+0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,
+0x12ed,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x2af,0x140a,0x140a,0x140a,0x140a,
+0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,
+0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x2b2,0x2b2,0x17d0,0x17d0,0x2b5,0x2b5,
+0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x2b5,0x1926,0x1926,0x1926,0x1926,
+0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x3c0,0x3b4,0x3b4,0x3b4,
+0x3b4,0x3b4,0x3b4,0x3b4,0x3b4,0x3c0,0x3c0,0x3c0,0x3c0,0x3ba,0x114c,0x1332,0x3c3,0x93c,0x93f,0x3b1,
+0x3b1,0x1149,0x132f,0x132f,0x3c6,0x3c6,0x3c6,0x3c6,0x3c6,0x3c6,0x3c6,0x3c6,0x1149,0x3b4,0x3b4,0x3c0,
+0xcd8,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,
+0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3b4,0x3b4,
+0x8c7,0x8ca,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x95a,0x3bd,0xfae,0xfab,0x1335,
+0x1335,0x1335,0x1335,0x1335,0x14fa,0x114f,0x114f,0xf00,0xf00,0xdd1,0xf00,0xf00,0x3c3,0x3c3,0x3c3,0x3c3,
+0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c6,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x3c6,0x3c3,0x3c3,
+0x3c6,0x3c3,0x3c3,0x3c3,0x3c3,0x3c3,0x132f,0x1332,0x3b7,0x3c3,0x3c0,0x3c0,0x462,0x462,0x462,0x462,
+0x462,0x462,0x462,0x462,0x462,0x133b,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,0x462,
+0x462,0x462,0x462,0x462,0x462,0x462,0x133b,0x18a2,0x18a2,0xfcc,0x453,0x45c,0x49e,0x49e,0x49e,0x49e,
+0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,0x49e,
+0x49e,0x49e,0x49e,0xbbe,0xbbe,0xddd,0xddd,0x8cd,0xde0,0x141c,0x141c,0x141c,0x4a1,0x4a1,0x4a1,0x4a1,
+0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,
+0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a1,0x4a7,0x4a7,0x4a7,0x1164,
+0x1164,0x1164,0x1164,0x1164,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,
+0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,
+0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x4a4,0x1161,0x1161,0x1161,0x1161,0x1161,0x1161,0x4aa,0x4a7,0x4a7,0x4a7,
+0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,
+0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,0x4a7,
+0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,
+0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,
+0x4b3,0x4ad,0x4ad,0x4ad,0x4ad,0x4ad,0x4b0,0x9b4,0xff9,0xff9,0xffc,0xff9,0x4b3,0x4ad,0x4b3,0x4ad,
+0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,
+0x4b3,0x4ad,0x4b3,0x4ad,0x4b3,0x4ad,0xffc,0xff9,0xffc,0xff9,0xffc,0xff9,0x4bf,0x4bf,0x4bf,0x4bf,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4bf,0x4bf,0x4bf,0x4bf,
+0x4bf,0x4bf,0x4bf,0x4bf,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x4c2,0x6a2,0x6a2,0x6a5,0x4dd,
+0x6b1,0x6ae,0x6ae,0x6ab,0x507,0x507,0x4c5,0x4c5,0x4c5,0x4c5,0x4c5,0xb4f,0x6b4,0x4e9,0x6cc,0x6cf,
+0x4fe,0x6b4,0x4ec,0x4ec,0x4dd,0x4f8,0x4f8,0x6a2,0x504,0x501,0x6a8,0x4d7,0x4ce,0x4ce,0x4d1,0x4d1,
+0x4d1,0x4d1,0x4d1,0x4d4,0x4d1,0x4d1,0x4d1,0x4c8,0x510,0x50d,0x50a,0x50a,0x6c0,0x4f2,0x4ef,0x6bd,
+0x6ba,0x6b7,0x6c9,0x4e0,0x6c6,0x6c6,0x4f5,0x4f8,0x6c3,0x6c3,0x4f5,0x4f8,0x4da,0x4dd,0x4dd,0x4dd,
+0x4fb,0x4e6,0x4e3,0xbd3,0xae9,0xaec,0xae6,0xae6,0xae6,0xae6,0xbca,0xbca,0xbca,0xbca,0xbd0,0xd05,
+0xd02,0xdec,0xdef,0xbcd,0xdef,0xdef,0xdef,0xdef,0xdec,0xdef,0xdef,0xbc7,0x534,0x534,0x534,0x534,
+0x534,0x534,0x534,0x531,0x537,0x750,0x534,0x9b7,0x9d8,0xaef,0xaef,0xaef,0xbd9,0xbd9,0xdf5,0xdf5,
+0xdf5,0xdf5,0x116d,0x1170,0x1170,0x1350,0x14e8,0x1512,0x1515,0x1515,0x1728,0x18a5,0x543,0x543,0x55b,0x6de,
+0x540,0x6db,0x543,0x558,0x540,0x6de,0x552,0x55b,0x55b,0x55b,0x552,0x552,0x55b,0x55b,0x55b,0x6e7,
+0x540,0x55b,0x6e1,0x540,0x54f,0x55b,0x55b,0x55b,0x55b,0x55b,0x540,0x540,0x546,0x6db,0x6e4,0x540,
+0x55b,0x540,0x6ea,0x540,0x55b,0x549,0x561,0x6ed,0x55b,0x55b,0x54c,0x552,0x55b,0x55b,0x55e,0x55b,
+0x552,0x555,0x555,0x555,0x555,0xafb,0xaf8,0xd08,0xdfe,0xbee,0xbf1,0xbf1,0xbeb,0xbe8,0xbe8,0xbe8,
+0xbe8,0xbf1,0xbee,0xbee,0xbee,0xbee,0xbe5,0xbe8,0xdfb,0xf0c,0xf0f,0x1002,0x1173,0x1173,0x1173,0x6f3,
+0x6f0,0x564,0x567,0x567,0x567,0x567,0x567,0x6f0,0x6f3,0x6f3,0x6f0,0x567,0x6f9,0x6f9,0x6f9,0x6f9,
+0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x6f9,0x570,0x570,0x570,0x570,0x6f6,0x6f6,0x6f6,0x6f6,
+0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x6f6,0x56a,0x56a,0x56a,0x56a,0x56a,0x56a,0x576,0x576,0x576,0x576,
+0x576,0x576,0x576,0x576,0x573,0x57c,0x57c,0x576,0x576,0x576,0x579,0x573,0x576,0x576,0x573,0x573,
+0x573,0x573,0x576,0x576,0x6fc,0x6fc,0x573,0x573,0x576,0x576,0x576,0x576,0x576,0x576,0x576,0x576,
+0x576,0x576,0x576,0x576,0x576,0x579,0x579,0x579,0x576,0x576,0x6ff,0x576,0x6ff,0x576,0x576,0x576,
+0x576,0x576,0x576,0x576,0x573,0x576,0x573,0x573,0x573,0x573,0x573,0x573,0x576,0x576,0x573,0x6fc,
+0x573,0x573,0x573,0xb01,0xb01,0xb01,0xb01,0xb01,0xb01,0xb01,0xb01,0xb01,0xbf4,0xbf4,0xbf4,0xbf4,
+0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0xbf4,0x705,0x57f,0x705,0x705,0x582,0x57f,0x57f,0x705,
+0x705,0x582,0x57f,0x705,0x582,0x57f,0x57f,0x705,0x57f,0x705,0x58e,0x58b,0x57f,0x705,0x57f,0x57f,
+0x57f,0x57f,0x705,0x57f,0x57f,0x705,0x705,0x705,0x705,0x57f,0x57f,0x705,0x582,0x705,0x582,0x705,
+0x705,0x705,0x705,0x705,0x70b,0x585,0x705,0x585,0x585,0x57f,0x57f,0x57f,0x705,0x705,0x705,0x705,
+0x57f,0x57f,0x57f,0x57f,0x705,0x705,0x57f,0x57f,0x57f,0x582,0x57f,0x57f,0x582,0x57f,0x57f,0x582,
+0x705,0x582,0x57f,0x57f,0x705,0x57f,0x57f,0x57f,0x57f,0x57f,0x705,0x57f,0x57f,0x57f,0x57f,0x57f,
+0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x708,0x705,0x582,0x57f,0x705,0x705,0x705,0x705,
+0x57f,0x57f,0x705,0x705,0x57f,0x582,0x708,0x708,0x582,0x582,0x57f,0x57f,0x582,0x582,0x57f,0x57f,
+0x582,0x582,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x582,0x582,0x705,0x705,0x582,0x582,0x705,0x705,
+0x582,0x582,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x705,0x57f,0x57f,
+0x57f,0x705,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x705,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,
+0x582,0x582,0x582,0x582,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,
+0x57f,0x57f,0x57f,0x705,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,
+0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,
+0x57f,0x57f,0x57f,0x57f,0x582,0x582,0x582,0x582,0x57f,0x57f,0x57f,0x57f,0x57f,0x57f,0x582,0x582,
+0x582,0x582,0x57f,0x588,0x57f,0x57f,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,0xbf7,
+0xbf7,0xbf7,0xbf7,0xbf7,0x591,0xb04,0x591,0x591,0x591,0x591,0x591,0x591,0x59d,0x59a,0x59d,0x59a,
+0x591,0x591,0x591,0x591,0x591,0x591,0x70e,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x813,0x813,
+0x591,0x591,0x591,0x591,0x597,0x597,0x591,0x591,0x591,0x591,0x591,0x591,0x594,0x819,0x816,0x591,
+0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,
+0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,0x591,
+0x591,0x591,0x591,0xb04,0xbfd,0xb04,0xb04,0xb04,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,
+0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,
+0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x5a0,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,
+0x717,0x717,0x5a6,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,
+0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xc66,0xd80,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,
+0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x5a9,0x5ac,0x5ac,0x5ac,
+0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x5ac,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,
+0x720,0x720,0x720,0x720,0x5ac,0x5ac,0x5ac,0x5ac,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,
+0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x723,0x723,0x723,0x723,0x723,0x723,0x723,0x723,
+0x723,0x723,0x723,0x723,0x723,0x723,0x723,0x723,0x5af,0x5af,0x723,0x723,0x723,0x723,0xc00,0xc00,
+0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0xc00,0x729,0x729,0x5b2,0x726,0x726,0x726,0x726,0x726,
+0x726,0x726,0x5b5,0x5b5,0x5b2,0x5b2,0x5b8,0x5b8,0x5b8,0x5b8,0x729,0x729,0x5b8,0x5b8,0x72c,0x729,
+0x5b2,0x5b2,0x5b2,0x5b2,0x729,0x729,0x5b8,0x5b8,0x72c,0x729,0x5b2,0x5b2,0x5b2,0x5b2,0x729,0x729,
+0x726,0x5b2,0x5b8,0x729,0x5b2,0x5b2,0x726,0x729,0x729,0x729,0x5b8,0x5b8,0x5b2,0x5b2,0x5b2,0x5b2,
+0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x5b2,0x729,0x726,0x729,0x726,0x5b2,0x5b8,
+0x5b8,0x5b8,0x5b8,0x5b8,0x5b8,0x5b2,0x5b2,0x726,0xb0d,0xb0d,0xb0d,0xb0d,0xb0d,0xb0d,0xb0d,0xb0d,
+0xc03,0xc03,0xc03,0xc06,0xc06,0xc81,0xc81,0xc03,0x5c7,0x5c7,0x5c7,0x5c7,0x5c4,0x73e,0x73b,0x5be,
+0x5be,0x72f,0x5be,0x5be,0x5be,0x5be,0x735,0x72f,0x5be,0x5c4,0x5be,0x5bb,0xd89,0xd89,0xc0c,0xc0c,
+0xe0a,0xb10,0x5c1,0x5c1,0x732,0x5ca,0x732,0x5c1,0x5c4,0x5be,0x5c4,0x5c4,0x5be,0x5be,0x5c4,0x5be,
+0x5be,0x5be,0x5c4,0x5be,0x5be,0x5be,0x5c4,0x5c4,0x5be,0x5be,0x5be,0x5be,0x5be,0x5be,0x5be,0x5be,
+0x5c4,0x5c7,0x5c7,0x5c1,0x5be,0x5be,0x5be,0x5be,0x741,0x5be,0x741,0x5be,0x5be,0x5be,0x5be,0x5be,
+0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x81c,0x5be,0x5be,0x5be,0x5be,
+0x5be,0x5be,0x5be,0x5be,0x5be,0x5be,0x5be,0x5c4,0x741,0x73e,0x5cd,0x741,0x72f,0x735,0x5c4,0x72f,
+0x738,0x72f,0x72f,0x5be,0x72f,0x73e,0x5cd,0x73e,0xb10,0xb10,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,
+0xc0f,0xc0f,0xc0f,0xc12,0xc0f,0xc0f,0xe07,0xebe,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,
+0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d0,0x5d3,0x13da,0x13da,0x13da,
+0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x151e,0x5df,0x5e8,0x5df,0x5df,0x13da,0x5d3,0x5d3,
+0x5e8,0x5e8,0x13dd,0x13dd,0x5eb,0x5eb,0x5dc,0x5e2,0x5dc,0x5dc,0x5e2,0x5d3,0x5e2,0x5d3,0x5e2,0x5d3,
+0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5e2,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x13da,0x5d3,0x5d3,0x5d3,
+0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5e2,0x5e2,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,
+0x5d3,0x747,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5e2,0x5d3,0x5d3,0x5e2,0x5d3,0x5d3,0x5d3,0x5d3,
+0x13da,0x5d3,0x13da,0x5d3,0x5d3,0x5d3,0x5d3,0x13da,0x13da,0x13da,0x5d3,0x12d2,0x5d3,0x5d3,0x5d3,0x5d9,
+0x5d9,0x5d9,0x5d9,0x135c,0x135c,0x5d3,0x5d6,0x5e5,0x5e8,0x5dc,0x5dc,0x5dc,0xc18,0xc15,0xc18,0xc15,
+0xc18,0xc15,0xc18,0xc15,0xc18,0xc15,0xc18,0xc15,0xc18,0xc15,0x744,0x744,0x744,0x744,0x744,0x744,
+0x744,0x744,0x744,0x744,0x5d3,0x5e2,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,
+0x5d3,0x5d3,0x5d3,0x5d3,0x13da,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,0x5d3,
+0x5d3,0x5d3,0x5d3,0x13da,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60c,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,
+0x60c,0x612,0x603,0x606,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x609,0x609,0x609,0x609,0x609,0x609,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60c,0x60c,0x60c,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,
+0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,
+0x60f,0x615,0x612,0x60c,0x612,0x60c,0x612,0x60c,0x612,0x60c,0x612,0x60c,0x612,0x60c,0x612,0x60c,
+0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,
+0x612,0x60c,0x60f,0x615,0x612,0x60c,0x612,0x60c,0x60f,0x615,0x612,0x60c,0x60f,0x615,0x612,0x60c,
+0x612,0x60c,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,0x135f,
+0x612,0x60c,0x612,0x60c,0x612,0x60c,0x60f,0x615,0x60f,0x615,0x612,0x60c,0x612,0x60c,0x612,0x60c,
+0x612,0x60c,0x612,0x60c,0x612,0x60c,0x612,0x60c,0x60f,0x612,0x60c,0x60f,0x612,0x60c,0x60f,0x615,
+0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
+0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60f,0x60f,0x60c,0x60f,0x60c,0x60f,0x60c,0x60c,0x60f,0x60c,0x60c,0x60f,0x60c,0x60f,0x60c,0x60c,
+0x60f,0x60c,0x60f,0x60f,0x60c,0x60c,0x60c,0x60f,0x60c,0x60c,0x60c,0x60c,0x60c,0x60f,0x60c,0x60c,
+0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60c,0x60c,0x60c,0x60c,0x60f,0x60f,0x60c,0x60c,0x60f,0x60c,0x60f,0x60c,0x60c,0x60c,0x60c,0x60c,
+0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
+0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,0x60f,
+0x60f,0x60f,0x60f,0x615,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x612,0x612,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,
+0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x615,0x612,0x612,0x612,0x612,0x612,0x612,0x612,
+0x612,0x612,0x612,0x612,0x618,0x618,0x618,0x618,0x100e,0x100e,0x100e,0x1521,0x1521,0x1521,0x1521,0x1521,
+0x1521,0x1521,0x172e,0x172e,0x879,0x87f,0x87f,0x88b,0x88b,0x87c,0x873,0x87c,0x873,0x87c,0x873,0x87c,
+0x873,0x87c,0x873,0x87c,0x627,0x627,0x621,0x627,0x621,0x627,0x621,0x627,0x621,0x627,0x621,0x624,
+0x62a,0x627,0x621,0x627,0x621,0x624,0x62a,0x627,0x621,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,
+0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x627,0x621,0x627,0x621,0x627,0x621,0x627,0x621,0x624,
+0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,
+0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,0x62a,0x627,0x621,0x624,
+0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,0x714,
+0x714,0x714,0x714,0x714,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,
+0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,0x711,
+0x711,0x711,0x711,0x711,0x711,0x711,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,
+0x71a,0x71a,0x71d,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,0x71a,
+0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,0x717,
+0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,
+0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,0x720,
+0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,
+0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,0x74a,
+0xc6f,0x8df,0x8d9,0x8d6,0x8dc,0x8d3,0x75f,0x762,0x762,0x762,0x762,0x762,0x762,0x762,0x762,0x762,
+0x8e5,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,
+0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,0x75f,
+0x75f,0x75f,0x8e2,0x8e2,0x765,0x8f4,0x8f7,0x8fd,0x81f,0x82b,0x912,0x828,0x8eb,0x8e8,0x8eb,0x8e8,
+0x8f1,0x8ee,0x8f1,0x8ee,0x8eb,0x8e8,0x825,0x8fd,0x8eb,0x8e8,0x8eb,0x8e8,0x8eb,0x8e8,0x8eb,0x8e8,
+0x900,0x909,0x906,0x906,0x76b,0x7a7,0x7a7,0x7a7,0x7a7,0x7a7,0x7a7,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,
+0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x7a1,0x76e,
+0x789,0x768,0x78f,0x792,0x78c,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x7a4,0x79e,0x79e,0x79e,0x79e,0x79e,
+0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x79e,0x76e,
+0x789,0x768,0x789,0xc72,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,
+0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,
+0x80d,0x80d,0x80d,0x80d,0x80d,0x80d,0x12cc,0x12cc,0x12cc,0x12cc,0x12cc,0x810,0x825,0x828,0x828,0x828,
+0x828,0x828,0x828,0x828,0x828,0x828,0x948,0x948,0x948,0x948,0x82e,0x82e,0x903,0x90f,0x90f,0x90f,
+0x90f,0x90c,0x822,0x8fa,0xb34,0xb34,0xb34,0xc84,0xca2,0xc9f,0xb52,0x8d0,0x834,0x831,0x834,0x837,
+0x831,0x834,0x831,0x834,0x831,0x834,0x831,0x831,0x831,0x831,0x831,0x831,0x834,0x834,0x831,0x834,
+0x834,0x831,0x834,0x834,0x831,0x834,0x834,0x831,0x834,0x834,0x831,0x831,0xca5,0x846,0x840,0x846,
+0x840,0x846,0x840,0x846,0x840,0x846,0x840,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,
+0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x843,0x846,
+0x840,0x843,0x840,0x843,0x840,0x843,0x840,0x840,0x840,0x840,0x840,0x840,0x843,0x843,0x840,0x843,
+0x843,0x840,0x843,0x843,0x840,0x843,0x843,0x840,0x843,0x843,0x840,0x840,0x840,0x840,0x840,0x846,
+0x840,0x846,0x840,0x846,0x840,0x840,0x840,0x840,0x840,0x840,0x846,0x840,0x840,0x840,0x840,0x840,
+0x843,0x846,0x846,0x843,0x843,0x843,0x843,0x918,0x91b,0x849,0x84c,0xc8d,0x852,0x852,0x852,0x852,
0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,
-0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x855,0x855,
-0x852,0x855,0x852,0x855,0x855,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x855,
-0x852,0x855,0x852,0x855,0x855,0x852,0x852,0x855,0x855,0x855,0x852,0x852,0x852,0x852,0x14be,0x14be,
-0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,
-0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,
-0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,0x909,
-0x12f6,0x12f6,0x12f6,0x12f6,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0x1299,0xd6e,0xc72,0xc72,0xc72,
-0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0x90c,0x90c,0x90c,0x90c,
-0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,
-0x90c,0x90c,0x90c,0x90f,0x90c,0x90f,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,
-0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0x90c,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,
-0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0xc72,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,
-0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,0x912,
-0x912,0x912,0x912,0x912,0x912,0x912,0x912,0xd77,0x990,0x972,0x972,0x972,0x972,0x96c,0x972,0x972,
-0x984,0x972,0x972,0x96f,0x97b,0x981,0x981,0x981,0x981,0x981,0x984,0x96c,0x978,0x96c,0x96c,0x96c,
-0x963,0x963,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x987,0x987,0x987,0x987,0x987,0x987,0x987,0x987,
-0x987,0x987,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96c,0x96f,0x963,0x96c,0x963,
-0x96c,0x963,0x97e,0x975,0x97e,0x975,0x98d,0x98d,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,
-0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,
-0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99c,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,
-0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,
-0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x99f,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,
-0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,
-0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9a2,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,
-0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,
-0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9a5,0x9a5,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
-0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
-0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9a8,0x9a8,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,
-0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,
-0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ab,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
-0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,
-0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9ae,0x9b1,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,
-0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,
-0x9b4,0x9b4,0x9b4,0x9b4,0x9b1,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,
-0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,0x9b4,
-0xa41,0xa41,0xfdb,0xa41,0xa41,0xa41,0xa44,0xa41,0xfdb,0xa41,0xa41,0xfd2,0xa3b,0xa2f,0xa2f,0xa2f,
-0xa2f,0xa3e,0xa2f,0xfc0,0xfc0,0xfc0,0xa2f,0xa32,0xa3b,0xa35,0xfc6,0xfd5,0xfd5,0xfc0,0xfc0,0xfdb,
-0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xa47,0xa47,0xa38,0xa38,0xa38,0xa38,
-0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa3e,0xa3e,0xa2f,0xa2f,0xfdb,0xfdb,0xfdb,0xfdb,0xfc0,0xfc0,
-0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,
-0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,0xa41,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xdcb,0xa56,0xa56,0xa56,0xa56,
-0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa56,0xa5c,0xa5c,0xa5c,0xa5c,
-0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,
-0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa5c,0xa62,0xa62,0xa62,0xa62,
-0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa5f,0xa65,0xa62,0xa62,0xa62,0xa62,0xa62,
-0xa62,0xa62,0xa62,0x1152,0x1152,0x1152,0x1152,0x1152,0x1152,0x1152,0x1152,0x1152,0x114f,0xa62,0xa62,0xa62,
-0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,
-0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,0xa62,
-0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,
-0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,0xa77,
-0xa9b,0xa9b,0xa9b,0xa9e,0xa9e,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,
-0xa9b,0xa9b,0xa9b,0xa9b,0xa83,0xa83,0xa98,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa98,0xa98,
-0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,
-0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,0xa9b,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xaa7,0xaa7,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabf,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,
-0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xabc,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,
-0xaec,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,0xae9,
-0xae9,0xae9,0xae9,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,
-0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,
-0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xaf8,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,
-0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,
-0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb0a,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,
-0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb10,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,
-0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb1f,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb25,0xb22,0xb22,
-0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,0xb22,
-0xb28,0xb28,0xc75,0xc75,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,
-0xb28,0xb28,0xb28,0xb28,0xc75,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,0xb28,
-0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,
-0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0xb49,0x1509,
-0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xcff,0xcff,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,
-0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,0xb4f,
-0xb4f,0xb4f,0xcfc,0xcfc,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,
-0xd4d,0xd4d,0xd4d,0xd4d,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,
-0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,0xb52,
-0xb52,0xb52,0xb52,0xb52,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,
-0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,0xb55,
-0xb55,0xb55,0xb55,0xb55,0xb64,0xb64,0xb64,0xb64,0xb64,0xb5b,0xb67,0xb6d,0xb6d,0xb6d,0xb61,0xb61,
-0xb61,0xb6a,0xb5e,0xb5e,0xb5e,0xb5e,0xb5e,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb6d,
-0xb6d,0xb6d,0xb6d,0xb6d,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb64,0xb64,0xb6d,0xb6d,0xb6d,0xb61,0xb61,0xb6d,0xb6d,0xb6d,
-0xb6d,0xb6d,0xb6d,0xb6d,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb6d,0xb6d,0xb6d,0xb6d,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb64,0xb64,0xb64,0xb64,0xb64,
-0xb64,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,
-0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0xb61,0x1716,0x1716,
-0xb79,0xb70,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb70,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb70,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb70,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb70,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,
+0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x855,0x852,0x852,0x852,
+0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,
+0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x852,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,
+0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,0x85e,
+0x85e,0x85e,0x85e,0x85e,0xd92,0xd92,0xec1,0x858,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,
+0x924,0x924,0x924,0x924,0xd8c,0xd8c,0xd8c,0xd8c,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,
+0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x861,
+0x861,0x861,0x861,0x861,0x861,0x861,0x861,0x1aa3,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,
+0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x864,0x864,0x864,0x864,0x864,0x864,0xd95,
+0xd95,0xd95,0xd95,0x930,0x930,0x930,0x930,0x930,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,
+0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,
+0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0x864,0xd95,0xd95,0x867,0x867,0x867,0x867,
+0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,
+0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x867,0x92d,0x92d,0x92d,0x92d,
+0x92d,0x92d,0x92d,0x92d,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,
+0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,
+0x86a,0x86a,0x86a,0x86a,0x86a,0x86a,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,
+0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0xec4,0x1131,0x1131,0x1131,0x1131,
+0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,
+0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,
+0x86d,0x86d,0x870,0x870,0x86d,0x870,0x86d,0x870,0x870,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,0x86d,
+0x86d,0x86d,0x86d,0x870,0x86d,0x870,0x86d,0x870,0x870,0x86d,0x86d,0x870,0x870,0x870,0x86d,0x86d,
+0x86d,0x86d,0x14d9,0x14d9,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,
+0xc96,0xc96,0xc96,0xc96,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,
+0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,0x924,
+0x924,0x924,0x924,0x924,0x1311,0x1311,0x1311,0x1311,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,0x12b1,
+0xd8c,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,
+0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,
+0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x92a,0x927,0x92a,0x927,0x927,0x927,0x927,0x927,0x927,
+0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0x927,0xc90,0xc90,0xc90,
+0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0xc90,0x92d,0x92d,0x92d,0x92d,
+0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,
+0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0x92d,0xd95,0x9ae,0x990,0x990,0x990,
+0x990,0x98a,0x990,0x990,0x9a2,0x990,0x990,0x98d,0x999,0x99f,0x99f,0x99f,0x99f,0x99f,0x9a2,0x98a,
+0x996,0x98a,0x98a,0x98a,0x981,0x981,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x9a5,0x9a5,0x9a5,0x9a5,
+0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x9a5,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,0x98a,
+0x98d,0x981,0x98a,0x981,0x98a,0x981,0x99c,0x993,0x99c,0x993,0x9ab,0x9ab,0x9ba,0x9ba,0x9ba,0x9ba,
+0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,
+0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9ba,0x9bd,0x9bd,0x9bd,0x9bd,
+0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,
+0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9bd,0x9c0,0x9c0,0x9c0,0x9c0,
+0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,
+0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c0,0x9c9,0x9c9,0x9c9,0x9c9,
+0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,
+0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c3,0x9c3,0x9cc,0x9cc,0x9cc,0x9cc,
+0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,
+0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9c6,0x9c6,0x9c9,0x9c9,0x9c9,0x9c9,
+0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,
+0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9c9,0x9cc,0x9cc,0x9cc,0x9cc,
+0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,
+0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cc,0x9cf,0x9d2,0x9d2,0x9d2,
+0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,
+0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9cf,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,
+0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,0x9d2,
+0x9d2,0x9d2,0x9d2,0x9d2,0xa5f,0xa5f,0xff3,0xa5f,0xa5f,0xa5f,0xa62,0xa5f,0xff3,0xa5f,0xa5f,0xfea,
+0xa59,0xa4d,0xa4d,0xa4d,0xa4d,0xa5c,0xa4d,0xfdb,0xfdb,0xfdb,0xa4d,0xa50,0xa59,0xa53,0xfe1,0xfed,
+0xfed,0xfdb,0xfdb,0xff3,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xb58,0xa65,0xa65,
+0xa56,0xa56,0xa56,0xa56,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5c,0xa5c,0xa4d,0xa4d,0xff3,0xff3,
+0xff3,0xff3,0xfdb,0xfdb,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
+0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,0xa5f,
+0xa5f,0xa5f,0xa5f,0xa5f,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xde9,
+0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,0xa74,
+0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,
+0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,0xa7a,
+0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa7d,0xa83,0xa80,
+0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0x116a,0x116a,0x116a,0x116a,0x116a,0x116a,0x116a,0x116a,0x116a,
+0x1167,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,
+0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,0xa80,
+0xa80,0xa80,0xa80,0xa80,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,
+0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,0xa95,
+0xa95,0xa95,0xa95,0xa95,0xab9,0xab9,0xab9,0xabc,0xabc,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,
+0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xaa1,0xaa1,0xab6,0xa98,0xa98,0xa98,0xa98,0xa98,
+0xa98,0xa98,0xab6,0xab6,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,
+0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,0xab9,
+0xab9,0xab9,0xab9,0xab9,0xada,0xada,0xada,0xada,0xada,0xac5,0xac5,0xada,0xada,0xada,0xada,0xada,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xadd,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,
+0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xada,0xb04,0xb04,0xb04,0xb04,
+0xb04,0xb04,0xb04,0xb04,0xb07,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,
+0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xb04,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xb13,0xb13,0xb13,0xb13,
+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,
+0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb13,0xb25,0xb25,0xb25,0xb25,
+0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,
+0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb25,0xb2b,0xb2b,0xb2b,0xb2b,
+0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,
+0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb2b,0xb3a,0xb3a,0xb3a,0xb3a,
+0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,
+0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3a,0xb3d,0xb3d,0xb3d,0xb3d,
+0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,
+0xb3d,0xb40,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,
+0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,0xb3d,
+0xb3d,0xb3d,0xb3d,0xb3d,0xb43,0xb43,0xc93,0xc93,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,
+0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xc93,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,0xb43,
+0xb43,0xb43,0xb43,0xb43,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,
+0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,0xb67,
+0xb67,0xb67,0xb67,0x1524,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xd1d,0xd1d,0xb6d,0xb6d,0xb6d,0xb6d,
+0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,
+0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xb6d,0xd1a,0xd1a,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,
+0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,
+0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,
+0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb70,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,
0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,
-0xb73,0xb73,0xb73,0xb73,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,
-0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb79,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,
-0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb76,0xb79,0xb79,0xb79,0xb79,0xb7c,0xb7c,0xb7c,0xb7c,
-0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,
-0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb82,0xb82,0xb82,0xb82,
-0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,
-0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb82,0xb85,0xb85,0xb85,0xb85,
-0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,
-0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xb85,0xbdf,0xbdf,0xbdf,0xbdf,
-0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,0xbdf,
-0xbdf,0xbdf,0xbdc,0xbdf,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,0xbdc,
-0xbdc,0xbdc,0xbdc,0xced,0xcf0,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,0xde3,
-0xefd,0xefd,0xefd,0xefd,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbf1,0xbeb,0xbeb,0xbeb,0xbeb,0xcf3,0xcf3,
-0xcf3,0xcf3,0xcf3,0xcf3,0xcf6,0xcf6,0xde9,0xea0,0xde9,0xde9,0xde9,0xde9,0xde6,0xde9,0xde6,0xde9,
-0xde9,0xff0,0x128a,0x128a,0xdf2,0xdf2,0xdf2,0xdf2,0xdf2,0xdf8,0xdf5,0xf0f,0xf0f,0xf0f,0xf0f,0x1407,
-0x1002,0x1407,0x134d,0x134d,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,
-0xc27,0xc27,0xc27,0xc27,0xc27,0xc27,0xc5a,0xc57,0xc5a,0xc57,0xc5a,0xc57,0x1113,0x1110,0x1008,0x1005,
-0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,0xc2a,
-0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,
-0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,
-0xc30,0xc30,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc2d,0xc33,0xc33,0xc33,0xc39,
-0xc36,0xc60,0xc5d,0xc39,0xc36,0xc39,0xc36,0xc39,0xc36,0xc39,0xc36,0xc39,0xc36,0xc39,0xc36,0xc39,
-0xc36,0xc39,0xc36,0xc39,0xc36,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,
-0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,
-0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc39,0xc36,0xc39,0xc36,0xc33,0xc33,0xc33,0xc33,
-0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,
-0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc33,0xc39,0xc36,0xc33,0xc33,0xc3c,0xc3c,0xc3c,0xc3c,
-0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc42,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,
-0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,
-0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc42,0xc42,0xc42,0xc3c,
-0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,
-0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3c,0xc3f,0xc3c,0xc3c,0xc3c,
-0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,
-0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,0xc78,
-0xcf9,0xd68,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xde6,0xea0,0xea0,0xde6,0xde6,0xde6,0xde6,
-0xde9,0xde9,0xf00,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0x12b7,0x12b7,0x128d,
-0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,
-0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,0xd1d,
-0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd23,0xd23,0xd23,0xd23,0xd23,0xd20,0xd35,0xd35,0xd35,0xd2f,
-0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd2f,0xd35,0xd35,0xd35,0xd35,
-0xd29,0xd29,0xd32,0xd32,0xd32,0xd32,0xd26,0xd26,0xd26,0xd26,0xd26,0xd2c,0xdfe,0xdfe,0xdfe,0xdfe,
-0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfb,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,0xdfe,
-0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd2f,0xd35,
-0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd35,0xd29,0xd29,0xd29,
-0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,
-0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,0xd2c,
-0xd38,0xd38,0xd38,0xd38,0xd38,0xd3b,0xd3b,0xd3b,0xd38,0xd38,0xd38,0xd38,0xd38,0xd38,0xe01,0xe01,
-0xe01,0xe01,0xe01,0xe01,0xf12,0xf12,0xf12,0xf12,0xf12,0xf12,0xf12,0x111c,0x111c,0x100b,0x100b,0x100b,
-0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,
-0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,0xd3e,
-0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,
-0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,0xd44,
-0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,
-0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,0xd4d,
-0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,
-0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,0xd59,
-0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,
-0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,0xd65,
-0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,
-0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,0xe07,
-0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,
-0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,0xe0a,
-0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,
-0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,0xe0d,
-0xecd,0xecd,0xe1f,0xe1f,0xf15,0xf15,0xf15,0xf15,0xf15,0xf15,0xf15,0x1017,0x1017,0x1017,0x1017,0x1017,
-0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,0x1014,
-0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,
-0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,0xe2e,0xe2b,
-0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
-0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,0xe3a,
-0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,
-0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,0xe40,
+0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb73,0xb82,0xb82,0xb82,0xb82,0xb82,0xb79,0xb85,0xb8b,
+0xb8b,0xb8b,0xb7f,0xb7f,0xb7f,0xb88,0xb7c,0xb7c,0xb7c,0xb7c,0xb7c,0xb76,0xb76,0xb76,0xb76,0xb76,
+0xb76,0xb76,0xb76,0xb8b,0xb8b,0xb8b,0xb8b,0xb8b,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb82,0xb82,0xb8b,0xb8b,0xb8b,0xb7f,
+0xb7f,0xb8b,0xb8b,0xb8b,0xb8b,0xb8b,0xb8b,0xb8b,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb8b,0xb8b,
+0xb8b,0xb8b,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb82,
+0xb82,0xb82,0xb82,0xb82,0xb82,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,0xb7f,
+0xb7f,0xb7f,0x1731,0x1731,0xb97,0xb8e,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb8e,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb8e,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb8e,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb8e,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
+0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,
+0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb91,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,0xb97,
+0xb97,0xb97,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,
+0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb94,0xb97,0xb97,0xb97,0xb97,
+0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,
+0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,0xb9a,
+0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,
+0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,0xba0,
+0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,
+0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,0xba3,
+0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,
+0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfd,0xbfa,0xbfd,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,
+0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xbfa,0xd0b,0xd0e,0xe01,0xe01,0xe01,0xe01,0xe01,0xe01,0xe01,
+0xe01,0xe01,0xe01,0xe01,0xf18,0xf18,0xf18,0xf18,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc0f,0xc09,0xc09,
+0xc09,0xc09,0xd11,0xd11,0xd11,0xd11,0xd11,0xd11,0xd14,0xd14,0xe07,0xebb,0xe07,0xe07,0xe07,0xe07,
+0xe04,0xe07,0xe04,0xe07,0xe07,0x1008,0x12a2,0x12a2,0xe10,0xe10,0xe10,0xe10,0xe10,0xe16,0xe13,0xf2a,
+0xf2a,0xf2a,0xf2a,0x1422,0x101a,0x1422,0x1368,0x1368,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,
+0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc45,0xc78,0xc75,0xc78,0xc75,0xc78,0xc75,
+0x112b,0x1128,0x1020,0x101d,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,0xc48,
+0xc48,0xc48,0xc48,0xc48,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,
+0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,
+0xc4b,0xc4b,0xc4b,0xc4b,0xc4e,0xc4e,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,0xc4b,
+0xc51,0xc51,0xc51,0xc57,0xc54,0xc7e,0xc7b,0xc57,0xc54,0xc57,0xc54,0xc57,0xc54,0xc57,0xc54,0xc57,
+0xc54,0xc57,0xc54,0xc57,0xc54,0xc57,0xc54,0xc57,0xc54,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,
+0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,
+0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc57,0xc54,0xc57,0xc54,
+0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,
+0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc51,0xc57,0xc54,0xc51,0xc51,
+0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc60,0xc5a,0xc5a,0xc5a,
+0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,
+0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,
+0xc60,0xc60,0xc60,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,
+0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,0xc5a,
+0xc5d,0xc5a,0xc5a,0xc5a,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,
+0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,0xc96,
+0xc96,0xc96,0xc96,0xc96,0xd17,0xd86,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xe04,0xebb,0xebb,
+0xe04,0xe04,0xe04,0xe04,0xe07,0xe07,0xf1b,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,0x1008,
+0x1008,0x12cf,0x12cf,0x12a5,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,
+0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,0xd3b,
+0xd3b,0xd3b,0xd3b,0xd3b,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd41,0xd41,0xd41,0xd41,0xd41,0xd3e,
+0xd53,0xd53,0xd53,0xd4d,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd4d,
+0xd53,0xd53,0xd53,0xd53,0xd47,0xd47,0xd50,0xd50,0xd50,0xd50,0xd44,0xd44,0xd44,0xd44,0xd44,0xd4a,
+0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe1c,0xe19,0xe1c,0xe1c,0xe1c,
+0xe1c,0xe1c,0xe1c,0xe1c,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,
+0xd53,0xd53,0xd4d,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,0xd53,
+0xd53,0xd47,0xd47,0xd47,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,
+0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,0xd4a,
+0xd4a,0xd4a,0xd4a,0xd4a,0xd56,0xd56,0xd56,0xd56,0xd56,0xd59,0xd59,0xd59,0xd56,0xd56,0xd56,0xd56,
+0xd56,0xd56,0xe1f,0xe1f,0xe1f,0xe1f,0xe1f,0xe1f,0xf2d,0xf2d,0xf2d,0xf2d,0xf2d,0xf2d,0xf2d,0x1134,
+0x1134,0x1023,0x1023,0x1023,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,
+0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,0xd5c,
+0xd5c,0xd5c,0xd5c,0xd5c,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,
+0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,0xd62,
+0xd62,0xd62,0xd62,0xd62,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,
+0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,0xd6b,
+0xd6b,0xd6b,0xd6b,0xd6b,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,
+0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,0xd77,
+0xd77,0xd77,0xd77,0xd77,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,
+0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,0xd83,
+0xd83,0xd83,0xd83,0xd83,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,
+0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,0xe25,
+0xe25,0xe25,0xe25,0xe25,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,
+0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,0xe28,
+0xe28,0xe28,0xe28,0xe28,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,
+0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,0xe2b,
+0xe2b,0xe2b,0xe2b,0xe2b,0xee8,0xee8,0xe3d,0xe3d,0xf30,0xf30,0xf30,0xf30,0xf30,0xf30,0xf30,0x102f,
+0x102f,0x102f,0x102f,0x102f,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,0x102c,
+0x102c,0x102c,0x102c,0x102c,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,
+0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,0xe4c,0xe49,
+0xe4c,0xe49,0xe4c,0xe49,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,
0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,
-0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xe58,0xf18,0xf18,0xf18,0xf18,0x101a,0x101a,0x101a,0x101a,0x101a,
-0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,
-0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,0xe61,
-0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,
-0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,0xe6a,
-0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,
-0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe73,0xe6d,
-0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,
-0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe70,0xe73,0xe73,0xe73,0xe73,0xe73,
-0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe7c,0xe79,0xe79,
-0xe79,0xe79,0xe79,0xe79,0xe79,0xe79,0xe76,0xe7f,0x1026,0x1020,0x102f,0x101d,0xe7c,0xe7c,0x101d,0x101d,
-0xe91,0xe91,0xe82,0xe91,0xe91,0xe91,0xe88,0xe91,0xe91,0xe91,0xe91,0xe82,0xe91,0xe91,0xe91,0xe91,
+0xe58,0xe58,0xe58,0xe58,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,
+0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,0xe5e,
+0xe5e,0xe5e,0xe5e,0xe5e,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,
+0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xe76,0xf33,0xf33,0xf33,0xf33,0x1032,
+0x1032,0x1032,0x1032,0x1032,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,
+0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,0xe7f,
+0xe7f,0xe7f,0xe7f,0xe7f,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,
+0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,0xe88,
+0xe88,0xe88,0xe88,0xe88,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,
0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,0xe91,
-0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,
-0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,0xe94,
-0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,
+0xe91,0xe91,0xe91,0xe8b,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,
+0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe8e,0xe91,
+0xe91,0xe91,0xe91,0xe91,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,0xe9a,
+0xe9a,0xe9a,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe97,0xe94,0xe9d,0x103e,0x1038,0x1047,0x1035,
+0xe9a,0xe9a,0x1035,0x1035,0xeac,0xeac,0xea0,0xeac,0xeac,0xeac,0xea3,0xeac,0xeac,0xeac,0xeac,0xea0,
0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,0xeac,
-0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,0xeca,
+0xeac,0xeac,0xeac,0xeac,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,
+0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,0xeaf,
+0xeaf,0xeaf,0xeaf,0xeaf,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,
+0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,0xec7,
+0xec7,0xec7,0xec7,0xec7,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,0xee5,
+0xee5,0xee5,0xee5,0xee5,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,0x113d,
+0x113d,0x113d,0x113d,0x113d,0xf18,0xf18,0xf18,0xf15,0xf15,0xf15,0xf15,0xf15,0x1176,0x13d1,0x13d1,0x13d1,
+0x13d1,0x1353,0x1353,0x1353,0x13d4,0x1356,0x1356,0x13d4,0x1518,0x1518,0x1518,0x1518,0x151b,0x151b,0x151b,0x17e2,
+0x17e2,0x17e2,0x17e2,0x18a8,0xf2d,0xf2d,0xf2d,0xf2d,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,0x1023,
+0x1023,0x1023,0x1023,0x1023,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,
+0x1026,0x1026,0x1026,0x1026,0xf4e,0xf4e,0xf4e,0xf4e,0xf60,0xf69,0xf6c,0xf69,0xf6c,0xf69,0xf6c,0xf69,
+0xf6c,0xf69,0xf6c,0xf69,0xf69,0xf69,0xf6c,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,
+0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf69,0xf51,0xf4e,0xf4e,0xf4e,
+0xf4e,0xf4e,0xf4e,0xf63,0xf4e,0xf63,0xf60,0xf60,0xf75,0xf72,0xf75,0xf75,0xf75,0xf72,0xf72,0xf75,
+0xf72,0xf75,0xf72,0xf75,0xf72,0x1059,0x1059,0x1059,0x1194,0x1050,0x1059,0x1050,0xf72,0xf75,0xf72,0xf72,
+0x1050,0x1050,0x1050,0x1050,0x1053,0x1056,0x1194,0x1194,0xf78,0xf78,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,
+0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x1062,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,
+0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,
+0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,
+0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf7e,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,
+0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,
+0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0xf8d,0x1557,0x1557,0x1557,0x1557,0x1557,
+0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0x1557,0xf93,0xf93,0xf93,0xf93,
+0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,
+0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xf93,0xfdb,0xff3,0xfea,0xff0,
+0xff0,0xff3,0xff3,0xfea,0xfea,0xff0,0xff0,0xff0,0xff0,0xff0,0xff3,0xff3,0xff3,0xfdb,0xfdb,0xfdb,
+0xfdb,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xff3,0xfdb,0xfea,
+0xfed,0xfdb,0xfdb,0xff0,0xff0,0xff0,0xff0,0xff0,0xff0,0xfde,0xff3,0xff0,0xfe7,0xfe7,0xfe7,0xfe7,
+0xfe7,0xfe7,0xfe7,0xfe7,0xfe7,0xfe7,0x115e,0x115e,0x115b,0x1158,0xfe4,0xfe4,0x100b,0x100b,0x100b,0x100b,
+0x12cf,0x12cf,0x12a5,0x12a5,0x12ab,0x12a2,0x12a2,0x12a2,0x12a2,0x12a5,0x13d7,0x12ab,0x12a5,0x12ab,0x12a2,0x12ab,
+0x12cf,0x12a2,0x12a2,0x12a2,0x12a5,0x12a5,0x12a2,0x12a2,0x12a5,0x12a2,0x12a2,0x12a5,0x1026,0x1026,0x1026,0x1026,
+0x1026,0x1023,0x1023,0x1026,0x1026,0x1026,0x1026,0x1026,0x1026,0x1530,0x1530,0x1530,0x1134,0x1023,0x1023,0x1023,
+0x1023,0x12db,0x12b4,0x12b4,0x12b4,0x12b4,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1044,0x1044,0x1041,0x103b,
+0x1041,0x103b,0x1041,0x103b,0x1041,0x103b,0x1038,0x1038,0x1038,0x1038,0x104d,0x104a,0x1038,0x1191,0x142e,0x1431,
+0x1431,0x142e,0x142e,0x142e,0x142e,0x142e,0x1434,0x1434,0x154b,0x153f,0x153f,0x153c,0x106b,0x1062,0x106b,0x1062,
+0x106b,0x1062,0x106b,0x1062,0x105f,0x105c,0x105c,0x106b,0x1062,0x1377,0x1374,0x173a,0x1377,0x1374,0x143d,0x143a,
+0x154e,0x154e,0x1554,0x154e,0x1554,0x154e,0x1554,0x154e,0x1554,0x154e,0x1554,0x154e,0x106b,0x1062,0x106b,0x1062,
+0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,
+0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x1062,0x1065,0x1062,0x1062,0x1062,
+0x1062,0x1062,0x1062,0x1062,0x1062,0x106b,0x1062,0x106b,0x1062,0x106b,0x106b,0x1062,0x106e,0x106e,0x1074,0x107a,
+0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,
+0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x107a,0x1074,0x106e,0x106e,
+0x106e,0x106e,0x1074,0x1074,0x106e,0x106e,0x1077,0x1446,0x1443,0x1443,0x107a,0x107a,0x1071,0x1071,0x1071,0x1071,
+0x1071,0x1071,0x1071,0x1071,0x1071,0x1071,0x1449,0x1449,0x1449,0x1449,0x1449,0x1449,0x108f,0x108f,0x108f,0x108f,
+0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,
+0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x108f,0x1098,0x1098,0x1098,0x1098,
+0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,0x1098,
+0x1098,0x1098,0x1098,0x1098,0x109b,0x109b,0x109b,0x109e,0x109b,0x109b,0x10a1,0x10a1,0x10a4,0x10a4,0x10a4,0x10a4,
+0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,
+0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10a4,0x10ad,0x10ad,0x10ad,0x10ad,
+0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10b0,0x10a7,0x10b6,0x10b3,0x10ad,0x10ad,0x10ad,0x10ad,
+0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,
+0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x10ad,0x137d,0x137a,0x10c8,0x10c2,
+0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c5,0x1146,0x10b9,0x10b9,0x10b9,0x10bf,
+0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x144c,0x10bc,0x10bc,0x10bf,0x10cb,0x10c8,0x10c2,0x10c8,0x10c2,
+0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,
+0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x10c8,0x10c2,0x1563,0x1560,0x1563,0x1560,
+0x1566,0x1566,0x1743,0x144c,0x10d4,0x10d4,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,
+0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,0x10d7,
+0x10d7,0x10d7,0x10d7,0x10d7,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,0x10d4,
+0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10dd,0x10dd,0x10dd,0x10dd,0x10dd,0x10e0,0x10e0,0x10e0,0x113a,0x10e9,
+0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,0x10f8,
+0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e3,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,
+0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,0x10e6,
+0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,
+0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,0x1107,
+0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,
+0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,0x1119,
+0x1122,0x1122,0x1122,0x1122,0x1137,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,
+0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,0x1122,
+0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,
0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,0x1125,
-0xefd,0xefd,0xefd,0xefa,0xefa,0xefa,0xefa,0xefa,0x115e,0x13b6,0x13b6,0x13b6,0x13b6,0x1338,0x1338,0x1338,
-0x13b9,0x133b,0x133b,0x13b9,0x14fd,0x14fd,0x14fd,0x14fd,0x1500,0x1500,0x1500,0x17c7,0x17c7,0x17c7,0x17c7,0x188d,
-0xf12,0xf12,0xf12,0xf12,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,0x100b,
-0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,0x100e,
-0xf33,0xf33,0xf33,0xf33,0xf45,0xf4e,0xf51,0xf4e,0xf51,0xf4e,0xf51,0xf4e,0xf51,0xf4e,0xf51,0xf4e,
-0xf4e,0xf4e,0xf51,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,
-0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf4e,0xf36,0xf45,0xf33,0xf33,0xf33,0xf33,0xf33,0xf48,
-0xf33,0xf48,0xf45,0xf45,0xf5a,0xf57,0xf5a,0xf5a,0xf5a,0xf57,0xf57,0xf5a,0xf57,0xf5a,0xf57,0xf5a,
-0xf57,0x1041,0x1041,0x1041,0x117c,0x1038,0x1041,0x1038,0xf57,0xf5a,0xf57,0xf57,0x1038,0x1038,0x1038,0x1038,
-0x103b,0x103e,0x117c,0x117c,0xf5d,0xf5d,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,
-0x1053,0x104a,0x1053,0x104a,0x104a,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,
-0x1053,0x104a,0x1053,0x104a,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,
-0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,0xf63,
-0xf63,0xf63,0xf63,0xf63,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,
-0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,
-0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0xf72,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,
-0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0x153c,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,
-0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,
-0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xf78,0xfc0,0xfdb,0xfd2,0xfcf,0xfcf,0xfdb,0xfdb,0xfd2,
-0xfd2,0xfcf,0xfcf,0xfcf,0xfcf,0xfcf,0xfdb,0xfdb,0xfdb,0xfc0,0xfc0,0xfc0,0xfc0,0xfdb,0xfdb,0xfdb,
-0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfdb,0xfc0,0xfd2,0xfd5,0xfc0,0xfc0,0xfd8,
-0xfd8,0xfd8,0xfd8,0xfd8,0xfd8,0xfc3,0xfdb,0xfd8,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,0xfcc,
-0xfcc,0xfcc,0x1146,0x1146,0x1143,0x1140,0xfc9,0xfc9,0xff3,0xff3,0xff3,0xff3,0x12b7,0x12b7,0x128d,0x128d,
-0x1293,0x128a,0x128a,0x128a,0x128a,0x128d,0x13bc,0x1293,0x128d,0x1293,0x128a,0x1293,0x12b7,0x128a,0x128a,0x128a,
-0x128d,0x128d,0x128a,0x128a,0x128d,0x128a,0x128a,0x128d,0x100e,0x100e,0x100e,0x100e,0x100e,0x100b,0x100b,0x100e,
-0x100e,0x100e,0x100e,0x100e,0x100e,0x1515,0x1515,0x1515,0x111c,0x100b,0x100b,0x100b,0x100b,0x12c3,0x129c,0x129c,
-0x129c,0x129c,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x102c,0x102c,0x1029,0x1023,0x1029,0x1023,0x1029,0x1023,
-0x1029,0x1023,0x1020,0x1020,0x1020,0x1020,0x1035,0x1032,0x1020,0x1179,0x1413,0x1416,0x1416,0x1413,0x1413,0x1413,
-0x1413,0x1413,0x1419,0x1419,0x1530,0x1524,0x1524,0x1521,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,
-0x1047,0x1044,0x1044,0x1053,0x104a,0x135c,0x1359,0x171f,0x135c,0x1359,0x1422,0x141f,0x1533,0x1533,0x1539,0x1533,
-0x1539,0x1533,0x1539,0x1533,0x1539,0x1533,0x1539,0x1533,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,
-0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,
-0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x104a,0x104d,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,0x104a,
-0x104a,0x1053,0x104a,0x1053,0x104a,0x1053,0x1053,0x104a,0x1056,0x1056,0x105c,0x1062,0x1062,0x1062,0x1062,0x1062,
-0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,
-0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x1062,0x105c,0x1056,0x1056,0x1056,0x1056,0x105c,0x105c,
-0x1056,0x1056,0x105f,0x142b,0x1428,0x1428,0x1062,0x1062,0x1059,0x1059,0x1059,0x1059,0x1059,0x1059,0x1059,0x1059,
-0x1059,0x1059,0x142e,0x142e,0x142e,0x142e,0x142e,0x142e,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,
-0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,
-0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1077,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,
-0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,0x1080,
-0x1083,0x1083,0x1083,0x1086,0x1083,0x1083,0x1089,0x1089,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,
-0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,
-0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x108c,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,
-0x1095,0x1095,0x1095,0x1095,0x1098,0x108f,0x109e,0x109b,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,
-0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,
-0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1095,0x1362,0x135f,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,
-0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10ad,0x112e,0x10a1,0x10a1,0x10a1,0x10a7,0x1431,0x1431,0x1431,0x1431,
-0x1431,0x1431,0x1431,0x1431,0x10a4,0x10a4,0x10a7,0x10b3,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,
-0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,
-0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x10b0,0x10aa,0x1548,0x1545,0x1548,0x1545,0x154b,0x154b,0x1728,0x1431,
-0x10bc,0x10bc,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,
-0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,0x10bf,
-0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10bc,0x10ce,0x10ce,0x10ce,0x10ce,
-0x10ce,0x10ce,0x10c5,0x10c5,0x10c5,0x10c5,0x10c5,0x10c8,0x10c8,0x10c8,0x1122,0x10d1,0x10e0,0x10e0,0x10e0,0x10e0,
-0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10e0,0x10cb,0x10cb,0x10cb,0x10cb,
-0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x10cb,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,
-0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ce,0x10ef,0x10ef,0x10ef,0x10ef,
-0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,
-0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x10ef,0x1101,0x1101,0x1101,0x1101,
-0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,
-0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x1101,0x110a,0x110a,0x110a,0x110a,
-0x111f,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,
-0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110a,0x110d,0x110d,0x110d,0x110d,
-0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,
-0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x110d,0x1119,0x1119,0x1119,0x1119,
-0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x12bd,0x14bb,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,0x17a6,
-0x17a6,0x17a6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x18f6,0x118e,0x118e,0x118e,0x118e,
-0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,0x118e,
-0x118e,0x118e,0x1185,0x1185,0x1188,0x1188,0x118e,0x1185,0x1185,0x1185,0x1185,0x1185,0x1194,0x1194,0x1194,0x1194,
-0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,
-0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x1194,0x11af,0x11af,0x11af,0x11af,
-0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,
-0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11af,0x11bb,0x11bb,0x11bb,0x11bb,
-0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,
-0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11bb,0x11b8,0x11be,0x11ca,0x11ca,0x11ca,0x11ca,
-0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,
-0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11ca,0x11d0,0x11d0,0x11d0,0x11d0,
-0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x11d0,0x1308,0x11d6,0x130b,
-0x11d6,0x11d6,0x11d6,0x11d6,0x11d3,0x11d3,0x11d3,0x11d6,0x172b,0x172e,0x1950,0x194d,0x11d9,0x11d9,0x11d9,0x11e8,
-0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,
-0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11ee,0x11dc,
-0x11e8,0x11e8,0x11d9,0x11d9,0x11d9,0x11d9,0x11e8,0x11e8,0x11d9,0x11e8,0x11e8,0x11e8,0x11fa,0x11fa,0x11fa,0x11fa,
-0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fa,0x11fd,0x11fa,0x11fa,0x11fa,
-0x11fa,0x11fa,0x11fa,0x11f4,0x11f4,0x11f4,0x11fa,0x11f7,0x1551,0x1554,0x1557,0x1557,0x120c,0x120c,0x120c,0x120c,
-0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x1200,0x120c,0x1200,0x1200,
-0x1200,0x1215,0x1215,0x1200,0x1200,0x1215,0x120c,0x1215,0x1215,0x120c,0x1200,0x1203,0x120c,0x120c,0x120c,0x120c,
-0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,
-0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x120c,0x1227,0x1227,0x1227,0x1227,
-0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,
-0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x1227,0x123f,0x123f,0x123f,0x123f,
+0x1131,0x1131,0x1131,0x1131,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x14d6,0x17c1,0x17c1,0x17c1,
+0x17c1,0x17c1,0x17c1,0x17c1,0x17c1,0x17c1,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
+0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,
+0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x11a6,0x119d,0x119d,0x11a0,0x11a0,0x11a6,0x119d,0x119d,0x119d,0x119d,0x119d,
+0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,
+0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,0x11ac,
+0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,
+0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,0x11c7,
+0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,
+0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d3,0x11d0,0x11d6,
+0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,
+0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,0x11e2,
+0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,0x11e8,
+0x11e8,0x1323,0x11ee,0x1326,0x11ee,0x11ee,0x11ee,0x11ee,0x11eb,0x11eb,0x11eb,0x11ee,0x1746,0x1749,0x196b,0x1968,
+0x11f1,0x11f1,0x11f1,0x1200,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,
+0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,0x1206,
+0x1206,0x1206,0x1206,0x11f4,0x1200,0x1200,0x11f1,0x11f1,0x11f1,0x11f1,0x1200,0x1200,0x11f1,0x11f1,0x1200,0x1200,
+0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,
+0x1215,0x1212,0x1212,0x1212,0x1212,0x1212,0x1212,0x120c,0x120c,0x120c,0x1212,0x120f,0x156c,0x156f,0x1572,0x1572,
+0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,
+0x1218,0x1224,0x1218,0x1218,0x1218,0x122d,0x122d,0x1218,0x1218,0x122d,0x1224,0x122d,0x122d,0x1224,0x1218,0x121b,
+0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,
+0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,0x1224,
+0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,
0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,
-0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123f,0x123c,0x123c,0x123c,0x1248,0x1248,0x1248,0x1248,
-0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,
-0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1248,0x1257,0x1257,0x1257,0x1257,
0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,
-0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x125d,0x125d,0x126c,0x126f,
+0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1257,0x1254,0x1254,0x1254,
+0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,
+0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,0x1260,
0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,
-0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x1272,0x126f,0x1272,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,
-0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x1272,0x126f,0x126f,0x126f,0x126f,0x126c,0x126c,0x126c,0x1260,
-0x1260,0x1260,0x1260,0x126c,0x126c,0x1266,0x1263,0x1269,0x1269,0x1278,0x1275,0x1275,0x127b,0x127b,0x127b,0x127b,
-0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,
-0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x1281,0x1281,0x1281,0x127e,
-0x127e,0x127e,0x127b,0x127b,0x127b,0x127b,0x127e,0x127b,0x127b,0x127b,0x1281,0x127e,0x1281,0x127e,0x127b,0x127b,
-0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,
-0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x127b,0x1281,0x127e,0x127e,0x127b,0x127b,0x127b,0x127b,
-0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a2,0x12a5,0x12a5,0x12a5,0x1284,0x1956,
-0x13b0,0x12ae,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x13b0,0x12ae,0x13b0,0x12ae,
-0x128d,0x128d,0x133e,0x128a,0x133e,0x133e,0x133e,0x133e,0x128a,0x1290,0x12b7,0x128a,0x128a,0x128a,0x128a,0x128a,
-0x1290,0x1293,0x12b7,0x12b7,0x1293,0x12b7,0x128a,0x1293,0x1293,0x1296,0x12b7,0x128a,0x128a,0x12b7,0x128d,0x128d,
-0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x129f,0x129f,0x129f,0x129f,0x13c8,0x13a7,
-0x12a8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x1854,0x1854,0x1854,0x1854,0x1854,
-0x13b0,0x13b0,0x12ae,0x13b0,0x13b0,0x13b0,0x12ae,0x13b0,0x13b0,0x13b0,0x12a8,0x12a8,0x12a8,0x12a8,0x12a8,0x13aa,
-0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x12ab,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x13ad,0x12ab,
-0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,
-0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,0x12d5,
-0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,
-0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,0x1380,
-0x1395,0x1386,0x1395,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,
-0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,0x1398,
-0x1386,0x1386,0x1386,0x1386,0x1386,0x1386,0x1386,0x1386,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,
-0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,
-0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x139e,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,
-0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,
-0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13a4,0x13d4,0x13d1,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,
-0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,
-0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13da,0x13da,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13da,0x13dd,0x13dd,0x13dd,0x13da,0x13dd,0x13da,0x13dd,0x13da,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13e0,0x13dd,0x13dd,0x13dd,0x13dd,0x13da,0x13dd,0x13da,0x13da,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13da,
-0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,0x13da,
-0x13da,0x13da,0x1563,0x1563,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x156f,0x1569,0x1569,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,
-0x156f,0x17a9,0x17a9,0x17a9,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x156f,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x156f,0x17a9,0x17a9,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13e0,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x1569,0x1569,0x156f,0x156f,0x1569,0x156f,0x156f,0x156f,0x1566,0x1566,0x156f,0x156f,0x13dd,0x13dd,0x13e0,0x13e0,
-0x13e0,0x16da,0x13dd,0x13e0,0x13dd,0x13dd,0x13e0,0x1572,0x1572,0x156f,0x156f,0x17a9,0x17a9,0x17a9,0x17a9,0x17a9,
-0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x156f,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x1569,0x1569,0x156f,
-0x16da,0x156f,0x1569,0x156f,0x17a9,0x17a9,0x17a9,0x17ac,0x17ac,0x17ac,0x17ac,0x17ac,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x156f,0x13dd,0x156f,0x13e0,0x13e0,
-0x13dd,0x13dd,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13e0,0x13e0,
-0x13e0,0x13e0,0x13dd,0x13dd,0x13dd,0x13dd,0x13e0,0x13dd,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,0x13e0,
-0x13e0,0x13dd,0x13dd,0x13dd,0x13e0,0x13dd,0x13dd,0x13dd,0x13dd,0x13e0,0x13e0,0x13e0,0x13dd,0x13e0,0x13e0,0x13e0,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x16da,0x13dd,0x13dd,0x13dd,0x13dd,0x156f,0x1569,0x17a9,
-0x1437,0x1437,0x1437,0x1437,0x1563,0x1563,0x1566,0x1566,0x1566,0x156c,0x156f,0x17a9,0x17a9,0x17a9,0x17a9,0x1731,
-0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,
-0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,0x156f,0x1569,0x1569,0x156f,0x1572,0x1572,0x156f,0x156f,
-0x156f,0x156f,0x185d,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,0x1569,0x156f,0x1569,0x1569,0x1569,0x1569,
-0x156f,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,0x1569,0x1569,0x1569,0x156f,0x1566,0x1566,0x1566,0x1566,
-0x1566,0x1566,0x156f,0x13dd,0x13dd,0x13dd,0x13dd,0x13dd,0x14c1,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,
-0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x14c1,0x13e3,0x13e3,0x13e3,0x14c1,0x13e3,0x14c1,
-0x13e3,0x14c1,0x13e3,0x14c1,0x13e3,0x13e3,0x13e3,0x14c1,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x14c1,0x14c1,
-0x13e3,0x13e3,0x13e3,0x13e3,0x14c1,0x13e3,0x14c1,0x14c1,0x13e3,0x13e3,0x13e3,0x13e3,0x14c1,0x13e3,0x13e3,0x13e3,
-0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x16e0,0x16e0,0x17af,0x17af,0x13e6,0x13e6,0x13e6,
-0x13e3,0x13e3,0x13e3,0x13e6,0x13e6,0x13e6,0x13e6,0x13e6,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
-0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,
-0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,
-0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13ec,0x13e9,0x13e9,0x13e9,0x13e9,
-0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13ec,0x13ec,0x13ec,0x13e9,
-0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13e9,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,
-0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,
-0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x13ef,0x17dc,0x17dc,0x17d9,0x1734,0x143d,0x143d,0x143d,0x143d,
-0x143d,0x143d,0x143a,0x143a,0x143a,0x143a,0x143a,0x143a,0x143d,0x143d,0x143d,0x143d,0x143d,0x143d,0x143d,0x143d,
-0x143d,0x143d,0x143d,0x143d,0x143d,0x143d,0x143d,0x157b,0x1449,0x1449,0x1449,0x145b,0x145b,0x145b,0x145b,0x145b,
-0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,
-0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x145b,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,
+0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,0x126f,
+0x1275,0x1275,0x1284,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,
+0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x128a,0x1287,0x128a,0x1287,0x1287,0x1287,
+0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x1287,0x128a,0x1287,0x1287,0x1287,0x1287,
+0x1284,0x1284,0x1284,0x1278,0x1278,0x1278,0x1278,0x1284,0x1284,0x127e,0x127b,0x1281,0x1281,0x1290,0x128d,0x128d,
+0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,
+0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,
+0x1299,0x1299,0x1299,0x1296,0x1296,0x1296,0x1293,0x1293,0x1293,0x1293,0x1296,0x1293,0x1293,0x1293,0x1299,0x1296,
+0x1299,0x1296,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,
+0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1293,0x1299,0x1296,0x1296,
+0x1293,0x1293,0x1293,0x1293,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12ba,0x12bd,
+0x12bd,0x12bd,0x129c,0x1971,0x13cb,0x12c6,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,0x13cb,
+0x13cb,0x12c6,0x13cb,0x12c6,0x12a5,0x12a5,0x1359,0x12a2,0x1359,0x1359,0x1359,0x1359,0x12a2,0x12a8,0x12cf,0x12a2,
+0x12a2,0x12a2,0x12a2,0x12a2,0x12a8,0x12ab,0x12cf,0x12cf,0x12ab,0x12cf,0x12a2,0x12ab,0x12ab,0x12ae,0x12cf,0x12a2,
+0x12a2,0x12cf,0x12a5,0x12a5,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x12b7,0x12b7,
+0x12b7,0x12b7,0x13e3,0x13c2,0x12c0,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x13e3,0x186f,
+0x186f,0x186f,0x186f,0x186f,0x13cb,0x13cb,0x12c6,0x13cb,0x13cb,0x13cb,0x12c6,0x13cb,0x13cb,0x13cb,0x12c0,0x12c0,
+0x12c0,0x12c0,0x12c0,0x13c5,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x13c8,0x12c3,0x13c8,0x13c8,0x13c8,0x13c8,
+0x13c8,0x13c8,0x13c8,0x12c3,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,
+0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,0x12ed,
+0x12ed,0x12ed,0x12ed,0x12ed,0x1377,0x1374,0x1377,0x1374,0x1377,0x1374,0x1377,0x1374,0x1377,0x1374,0x143d,0x1554,
+0x1554,0x1554,0x17ee,0x195f,0x1554,0x1554,0x173d,0x173d,0x173d,0x1737,0x173d,0x1737,0x1962,0x195f,0x1a1c,0x1a19,
+0x1a1c,0x1a19,0x1a1c,0x1a19,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,
+0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,0x139b,
+0x139b,0x139b,0x139b,0x139b,0x13b0,0x13a1,0x13b0,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,
+0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,0x13b3,
+0x13b3,0x13b3,0x13b3,0x13b3,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13a1,0x13b9,0x13b9,0x13b9,0x13b9,
+0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,
+0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13b9,0x13bf,0x13bf,0x13bf,0x13bf,
+0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,
+0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13bf,0x13ef,0x13ec,0x1917,0x1917,
+0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,
+0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f5,0x13f5,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f5,0x13f8,0x13f8,0x13f8,0x13f5,0x13f8,0x13f5,0x13f8,
+0x13f5,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13fb,0x13f8,0x13f8,0x13f8,0x13f8,0x13f5,0x13f8,0x13f5,0x13f5,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f5,0x13f5,0x13f5,0x13f5,
+0x13f5,0x13f5,0x13f5,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,
+0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x13f5,0x157e,0x157e,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x158a,0x1584,0x1584,0x158a,0x158a,0x158a,0x158a,
+0x158a,0x158a,0x158a,0x158a,0x158a,0x17c4,0x17c4,0x17c4,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x158a,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x158a,0x17c4,0x17c4,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13fb,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x1584,0x1584,0x158a,0x158a,0x1584,0x158a,0x158a,0x158a,0x1581,0x1581,0x158a,0x158a,
+0x13f8,0x13f8,0x13fb,0x13fb,0x13fb,0x16f5,0x13f8,0x13fb,0x13f8,0x13f8,0x13fb,0x158d,0x158d,0x158a,0x158a,0x17c4,
+0x17c4,0x17c4,0x17c4,0x17c4,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,0x158a,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x1584,0x1584,0x158a,0x16f5,0x158a,0x1584,0x158a,0x17c4,0x17c4,0x17c4,0x17c7,0x17c7,0x17c7,0x17c7,0x17c7,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x158a,
+0x13f8,0x158a,0x13fb,0x13fb,0x13f8,0x13f8,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
+0x13fb,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,
+0x13fb,0x13fb,0x13fb,0x13fb,0x13fb,0x13f8,0x13f8,0x13f8,0x13fb,0x13f8,0x13f8,0x13f8,0x13f8,0x13fb,0x13fb,0x13fb,
+0x13f8,0x13fb,0x13fb,0x13fb,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13fb,0x13f8,0x13fb,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x16f5,0x13f8,0x13f8,0x13f8,0x13f8,0x158a,0x1584,0x17c4,
+0x1452,0x1452,0x1452,0x1452,0x157e,0x157e,0x1581,0x1581,0x1581,0x1587,0x158a,0x17c4,0x17c4,0x17c4,0x17c4,0x174c,
+0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,
+0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,0x158a,0x1584,0x1584,0x158a,0x158d,0x158d,0x158a,0x158a,
+0x158a,0x158a,0x1878,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,0x1584,0x158a,0x1584,0x1584,0x1584,0x1584,
+0x158a,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,0x1584,0x1584,0x1584,0x158a,0x1581,0x1581,0x1581,0x1581,
+0x1581,0x1581,0x158a,0x13f8,0x13f8,0x13f8,0x13f8,0x13f8,0x14dc,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,
+0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x14dc,0x13fe,0x13fe,0x13fe,0x14dc,0x13fe,0x14dc,
+0x13fe,0x14dc,0x13fe,0x14dc,0x13fe,0x13fe,0x13fe,0x14dc,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x14dc,0x14dc,
+0x13fe,0x13fe,0x13fe,0x13fe,0x14dc,0x13fe,0x14dc,0x14dc,0x13fe,0x13fe,0x13fe,0x13fe,0x14dc,0x13fe,0x13fe,0x13fe,
+0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x13fe,0x16fb,0x16fb,0x17ca,0x17ca,0x1401,0x1401,0x1401,
+0x13fe,0x13fe,0x13fe,0x1401,0x1401,0x1401,0x1401,0x1401,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,
+0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,
+0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,
+0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1407,0x1404,0x1404,0x1404,0x1404,
+0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1407,0x1407,0x1407,0x1404,
+0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x1404,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,
+0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,
+0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x140a,0x17f7,0x17f7,0x17f4,0x174f,0x1458,0x1458,0x1458,0x1458,
+0x1458,0x1458,0x1455,0x1455,0x1455,0x1455,0x1455,0x1455,0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,
+0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,0x1458,0x1596,0x1464,0x1464,0x1464,0x1476,0x1476,0x1476,0x1476,0x1476,
0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,
-0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
-0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,
-0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x147f,0x1485,0x1485,0x1491,0x1497,0x1497,0x1497,0x1497,0x1497,
+0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1476,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,
+0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1491,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,
0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,
-0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1491,0x1491,0x1491,0x1485,0x1485,
-0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1485,0x1491,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,
-0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,
-0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x14b8,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,
-0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,0x1515,
-0x1515,0x1515,0x192c,0x192c,0x192c,0x1515,0x1515,0x1515,0x1569,0x1569,0x156f,0x156f,0x156f,0x1569,0x1569,0x1569,
-0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,0x156f,0x156f,0x1566,0x1566,0x1566,0x1566,
-0x1566,0x1566,0x1566,0x1566,0x156f,0x156f,0x156f,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,
-0x1569,0x1569,0x156f,0x156f,0x156f,0x156f,0x1569,0x1569,0x1572,0x1569,0x1569,0x1569,0x1569,0x16dd,0x16dd,0x1569,
-0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x185a,0x156f,0x1569,0x1569,0x156f,0x1569,0x1569,0x1569,
-0x1569,0x1569,0x1569,0x1569,0x1569,0x156f,0x156f,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,0x1569,
-0x156f,0x1569,0x1569,0x1569,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,
-0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,0x1593,
-0x1593,0x1593,0x1593,0x1593,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,0x15a5,
-0x15a5,0x15a5,0x15a5,0x15a5,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,
-0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,0x15ab,
-0x15ab,0x15ab,0x15ab,0x15ab,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,
+0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1497,0x1a25,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,
+0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,
+0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x149a,0x14a0,0x14a0,0x14ac,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,
+0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,
+0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14b2,0x14ac,0x14ac,0x14ac,0x14a0,0x14a0,
+0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14a0,0x14ac,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,
+0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,
+0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x14d3,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
+0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
+0x1530,0x1530,0x1947,0x1947,0x1947,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,
+0x1530,0x1a13,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x1530,0x18ae,0x1947,0x1947,0x1947,0x1947,0x1947,
+0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1584,0x1584,0x158a,0x158a,0x158a,0x1584,0x1584,0x1584,
+0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,0x158a,0x158a,0x1581,0x1581,0x1581,0x1581,
+0x1581,0x1581,0x1581,0x1581,0x158a,0x158a,0x158a,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,
+0x1584,0x1584,0x158a,0x158a,0x158a,0x158a,0x1584,0x1584,0x158d,0x1584,0x1584,0x1584,0x1584,0x16f8,0x16f8,0x1584,
+0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1875,0x158a,0x1584,0x1584,0x158a,0x1584,0x1584,0x1584,
+0x1584,0x1584,0x1584,0x1584,0x1584,0x158a,0x158a,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,0x1584,
+0x158a,0x1584,0x1584,0x1584,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,
0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,0x15ae,
-0x15ae,0x15ae,0x15ae,0x15ae,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,
-0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,0x15ed,
-0x15ed,0x15ed,0x15ed,0x15de,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,
-0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f6,0x15f0,
-0x15f9,0x15f9,0x15f9,0x15f9,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,
-0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,0x15fc,
-0x15fc,0x15fc,0x15fc,0x15fc,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x160e,0x1617,0x1617,0x1617,
+0x15ae,0x15ae,0x15ae,0x15ae,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
+0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,0x15c0,
+0x15c0,0x15c0,0x15c0,0x15c0,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,
+0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,0x15c6,
+0x15c6,0x15c6,0x15c6,0x15c6,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,
+0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,0x15c9,
+0x15c9,0x15c9,0x15c9,0x15c9,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
+0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,0x1608,
+0x1608,0x1608,0x1608,0x15f9,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,
+0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x1611,0x160b,
+0x1614,0x1614,0x1614,0x1614,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,
0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,0x1617,
-0x1617,0x1617,0x1617,0x1617,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,
-0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,0x1620,
-0x1620,0x1620,0x1620,0x1620,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,
-0x1632,0x1632,0x1632,0x1632,0x162f,0x162f,0x162f,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x1623,0x162f,
-0x162f,0x1623,0x162f,0x1626,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,
+0x1617,0x1617,0x1617,0x1617,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1629,0x1632,0x1632,0x1632,
0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,0x1632,
-0x1632,0x1632,0x1632,0x1632,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,
-0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,0x1656,
-0x1656,0x1653,0x1653,0x1653,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,
-0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x165f,0x1665,0x1665,0x1665,0x1662,0x1662,0x1662,
-0x165f,0x165f,0x165f,0x165f,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
-0x1674,0x1674,0x1674,0x1674,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x1668,0x167a,0x167a,0x166e,0x166b,0x166b,
-0x166b,0x166b,0x166b,0x166b,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
-0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,0x1674,
-0x1674,0x1674,0x1674,0x1674,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,
-0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x1680,0x167d,0x167d,0x167d,0x167d,0x167d,
-0x167d,0x167d,0x167d,0x167d,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,
-0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,
-0x1683,0x1683,0x1683,0x1683,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,
-0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,0x16a7,
-0x16a7,0x16a7,0x16a7,0x16a7,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,0x16b0,
-0x16b0,0x16b0,0x16b0,0x16b0,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,
-0x16c8,0x16c8,0x16c8,0x16c8,0x16b3,0x16c2,0x16c2,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16b3,0x16c2,0x16b3,0x16c5,
-0x16c5,0x16b3,0x16c5,0x16b3,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,
-0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,0x16c8,
-0x16c8,0x16c8,0x16c8,0x16c8,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,
-0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,0x16d1,
-0x16d1,0x16d1,0x16d1,0x16d1,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,
-0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,0x16d7,
-0x16d7,0x16d7,0x16d7,0x16d7,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,
-0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,0x173a,
-0x173a,0x173a,0x173a,0x173a,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,
-0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,
-0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x177c,0x1779,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,
-0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x1776,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,
-0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,
-0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x177f,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,
-0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,
-0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1782,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,
-0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,
-0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1794,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,
-0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,
-0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x1797,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
+0x1632,0x1632,0x1632,0x1632,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
+0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,0x163b,
+0x163b,0x163b,0x163b,0x163b,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
+0x164d,0x164d,0x164d,0x164d,0x164a,0x164a,0x164a,0x163e,0x163e,0x163e,0x163e,0x163e,0x163e,0x163e,0x163e,0x164a,
+0x164a,0x163e,0x164a,0x1641,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
+0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,0x164d,
+0x164d,0x164d,0x164d,0x164d,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,
+0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,0x1671,
+0x1671,0x166e,0x166e,0x166e,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,
+0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x167a,0x1680,0x1680,0x1680,0x167d,0x167d,0x167d,
+0x167a,0x167a,0x167a,0x167a,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,
+0x168f,0x168f,0x168f,0x168f,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1683,0x1695,0x1695,0x1689,0x1686,0x1686,
+0x1686,0x1686,0x1686,0x1686,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,
+0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,0x168f,
+0x168f,0x168f,0x168f,0x168f,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,
+0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x169b,0x1698,0x1698,0x1698,0x1698,0x1698,
+0x1698,0x1698,0x1698,0x1698,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,
+0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,0x169e,
+0x169e,0x169e,0x169e,0x169e,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,
+0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,0x16c2,
+0x16c2,0x16c2,0x16c2,0x16c2,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,0x16cb,
+0x16cb,0x16cb,0x16cb,0x16cb,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,
+0x16e3,0x16e3,0x16e3,0x16e3,0x16ce,0x16dd,0x16dd,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16ce,0x16dd,0x16ce,0x16e0,
+0x16e0,0x16ce,0x16e0,0x16ce,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,
+0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,0x16e3,
+0x16e3,0x16e3,0x16e3,0x16e3,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,
+0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,0x16ec,
+0x16ec,0x16ec,0x16ec,0x16ec,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,
+0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,0x16f2,
+0x16f2,0x16f2,0x16f2,0x16f2,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,
+0x1734,0x1734,0x1734,0x1734,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,0x1947,
+0x1947,0x1947,0x1947,0x1a13,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,
+0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,0x1755,
+0x1755,0x1755,0x1755,0x1755,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,
+0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,
+0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1797,0x1794,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,
+0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x1791,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,
-0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179d,0x179d,0x179d,0x179d,0x179a,
-0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179d,0x179d,0x179d,
-0x179d,0x179d,0x179d,0x179d,0x179d,0x179a,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,
+0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179a,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,
0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,
-0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,
+0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x179d,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,
+0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,
+0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17af,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,
+0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,
+0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b2,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,
0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,
-0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x1866,0x1866,0x1866,
-0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,
-0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x17fa,0x17fa,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,
-0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,
-0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17f7,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,
-0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,
-0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x17fa,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,
-0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1845,0x1845,0x1845,
-0x1830,0x1830,0x1830,0x1830,0x1830,0x1830,0x1830,0x1830,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,
-0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,
-0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1848,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1863,0x1866,
-0x1866,0x1866,0x1866,0x1866,0x1902,0x19e0,0x19e0,0x19e0,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,
-0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1866,0x1902,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,
-0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,
-0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x186f,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,
-0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,
-0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x1872,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,
-0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,
-0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18c9,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,
-0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18d5,0x18db,0x18d8,0x18d8,0x18d8,
-0x18d8,0x18e7,0x18ed,0x18d8,0x18d8,0x18d8,0x18d8,0x18e4,0x18ea,0x18d8,0x18d8,0x18d8,0x18d8,0x18d8,0x18d8,0x18d8,
-0x18d8,0x18d8,0x18d8,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,
-0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18ea,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,
-0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,
-0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x18fc,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x1902,0x19e0,
-0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,
-0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x19e0,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,
-0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,
-0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x190b,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
-0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,
-0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1911,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,
-0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,
-0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x1980,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,
+0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b8,0x17b8,0x17b8,0x17b8,0x17b5,
+0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b5,0x17b8,0x17b8,0x17b8,
+0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b5,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,
+0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,
+0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17b8,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,
+0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,
+0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d0,0x17d3,0x17d3,0x17d3,0x17d3,0x17d3,0x1881,0x1881,0x1881,
+0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,
+0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x1815,0x1815,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
+0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,
+0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1812,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,
+0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,
+0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1815,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,
+0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1860,0x1860,0x1860,
+0x184b,0x184b,0x184b,0x184b,0x184b,0x184b,0x184b,0x184b,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,
+0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,
+0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1863,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1884,0x1881,
+0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x1884,0x1920,0x1920,0x1884,0x1884,0x1884,0x1884,0x1884,
+0x1884,0x1884,0x1881,0x187e,0x1884,0x1884,0x1884,0x1a85,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x187e,0x1881,
+0x1881,0x1881,0x1881,0x1881,0x191d,0x19fb,0x19fb,0x19fb,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,
+0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x1881,0x191d,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,
+0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,
+0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188a,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,
+0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,
+0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x188d,0x18e4,0x18e4,0x18e4,0x18e4,0x1a37,0x1a37,0x18e7,0x18e7,
+0x18e7,0x18e7,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18cf,0x18e1,
+0x18d2,0x18d5,0x18d8,0x18ea,0x18ea,0x1986,0x18db,0x18db,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,
+0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,
+0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x18e4,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,
+0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x18f0,0x18f6,0x18f3,0x18f3,0x18f3,
+0x18f3,0x1902,0x1908,0x18f3,0x18f3,0x18f3,0x18f3,0x18ff,0x1905,0x18f3,0x18f3,0x18f3,0x18f3,0x18f3,0x18f3,0x18f3,
+0x18f3,0x18f3,0x18f3,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,
+0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1905,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,
+0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,
+0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x1917,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x191d,0x19fb,
+0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,
+0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x19fb,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,
+0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,
+0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x1926,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,
+0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,
+0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x192c,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,
0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,
-0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,
-0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,
-0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19a1,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,
+0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x199b,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,
+0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,
+0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19b6,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,
0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,
-0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,
-0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,
-0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19bf,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,
-0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,
-0x19c8,0x19c8,0x19c8,0x19c8,0x19c8,0x19c5,0x19c5,0x19c5,0,0,0,0
+0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19bc,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,
+0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,
+0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19d7,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,
+0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,
+0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19da,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,
+0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,
+0x19e3,0x19e3,0x19e3,0x19e3,0x19e3,0x19e0,0x19e0,0x19e0,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,
+0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,
+0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a3a,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,
+0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,
+0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a61,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,
+0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1aa0,0x1aa0,0x1a6a,0x1aa0,0x1a6a,0x1a6a,0x1a6a,0x1a6a,
+0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a6a,0x1a70,0x1a70,0x1a70,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,
+0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,
+0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0x1a7c,0,0,0,0
};
static const UTrie2 propsVectorsTrie={
propsVectorsTrie_index,
- propsVectorsTrie_index+4948,
+ propsVectorsTrie_index+4952,
NULL,
- 4948,
- 25064,
+ 4952,
+ 25636,
0xa40,
- 0x13d4,
+ 0x13d8,
0x0,
0x0,
0x110000,
- 0x7538,
+ 0x7778,
NULL, 0, FALSE, FALSE, 0, NULL
};
-static const uint32_t propsVectors[6639]={
+static const uint32_t propsVectors[6822]={
0x67,0,0,0x67,0,0x4e00000,0x67,0x80000,0x20,0x867,0,0,0xa67,0,0,0xb67,
0,0,0xc67,0,0,0xd67,0,0,0xe67,0,0,0x1067,0,0,0x1167,0,
0,0x1267,0,0,0x1367,0,0,0x1467,0,0,0x1567,0,0,0x1667,0,0,
@@ -3307,401 +3375,414 @@ static const uint32_t propsVectors[6639]={
0,0,0x11467,0,0,0x11567,0,0,0x11667,0,0,0x11767,0,0,0x11867,0,
0,0x11967,0,0x4e00000,0x11a67,0,0,0x11b67,0,0,0x11c67,0,0,0x11d67,0,0,
0x11e67,0,0,0x11f67,0,0,0x12067,0,0,0x12167,0,0,0x12267,0,0,0x12367,
-0,0,0xa0067,0,0xe00000,0xa4667,0,0xe00000,0xa4767,0,0xe00000,0xa4f67,0,0xe00000,0xa5e67,0,
-0xe00000,0xa5f67,0,0xe00000,0xac567,0,0xe00000,0xad167,0,0xe00000,0xb0067,0,0xe00000,0xb1267,0,0xe00000,
-0x11000100,0,0x900020,0x11000100,0x40000001,0x440020,0x11000100,0x40000001,0x643020,0x11000100,0x40000001,0xa5a040,0x11000100,0x40000001,0x116a8a0,0x11000200,
-0,0x900020,0x11000200,0x4000001,0xc4000b,0x11000200,0x7c00100,0x220402,0x11000200,0x24000000,0x14200000,0x11000200,0x24000008,0x1710000,0x11000200,0x40000001,
-0x1d3b020,0x11000219,0x7c00100,0x220401,0x11000219,0x7c00100,0x250401,0x11000319,0x7c00100,0x220401,0x11000319,0x7c00100,0x220402,0x11000319,0x7c00100,0x250400,
-0x11000319,0x7c00100,0x250401,0x11000419,0x7c00100,0x220400,0x11000419,0x7c00100,0x220401,0x11000419,0x7c00100,0x220402,0x11000419,0x7c00100,0x230400,0x11000419,
-0x7c00100,0x250400,0x11000419,0x7c00100,0x250401,0x11000419,0x7c00100,0x250402,0x11000519,0x7c00100,0x220400,0x11000519,0x7c00100,0x230400,0x11000600,0x4000400,
-0x200000,0x11000600,0x4000400,0x200002,0x11000600,0x4000400,0x200400,0x11000600,0x7c00500,0x220400,0x11000600,0x7c00500,0x230400,0x11000600,0x7c00500,0x530400,
-0x11000600,0x7c00d00,0x230400,0x11000619,0x7c00500,0x22040f,0x11000800,0x4000010,0x1001401,0x11000800,0x4000400,0x200001,0x11000800,0x6800010,0x201001,0x11000800,
-0x7c00500,0x230401,0x11000807,0x7c00100,0x220400,0x11000807,0x7c00100,0x250400,0x1100080e,0x4000400,0x200000,0x1100080e,0x4000400,0x200002,0x1100080e,0x7000500,
-0x220402,0x1100080e,0x7c00100,0x220400,0x1100080e,0x7c00100,0x220401,0x1100080e,0x7c00100,0x220402,0x1100080e,0x7c00100,0x250400,0x1100080e,0x7c00100,0x250401,
-0x1100080e,0x7c00120,0x220402,0x1100080e,0x7c00120,0x250402,0x11000908,0x4000000,0x200000,0x11000908,0x7c00100,0x220400,0x11000908,0x7c00100,0x220401,0x11000908,
-0x7c00100,0x250400,0x11000908,0x7c00100,0x250401,0x11000a03,0x4000000,0x200000,0x11000a03,0x4000000,0x200400,0x11000a03,0x4000000,0x270000,0x11000a03,0x7c00100,
-0x220400,0x11000a03,0x7c00100,0x220402,0x11000a03,0x7c00100,0x250400,0x11000a03,0x7c00500,0x230400,0x11000b13,0x2802500,0x962460,0x11000b13,0x4000000,0x200000,
-0x11000b13,0x4000000,0x201000,0x11000b13,0x4000000,0x230400,0x11000b13,0x4000002,0x400000,0x11000b13,0x4000010,0x200000,0x11000b13,0x7c00100,0x2633800,0x11000c00,
-0x80000000,0x218960,0x11000c02,0x2802100,0x962460,0x11000c02,0x2802400,0x962460,0x11000c02,0x4000000,0x200000,0x11000c02,0x4000000,0x1329400,0x11000c02,0x4000000,
-0x1329800,0x11000c02,0x4000000,0x1500000,0x11000c02,0x6800000,0x1329800,0x11000c02,0x7c00100,0x230400,0x11000c02,0x7c00100,0x230401,0x11000c02,0x7c00100,0x230402,
-0x11000c02,0x7c00500,0x230400,0x11000c02,0x7d00100,0x230400,0x11000f0a,0x2802100,0x962460,0x11000f0a,0x2802400,0x962460,0x11000f0a,0x2806400,0x962460,0x11000f0a,
-0x4000000,0x200000,0x11000f0a,0x6800100,0x962540,0x11000f0a,0x7c00100,0x230400,0x11000f0a,0x7c00100,0x230401,0x11001004,0x2802100,0x962460,0x11001004,0x2802400,
-0x962460,0x11001004,0x2806400,0x962460,0x11001004,0x4000000,0x200000,0x11001004,0x4000000,0x1500000,0x11001004,0x6800100,0x962540,0x11001004,0x6800100,0x962541,
-0x11001004,0x7c00100,0x230400,0x11001004,0x7c00100,0x230401,0x11001110,0x2802100,0x962460,0x11001110,0x2802400,0x962460,0x11001110,0x2806400,0x962460,0x11001110,
-0x6800100,0x962540,0x11001110,0x7c00100,0x230400,0x11001110,0x7c00100,0x230401,0x1100120f,0x2802100,0x962460,0x1100120f,0x2802400,0x962460,0x1100120f,0x2806400,
-0x962460,0x1100120f,0x6800100,0x962540,0x1100120f,0x7c00100,0x230400,0x1100131f,0x2802100,0x962460,0x1100131f,0x2802400,0x962460,0x1100131f,0x2806400,0x962460,
-0x1100131f,0x4000000,0x200000,0x1100131f,0x6800000,0x1329800,0x1100131f,0x6800100,0x962540,0x1100131f,0x6800100,0x962541,0x1100131f,0x7c00100,0x230400,0x1100131f,
-0x7c00100,0x230401,0x11001423,0x2802100,0x962460,0x11001423,0x2806400,0x962460,0x11001423,0x6800100,0x962540,0x11001423,0x6800100,0x962541,0x11001423,0x7c00100,
-0x230400,0x11001423,0x7c00100,0x230401,0x11001524,0x2802100,0x962460,0x11001524,0x2802100,0x962461,0x11001524,0x2806400,0x962460,0x11001524,0x6800000,0x1329800,
-0x11001524,0x6800100,0x962540,0x11001524,0x7c00100,0x230400,0x11001615,0x2802100,0x962460,0x11001615,0x2806400,0x962460,0x11001615,0x6800000,0x1329800,0x11001615,
-0x6800100,0x962540,0x11001615,0x6800100,0x962541,0x11001615,0x7c00100,0x230400,0x1100171a,0x2802100,0x962460,0x1100171a,0x2806400,0x962460,0x1100171a,0x6800000,
-0x1329800,0x1100171a,0x6800100,0x962540,0x1100171a,0x6800100,0x962541,0x1100171a,0x7c00100,0x230400,0x11001900,0x4000000,0x1600000,0x11001926,0x2802100,0x1862460,
-0x11001926,0x2802400,0x1862460,0x11001926,0x2806100,0x1862460,0x11001926,0x4000000,0x200000,0x11001926,0x4000010,0x400000,0x11001926,0x6800000,0x1329800,0x11001926,
-0x7800100,0x1830142,0x11001926,0x7c00100,0x1830000,0x11001926,0x7c00900,0x1830000,0x11001926,0x7e00100,0x1830000,0x11001a18,0x2802100,0x1862460,0x11001a18,0x2802400,
-0x1862460,0x11001a18,0x6800000,0x1329800,0x11001a18,0x7800100,0x1830142,0x11001a18,0x7c00100,0x1830000,0x11001a18,0x7c00100,0x1830002,0x11001a18,0x7c00900,0x1830000,
-0x11001a18,0x7e00100,0x1830000,0x11001d0c,0x7c00100,0x220400,0x11001d0c,0x7c00100,0x250400,0x11001e12,0x7c00100,0x2230500,0x11001e12,0x7c00100,0x2330520,0x11001e12,
-0x7c80100,0x2330520,0x11002619,0x7c00100,0x220401,0x11002619,0x7c00100,0x220402,0x11002619,0x7c00100,0x250401,0x1100270e,0x4000400,0x200001,0x1100270e,0x4000400,
-0x200002,0x1100270e,0x4000400,0x500001,0x1100270e,0x7c00100,0x220401,0x1100270e,0x7c00100,0x250401,0x11002800,0x80000,0x918820,0x11002800,0x80000,0x1c18020,
-0x11002800,0x180000,0x918820,0x11002800,0x4000001,0x445801,0x11002800,0x4000001,0x445802,0x11002800,0x4000001,0xc4000b,0x11002800,0x6800000,0x201c00,0x11002800,
-0x6800020,0x201c00,0x11002800,0x24000000,0x200000,0x11002800,0x24000000,0x200002,0x11002800,0x24000000,0x810000,0x11002800,0x24000000,0x1410000,0x11002800,0x24000000,
-0x1500000,0x11002800,0x24000000,0x1500002,0x11002800,0x24000002,0x400000,0x11002800,0x24000006,0xc0000b,0x11002800,0x24000008,0x1410000,0x11002800,0x24000008,0x1710000,
-0x11002800,0x24000020,0x1001400,0x11002800,0x24000020,0x1500002,0x11002800,0x2c000010,0x1248000,0x11002800,0x2c000010,0x15248002,0x11002800,0x40000001,0x63b020,0x11002800,
-0x40080000,0x918820,0x11002801,0x80000,0xaa65620,0x11002801,0x82000,0x962460,0x11002900,0x4000000,0x20000e,0x11002900,0x4000000,0x20000f,0x11002900,0x4000020,
-0x20000e,0x11002900,0x4000020,0x20000f,0x11002900,0x4000020,0x81000e,0x11002900,0x4000020,0x81000f,0x11002900,0x4000020,0x141000e,0x11002900,0x4000020,0x141000f,
-0x11002900,0x4000022,0x20000e,0x11002900,0x4000022,0x20000f,0x11002a00,0x4000000,0x1500000,0x11002a00,0x4000000,0x1600000,0x11002a00,0x4000000,0x1600002,0x11002b01,
-0x2000,0x962460,0x11002b01,0x2802020,0x962460,0x11002c00,0x4000000,0x200000,0x11002c00,0x4000000,0x200002,0x11002c00,0x4000000,0x20000f,0x11002c00,0x4000020,
-0x200000,0x11002c00,0x7c00000,0x200000,0x11002c00,0x7c00020,0x200000,0x11002c00,0x7c00120,0x220405,0x11002c00,0x7c00120,0x230402,0x11002c00,0x7c00120,0x250402,
-0x11002c00,0x7c00120,0x250405,0x11002c19,0x7c00100,0x250400,0x11002c19,0x7c00100,0x250401,0x11002d00,0x4000000,0x100006,0x11002d00,0x4000000,0x200006,0x11002d19,
-0x7c00100,0x220402,0x11002d19,0x7c00100,0x230400,0x11002d19,0x7c00100,0x250402,0x11002e00,0x24000000,0x200000,0x11002e00,0x24000020,0x200000,0x11002e00,0x24000020,
-0x200001,0x11002e00,0x24000020,0x14200000,0x11002f00,0x24000020,0x200000,0x11002f00,0x24000020,0x200001,0x11002f00,0x24000020,0x200002,0x11002f00,0x24000020,0xf00000,
-0x11002f00,0x24000020,0x1600000,0x11002f00,0x24000022,0x1600000,0x11003000,0x24000000,0x200000,0x11003000,0x24000000,0x14200000,0x11003000,0x24000020,0x200000,0x11003000,
-0x24000020,0x810000,0x11003000,0x24000020,0x1410000,0x11003100,0x24000000,0x200000,0x11003200,0x24000000,0x200000,0x11003300,0x4000000,0x100003,0x11003400,0x24000000,
-0x100000,0x11003400,0x24000000,0x200000,0x11003500,0x24000000,0x200000,0x11003600,0x24000000,0x200000,0x11003600,0x24000000,0x14200000,0x11003600,0x24000020,0x200000,
-0x11003700,0x24000000,0x200000,0x11003700,0x24000000,0x4200000,0x11003700,0x24000000,0x4e00000,0x11003700,0x24000000,0x14200000,0x11003700,0x24000000,0x14e00000,0x11003700,
-0x24000000,0x96800000,0x11003700,0x24000020,0x4200000,0x11003800,0x4000000,0x100000,0x11003800,0x24000000,0x200000,0x11003800,0x24000000,0xb00000,0x11003800,0x24000000,
-0x1710000,0x11003800,0x24000000,0x4200000,0x11003800,0x24000000,0x4e00000,0x11003800,0x24000000,0x14200000,0x11003800,0x24000000,0x14b00000,0x11003800,0x24000000,0x14e00000,
-0x11003800,0x24000000,0x96800000,0x11005003,0x7c00100,0x220402,0x11005013,0x2802500,0x962460,0x11005013,0x4000020,0x200005,0x11005013,0x7c00100,0x2633801,0x11005013,
-0x7c00100,0x2633802,0x11005013,0x7c00100,0x2633805,0x11005019,0x7c00100,0x220402,0x11005100,0x24000000,0x810000,0x11005100,0x24000000,0x1410000,0x11005102,0x7000100,
-0x230408,0x11005102,0x7c00100,0x230404,0x11005102,0x7c00100,0x230407,0x11005102,0x7c00100,0x230408,0x11005102,0x7c00100,0x230409,0x11005201,0x2802400,0x962460,
-0x11005500,0x80000,0x1e18820,0x11005502,0x7000100,0x230408,0x11005502,0x7c00100,0x230404,0x11005502,0x7c00100,0x230407,0x11005502,0x7c00100,0x230408,0x11005502,
-0x7c00100,0x230409,0x11005667,0x1000,0,0x11020200,0x80004,0x418820,0x11020200,0x4000000,0x100006,0x11020200,0x4000000,0x10000f,0x11020200,0x4000400,
-0x100002,0x11020200,0x4000400,0x500002,0x11020200,0x6800c00,0x101000,0x11020200,0x24000000,0x100000,0x11020200,0x24000000,0x1400000,0x11020200,0x24000000,0x1500000,
-0x11020200,0x24000000,0x1600000,0x11020200,0x24000000,0x14200000,0x11020200,0x24000020,0x100000,0x11020200,0x24000020,0x1600000,0x11020219,0x7c00100,0x12040f,0x11020219,
-0x7c00100,0x220400,0x11020219,0x7c00100,0x220401,0x11020219,0x7c00100,0x250400,0x11020319,0x7c00100,0x220400,0x11020319,0x7c00100,0x220401,0x11020319,0x7c00100,
-0x220402,0x11020319,0x7c00100,0x250400,0x11020319,0x7c00100,0x250402,0x11020319,0x7d00100,0x220402,0x11020419,0x7c00100,0x220401,0x11020519,0x7c00100,0x220400,
-0x11020600,0x4000400,0x100002,0x11020600,0x4000400,0x200400,0x11020600,0x7c00500,0x130400,0x11020600,0x7c00d00,0x130400,0x11020701,0x2802400,0x962460,0x11020701,
-0x2802400,0x962461,0x11020701,0x2802400,0xc62460,0x1102080e,0x7c00100,0x220400,0x1102080e,0x7c00100,0x250400,0x11020908,0x7c00100,0x220400,0x11020908,0x7c00100,
-0x220401,0x11020908,0x7c00100,0x250400,0x11020908,0x7c00100,0x250401,0x11022800,0x24000000,0x100000,0x11022800,0x24000000,0x200000,0x11022800,0x24000000,0x200002,
-0x11022800,0x24000000,0x401000,0x11022800,0x24000000,0xf00002,0x11022800,0x24000000,0xf0ac02,0x11022800,0x24000000,0x1500000,0x11022800,0x24000002,0x100000,0x11022800,
-0x24000002,0x370000,0x11022800,0x24000002,0x470000,0x11022800,0x24000006,0x400000,0x11022800,0x24000008,0x1710000,0x11022800,0x24000008,0x1712c00,0x11022800,0x24000020,
-0x100000,0x11022800,0x24000020,0x1500000,0x11022800,0x24000020,0x1500002,0x11022900,0x4000000,0x10000e,0x11022900,0x4000000,0x10000f,0x11022919,0x7c00100,0x12040f,
-0x11022c00,0x4000000,0x100002,0x11022c00,0x4000000,0x1500002,0x11022c00,0x4000000,0x1600002,0x11022c00,0x4000000,0x1410000f,0x11022c00,0x7c00120,0x120405,0x11022c0e,
-0x7c00100,0x250401,0x11022c19,0x7c00100,0x150401,0x11022d00,0x4000000,0x100006,0x11022d00,0x4000000,0x200006,0x11022d19,0x7c00100,0x120402,0x11022d19,0x7c00100,
-0x150402,0x11022e00,0x24000000,0x200000,0x11022e00,0x24000020,0x100000,0x11022e00,0x24000020,0x14100000,0x11022f00,0x24000020,0x100000,0x11022f00,0x24000020,0x100001,
-0x11022f00,0x24000020,0x100002,0x11023000,0x24000000,0x100000,0x11023300,0x4000000,0x100002,0x11023300,0x4000000,0x100003,0x11023300,0x4000100,0x120403,0x11023300,
-0x4000100,0x150403,0x11023300,0x4000100,0x14150403,0x11023400,0x24000000,0x100000,0x11023500,0x24000000,0x100000,0x11023600,0x24000000,0x100000,0x11023600,0x24000020,
-0x100000,0x11023600,0x24000020,0x14100000,0x11023700,0x24000000,0x4100000,0x11023700,0x24000000,0x4e00000,0x11023700,0x24000000,0x14100000,0x11023700,0x24000000,0x14e00000,
-0x11023700,0x24000020,0x100000,0x11023700,0x24000020,0x4100000,0x11023700,0x24000020,0x14100000,0x11023800,0x4000000,0x100000,0x11023800,0x24000000,0x200000,0x11024e67,
-0,0,0x11025600,0x4000000,0x100000,0x11042a00,0x4000000,0x1600000,0x11045700,0x4000000,0x20000a,0x11045700,0x4000020,0x20000a,0x11045712,0x7c00100,
-0xe3040a,0x11045712,0x7c80100,0xe3040a,0x11045716,0x7c00100,0xe30c0a,0x11045716,0x7c00100,0x2530c0a,0x11063d00,0x4000001,0x445811,0x11065700,0x4000000,0x810011,
-0x11065700,0x4000000,0xe00011,0x11065700,0x4000000,0x1410011,0x11065700,0x4000000,0x1500011,0x11065700,0x4000000,0x1600011,0x11065700,0x4000006,0xe70011,0x11065700,
-0x4000008,0xe00011,0x11065700,0x4000008,0xe02c11,0x11065700,0x4000010,0x871411,0x11065700,0x4000010,0x1201411,0x11065700,0x4000010,0x1271011,0x11065700,0x4000020,
-0xe00011,0x11065700,0x4000400,0xe00011,0x11065700,0x4000420,0xe00011,0x11065700,0x6800000,0xe01c11,0x11065700,0x6800040,0xe00011,0x11065700,0xc000010,0x80ac11,
-0x11065700,0xc000010,0xb48011,0x11065719,0x7c00100,0xe20411,0x11065719,0x7c00100,0xe50411,0x11065719,0x7c00140,0xe20411,0x11065719,0x7c00140,0xe50411,0x11080100,
-0x6800000,0x201c00,0x11080100,0x68000c0,0x19329800,0x11080100,0x24000000,0x200000,0x11080100,0x24000000,0x810000,0x11080100,0x24000000,0x1410000,0x11080100,0x24000000,
-0x1500000,0x11080100,0x24000000,0x1600000,0x11080100,0x24000000,0x1b00000,0x11080100,0x24000000,0x2410000,0x11080100,0x24000000,0x18200000,0x11080100,0x24000006,0xd70000,
-0x11080100,0x24000008,0x1713c00,0x11080100,0x24000008,0x1714000,0x11080100,0x24000010,0x1001400,0x11080100,0x24000010,0x1071000,0x11080100,0x24000010,0x1071400,0x11080100,
-0x24000020,0x200000,0x11080100,0x24000020,0x400000,0x11080100,0x24000020,0x1600000,0x11080100,0x24000400,0x200000,0x11080100,0x24000420,0x200000,0x11080100,0x2c000010,
-0xb48000,0x11080100,0x2c000010,0x100ac00,0x11080100,0x44000001,0x1a45800,0x11080119,0x7c00100,0x220400,0x11080119,0x7c00100,0x250400,0x11080119,0x7c001c0,0x220400,
-0x11080119,0x7c001c0,0x250400,0x11080200,0x4000400,0x200002,0x11080200,0x24000000,0x200000,0x11080200,0x24000000,0x1500000,0x11080200,0x24000000,0x1600000,0x11080200,
-0x24000020,0x200000,0x110a1e12,0x7c00100,0x2130480,0x110a1e12,0x7c80100,0x2130480,0x110a3000,0x24000000,0x34e00000,0x110a3000,0x24100000,0x810001,0x110a3000,0x24100000,
-0x1410001,0x110a3700,0x24000000,0x34200000,0x110a3d00,0x4000000,0xe00000,0x110a3d00,0x4000000,0xe00002,0x110a3d00,0x24000000,0xe00000,0x110a3d11,0x7c00300,0xe30000,
-0x110a3d11,0x7c00900,0x1230400,0x110a3d12,0x2802400,0x962460,0x110a3e14,0x7c00100,0xe30000,0x110a3e14,0x7c00100,0xe30001,0x110a3e14,0x7c00100,0x2530000,0x110a3e14,
-0x7c00900,0x1230000,0x110a3e14,0x7c00900,0x1230001,0x110a3f16,0x7c00100,0xe30c00,0x110a3f16,0x7c00100,0xe30c01,0x110a3f16,0x7c00100,0x2530c00,0x110a3f16,0x7c00900,
-0x1230c00,0x110a3f16,0x7c00900,0x1230c01,0x110a4005,0x7c00100,0xe30400,0x110a4112,0x7c00100,0xe30402,0x110a4112,0x7c80100,0xe30402,0x110a4400,0x4000000,0xe00000,
-0x110a4412,0x4000000,0xe00002,0x110a4412,0x4000000,0xe00003,0x110a4416,0x4000000,0xe00c03,0x110a4500,0x4000000,0xe0000d,0x110a4516,0x4000000,0xe00c0d,0x110a4711,
-0x7c40300,0xe30000,0x110a4f11,0x7c00300,0xe30001,0x110a4f11,0x7c40300,0xe30000,0x110a5300,0x4000000,0x810010,0x110a5300,0x4000000,0xe00002,0x110a5300,0x4000000,
-0xe00010,0x110a5300,0x4000000,0x1410010,0x110a5300,0x4000002,0xe70010,0x110a5300,0x4000008,0x810010,0x110a5300,0x4000008,0x1410010,0x110a5300,0x6800000,0xe01c02,
-0x110a5300,0x6800000,0xe01c10,0x110a5400,0x4000000,0x81000c,0x110a5400,0x4000000,0xe0000c,0x110a5400,0x4000000,0x141000c,0x110a5400,0x4000000,0x150000c,0x110a5400,
-0x4000000,0x160000c,0x110a5400,0x4000002,0xe7000c,0x110a5400,0x4000010,0x87140c,0x110a5400,0x4000010,0xe7000c,0x110a5400,0x4000010,0x120140c,0x110a5400,0x4000010,
-0x127100c,0x110a5400,0x4000020,0xe0000c,0x110a5400,0x4000026,0xe7000c,0x110a5400,0xc000010,0x80ac0c,0x110a5400,0xc000010,0xb4800c,0x11400a0c,0xc000010,0x1049400,
-0x11400c0e,0x4000010,0xb00000,0x11400c0e,0x4000010,0x1071400,0x11400c0e,0xc000010,0xb48000,0x11400c17,0x7c00900,0x230400,0x11400f42,0xc000010,0x448000,0x11400f54,
-0xc000010,0x448000,0x11401d83,0x4000000,0x200000,0x11403dab,0x4000000,0xe00000,0x114457a0,0x4000004,0x120000a,0x114457a0,0x4000008,0x81000a,0x114457a0,0x4000008,
-0x141000a,0x114457a0,0x4000010,0x87000a,0x114457a0,0xc000010,0x84800a,0x114457a9,0x3802500,0x126246a,0x114457a9,0x7c00d00,0x2530c0a,0x114a3da0,0x24000000,0x810000,
-0x114a3da0,0x24000000,0x1410000,0x114a3da0,0x24000008,0x810000,0x114a3da0,0x24000008,0x1410000,0x114a3da0,0x24000010,0x870000,0x114a3da0,0x2c000010,0x848000,0x114a3da6,
-0x4000000,0xe00000,0x114a3da6,0x24000000,0xe00000,0x114a3da6,0x24000002,0x1200000,0x114a3da6,0x24000002,0x14e00000,0x114a3da6,0x24000008,0x810000,0x114a3da6,0x24000008,
-0x1410000,0x114a3da9,0x7c00900,0x930c00,0x114a3da9,0x7c00900,0xe30c00,0x114a3dab,0x7c00300,0xe30000,0x114a3ea9,0x7000400,0x1200c02,0x114a3fa0,0x4000004,0x1200000,
-0x114a3fa9,0x7c00d00,0x2530c00,0x114a42ab,0x4000000,0xe00000,0x114a42ab,0x4000000,0xe0000f,0x114a44ab,0x4000000,0xe00002,0x114a44ab,0x4000000,0xe00003,0x114a44ab,
-0x4000000,0x14e00003,0x114a45ab,0x4000000,0xe00002,0x114a45ab,0x4000000,0xe0000d,0x1180090a,0x2802400,0x962460,0x11800c1f,0x2802100,0x962460,0x11800c1f,0x2802500,
-0x962460,0x11800f29,0x2802400,0x962460,0x11800f36,0x2802400,0x962460,0x11820700,0x2802400,0x962460,0x11820700,0x2802500,0x962460,0x118a3dac,0x2802400,0x962460,
-0x118a3ea9,0x2802400,0x962460,0x11c00904,0x2802400,0x962460,0x11c00908,0x2802400,0x962460,0x11c00c23,0x6800000,0x1329800,0x11c00c27,0xc000010,0xb48000,0x11c00f6b,
-0x6800000,0x1329800,0x11c01070,0x6800000,0x1329800,0x11c01174,0x6800000,0x1329800,0x11c01278,0x6800000,0x1329800,0x11c0147c,0x4000000,0x200000,0x11c0147c,0x6800000,
-0x1329800,0x11c05123,0x7c00100,0x230408,0x20000067,0x1000,0,0x20000b13,0x2802400,0x962460,0x20000b13,0x2802500,0x962460,0x20001b27,0x2802100,0x962460,
-0x20001b27,0x2802100,0x962461,0x20001b27,0x2802400,0x962460,0x20001b27,0x2806400,0x962460,0x20001b27,0x2902100,0x962462,0x20001b27,0x4000000,0x200000,0x20001b27,
-0x4000000,0x400000,0x20001b27,0x4000000,0x500000,0x20001b27,0x4000000,0x810000,0x20001b27,0x4000000,0xb00000,0x20001b27,0x4000000,0xc0000b,0x20001b27,0x4000000,
-0x1410000,0x20001b27,0x4000010,0xb00000,0x20001b27,0x4000010,0xc00000,0x20001b27,0x6800000,0x1329800,0x20001b27,0x6800100,0x462540,0x20001b27,0x6800400,0x962540,
-0x20001b27,0x7c00100,0x230400,0x20001b27,0x7c00100,0x230401,0x20002619,0x7c00100,0x220401,0x20002a00,0x4000000,0x1600000,0x20004b67,0,0x1900020,0x20004c67,
-0,0x1900020,0x20004d67,0,0x1900020,0x20006d67,0x1000,0,0x20006e67,0x1000,0,0x20026d67,0,0,0x20026e67,0,
-0,0x200a4a12,0x7c00100,0x1f304c1,0x200a4a12,0x7c00100,0x20304e1,0x21005600,0x4000000,0x700000,0x21022a00,0x4000000,0x1600000,0x30000419,0x7c00100,0x220400,
-0x30000419,0x7c00100,0x220401,0x30000419,0x7c00100,0x250400,0x30000419,0x7c00100,0x250401,0x30000519,0x7c00100,0x220400,0x30000600,0x4000400,0x200400,0x30000600,
-0x7c00500,0x230400,0x30000605,0x4000400,0x200000,0x3000080e,0x7c00100,0x220400,0x30000908,0x2000,0x962460,0x30000908,0x7c00100,0x220400,0x30000908,0x7c00100,
-0x220401,0x30000908,0x7c00100,0x250400,0x30000908,0x7c00100,0x250401,0x30000a03,0x4000006,0x400000,0x30000c02,0x4000000,0x200000,0x30000c02,0x7c00100,0x230400,
-0x30000d22,0x2802100,0x962460,0x30000d22,0x2802400,0x962460,0x30000d22,0x2802500,0x962460,0x30000d22,0x4000000,0x200000,0x30000d22,0x4000010,0x200000,0x30000d22,
-0x7c00100,0x230400,0x30000d22,0xc000010,0x248000,0x30000d22,0x80000000,0x218960,0x30000e25,0x2802500,0x962460,0x30000e25,0x7c00100,0x230400,0x30001821,0x2802100,
-0x962460,0x30001821,0x2806400,0x962460,0x30001821,0x4000000,0x200000,0x30001821,0x6800100,0x962540,0x30001821,0x6800100,0x962541,0x30001821,0x7c00100,0x230400,
-0x30001b27,0x2802100,0x962460,0x30001b27,0x2802400,0x962460,0x30001b27,0x4000000,0x200000,0x30001b27,0x4000000,0x400000,0x30001b27,0x7c00100,0x230400,0x30001c1c,
-0x2802100,0x1862460,0x30001c1c,0x2802400,0x1862460,0x30001c1c,0x2806400,0x1862460,0x30001c1c,0x4000000,0x200000,0x30001c1c,0x6800100,0x1862400,0x30001c1c,0x6800100,
-0x1862540,0x30001c1c,0x7c00100,0x1830000,0x30001c1c,0x7c00100,0x1830001,0x30001c1c,0xc000010,0x448000,0x30001f0b,0x4000000,0x200000,0x30001f0b,0x4000010,0x200000,
-0x30001f0b,0x4000010,0x400000,0x30001f0b,0x6800000,0x200000,0x30001f0b,0x7c00100,0x230400,0x30001f0b,0xc000010,0x248000,0x30002006,0x7c00100,0x250400,0x30002128,
-0x4000010,0x200000,0x30002128,0x7c00100,0x230400,0x30002128,0xc000010,0x248000,0x3000221d,0x4000000,0x810000,0x3000221d,0x4000000,0x1410000,0x3000221d,0x4000001,
-0x445800,0x3000221d,0x7c00100,0x230400,0x30002300,0x4000010,0x400000,0x30002320,0x7c00100,0x230400,0x30002417,0x2802100,0x1862460,0x30002417,0x2802400,0x1862460,
-0x30002417,0x2806400,0x1862460,0x30002417,0x2882000,0x1862460,0x30002417,0x4000000,0x200000,0x30002417,0x4000000,0x400000,0x30002417,0x4000000,0x1600000,0x30002417,
-0x4000010,0x400000,0x30002417,0x4000010,0x1200000,0x30002417,0x6800000,0x1329800,0x30002417,0x6800100,0x1862540,0x30002417,0x7c00100,0x1830000,0x30002417,0x7d00100,
-0x1830000,0x3000251b,0x80000,0xc18820,0x3000251b,0x2802100,0x962460,0x3000251b,0x3c02100,0x962460,0x3000251b,0x4000000,0x200000,0x3000251b,0x4000006,0x500000,
-0x3000251b,0x4000010,0x400000,0x3000251b,0x4000010,0xb70000,0x3000251b,0x4000800,0x200000,0x3000251b,0x6800000,0x1329800,0x3000251b,0x7c00100,0x230400,0x3000251b,
-0x7c00900,0x230400,0x3000251b,0xc000010,0xb48000,0x3000251b,0x12882000,0x962460,0x30002800,0x4000001,0xc41c0b,0x30002800,0x24000000,0x200000,0x30002800,0x2c000010,
-0x1248002,0x30002800,0x2c000010,0x15248002,0x30002a00,0x4000000,0x1600000,0x30002b01,0x2000,0x962460,0x30002b01,0x2000,0x8962460,0x30002c00,0x4000000,0x200000,
-0x30002c00,0x7c00100,0x14220405,0x30002d19,0x7c00100,0x250400,0x30002e00,0x24000000,0x200000,0x30003000,0x24000000,0x200000,0x30003000,0x24000000,0x4200000,0x30003100,
-0x24000000,0x200000,0x30003600,0x24000000,0x200000,0x30003700,0x24000000,0x4200000,0x3000392e,0x24000000,0x200000,0x30005013,0x7c00100,0x2633801,0x30005600,0,
-0x918820,0x30020600,0x4000400,0x500400,0x30020701,0x2802400,0x962460,0x30020701,0x2802400,0xc62460,0x300a3a11,0x4020000,0xe00000,0x300a3a11,0x4020000,0xe00002,
-0x300a3b11,0x4020000,0xe00002,0x300a3c00,0x4008000,0xe00000,0x300a3c00,0x4010000,0xe00000,0x300a3d11,0x7c00300,0xe30002,0x300a4305,0x7c00100,0xe30400,0x300a4611,
-0x7c40300,0xe30000,0x300a4829,0x7c00100,0xe30400,0x300a4829,0x7c00900,0x1230400,0x300a4929,0x4000000,0xe00000,0x30402589,0x4000010,0x400000,0x30402589,0x4000010,
-0xb70000,0x30402589,0xc000010,0xb48000,0x304a3dab,0x4000000,0xe00000,0x30800c1f,0x2802100,0x962460,0x30c01c81,0x6800000,0x1329800,0x3100080e,0x7c00120,0x220402,
-0x3100080e,0x7c00120,0x250402,0x31005167,0x1000,0,0x3100581e,0x4000000,0x200000,0x3100581e,0x7c00100,0x230400,0x3100590d,0x7c00100,0x230400,0x31005a09,
-0x7c00100,0x220400,0x31005a09,0x7c00100,0x250400,0x31005b00,0x4000000,0x200000,0x31005c00,0x80000,0x918820,0x31005c00,0x2802000,0x962460,0x31005c00,0x2802400,
-0x962460,0x31005c00,0x4000000,0x200000,0x31005c00,0x4000000,0x200001,0x31005c00,0x6800000,0x962540,0x31005c00,0x6800400,0x962540,0x31005c01,0x2802400,0x962460,
-0x31005d00,0x4000020,0x200005,0x31005d00,0x6800020,0x1329805,0x31005d00,0x7c00120,0x220405,0x31005d00,0x7c00120,0x250405,0x31006000,0x82000,0x8962460,0x31006000,
-0x180000,0x918820,0x310a5e11,0x7c40300,0xe30000,0x310a5f11,0x7c00300,0xe30001,0x32000419,0x7c00100,0x250400,0x3200080e,0x4000020,0x200000,0x3200080e,0x7c00100,
-0x220400,0x3200080e,0x7c00100,0x250400,0x32000908,0x7c00100,0x220400,0x32000908,0x7c00100,0x250400,0x32000c02,0x7c00100,0x230400,0x32000e25,0x7c00100,0x230400,
-0x32001d0c,0x7c00100,0x220400,0x32002800,0x80000,0x1e18820,0x32002800,0x80020,0x218820,0x32002800,0x4000001,0x445802,0x32002800,0x24000000,0x200000,0x32002800,
-0x24000000,0x200002,0x32002800,0x24000020,0x200000,0x32002800,0x2c000010,0x1248002,0x32002919,0x7c00100,0x22040f,0x32002a00,0x4000000,0x1600000,0x32002b01,0x2000,
-0x962460,0x32002b01,0x2802000,0x962460,0x32002b01,0x2802020,0x962460,0x32002c00,0x4000000,0x200000,0x32002c00,0x4000020,0x200000,0x32002c00,0x4000020,0x200005,
-0x32002c00,0x7c00120,0x220405,0x32002c00,0x7c00120,0x250405,0x32002e00,0x24000020,0x200000,0x32002f00,0x24000020,0x200000,0x32003000,0x24000000,0x200000,0x32003000,
-0x24000020,0x200000,0x32003500,0x24000000,0x200000,0x32003600,0x24000020,0x200000,0x32003600,0x24000020,0x14200000,0x32003700,0x24000000,0x200000,0x32003700,0x24000000,
-0x4100000,0x32003700,0x24000000,0x4200000,0x32003700,0x24000000,0x14200000,0x32003800,0x24000000,0x810000,0x32003800,0x24000000,0x1410000,0x32005102,0x4000000,0x1500008,
-0x32005502,0x7c00100,0x230400,0x32006108,0x7c00100,0x220400,0x32006108,0x7c00100,0x250400,0x3200622a,0x2802100,0x962460,0x3200622a,0x2806000,0x962460,0x3200622a,
-0x7c00100,0x230400,0x3200632b,0x2802100,0x962460,0x3200632b,0x2806000,0x962460,0x3200632b,0x7c00100,0x230400,0x3200642c,0x2802100,0x962460,0x3200642c,0x7c00100,
-0x230400,0x3200652d,0x2802100,0x962460,0x3200652d,0x7c00100,0x230400,0x32006600,0x24000020,0x200000,0x32006700,0x24000020,0x200000,0x32006800,0x24000020,0x200000,
-0x32006800,0x24000020,0x14200000,0x32006900,0x24000020,0x200000,0x32006900,0x24000020,0x810000,0x32006900,0x24000020,0x1410000,0x32006a00,0x24000020,0x200000,0x32006a00,
-0x24000020,0x200001,0x32006a00,0x24000020,0x200002,0x32020701,0x2882000,0xc62460,0x32023300,0x4000000,0x100000,0x32026c01,0x12882000,0x962460,0x32026c01,0x12882000,
-0x8962460,0x32065700,0x4000000,0x810011,0x32065700,0x4000000,0x1410011,0x32086600,0x24000020,0x810000,0x32086600,0x24000020,0x1410000,0x32086900,0x24000020,0x810000,
-0x32086900,0x24000020,0x1410000,0x320a3600,0x24000020,0x34200000,0x320a3d11,0x7c00100,0x1230400,0x320a3e14,0x7c00100,0xe30010,0x320a3e14,0x7c00100,0x2530000,0x320a3f16,
-0x7c00100,0xe30c10,0x320a4400,0x4000000,0xe00003,0x320a4929,0x4000000,0xe00000,0x320a4f11,0x7c00300,0xe30001,0x320a6b16,0x7c00100,0x2530c00,0x32406385,0xc000010,
-0x448000,0x324a3dae,0x4000000,0x14e00000,0x324a3dae,0x7c00100,0x1230400,0x324a3fa9,0x4000002,0x1200c00,0x324a53a6,0x24000000,0xe00000,0x32820701,0x2802000,0x962460,
-0x40000419,0x7c00100,0x220400,0x40000519,0x7c00100,0x220400,0x40000600,0x4000400,0x200400,0x4000080e,0x7c00100,0x220400,0x4000080e,0x7c00100,0x250400,0x4000080e,
-0x7c00100,0x250402,0x40000c02,0x2802100,0x962460,0x40000c02,0x2802400,0x962460,0x40000c02,0x2802500,0x962460,0x40000c02,0x4000000,0x200000,0x40000c02,0x4000000,
-0x1071400,0x40000c02,0x7c00100,0x230400,0x40000c02,0x80000000,0x218960,0x40000d22,0x7c00100,0x230400,0x40000f0a,0x7c00100,0x230400,0x40001004,0x7c00100,0x230400,
-0x40001110,0x2802100,0x962460,0x40001110,0x6800100,0x962540,0x4000120f,0x2802100,0x962460,0x4000120f,0x4000000,0x1600000,0x4000120f,0x7c00100,0x230400,0x4000131f,
-0x7c00100,0x230400,0x40001423,0x4000000,0x200000,0x40001423,0x4000000,0x1600000,0x40001615,0x2802400,0x962460,0x40001615,0x7c00100,0x230400,0x40002417,0x2802400,
-0x1862460,0x40002417,0x4000000,0x200000,0x40002800,0x6800000,0x201c00,0x40002800,0x24000002,0x200000,0x40002c00,0x4000000,0x200002,0x40003000,0x24000000,0x14200000,
-0x40003000,0x24000020,0x200000,0x40003700,0x24000000,0x200000,0x40003700,0x24000000,0x4200000,0x40003700,0x24000000,0x14200000,0x40005a09,0x7c00100,0x220400,0x40005a09,
-0x7c00100,0x250400,0x40005d00,0x7c00120,0x220405,0x40006f30,0x2802100,0x962460,0x40006f30,0x2802400,0x962460,0x40006f30,0x4000000,0x200000,0x40006f30,0x6800000,
-0x1329800,0x40006f30,0x6800100,0x962540,0x40006f30,0x7c00100,0x230400,0x40006f30,0xc000010,0xb48000,0x40007034,0x7c00100,0x1830000,0x40007117,0x4000000,0x200000,
-0x40007208,0x7c00100,0x220400,0x4000720e,0x7c00100,0x220400,0x4000720e,0x7c00500,0x22040e,0x4000720e,0x7c00500,0x22040f,0x40007219,0x7c00100,0x220400,0x40007219,
-0x7c00500,0x220400,0x40007219,0x7c00500,0x22040e,0x40007219,0x7c00500,0x22040f,0x40007300,0x24000000,0x200000,0x40007300,0x24000000,0x14200000,0x40007400,0x4000000,
-0x200000,0x40007531,0x7c00100,0x230400,0x40007631,0x7c00100,0x230400,0x40007835,0x4000010,0x400000,0x40007835,0x7c00100,0x230400,0x40007933,0x7c00100,0x230400,
-0x40007a32,0x6800000,0x1329800,0x40007a32,0x7c00100,0x230400,0x40007b2f,0x7c00100,0x230400,0x40007c00,0x4000000,0x200000,0x40020701,0x2802400,0x962460,0x40020701,
-0x2802400,0xc62460,0x40023300,0x4000000,0x200000,0x40027d01,0x12882000,0x962460,0x400a3700,0x24000000,0x34200000,0x400a3700,0x24000000,0x34e00000,0x400a4400,0x4000000,
-0xe0000d,0x400a4412,0x4000000,0xe00002,0x400a4412,0x4000000,0xe00003,0x400a4500,0x4000000,0xe0000d,0x400a5300,0x4000000,0x810010,0x400a5300,0x4000000,0x1410010,
-0x404077e0,0x4000000,0x200000,0x404077e3,0x4000000,0x200000,0x404077e3,0x4000000,0x400000,0x40c0147c,0x4000000,0x200000,0x40c05123,0x4000000,0x200000,0x41000419,
-0x7c00100,0x220400,0x41000419,0x7c00100,0x250400,0x4100080e,0x7c00100,0x220400,0x4100080e,0x7c00100,0x250400,0x41000908,0x7c00100,0x220400,0x41000908,0x7c00100,
-0x250400,0x41000b13,0x2802000,0x962460,0x41000b13,0x2802100,0x962460,0x41000b13,0x4000000,0xb00000,0x41000c02,0x2802100,0x962460,0x41000c02,0x4000000,0x1500000,
-0x41000c02,0xc000010,0xb48000,0x41000f0a,0x7c00100,0x230400,0x41001004,0x7c00100,0x230400,0x41001423,0x7c00100,0x230400,0x41001b27,0x4000000,0x500000,0x41001d0c,
-0x7c00100,0x220400,0x41001d0c,0x7c00100,0x23040f,0x41001f0b,0x2802100,0x962460,0x41001f0b,0x4000000,0x200000,0x41001f0b,0x7c00100,0x230400,0x41002800,0x24000000,
-0x200000,0x41002800,0x24000000,0x400000,0x41002919,0x7c00100,0x22040e,0x41002a00,0x4000000,0x1600000,0x41002b01,0x2802020,0x962460,0x41002c00,0x4000000,0x200000,
-0x41002c00,0x7c00120,0x220405,0x41003000,0x24000000,0x200000,0x41003700,0x24000000,0x4200000,0x41003700,0x24000000,0x14200000,0x41003700,0x24000000,0x14e00000,0x41005d00,
-0x7c00120,0x220405,0x41006600,0x24000020,0x200000,0x41006600,0x24000020,0x810000,0x41006600,0x24000020,0x1410000,0x41007208,0x7c00100,0x22040f,0x41007219,0x7c00100,
-0x220400,0x41007300,0x24000000,0x200000,0x41007e0e,0x2802000,0x962460,0x41007e0e,0x4000000,0x200000,0x41007f0e,0x4000000,0x200000,0x41007f0e,0x7c00100,0x230400,
-0x41008002,0x7c00100,0x230400,0x41008137,0x2802100,0x962460,0x41008137,0x4000000,0x200000,0x41008137,0x6800100,0x962540,0x41008137,0x7c00100,0x230400,0x41008301,
-0x2802000,0x962460,0x41008407,0x4000000,0x200000,0x41008407,0x4000000,0x400000,0x41008407,0x4000000,0xb00000,0x41008407,0x7c00100,0x220400,0x41008407,0x7c00100,
-0x250400,0x4100850b,0x7c00100,0x230400,0x4100860b,0x4000000,0x200000,0x4100860b,0x7c00100,0x230400,0x4100870c,0x7c00100,0x220400,0x41008838,0x7c00100,0x220400,
-0x41008838,0x7c00100,0x250400,0x41008939,0x2802000,0x962460,0x41008939,0x2802100,0x962460,0x41008939,0x2806000,0x962460,0x41008939,0x4000000,0x200000,0x41008939,
-0x4000000,0x400000,0x41008939,0x7c00100,0x230400,0x41008939,0xc000010,0x448000,0x41008a00,0x4000000,0x200000,0x41008b3b,0x4000000,0x1800000,0x41008b3b,0x6800000,
-0x1329800,0x41008b3b,0x7c00100,0x1830000,0x41008b3b,0x7e00100,0x1830000,0x41008c3d,0x4000010,0x400000,0x41008c3d,0x7c00100,0x230400,0x41008d0e,0x7c00100,0x22040f,
-0x41008d19,0x7c00100,0x220400,0x41008d19,0x7c00100,0x22040f,0x41008e00,0x24000000,0x200000,0x41008e00,0x24000000,0x400000,0x41008e00,0x24000000,0x1710000,0x41008e00,
-0x24000006,0x400000,0x41008f3a,0x2802000,0x962460,0x41008f3a,0x2802100,0x962460,0x41008f3a,0x2806000,0x962460,0x41008f3a,0x4000000,0x200000,0x41008f3a,0x6800100,
-0x962540,0x41008f3a,0x7c00100,0x230400,0x4100903c,0x7c00100,0x230400,0x4100903c,0x7c00100,0x23040f,0x41020701,0x2802000,0x962460,0x41020701,0x2802000,0xc62460,
-0x410a3700,0x24000000,0x34200000,0x410a3700,0x24000000,0x34e00000,0x410a4412,0x4000000,0xe00003,0x410a4711,0x7c40300,0xe30000,0x410a4f11,0x7c00300,0xe30001,0x410a9100,
-0x4000000,0x800010,0x410a9100,0x4000000,0x810010,0x410a9100,0x4000000,0x870010,0x410a9100,0x4000000,0xb00010,0x410a9100,0x4000000,0xf00010,0x410a9100,0x4000000,
-0x1001410,0x410a9100,0x4000000,0x1071010,0x410a9100,0x4000000,0x1071410,0x410a9100,0x4000000,0x1410010,0x414a82ab,0x4000000,0xe00000,0x41808300,0x2802000,0x962460,
-0x41c0147c,0x6800000,0x1329800,0x50000419,0x7c00100,0x220400,0x50000419,0x7c00100,0x250400,0x5000080e,0x7c00100,0x220400,0x50000908,0x7c00100,0x220400,0x50000908,
-0x7c00100,0x250400,0x50000b13,0x2802500,0x962460,0x50000f0a,0x7c00100,0x230400,0x50001615,0x2802100,0x962460,0x50001615,0x7c00100,0x230400,0x50002b01,0x2802020,
-0x962460,0x50002c00,0x4000000,0x200000,0x50002c19,0x7c00100,0x220400,0x50002d19,0x7c00100,0x220400,0x50003000,0x24000000,0x200000,0x50003000,0x24000020,0x200000,
-0x50003700,0x24000000,0x4200000,0x50005d00,0x7c00120,0x220405,0x50005d00,0x7c00120,0x250405,0x50006108,0x7c00100,0x220400,0x50006108,0x7c00100,0x250400,0x50006600,
-0x24000020,0x200000,0x50007300,0x24000000,0x200000,0x50008301,0x2802400,0x962460,0x50008a00,0x7c00500,0x230400,0x50009257,0x2802400,0x962460,0x50009257,0x4000000,
-0x200000,0x50009257,0x4000010,0x1071400,0x50009257,0x6800000,0x1329800,0x50009257,0x7c00100,0x230400,0x50009257,0x7c00500,0x230400,0x50009257,0x7c00900,0x230400,
-0x50009257,0xc000010,0xb48000,0x5000933e,0x2802100,0x962460,0x5000933e,0x2802400,0x962460,0x5000933e,0x4000000,0x200000,0x5000933e,0x4000000,0x400000,0x5000933e,
-0x4000010,0x400000,0x5000933e,0x6800000,0x1329800,0x5000933e,0x6800100,0x962540,0x5000933e,0x6800100,0x962541,0x5000933e,0x6804400,0x962540,0x5000933e,0x7c00100,
-0x230400,0x5000933e,0x7c00100,0x230401,0x5000933e,0xc000010,0x448000,0x50009419,0x7c00100,0x220400,0x50009419,0x7c00100,0x250400,0x50009500,0x4000400,0x200400,
-0x5000965a,0x4000000,0x500000,0x5000965a,0x7c00100,0x230400,0x5000965a,0xc000010,0xb48000,0x5000975b,0x4000000,0x200000,0x5000975b,0x4000010,0x400000,0x5000975b,
-0x7c00100,0x230400,0x50009865,0x7c00100,0x230400,0x50009965,0x4000010,0x400000,0x50009965,0x7c00100,0x230400,0x50409aab,0x4000000,0x200000,0x5100080e,0x7c00100,
-0x220400,0x5100080e,0x7c00100,0x250400,0x51000c02,0x2802100,0x962460,0x51000c02,0x4000000,0x1500000,0x51000c02,0x4000020,0x200000,0x51000c02,0x7c00100,0x230400,
-0x51000f0a,0x7c00100,0x230400,0x51000f0a,0x7c00500,0x230400,0x51001110,0x2802100,0x962460,0x5100131f,0x2802100,0x962460,0x51001423,0x7c00100,0x230400,0x51001524,
-0x2802100,0x962460,0x51001524,0x4000000,0x200000,0x51001524,0x7c00100,0x230400,0x5100171a,0x2802100,0x962460,0x5100171a,0x4000000,0x200000,0x5100171a,0x4000000,
-0x1500000,0x5100171a,0x7c00100,0x230400,0x51001b27,0x4000000,0x200000,0x51001b27,0x4000000,0x400000,0x51001b27,0x4000000,0x500000,0x51001b27,0x7c00100,0x230400,
-0x51001c1c,0x2802100,0x1862460,0x51001c1c,0x2802400,0x1862460,0x51001c1c,0x2806400,0x1862460,0x51001c1c,0x4000000,0x1800000,0x51001c1c,0x6800000,0x1329800,0x51001c1c,
-0x6800000,0x1862400,0x51001c1c,0x6800100,0x1862400,0x51001c1c,0x6800100,0x1862540,0x51001c1c,0x6800400,0x1862400,0x51001c1c,0x7c00100,0x1830000,0x5100251b,0x7c00100,
-0x230400,0x51002619,0x7c00100,0x220400,0x51002619,0x7c00100,0x250400,0x51002800,0x80020,0x218820,0x51002c00,0x4000000,0x200000,0x51002d19,0x7c00100,0x230400,
-0x51003700,0x24000000,0x4200000,0x51003700,0x24000000,0x4e00000,0x51005201,0x2802400,0x962460,0x51005c00,0x4000000,0x200000,0x51006108,0x7c00100,0x220400,0x51006108,
-0x7c00100,0x250400,0x51006600,0x24000020,0x200000,0x51006600,0x24000020,0x810000,0x51006600,0x24000020,0x1410000,0x51007300,0x24000000,0x200000,0x51007300,0x24000020,
-0x200000,0x51008002,0x7c00100,0x230400,0x51008301,0x2802000,0x962460,0x51008301,0x2802400,0x962460,0x51008a00,0x7c00500,0x230400,0x51008e00,0x24000000,0x200000,
-0x51008e00,0x24000000,0x400000,0x51008e00,0x24000000,0x810000,0x51008e00,0x24000000,0x1400000,0x51008e00,0x24000000,0x1410000,0x51008e00,0x24000000,0x1710000,0x51008e00,
-0x24000002,0x200000,0x51008e00,0x24000500,0x230400,0x51008e00,0x2c000010,0xb48000,0x51009419,0x7c00100,0x220400,0x51009419,0x7c00100,0x22040e,0x51009419,0x7c00100,
-0x22040f,0x51009419,0x7c00100,0x250400,0x51009500,0x4000000,0x200400,0x51009500,0x7c00500,0x230400,0x51009519,0x7c00100,0x220400,0x51009519,0x7c00100,0x22040f,
-0x51009519,0x7c00100,0x230400,0x51009519,0x7c00100,0x250400,0x51009b71,0x2802100,0x962460,0x51009b71,0x6800000,0x1329800,0x51009b71,0x6800100,0x962540,0x51009b71,
-0x6804400,0x962540,0x51009b71,0x7c00100,0x230400,0x51009c52,0x2802100,0x962460,0x51009c52,0x2802400,0x962460,0x51009c52,0x2802c00,0x962460,0x51009c52,0x4000010,
-0x400000,0x51009c52,0x6800000,0x1329800,0x51009c52,0x6800100,0x962540,0x51009c52,0x7c00100,0x230400,0x51009c52,0xc000010,0x448000,0x51009d6d,0x6800000,0x1329800,
-0x51009d6d,0x7c00100,0x230400,0x51009d6d,0x7c00500,0x230400,0x51009d6d,0x7c00d00,0x230400,0x51009d6d,0xc000010,0x448000,0x51009e08,0x2802100,0x962460,0x51009f63,
-0x4000010,0x400000,0x51009f63,0x6800000,0x1329800,0x51009f63,0x7c00100,0x230400,0x51009f63,0x7c00900,0x230400,0x51009f63,0xc000010,0x448000,0x51009f63,0xc000010,
-0xb48000,0x5100a008,0x2000,0x962460,0x5100a008,0x2802400,0x962460,0x5100a008,0x4000000,0x200000,0x5100a008,0x7c00100,0x220400,0x5100a008,0x7c00100,0x230400,
-0x5100a008,0x7c00100,0x250400,0x5100a008,0x7c00500,0x230400,0x5100a16f,0x2806400,0x962460,0x5100a16f,0x6800000,0x1329800,0x5100a16f,0x6800100,0x962540,0x5100a16f,
-0x7c00100,0x230400,0x5100a16f,0xc000010,0x448000,0x5100a24f,0x2802100,0x962460,0x5100a24f,0x2802400,0x962460,0x5100a24f,0x6800000,0x1329800,0x5100a24f,0x7c00100,
-0x230400,0x5100a24f,0xc000010,0x448000,0x5100a36e,0x2802100,0x962460,0x5100a36e,0x4000000,0x200000,0x5100a36e,0x6800100,0x962540,0x5100a36e,0x6804400,0x962540,
-0x5100a36e,0x7c00100,0x230400,0x5100a442,0x2802100,0x962460,0x5100a442,0x4000000,0x200000,0x5100a442,0x6800000,0x1329800,0x5100a442,0x6800100,0x962540,0x5100a442,
-0x7c00100,0x230400,0x5100a442,0xc000010,0x448000,0x5100a500,0x4000000,0x200000,0x5100a600,0x4000000,0x200000,0x5100a601,0x2802000,0x962460,0x5100a76b,0x7c00100,
-0x230400,0x5100a868,0x7c00100,0x230400,0x5100a96c,0x4000000,0x200000,0x5100a96c,0x7c00100,0x230400,0x5100aa00,0x4000000,0x4e00000,0x5100ab00,0x4000000,0x4e00000,
-0x51086600,0x24000020,0x810000,0x51086600,0x24000020,0x1410000,0x510a4005,0x7c00100,0xe30400,0x510a4711,0x7c40300,0xe30000,0x510a7300,0x24000000,0x34200000,0x510aaa00,
-0x4000000,0x34e00000,0x5140a2db,0x4000400,0x400000,0x514a82ab,0x4000000,0xe00000,0x51802b9d,0x2802000,0x962460,0x51c00908,0x2802400,0x962460,0x51c0a008,0x2802400,
-0x962460,0x52000f0a,0x2802100,0x962460,0x52000f0a,0x6800100,0x962540,0x52000f0a,0x7c00100,0x230400,0x52001004,0x4000000,0x1600000,0x52001b00,0x4000000,0x200000,
-0x52001c1c,0x2802100,0x1862460,0x52001c1c,0x6800100,0x1862400,0x52001c1c,0x6800400,0x1862400,0x52001e12,0x7c00100,0x2230500,0x52001e12,0x7c00100,0x2330520,0x52002128,
-0x4000002,0x400000,0x52002128,0x7c00100,0x230400,0x52002a00,0x4000000,0x1500000,0x52002a00,0x4000000,0x1600000,0x52002d00,0x4000000,0x200006,0x52003000,0x24000000,
-0x200000,0x52006108,0x7c00100,0x220400,0x52006108,0x7c00100,0x250400,0x52008301,0x2802400,0x962460,0x52008407,0x2802400,0x962460,0x52008407,0x7c00100,0x220400,
-0x52008407,0x7c00100,0x250400,0x52008b3b,0x6800000,0x1800000,0x52008b3b,0x7c00100,0x1830000,0x52008e00,0x24000000,0x400000,0x52009419,0x7c00100,0x250400,0x5200975b,
-0x4000000,0x200000,0x5200ac7e,0x2802000,0x962460,0x5200ac7e,0x2802100,0x962460,0x5200ac7e,0x2802400,0x962460,0x5200ac7e,0x4000010,0x200000,0x5200ac7e,0x7c00100,
-0x230400,0x5200ac7e,0xc000010,0x248000,0x5200ad28,0x7c00100,0x230400,0x5200ae6a,0x2802100,0x1862460,0x5200ae6a,0x2802400,0x962460,0x5200ae6a,0x2802400,0x1862460,
-0x5200ae6a,0x2806000,0x1862460,0x5200ae6a,0x4000000,0x1800000,0x5200ae6a,0x6800000,0x1329800,0x5200ae6a,0x6800100,0x1862400,0x5200ae6a,0x6800100,0x1862540,0x5200ae6a,
-0x7c00100,0x1830000,0x5200ae6a,0x7c00900,0x1830000,0x5200ae6a,0xc000010,0x1848000,0x5200b083,0x4000010,0x400000,0x5200b083,0x7c00100,0x230400,0x5200b083,0xc000010,
-0x448000,0x5200b182,0x2802400,0x962460,0x5200b182,0x4000000,0x200000,0x5200b182,0x4000010,0x400000,0x5200b182,0x7c00100,0x230400,0x5200b182,0xc000010,0x448000,
-0x5200b30a,0x2802400,0x962460,0x5200b30a,0x4000000,0x200000,0x5200b30a,0x7c00100,0x230400,0x5200b54e,0x2802100,0x962460,0x5200b54e,0x2802400,0x962460,0x5200b54e,
-0x4000000,0x200000,0x5200b54e,0x4000010,0x400000,0x5200b54e,0x6800000,0x1329800,0x5200b54e,0x6800100,0x962540,0x5200b54e,0x6804400,0x962540,0x5200b54e,0x7c00100,
-0x230400,0x5200b54e,0xc000010,0x448000,0x5200b61c,0x4000000,0x1800000,0x5200b61c,0x6800400,0x1862400,0x5200b61c,0x7c00100,0x1830000,0x5200b61c,0x7c00900,0x1830000,
-0x5200b77f,0x2802100,0x1862460,0x5200b77f,0x2802400,0x1862460,0x5200b77f,0x4000000,0x1800000,0x5200b77f,0x4000010,0x1800000,0x5200b77f,0x7c00100,0x1830000,0x5200b77f,
-0x7c00500,0x1830000,0x5200b77f,0x7c00900,0x1830000,0x5200b77f,0x7e00100,0x1830000,0x5200b873,0x2802100,0x962460,0x5200b873,0x2806400,0x962460,0x5200b873,0x6800000,
-0x1329800,0x5200b873,0x6800100,0x962540,0x5200b873,0x6800400,0x962540,0x5200b873,0x7c00100,0x230400,0x5200b873,0xc000010,0x448000,0x5200b912,0x7c00100,0x2230500,
-0x5200b912,0x7c00100,0x2330520,0x5200ba74,0x4000000,0x200000,0x5200ba74,0x4000010,0x400000,0x5200ba74,0x7c00100,0x230400,0x5200bb85,0x4000000,0x200000,0x5200bb85,
-0x7c00100,0x230400,0x5200bc75,0x4000000,0x400000,0x5200bc75,0x4000010,0x400000,0x5200bc75,0x7c00100,0x230400,0x5200bd7d,0x4000000,0x200000,0x5200bd7d,0x7c00100,
-0x230400,0x5200be7a,0x4000000,0x200000,0x5200be7a,0x7c00100,0x230400,0x5200bf58,0x7c00100,0x230400,0x5200c002,0x4000000,0x200000,0x5200c178,0x2802000,0x962460,
-0x5200c178,0x2802100,0x962460,0x5200c178,0x2802400,0x962460,0x5200c178,0x2806400,0x962460,0x5200c178,0x4000000,0x200000,0x5200c178,0x6800100,0x962540,0x5200c178,
-0x7c00100,0x230400,0x5200c178,0x7c00100,0x230401,0x5200c178,0xc000010,0x448000,0x5200c178,0x80000000,0x218960,0x5200c247,0x7c00100,0x230400,0x5200c247,0x7c00100,
-0x830400,0x5200c247,0x7c00100,0x1430400,0x5200c300,0x4000000,0x200003,0x52022d00,0x4000000,0x100006,0x52023700,0x24000000,0x4100000,0x52023700,0x24000000,0x4e00000,
-0x52023700,0x24000000,0x14100000,0x52023700,0x24000000,0x14e00000,0x52023700,0x24000000,0x96800000,0x52024400,0x4000000,0x100000,0x52027300,0x24000000,0x100000,0x5202c300,
-0x4000000,0x100000,0x5202c300,0x4000000,0x100002,0x5202c300,0x4000000,0x100003,0x5202c300,0x4000000,0x10000d,0x5202c300,0x4000100,0x150400,0x5202c300,0x4000100,
-0x15040d,0x5202c300,0x4000100,0x14150400,0x520a1e12,0x7c00100,0x2130480,0x520a3700,0x24000000,0x34e00000,0x520a3800,0x24000000,0x34100000,0x520a4711,0x7c40300,0xe30000,
-0x520a4f11,0x7c00300,0xe30001,0x520a7300,0x24000000,0x34100000,0x520ab412,0x7c00100,0x2130480,0x520ac400,0x4000000,0xe00002,0x520ac400,0x4000000,0xe0000d,0x520ac400,
-0x4000000,0x34e0000d,0x520ac414,0x4000000,0xe0000d,0x520ac511,0x7c40300,0xe30000,0x5240af8b,0x7c00100,0x230400,0x5240af90,0x4000400,0x200000,0x5240af90,0x6800100,
-0x962540,0x5240af92,0x6800400,0x962540,0x5240af92,0x7c00100,0x230400,0x5240b2b1,0x4000000,0x200000,0x5240b2b1,0x4000000,0x1500000,0x5240b2bc,0x4000000,0x200000,
-0x5240b2c9,0x4000000,0x200000,0x5240b5de,0x7c00900,0x230400,0x524a44ab,0x4000000,0xe00003,0x5280af8b,0x2802400,0x962460,0x5280af8c,0x2802400,0x962460,0x5280af92,
-0x2802400,0x962460,0x5280af94,0x2802400,0x962460,0x5280af96,0x2802400,0x962460,0x52c0b3d5,0x2802400,0x962460,0x52c0b3d9,0x7c00100,0x230400,0x60000c02,0x2802100,
-0x962460,0x60000c02,0x7c00100,0x230400,0x60000f0a,0x2802100,0x962460,0x60000f0a,0x6800100,0x962540,0x60000f0a,0x7c00100,0x230400,0x6000131f,0x4000000,0x200000,
-0x6000171a,0x7c00100,0x230400,0x6000171a,0x7c00100,0x230560,0x60001b27,0x2802100,0x962460,0x60001b27,0x4000000,0xc00000,0x60001b27,0x7c00100,0x230400,0x60001f0b,
-0x2802000,0x962460,0x60002919,0x7c00100,0x22040e,0x60002a00,0x4000000,0x1600000,0x60003000,0x24000000,0x14200000,0x60003000,0x24000000,0x14e00000,0x60003700,0x24000000,
-0x4200000,0x60003800,0x24000000,0x1710000,0x60005102,0x4000000,0x200000,0x60006108,0x7c00100,0x220400,0x60006108,0x7c00100,0x250400,0x60006600,0x24000020,0x200000,
-0x60008301,0x2802000,0x962460,0x6000903c,0x2806000,0x962460,0x6000903c,0x4000000,0x400000,0x60009519,0x7c00100,0x220400,0x60009519,0x7c00100,0x250400,0x6000a008,
-0x7c00100,0x220400,0x6000a008,0x7c00100,0x250400,0x6000c300,0x4000000,0x3a703580,0x6000c654,0x2802000,0x962460,0x6000c654,0x4000010,0x200000,0x6000c654,0x7c00100,
-0x230400,0x6000c73f,0x2802000,0x962460,0x6000c73f,0x2802100,0x962460,0x6000c73f,0x4000000,0x200000,0x6000c73f,0x6800100,0x962540,0x6000c73f,0x6804000,0x962540,
-0x6000c73f,0x7c00100,0x230400,0x6000c80b,0x7c00100,0x230400,0x6000c941,0x2802100,0x962460,0x6000c941,0x2806000,0x962460,0x6000c941,0x4000000,0x200000,0x6000c941,
-0x4000010,0x200000,0x6000c941,0x6800000,0x1329800,0x6000c941,0x6800100,0x962540,0x6000c941,0x7c00100,0x230400,0x6000c941,0xc000010,0x448000,0x6000ca82,0x7c00100,
-0x230400,0x6000cc00,0x4000000,0x4e00000,0x6000d000,0x4000000,0x200000,0x6002c300,0x4000000,0x100000,0x6002c300,0x4000000,0x10000d,0x6002c300,0x4000100,0x150400,
-0x6002c300,0x4000100,0x15040d,0x6002c300,0x4000100,0x14150400,0x600a3000,0x24000000,0x34200000,0x600a3000,0x24000000,0x34e00000,0x600a3700,0x24000000,0x34200000,0x600a3800,
-0x24000000,0x34200000,0x600a3800,0x24000000,0xb6800000,0x600a4305,0x7c00100,0xe30400,0x600ac300,0x4000000,0x34100000,0x600ac400,0x4000000,0x14e0000d,0x600ac400,0x4000000,
-0x34e0000d,0x600acb14,0x7c00100,0xe30000,0x600acb16,0x7c00100,0xe30c00,0x600acc00,0x4000000,0x34e00000,0x600acd00,0x4000000,0x34200000,0x600acd00,0x4000000,0x34e00000,
-0x600acd00,0x4000000,0xb6800000,0x600ace00,0x4000000,0x34e00000,0x600ace00,0x4000000,0xb6800000,0x600acf00,0x4000000,0x34e00000,0x600acf00,0x4000000,0xb6800000,0x600ad111,
-0x7c40300,0xe30000,0x604ac4ab,0x4000000,0x34e00003,0x61000a03,0x4000000,0x1600000,0x61000c02,0x80000000,0x218960,0x6100120f,0x4000000,0x200000,0x61001a18,0x7c00100,
-0x1830000,0x61001d0c,0x7c00100,0x220400,0x61001d0c,0x7c00100,0x250400,0x61006600,0x24000020,0x200000,0x61008407,0x7c00100,0x220400,0x61008407,0x7c00100,0x250400,
-0x6100870c,0x7c00100,0x220400,0x61008e00,0x24000000,0x200000,0x61008e00,0x24000000,0x400000,0x61008e00,0x24000002,0x300000,0x6100903c,0x7c00100,0x230400,0x61009519,
-0x7c00100,0x220400,0x61009519,0x7c00100,0x250400,0x61009519,0x7c00500,0x22040f,0x61009b71,0x2802100,0x962460,0x61009b71,0x2806400,0x962460,0x61009b71,0x7c00100,
-0x230400,0x6100a008,0x2802100,0x962460,0x6100c300,0x4000000,0x20000f,0x6100cd00,0x4000000,0x200000,0x6100d202,0x2802400,0x962460,0x6100d202,0x2802500,0x962460,
-0x6100d202,0x7c00100,0x230400,0x6100d302,0x4000020,0x200000,0x6100d302,0x7c00120,0x230405,0x6100d476,0x2802100,0x962460,0x6100d476,0x2802100,0x962461,0x6100d476,
-0x2806400,0x962460,0x6100d476,0x4000000,0x400000,0x6100d476,0x6800000,0x1329800,0x6100d476,0x6800100,0x962540,0x6100d476,0x7c00100,0x230400,0x6100d476,0xc000010,
-0x448000,0x6100d573,0x2802100,0x962460,0x6100d573,0x2806400,0x962460,0x6100d573,0x6800100,0x962540,0x6100d573,0x7c00100,0x230400,0x6100d573,0x7c00900,0x230400,
-0x6100d573,0xc000010,0x448000,0x6100d68d,0x7c00100,0x230400,0x6100d756,0x7c00100,0x230400,0x6100d85c,0x2802400,0x962460,0x6100d85c,0x6800100,0x962540,0x6100d85c,
-0x7c00100,0x230400,0x6100d85c,0x7c00500,0x230400,0x6100d997,0x2802100,0x962460,0x6100d997,0x4000000,0x200000,0x6100d997,0x4000000,0x400000,0x6100d997,0x6800000,
-0x1329800,0x6100d997,0x6800100,0x962540,0x6100d997,0x6804400,0x962540,0x6100d997,0x7c00100,0x230400,0x6100d997,0x7c00100,0x230560,0x6100d997,0xc000010,0x448000,
-0x6100da98,0x6800000,0x1329800,0x6100da98,0x7c00100,0x230400,0x6100db71,0x4000000,0x200000,0x6100dc99,0x2802100,0x962460,0x6100dc99,0x2802400,0x962460,0x6100dc99,
-0x6800000,0x1329800,0x6100dc99,0x6800100,0x962540,0x6100dc99,0x6804400,0x962540,0x6100dc99,0x7c00100,0x230400,0x610a4711,0x7c40300,0xe30000,0x610a4f11,0x7c00300,
-0xe30001,0x610ace00,0x4000000,0x34e00000,0x6140af90,0x6800100,0x962540,0x6140af92,0x7c00100,0x230400,0x6180af8d,0x2802400,0x962460,0x62002a00,0x4000000,0x1600000,
-0x63002800,0x80000,0x918820,0x63c00c15,0x80000,0x918820,0x7000080e,0x7c00100,0x250400,0x70000a03,0x4000000,0x200000,0x70000c00,0x80000000,0x218960,0x70000f0a,
-0x7c00100,0x230400,0x70001004,0x7c00100,0x230400,0x70001524,0x2802100,0x962460,0x70001524,0x7c00100,0x230400,0x70001615,0x2802100,0x962460,0x7000171a,0x2802100,
-0x962460,0x70001821,0x6800000,0x1329800,0x70002320,0x7c00100,0x230400,0x70002a00,0x4000000,0x1500000,0x70002a00,0x4000000,0x1600000,0x70003000,0x24000000,0x200000,
-0x70003000,0x24000000,0x14200000,0x70003800,0x24000000,0x4e00000,0x70005201,0x2802400,0x962460,0x7000581e,0x7c00100,0x230400,0x70006108,0x7c00100,0x220400,0x70006108,
-0x7c00100,0x250400,0x70006f30,0x7c00100,0x230400,0x70007300,0x24000000,0x200000,0x70007f0e,0x4000000,0x200000,0x70008301,0x2802100,0x962460,0x70008301,0x2802400,
-0x962460,0x70008e00,0x24000000,0x200000,0x70008e00,0x24000000,0x400000,0x70008e00,0x24000002,0x400000,0x70008e00,0x24000008,0x1410000,0x70008e00,0x24000010,0x400000,
-0x70008e00,0x2c000010,0x448000,0x70009519,0x7c00100,0x220400,0x70009519,0x7c00100,0x230400,0x70009519,0x7c00100,0x250400,0x70009865,0x7c00100,0x230400,0x70009965,
-0x4000010,0x400000,0x70009965,0x7c00100,0x230400,0x7000a008,0x7c00100,0x220400,0x7000a008,0x7c00100,0x250400,0x7000a008,0x7c00500,0x22040f,0x7000a50e,0x4000000,
-0x200000,0x7000b61c,0x2802400,0x1862460,0x7000b61c,0x6800400,0x1862400,0x7000b61c,0x7c00100,0x1830000,0x7000c300,0x4000000,0x100000,0x7000c941,0x2806000,0x962460,
-0x7000cc00,0x4000000,0x4e00000,0x7000cd00,0x4000000,0x200000,0x7000cd00,0x4000000,0x4200000,0x7000cd00,0x4000000,0x4e00000,0x7000cd00,0x4000000,0x14200000,0x7000cd00,
-0x4000000,0x14e00000,0x7000cd00,0x4000000,0x96800000,0x7000cf00,0x4000000,0x4e00000,0x7000cf00,0x4000000,0x14e00000,0x7000d202,0x2802100,0x962460,0x7000d202,0x7c00100,
-0x230400,0x7000d997,0x7c00100,0x230400,0x7000d997,0xc000010,0x248000,0x7000dd86,0x2802400,0x962460,0x7000dd86,0x7c00100,0x230400,0x7000dd86,0xc000010,0x448000,
-0x7000de9f,0x4000000,0x200000,0x7000de9f,0x7c00100,0x230400,0x7000e001,0x2000,0x962460,0x7000e001,0x2802400,0x962460,0x7000e187,0x2802000,0x962460,0x7000e187,
-0x2802100,0x962460,0x7000e187,0x4000000,0x200000,0x7000e187,0x7c00100,0x230400,0x7000e187,0xc000010,0x448000,0x7000e288,0x7c00100,0x230400,0x7000e300,0x4000000,
-0x200000,0x7000e489,0x2802100,0x962460,0x7000e489,0x2802400,0x962460,0x7000e489,0x6800100,0x962540,0x7000e489,0x6800100,0x962541,0x7000e489,0x6804400,0x962540,
-0x7000e489,0x7c00100,0x230400,0x7000e489,0x7c00900,0x230400,0x7000e59d,0x2802100,0x962460,0x7000e59d,0x2802400,0x962460,0x7000e59d,0x4000000,0x200000,0x7000e59d,
-0x4000010,0x200000,0x7000e59d,0x6800100,0x962540,0x7000e59d,0x6804400,0x962540,0x7000e59d,0x7c00100,0x230400,0x7000e59d,0xc000010,0x448000,0x7000e691,0x2802100,
-0x962460,0x7000e691,0x2802400,0x962460,0x7000e691,0x2806400,0x962460,0x7000e691,0x6800000,0x1329800,0x7000e691,0x6800100,0x962540,0x7000e691,0x7c00100,0x230400,
-0x7000e700,0x4000400,0x200400,0x7000e70e,0x7c00100,0x220400,0x7000e719,0x7c00100,0x220400,0x7000e719,0x7c00500,0x22040f,0x7000e853,0x7c00100,0x230400,0x7000e9a0,
-0x2802400,0x962460,0x7000e9a0,0x4000000,0x200000,0x7000e9a0,0x4000000,0x500000,0x7000e9a0,0x7c00100,0x230400,0x7000ea79,0x2802400,0x962460,0x7000ea79,0x4000000,
-0x200000,0x7000ea79,0x4000000,0xf00000,0x7000ea79,0x4000010,0x400000,0x7000ea79,0x7c00100,0x230400,0x7000eb8c,0x2802400,0x962460,0x7000eb8c,0x4000000,0x200000,
-0x7000eb8c,0x7c00100,0x230400,0x7000eca3,0x2802100,0x962460,0x7000eca3,0x2806400,0x962460,0x7000eca3,0x4000000,0x200000,0x7000eca3,0x6800000,0x1329800,0x7000eca3,
-0x6800100,0x962540,0x7000eca3,0x7c00100,0x230400,0x7000eca3,0xc000010,0x448000,0x7000ed95,0x6800000,0x1329800,0x7000ed95,0x7c00100,0x230400,0x7000ed95,0xc000010,
-0x448000,0x7000ee1c,0x2802400,0x1862460,0x7000ee1c,0x6800000,0x1329800,0x7000ee1c,0x7c00100,0x1830000,0x7000ee1c,0x7c00900,0x1830000,0x7000ef8f,0x4000000,0x200000,
-0x7000ef8f,0x7c00100,0x230400,0x7000f08e,0x4000000,0x200000,0x7000f08e,0x7c00100,0x230400,0x7000f159,0x2802100,0x962460,0x7000f159,0x7c00100,0x230400,0x7000f200,
-0x4000000,0x200000,0x7000f200,0x4000000,0x1200000,0x7000f200,0x4000000,0x1710000,0x7000f34b,0x2802100,0x962460,0x7000f34b,0x4000000,0x200000,0x7000f34b,0x4000010,
-0x400000,0x7000f34b,0x6800000,0x1329800,0x7000f34b,0x7c00100,0x230400,0x7000f34b,0x7c00900,0x230400,0x7000f34b,0xc000010,0x448000,0x7000f490,0x4000000,0x200000,
-0x7000f490,0x7c00100,0x230400,0x7000f5a5,0x7c00100,0x230400,0x7000f67b,0x4000000,0x200000,0x7000f67b,0x4000010,0x200000,0x7000f67b,0x7c00100,0x230400,0x7000f8a6,
-0x2802100,0x962460,0x7000f8a6,0x2802400,0x962460,0x7000f8a6,0x2806400,0x962460,0x7000f8a6,0x4000000,0x500000,0x7000f8a6,0x4000010,0xb00000,0x7000f8a6,0x4000800,
-0x200000,0x7000f8a6,0x6800100,0x962540,0x7000f8a6,0x6800100,0x962541,0x7000f8a6,0x7c00100,0x230400,0x7000f8a6,0xc000010,0x448000,0x7000f921,0x4000000,0x200000,
-0x7000fa00,0x4000000,0x200000,0x7000fb9e,0x2802100,0x962460,0x7000fb9e,0x2802400,0x962460,0x7000fb9e,0x2806400,0x962460,0x7000fb9e,0x4000000,0x200000,0x7000fb9e,
-0x6800000,0x1329800,0x7000fb9e,0x6800100,0x962540,0x7000fb9e,0x6800100,0x962541,0x7000fb9e,0x7c00100,0x230400,0x7000fc92,0x4000000,0x200000,0x7000fc92,0x6800000,
-0x1329800,0x7000fc92,0x7c00100,0x220400,0x7000fc92,0x7c00100,0x230400,0x7000fc92,0x7c00100,0x250400,0x700acd00,0x4000000,0x34e00000,0x700acd00,0x4000000,0xb6800000,
-0x700ace00,0x4000000,0x34e00000,0x700acf00,0x4000000,0x34e00000,0x700acf00,0x4000000,0xb6800000,0x7040dfe5,0x4000000,0x200000,0x7040f7e9,0x80000,0x918820,0x7080af90,
-0x2802400,0x962460,0x7080dfe5,0x2802400,0x962460,0x70c0e4e7,0x2802100,0x962460,0x70c0e4e7,0x2802400,0x962460,0x70c0e4e7,0x6800100,0x962540,0x8000120f,0x7c00100,
-0x230400,0x80001524,0x7c00100,0x230400,0x8000171a,0x7c00100,0x230400,0x80002006,0x7c00100,0x220400,0x80002006,0x7c00100,0x250400,0x80002a00,0x4000000,0x1500000,
-0x80002d00,0x4000000,0x200000,0x80005208,0x2802400,0x962460,0x80005c00,0x4000000,0x200000,0x80007300,0x24000000,0x200000,0x80009519,0x7c00100,0x220400,0x80009519,
-0x7c00100,0x230400,0x80009519,0x7c00100,0x250400,0x80009865,0x7c00100,0x230400,0x8000a008,0x2802100,0x962460,0x8000b30a,0x4000000,0x500000,0x8000b30a,0x7c00100,
-0x230400,0x8000cd00,0x4000000,0x4e00000,0x8000d202,0x2802500,0x962460,0x8000d202,0x7c00100,0x230400,0x8000d68d,0x4000000,0x200000,0x8000d997,0x2802000,0x962460,
-0x8000d997,0x2802400,0x962460,0x8000d997,0x4000000,0x400000,0x8000d997,0x4000000,0x500000,0x8000d997,0x7c00100,0x230400,0x8000d997,0xc000010,0x448000,0x8000e489,
-0x2802100,0x962460,0x8000e489,0x7c00100,0x230400,0x8000e719,0x7c00100,0x220400,0x8000f8a6,0x2802100,0x962460,0x8000f8a6,0x7c00100,0x230400,0x8000f8a6,0xc000010,
-0x448000,0x8000fda1,0x2802100,0x1862460,0x8000fda1,0x2806400,0x1862460,0x8000fda1,0x4000000,0x1800000,0x8000fda1,0x6800000,0x1329800,0x8000fda1,0x6800100,0x1862540,
-0x8000fda1,0x7c00100,0x1830000,0x8000fda1,0xc000010,0x448000,0x8000fe9c,0x7c00100,0x230400,0x8000fe9c,0x7c00100,0x830400,0x8000fe9c,0x7c00100,0x1430400,0x8000ff06,
-0x7c00100,0x220400,0x80010165,0x7c00100,0x230400,0x800102a2,0x4000000,0x200000,0x800102a2,0x7c00100,0x230400,0x800103a4,0x7c00100,0x230400,0x800103a4,0xc000010,
-0x448000,0x8001044c,0x4000000,0x200000,0x8001044c,0x7c00100,0x220400,0x8001044c,0x7c00100,0x250400,0x80010670,0x2802000,0x962460,0x80010670,0x4000000,0x200000,
-0x80010670,0x4000010,0x400000,0x80010670,0xc000010,0x448000,0x800a4711,0x7c40300,0xe30000,0x800acd00,0x4000000,0x34e00000,0x800acd00,0x4000000,0x7a902460,0x800ace00,
-0x4000000,0x34e00000,0x800acf00,0x4000000,0x34e00000,0x800b0011,0x7c40300,0xe30000,0x800b0500,0x4000000,0x34e00000,0x800b0500,0x4000000,0xb6800000,0x90001615,0x7c00100,
-0x230400,0x9000171a,0x4000000,0x200000,0x9000171a,0x7c00100,0x230400,0x90003000,0x24000000,0x200000,0x90007f0e,0x4000000,0x200000,0x90008301,0x2802000,0x962460,
-0x90008e00,0x24000000,0x400000,0x90009519,0x7c00100,0x250400,0x9000a16f,0x2802100,0x962460,0x9000d200,0x80000000,0x218960,0x9000d202,0x2802000,0x962460,0x9000d202,
-0x2802100,0x962460,0x9000d202,0x7c00100,0x230400,0x9000e59d,0x2802100,0x962460,0x900107a7,0x2802100,0x962460,0x900107a7,0x2802400,0x962460,0x900107a7,0x2802c00,
-0x962460,0x900107a7,0x4000000,0x1400000,0x900107a7,0x6800000,0x1329800,0x900107a7,0x7c00100,0x220400,0x900107a7,0x7c00100,0x250400,0x900108a8,0x2802100,0x962460,
-0x900108a8,0x2806400,0x962460,0x900108a8,0x4000000,0x200000,0x900108a8,0x4000000,0x400000,0x900108a8,0x4000010,0x400000,0x900108a8,0x6800000,0x1329800,0x900108a8,
-0x6800100,0x962540,0x900108a8,0x7c00100,0x230400,0x900108a8,0xc000010,0x448000,0x90010908,0x7c00100,0x220400,0x90010a38,0x2802100,0x962460,0x90010ca9,0x2802100,
-0x962460,0x90010ca9,0x4000000,0x500000,0x90010ca9,0x4000010,0xb00000,0x90010ca9,0x6800100,0x962540,0x90010ca9,0x7c00100,0x230400,0x90010d1b,0x4000000,0x500000,
-0x90010eaa,0x2802100,0x962460,0x90010eaa,0x2802400,0x962460,0x90010eaa,0x2806400,0x962460,0x90010eaa,0x4000000,0x200000,0x90010eaa,0x4000000,0x400000,0x90010eaa,
-0x4000010,0x400000,0x90010eaa,0x6800000,0x1329800,0x90010eaa,0x6800100,0x962540,0x90010eaa,0x7c00100,0x230400,0x90010eaa,0xc000010,0x448000,0x90010fab,0x7c00100,
-0x220400,0x90010fab,0x7c00100,0x250400,0x9002c300,0x4000000,0x100000,0x900ac400,0x4000000,0xe0000d,0x900acd00,0x4000000,0x34e00000,0x900acd00,0x4000000,0xb6800000,
-0x900acf00,0x4000000,0x34e00000,0x900b0500,0x4000000,0xe00000,0x900b0500,0x4000000,0x34e00000,0x900b0500,0x4000000,0xb6800000,0x900b0b9a,0x7c00900,0x1230400,0x900b109a,
-0x7c00300,0xe30000,0x900b119a,0x7c00300,0xe30000,0x90408e06,0x24000000,0x400000,0xa0001004,0x4000000,0x200000,0xa0001004,0x7c00100,0x230400,0xa000120f,0x2802100,
-0x962460,0xa000120f,0x2802400,0x962460,0xa000171a,0x2802100,0x962460,0xa000171a,0x2806400,0x962460,0xa0002a00,0x4000000,0x1600000,0xa0003000,0x24000000,0x200000,
-0xa000581e,0x7c00100,0x230400,0xa0007300,0x24000000,0x200000,0xa0008301,0x2802400,0x962460,0xa0008e00,0x24000000,0x400000,0xa000cf00,0x4000000,0x4e00000,0xa0010500,
-0x4000000,0x200000,0xa00114af,0x2802100,0x962460,0xa00114af,0x2802400,0x962460,0xa00114af,0x2806400,0x962460,0xa00114af,0x6800000,0x1329800,0xa00114af,0x7c00100,
-0x230400,0xa00114af,0x7c00100,0x230560,0xa00116b0,0x2802100,0x962460,0xa00116b0,0x2802800,0x962460,0xa00116b0,0x2806400,0x962460,0xa00116b0,0x4000000,0x400000,
-0xa00116b0,0x4000000,0x500000,0xa00116b0,0x4000010,0x400000,0xa00116b0,0x6800100,0x962540,0xa00116b0,0x7c00100,0x230400,0xa00116b0,0x7c00100,0x230560,0xa00116b0,
-0xc000010,0x448000,0xa0011722,0x7c00100,0x230400,0xa00118b1,0x2802000,0x962460,0xa00118b1,0x2802100,0x962460,0xa00118b1,0x2806400,0x962460,0xa00118b1,0x4000000,
-0x200000,0xa00118b1,0x4000000,0x400000,0xa00118b1,0x4000000,0x500000,0xa00118b1,0x6800100,0x962540,0xa00118b1,0x7c00100,0x230400,0xa00118b1,0x7c00100,0x230560,
-0xa00118b1,0xc000010,0x448000,0xa00a4005,0x7c00100,0xe30400,0xa00a4711,0x7c40300,0xe30000,0xa00ac400,0x4000000,0x4e00000,0xa00acb14,0x7c00100,0xe30000,0xa00acf00,
-0x4000000,0x34e00000,0xa00b0500,0x4000000,0x34e00000,0xa00b0500,0x4000000,0xb6800000,0xa00b0b96,0x7c00900,0x1230400,0xa00b1211,0x7c40300,0xe30000,0xa00b1314,0x7c00100,
-0xe30000,0xa00b1596,0x7c00300,0xe30000,0xa040af9c,0x6800400,0x962540,0xb0000a03,0x7c00100,0x220400,0xb0000b13,0x7c00100,0x2633800,0xb0001004,0x2802000,0x962460,
-0xb0001110,0x4000000,0x200000,0xb0001524,0x2802000,0x962460,0xb0001615,0x4000000,0x500000,0xb000251b,0x7c00100,0x230400,0xb0007300,0x24000000,0x200000,0xb0008939,
-0x4000000,0x200000,0xb0008939,0x7c00100,0x230400,0xb0008e00,0x24000000,0x200000,0xb0008e00,0x24000000,0x400000,0xb0008e00,0x24000010,0x400000,0xb0009257,0x2802000,
-0x962460,0xb0009257,0x4000000,0x1600000,0xb0009519,0x7c00100,0x220400,0xb0009519,0x7c00100,0x250400,0xb0009a00,0x4000000,0x200000,0xb000b30a,0x2802000,0x962460,
-0xb000b30a,0x7c00100,0x230400,0xb000c178,0x80000000,0x218960,0xb000c300,0x4000000,0x4200000,0xb000d202,0x2802000,0x962460,0xb000d476,0x6800100,0x962540,0xb000d476,
-0x7c00100,0x230400,0xb000e300,0x4000000,0x4e00000,0xb000fda1,0x7c00100,0x1830000,0xb0010eaa,0x2802000,0x962460,0xb00116b0,0x7c00100,0x230400,0xb0011900,0x4000000,
-0x4e00000,0xb0011ab2,0x2802100,0x962460,0xb0011ab2,0x2802400,0x962460,0xb0011ab2,0x2806400,0x962460,0xb0011ab2,0x4000000,0x200000,0xb0011ab2,0x6800100,0x962540,
-0xb0011ab2,0x7c00100,0x230400,0xb0011b0c,0x7c00100,0x250400,0xb0011cb3,0x2802100,0x962460,0xb0011cb3,0x2806400,0x962460,0xb0011cb3,0x6800000,0x1329800,0xb0011cb3,
-0x6800100,0x962540,0xb0011cb3,0x7c00100,0x230400,0xb0011db6,0x2802500,0x962460,0xb0011db6,0x6800000,0x1329800,0xb0011db6,0x7c00100,0x230400,0xb0011db6,0x7c00500,
-0x230400,0xb0011e00,0x4000000,0x200000,0xb0011e00,0x4000000,0x1500000,0xb0011fb4,0x2802100,0x962460,0xb0011fb4,0x6800100,0x962540,0xb0011fb4,0x7c00100,0x230400,
-0xb0011fb4,0xc000010,0x248000,0xb0012000,0x4000000,0x200000,0xb00121b5,0x4000000,0x200000,0xb00121b5,0x4000010,0x400000,0xb00121b5,0x7c00100,0x220400,0xb00121b5,
-0x7c00100,0x250400,0xb00121b5,0xc000010,0x448000,0xb00122b8,0x4000000,0x200000,0xb00122b8,0x7c00100,0x230400,0xb00123b7,0x2802400,0x962460,0xb00123b7,0x4000000,
-0x200000,0xb00123b7,0x7c00100,0x230400,0xb00123b7,0xc000010,0x248000,0xb00a4005,0x7c00100,0xe30400,0xb00a4711,0x7c40300,0xe30000,0xb00acf00,0x4000000,0x34e00000,
-0xb00b0500,0x4000000,0x34e00000,0xb00b0500,0x4000000,0x3ce00000,0xb00b0500,0x4000000,0xb6800000,0xb00b109a,0x7c00300,0xe30000,0xb080e47a,0x2802000,0x962460};
+0,0,0x12467,0,0,0x12567,0,0,0x12667,0,0,0x12767,0,0,0x12867,0,
+0,0x12967,0,0,0x12a67,0,0x4e00000,0x12b67,0,0,0x12c67,0,0,0xa0067,0,0xe00000,
+0xa4667,0,0xe00000,0xa4767,0,0xe00000,0xa4f67,0,0xe00000,0xa5e67,0,0xe00000,0xa5f67,0,0xe00000,0xac567,
+0,0xe00000,0xad167,0,0xe00000,0xb0067,0,0xe00000,0xb1267,0,0xe00000,0x11000100,0,0x900020,0x11000100,0x40000001,
+0x440020,0x11000100,0x40000001,0x643020,0x11000100,0x40000001,0xa5a040,0x11000100,0x40000001,0x116a8a0,0x11000200,0,0x900020,0x11000200,0x4000001,0xc4000b,
+0x11000200,0x7c00100,0x220402,0x11000200,0x24000000,0x14200000,0x11000200,0x24000008,0x1710000,0x11000200,0x40000001,0x1d3b020,0x11000219,0x7c00100,0x220401,0x11000219,
+0x7c00100,0x250401,0x11000319,0x7c00100,0x220401,0x11000319,0x7c00100,0x220402,0x11000319,0x7c00100,0x250400,0x11000319,0x7c00100,0x250401,0x11000419,0x7c00100,
+0x220400,0x11000419,0x7c00100,0x220401,0x11000419,0x7c00100,0x220402,0x11000419,0x7c00100,0x230400,0x11000419,0x7c00100,0x250400,0x11000419,0x7c00100,0x250401,
+0x11000419,0x7c00100,0x250402,0x11000519,0x7c00100,0x220400,0x11000519,0x7c00100,0x230400,0x11000600,0x4000400,0x200000,0x11000600,0x4000400,0x200002,0x11000600,
+0x4000400,0x200400,0x11000600,0x7c00500,0x220400,0x11000600,0x7c00500,0x230400,0x11000600,0x7c00500,0x530400,0x11000600,0x7c00d00,0x230400,0x11000619,0x7c00500,
+0x22040f,0x11000800,0x4000010,0x1001401,0x11000800,0x4000400,0x200001,0x11000800,0x6800010,0x201001,0x11000800,0x7c00500,0x230401,0x11000807,0x7c00100,0x220400,
+0x11000807,0x7c00100,0x250400,0x1100080e,0x4000400,0x200000,0x1100080e,0x4000400,0x200002,0x1100080e,0x7000500,0x220402,0x1100080e,0x7c00100,0x220400,0x1100080e,
+0x7c00100,0x220401,0x1100080e,0x7c00100,0x220402,0x1100080e,0x7c00100,0x250400,0x1100080e,0x7c00100,0x250401,0x1100080e,0x7c00120,0x220402,0x1100080e,0x7c00120,
+0x250402,0x11000908,0x4000000,0x200000,0x11000908,0x7c00100,0x220400,0x11000908,0x7c00100,0x220401,0x11000908,0x7c00100,0x250400,0x11000908,0x7c00100,0x250401,
+0x11000a03,0x4000000,0x200000,0x11000a03,0x4000000,0x200400,0x11000a03,0x4000000,0x270000,0x11000a03,0x7c00100,0x220400,0x11000a03,0x7c00100,0x220402,0x11000a03,
+0x7c00100,0x250400,0x11000a03,0x7c00500,0x230400,0x11000b13,0x2802500,0x962460,0x11000b13,0x4000000,0x200000,0x11000b13,0x4000000,0x201000,0x11000b13,0x4000000,
+0x230400,0x11000b13,0x4000002,0x400000,0x11000b13,0x4000010,0x200000,0x11000b13,0x7c00100,0x2633800,0x11000c00,0x80000000,0x218960,0x11000c02,0x2802100,0x962460,
+0x11000c02,0x2802400,0x962460,0x11000c02,0x4000000,0x200000,0x11000c02,0x4000000,0x1329400,0x11000c02,0x4000000,0x1329800,0x11000c02,0x4000000,0x1500000,0x11000c02,
+0x6800000,0x1329800,0x11000c02,0x7c00100,0x230400,0x11000c02,0x7c00100,0x230401,0x11000c02,0x7c00100,0x230402,0x11000c02,0x7c00500,0x230400,0x11000c02,0x7d00100,
+0x230400,0x11000f01,0x2802400,0x962460,0x11000f0a,0x2802100,0x962460,0x11000f0a,0x2802400,0x962460,0x11000f0a,0x2806400,0x962460,0x11000f0a,0x4000000,0x200000,
+0x11000f0a,0x6800100,0x962540,0x11000f0a,0x7c00100,0x230400,0x11000f0a,0x7c00100,0x230401,0x11001004,0x2802100,0x962460,0x11001004,0x2802400,0x962460,0x11001004,
+0x2806400,0x962460,0x11001004,0x4000000,0x200000,0x11001004,0x4000000,0x1500000,0x11001004,0x6800100,0x962540,0x11001004,0x6800100,0x962541,0x11001004,0x7c00100,
+0x230400,0x11001004,0x7c00100,0x230401,0x11001110,0x2802100,0x962460,0x11001110,0x2802400,0x962460,0x11001110,0x2806400,0x962460,0x11001110,0x6800100,0x962540,
+0x11001110,0x7c00100,0x230400,0x11001110,0x7c00100,0x230401,0x1100120f,0x2802100,0x962460,0x1100120f,0x2802400,0x962460,0x1100120f,0x2806400,0x962460,0x1100120f,
+0x6800100,0x962540,0x1100120f,0x7c00100,0x230400,0x1100131f,0x2802100,0x962460,0x1100131f,0x2802400,0x962460,0x1100131f,0x2806400,0x962460,0x1100131f,0x4000000,
+0x200000,0x1100131f,0x6800000,0x1329800,0x1100131f,0x6800100,0x962540,0x1100131f,0x6800100,0x962541,0x1100131f,0x7c00100,0x230400,0x1100131f,0x7c00100,0x230401,
+0x11001423,0x2802100,0x962460,0x11001423,0x2806400,0x962460,0x11001423,0x6800100,0x962540,0x11001423,0x6800100,0x962541,0x11001423,0x7c00100,0x230400,0x11001423,
+0x7c00100,0x230401,0x11001524,0x2802100,0x962460,0x11001524,0x2802100,0x962461,0x11001524,0x2806400,0x962460,0x11001524,0x6800000,0x1329800,0x11001524,0x6800100,
+0x962540,0x11001524,0x7c00100,0x230400,0x11001615,0x2802100,0x962460,0x11001615,0x2806400,0x962460,0x11001615,0x6800100,0x962540,0x11001615,0x6800100,0x962541,
+0x11001615,0x7c00100,0x230400,0x1100171a,0x2802100,0x962460,0x1100171a,0x2806400,0x962460,0x1100171a,0x6800000,0x1329800,0x1100171a,0x6800100,0x962540,0x1100171a,
+0x6800100,0x962541,0x1100171a,0x7c00100,0x230400,0x11001900,0x4000000,0x1600000,0x11001926,0x2802100,0x1862460,0x11001926,0x2802400,0x1862460,0x11001926,0x2806100,
+0x1862460,0x11001926,0x4000000,0x200000,0x11001926,0x4000010,0x400000,0x11001926,0x6800000,0x1329800,0x11001926,0x7800100,0x1830142,0x11001926,0x7c00100,0x1830000,
+0x11001926,0x7c00900,0x1830000,0x11001926,0x7e00100,0x1830000,0x11001a18,0x2802100,0x1862460,0x11001a18,0x2802400,0x1862460,0x11001a18,0x6800000,0x1329800,0x11001a18,
+0x7800100,0x1830142,0x11001a18,0x7c00100,0x1830000,0x11001a18,0x7c00100,0x1830002,0x11001a18,0x7c00900,0x1830000,0x11001a18,0x7e00100,0x1830000,0x11001d0c,0x7c00100,
+0x230400,0x11001d0c,0x7c00100,0x250400,0x11001e12,0x7c00100,0x2230500,0x11001e12,0x7c00100,0x2330520,0x11001e12,0x7c80100,0x2330520,0x11002619,0x7c00100,0x220401,
+0x11002619,0x7c00100,0x220402,0x11002619,0x7c00100,0x250401,0x1100270e,0x4000400,0x200001,0x1100270e,0x4000400,0x200002,0x1100270e,0x4000400,0x500001,0x1100270e,
+0x7c00100,0x220401,0x1100270e,0x7c00100,0x250401,0x11002800,0x80000,0x918820,0x11002800,0x80000,0x1c18020,0x11002800,0x180000,0x918820,0x11002800,0x4000001,
+0x445801,0x11002800,0x4000001,0x445802,0x11002800,0x4000001,0xc4000b,0x11002800,0x6800000,0x201c00,0x11002800,0x6800020,0x201c00,0x11002800,0x24000000,0x200000,
+0x11002800,0x24000000,0x200002,0x11002800,0x24000000,0x810000,0x11002800,0x24000000,0x1410000,0x11002800,0x24000000,0x1500000,0x11002800,0x24000000,0x1500002,0x11002800,
+0x24000002,0x400000,0x11002800,0x24000006,0xc0000b,0x11002800,0x24000008,0x1410000,0x11002800,0x24000008,0x1710000,0x11002800,0x24000020,0x1001400,0x11002800,0x24000020,
+0x1500002,0x11002800,0x2c000010,0x1248000,0x11002800,0x2c000010,0x15248002,0x11002800,0x40000001,0x63b020,0x11002800,0x40080000,0x918820,0x11002801,0x80000,0xaa65620,
+0x11002801,0x82000,0x962460,0x11002900,0x4000000,0x20000e,0x11002900,0x4000000,0x20000f,0x11002900,0x4000020,0x20000e,0x11002900,0x4000020,0x20000f,0x11002900,
+0x4000020,0x81000e,0x11002900,0x4000020,0x81000f,0x11002900,0x4000020,0x141000e,0x11002900,0x4000020,0x141000f,0x11002900,0x4000022,0x20000e,0x11002900,0x4000022,
+0x20000f,0x11002a00,0x4000000,0x1500000,0x11002a00,0x4000000,0x1600000,0x11002a00,0x4000000,0x1600002,0x11002b01,0x2000,0x962460,0x11002b01,0x2802020,0x962460,
+0x11002c00,0x4000000,0x200000,0x11002c00,0x4000000,0x200002,0x11002c00,0x4000000,0x20000f,0x11002c00,0x4000020,0x200000,0x11002c00,0x7c00000,0x200000,0x11002c00,
+0x7c00020,0x200000,0x11002c00,0x7c00120,0x220405,0x11002c00,0x7c00120,0x230402,0x11002c00,0x7c00120,0x250402,0x11002c00,0x7c00120,0x250405,0x11002c19,0x7c00100,
+0x250400,0x11002c19,0x7c00100,0x250401,0x11002d00,0x4000000,0x100006,0x11002d00,0x4000000,0x200006,0x11002d19,0x7c00100,0x220402,0x11002d19,0x7c00100,0x230400,
+0x11002d19,0x7c00100,0x250402,0x11002e00,0x24000000,0x200000,0x11002e00,0x24000020,0x200000,0x11002e00,0x24000020,0x200001,0x11002e00,0x24000020,0x14200000,0x11002f00,
+0x24000020,0x200000,0x11002f00,0x24000020,0x200001,0x11002f00,0x24000020,0x200002,0x11002f00,0x24000020,0xf00000,0x11002f00,0x24000020,0x1600000,0x11002f00,0x24000022,
+0x1600000,0x11003000,0x24000000,0x200000,0x11003000,0x24000000,0x14200000,0x11003000,0x24000020,0x200000,0x11003000,0x24000020,0x810000,0x11003000,0x24000020,0x1410000,
+0x11003100,0x24000000,0x200000,0x11003200,0x24000000,0x200000,0x11003300,0x4000000,0x100003,0x11003400,0x24000000,0x100000,0x11003400,0x24000000,0x200000,0x11003500,
+0x24000000,0x200000,0x11003600,0x24000000,0x200000,0x11003600,0x24000000,0x14200000,0x11003600,0x24000020,0x200000,0x11003700,0x24000000,0x200000,0x11003700,0x24000000,
+0x4200000,0x11003700,0x24000000,0x4e00000,0x11003700,0x24000000,0x14200000,0x11003700,0x24000000,0x14e00000,0x11003700,0x24000000,0x96800000,0x11003700,0x24000020,0x4200000,
+0x11003800,0x4000000,0x100000,0x11003800,0x24000000,0x200000,0x11003800,0x24000000,0xb00000,0x11003800,0x24000000,0x1710000,0x11003800,0x24000000,0x4200000,0x11003800,
+0x24000000,0x4e00000,0x11003800,0x24000000,0x14200000,0x11003800,0x24000000,0x14b00000,0x11003800,0x24000000,0x14e00000,0x11003800,0x24000000,0x96800000,0x11005003,0x7c00100,
+0x220402,0x11005013,0x2802500,0x962460,0x11005013,0x4000020,0x200005,0x11005013,0x7c00100,0x2633801,0x11005013,0x7c00100,0x2633802,0x11005013,0x7c00100,0x2633805,
+0x11005019,0x7c00100,0x220402,0x11005100,0x24000000,0x810000,0x11005100,0x24000000,0x1410000,0x11005102,0x7000100,0x230408,0x11005102,0x7c00100,0x230404,0x11005102,
+0x7c00100,0x230407,0x11005102,0x7c00100,0x230408,0x11005102,0x7c00100,0x230409,0x11005201,0x2802400,0x962460,0x11005500,0x80000,0x1e18820,0x11005502,0x7000100,
+0x230408,0x11005502,0x7c00100,0x230404,0x11005502,0x7c00100,0x230407,0x11005502,0x7c00100,0x230408,0x11005502,0x7c00100,0x230409,0x11005667,0x1000,0,
+0x11020200,0x80004,0x418820,0x11020200,0x4000000,0x100006,0x11020200,0x4000000,0x10000f,0x11020200,0x4000400,0x100002,0x11020200,0x4000400,0x500002,0x11020200,
+0x6800c00,0x101000,0x11020200,0x24000000,0x100000,0x11020200,0x24000000,0x1400000,0x11020200,0x24000000,0x1500000,0x11020200,0x24000000,0x1600000,0x11020200,0x24000000,
+0x14200000,0x11020200,0x24000020,0x100000,0x11020200,0x24000020,0x1600000,0x11020219,0x7c00100,0x12040f,0x11020219,0x7c00100,0x220400,0x11020219,0x7c00100,0x220401,
+0x11020219,0x7c00100,0x250400,0x11020319,0x7c00100,0x220400,0x11020319,0x7c00100,0x220401,0x11020319,0x7c00100,0x220402,0x11020319,0x7c00100,0x250400,0x11020319,
+0x7c00100,0x250402,0x11020319,0x7d00100,0x220402,0x11020419,0x7c00100,0x220401,0x11020519,0x7c00100,0x220400,0x11020600,0x4000400,0x100002,0x11020600,0x4000400,
+0x200400,0x11020600,0x7c00500,0x130400,0x11020600,0x7c00d00,0x130400,0x11020701,0x2802400,0x962460,0x11020701,0x2802400,0x962461,0x11020701,0x2802400,0xc62460,
+0x1102080e,0x7c00100,0x220400,0x1102080e,0x7c00100,0x250400,0x11020908,0x7c00100,0x220400,0x11020908,0x7c00100,0x220401,0x11020908,0x7c00100,0x250400,0x11020908,
+0x7c00100,0x250401,0x11022800,0x24000000,0x100000,0x11022800,0x24000000,0x200000,0x11022800,0x24000000,0x200002,0x11022800,0x24000000,0x401000,0x11022800,0x24000000,
+0xf00002,0x11022800,0x24000000,0xf0ac02,0x11022800,0x24000000,0x1500000,0x11022800,0x24000002,0x100000,0x11022800,0x24000002,0x370000,0x11022800,0x24000002,0x470000,
+0x11022800,0x24000006,0x400000,0x11022800,0x24000008,0x1710000,0x11022800,0x24000008,0x1712c00,0x11022800,0x24000020,0x100000,0x11022800,0x24000020,0x1500000,0x11022800,
+0x24000020,0x1500002,0x11022900,0x4000000,0x10000e,0x11022900,0x4000000,0x10000f,0x11022919,0x7c00100,0x12040f,0x11022c00,0x4000000,0x100002,0x11022c00,0x4000000,
+0x1500002,0x11022c00,0x4000000,0x1600002,0x11022c00,0x4000000,0x1410000f,0x11022c00,0x7c00120,0x120405,0x11022c0e,0x7c00100,0x250401,0x11022c19,0x7c00100,0x150401,
+0x11022d00,0x4000000,0x100006,0x11022d00,0x4000000,0x200006,0x11022d19,0x7c00100,0x120402,0x11022d19,0x7c00100,0x150402,0x11022e00,0x24000000,0x200000,0x11022e00,
+0x24000020,0x100000,0x11022e00,0x24000020,0x14100000,0x11022f00,0x24000020,0x100000,0x11022f00,0x24000020,0x100001,0x11022f00,0x24000020,0x100002,0x11023000,0x24000000,
+0x100000,0x11023300,0x4000000,0x100002,0x11023300,0x4000000,0x100003,0x11023300,0x4000100,0x120403,0x11023300,0x4000100,0x150403,0x11023300,0x4000100,0x14150403,
+0x11023400,0x24000000,0x100000,0x11023500,0x24000000,0x100000,0x11023600,0x24000000,0x100000,0x11023600,0x24000020,0x100000,0x11023600,0x24000020,0x14100000,0x11023700,
+0x24000000,0x4100000,0x11023700,0x24000000,0x4e00000,0x11023700,0x24000000,0x14100000,0x11023700,0x24000000,0x14e00000,0x11023700,0x24000020,0x100000,0x11023700,0x24000020,
+0x4100000,0x11023700,0x24000020,0x14100000,0x11023800,0x4000000,0x100000,0x11023800,0x24000000,0x200000,0x11024e67,0,0,0x11025600,0x4000000,0x100000,
+0x11042a00,0x4000000,0x1600000,0x11045700,0x4000000,0x20000a,0x11045700,0x4000020,0x20000a,0x11045712,0x7c00100,0xe3040a,0x11045712,0x7c80100,0xe3040a,0x11045716,
+0x7c00100,0xe30c0a,0x11045716,0x7c00100,0x2530c0a,0x11063d00,0x4000001,0x445811,0x11065700,0x4000000,0x810011,0x11065700,0x4000000,0xe00011,0x11065700,0x4000000,
+0x1410011,0x11065700,0x4000000,0x1500011,0x11065700,0x4000000,0x1600011,0x11065700,0x4000006,0xe70011,0x11065700,0x4000008,0xe00011,0x11065700,0x4000008,0xe02c11,
+0x11065700,0x4000010,0x871411,0x11065700,0x4000010,0x1201411,0x11065700,0x4000010,0x1271011,0x11065700,0x4000020,0xe00011,0x11065700,0x4000400,0xe00011,0x11065700,
+0x4000420,0xe00011,0x11065700,0x6800000,0xe01c11,0x11065700,0x6800040,0xe29811,0x11065700,0xc000010,0x80ac11,0x11065700,0xc000010,0xb48011,0x11065719,0x7c00100,
+0xe20411,0x11065719,0x7c00100,0xe50411,0x11065719,0x7c00140,0xe20411,0x11065719,0x7c00140,0xe50411,0x11080100,0x6800000,0x201c00,0x11080100,0x68000c0,0x19329800,
+0x11080100,0x24000000,0x200000,0x11080100,0x24000000,0x810000,0x11080100,0x24000000,0x1410000,0x11080100,0x24000000,0x1500000,0x11080100,0x24000000,0x1600000,0x11080100,
+0x24000000,0x1b00000,0x11080100,0x24000000,0x2410000,0x11080100,0x24000000,0x18200000,0x11080100,0x24000006,0xd70000,0x11080100,0x24000008,0x1713c00,0x11080100,0x24000008,
+0x1714000,0x11080100,0x24000010,0x1001400,0x11080100,0x24000010,0x1071000,0x11080100,0x24000010,0x1071400,0x11080100,0x24000020,0x200000,0x11080100,0x24000020,0x400000,
+0x11080100,0x24000020,0x1600000,0x11080100,0x24000400,0x200000,0x11080100,0x24000420,0x200000,0x11080100,0x2c000010,0xb48000,0x11080100,0x2c000010,0x100ac00,0x11080100,
+0x44000001,0x1a45800,0x11080119,0x7c00100,0x220400,0x11080119,0x7c00100,0x250400,0x11080119,0x7c001c0,0x220400,0x11080119,0x7c001c0,0x250400,0x11080200,0x4000400,
+0x200002,0x11080200,0x24000000,0x200000,0x11080200,0x24000000,0x1500000,0x11080200,0x24000000,0x1600000,0x11080200,0x24000020,0x200000,0x110a1e12,0x7c00100,0x2130480,
+0x110a1e12,0x7c80100,0x2130480,0x110a3000,0x24000000,0x34e00000,0x110a3000,0x24100000,0x810001,0x110a3000,0x24100000,0x1410001,0x110a3700,0x24000000,0x34200000,0x110a3d00,
+0x4000000,0xe00000,0x110a3d00,0x4000000,0xe00002,0x110a3d00,0x24000000,0xe00000,0x110a3d11,0x7c00300,0xe30000,0x110a3d11,0x7c00900,0x1230400,0x110a3d12,0x2802400,
+0x962460,0x110a3e14,0x7c00100,0xe30000,0x110a3e14,0x7c00100,0xe30001,0x110a3e14,0x7c00100,0x2530000,0x110a3e14,0x7c00900,0x1230000,0x110a3e14,0x7c00900,0x1230001,
+0x110a3f16,0x7c00100,0xe30c00,0x110a3f16,0x7c00100,0xe30c01,0x110a3f16,0x7c00100,0x2530c00,0x110a3f16,0x7c00900,0x1230c00,0x110a3f16,0x7c00900,0x1230c01,0x110a4005,
+0x7c00100,0xe30400,0x110a4112,0x7c00100,0xe30402,0x110a4112,0x7c80100,0xe30402,0x110a4400,0x4000000,0xe00000,0x110a4412,0x4000000,0xe00002,0x110a4412,0x4000000,
+0xe00003,0x110a4416,0x4000000,0xe00c03,0x110a4500,0x4000000,0xe0000d,0x110a4516,0x4000000,0xe00c0d,0x110a4711,0x7c40300,0xe30000,0x110a4f11,0x7c00300,0xe30001,
+0x110a4f11,0x7c40300,0xe30000,0x110a5300,0x4000000,0x810010,0x110a5300,0x4000000,0xe00002,0x110a5300,0x4000000,0xe00010,0x110a5300,0x4000000,0x1410010,0x110a5300,
+0x4000002,0xe70010,0x110a5300,0x4000008,0x810010,0x110a5300,0x4000008,0x1410010,0x110a5300,0x6800000,0xe01c02,0x110a5300,0x6800000,0xe01c10,0x110a5400,0x4000000,
+0x81000c,0x110a5400,0x4000000,0xe0000c,0x110a5400,0x4000000,0x141000c,0x110a5400,0x4000000,0x150000c,0x110a5400,0x4000000,0x160000c,0x110a5400,0x4000002,0xe7000c,
+0x110a5400,0x4000010,0x87140c,0x110a5400,0x4000010,0xe7000c,0x110a5400,0x4000010,0x120140c,0x110a5400,0x4000010,0x127100c,0x110a5400,0x4000020,0xe0000c,0x110a5400,
+0x4000026,0xe7000c,0x110a5400,0xc000010,0x80ac0c,0x110a5400,0xc000010,0xb4800c,0x11400a0c,0xc000010,0x1049400,0x11400c0e,0x4000010,0xb00000,0x11400c0e,0x4000010,
+0x1071400,0x11400c0e,0xc000010,0xb48000,0x11400c17,0x7c00900,0x230400,0x11400f42,0xc000010,0x448000,0x11400f56,0xc000010,0x448000,0x11401d8b,0x4000000,0x200000,
+0x11403dbf,0x4000000,0xe00000,0x114457b4,0x4000004,0x120000a,0x114457b4,0x4000008,0x81000a,0x114457b4,0x4000008,0x141000a,0x114457b4,0x4000010,0x87000a,0x114457b4,
+0xc000010,0x84800a,0x114457bd,0x3802500,0x126246a,0x114457bd,0x7c00d00,0x2530c0a,0x114a3db4,0x24000000,0x810000,0x114a3db4,0x24000000,0x1410000,0x114a3db4,0x24000008,
+0x810000,0x114a3db4,0x24000008,0x1410000,0x114a3db4,0x24000010,0x870000,0x114a3db4,0x2c000010,0x848000,0x114a3dba,0x4000000,0xe00000,0x114a3dba,0x24000000,0xe00000,
+0x114a3dba,0x24000002,0x1200000,0x114a3dba,0x24000002,0x14e00000,0x114a3dba,0x24000008,0x810000,0x114a3dba,0x24000008,0x1410000,0x114a3dbd,0x7c00900,0x930c00,0x114a3dbd,
+0x7c00900,0xe30c00,0x114a3dbf,0x7c00300,0xe30000,0x114a3ebd,0x7000400,0x1200c02,0x114a3fb4,0x4000004,0x1200000,0x114a3fbd,0x7c00d00,0x2530c00,0x114a42bf,0x4000000,
+0xe00000,0x114a42bf,0x4000000,0xe0000f,0x114a44bf,0x4000000,0xe00002,0x114a44bf,0x4000000,0xe00003,0x114a44bf,0x4000000,0x14e00003,0x114a45bf,0x4000000,0xe00002,
+0x114a45bf,0x4000000,0xe0000d,0x1180090a,0x2802400,0x962460,0x11800c1f,0x2802100,0x962460,0x11800c1f,0x2802500,0x962460,0x11800f29,0x2802400,0x962460,0x11800f36,
+0x2802400,0x962460,0x11820700,0x2802400,0x962460,0x11820700,0x2802500,0x962460,0x118a3dc0,0x2802400,0x962460,0x118a3ebd,0x2802400,0x962460,0x11c00904,0x2802400,
+0x962460,0x11c00908,0x2802400,0x962460,0x11c00c23,0x6800000,0x1329800,0x11c00c27,0xc000010,0xb48000,0x11c00f6f,0x6800000,0x1329800,0x11c01074,0x6800000,0x1329800,
+0x11c01178,0x6800000,0x1329800,0x11c0127c,0x6800000,0x1329800,0x11c01480,0x4000000,0x200000,0x11c01480,0x6800000,0x1329800,0x11c01684,0x6800000,0x1329800,0x11c05123,
+0x7c00100,0x230408,0x20000067,0x1000,0,0x20000b13,0x2802400,0x962460,0x20000b13,0x2802500,0x962460,0x20001b27,0x2802100,0x962460,0x20001b27,0x2802100,
+0x962461,0x20001b27,0x2802400,0x962460,0x20001b27,0x2806400,0x962460,0x20001b27,0x2902100,0x962462,0x20001b27,0x4000000,0x200000,0x20001b27,0x4000000,0x400000,
+0x20001b27,0x4000000,0x500000,0x20001b27,0x4000000,0x810000,0x20001b27,0x4000000,0xb00000,0x20001b27,0x4000000,0xc0000b,0x20001b27,0x4000000,0x1410000,0x20001b27,
+0x4000010,0xb00000,0x20001b27,0x4000010,0xc00000,0x20001b27,0x6800000,0x1329800,0x20001b27,0x6800100,0x462540,0x20001b27,0x6800400,0x962540,0x20001b27,0x7c00100,
+0x230400,0x20001b27,0x7c00100,0x230401,0x20002619,0x7c00100,0x220401,0x20002a00,0x4000000,0x1600000,0x20004b67,0,0x1900000,0x20004c67,0,0x1900000,
+0x20004d67,0,0x1900000,0x20006d67,0x1000,0,0x20006e67,0x1000,0,0x20026d67,0,0,0x20026e67,0,0,0x200a4a12,
+0x7c00100,0x1f304c1,0x200a4a12,0x7c00100,0x20304e1,0x21005600,0x4000000,0x700000,0x21022a00,0x4000000,0x1600000,0x30000419,0x7c00100,0x220400,0x30000419,0x7c00100,
+0x220401,0x30000419,0x7c00100,0x250400,0x30000419,0x7c00100,0x250401,0x30000519,0x7c00100,0x220400,0x30000600,0x4000400,0x200400,0x30000600,0x7c00500,0x230400,
+0x30000605,0x4000400,0x200000,0x3000080e,0x7c00100,0x220400,0x30000908,0x2000,0x962460,0x30000908,0x7c00100,0x220400,0x30000908,0x7c00100,0x220401,0x30000908,
+0x7c00100,0x250400,0x30000908,0x7c00100,0x250401,0x30000a03,0x4000006,0x400000,0x30000c02,0x4000000,0x200000,0x30000c02,0x7c00100,0x230400,0x30000d22,0x2802100,
+0x962460,0x30000d22,0x2802400,0x962460,0x30000d22,0x2802500,0x962460,0x30000d22,0x4000000,0x200000,0x30000d22,0x4000010,0x200000,0x30000d22,0x7c00100,0x230400,
+0x30000d22,0xc000010,0x248000,0x30000d22,0x80000000,0x218960,0x30000e25,0x2802500,0x962460,0x30000e25,0x7c00100,0x230400,0x30001821,0x2802100,0x962460,0x30001821,
+0x2806400,0x962460,0x30001821,0x4000000,0x200000,0x30001821,0x6800100,0x962540,0x30001821,0x6800100,0x962541,0x30001821,0x7c00100,0x230400,0x30001b27,0x2802100,
+0x962460,0x30001b27,0x2802400,0x962460,0x30001b27,0x4000000,0x200000,0x30001b27,0x4000000,0x400000,0x30001b27,0x7c00100,0x230400,0x30001c1c,0x2802100,0x1862460,
+0x30001c1c,0x2802400,0x1862460,0x30001c1c,0x2806400,0x1862460,0x30001c1c,0x4000000,0x200000,0x30001c1c,0x6800100,0x1862400,0x30001c1c,0x6800100,0x1862540,0x30001c1c,
+0x7c00100,0x1830000,0x30001c1c,0x7c00100,0x1830001,0x30001c1c,0xc000010,0x448000,0x30001f0b,0x4000000,0x200000,0x30001f0b,0x4000010,0x200000,0x30001f0b,0x4000010,
+0x400000,0x30001f0b,0x6800000,0x200000,0x30001f0b,0x7c00100,0x230400,0x30001f0b,0xc000010,0x248000,0x30002006,0x7c00100,0x250400,0x30002128,0x4000000,0x200000,
+0x30002128,0x7c00100,0x230400,0x30002128,0xc000010,0x248000,0x3000221d,0x4000000,0x810000,0x3000221d,0x4000000,0x1410000,0x3000221d,0x4000001,0x445800,0x3000221d,
+0x7c00100,0x230400,0x30002300,0x4000010,0x400000,0x30002320,0x7c00100,0x230400,0x30002417,0x2802100,0x1862460,0x30002417,0x2802400,0x1862460,0x30002417,0x2806400,
+0x1862460,0x30002417,0x2882000,0x1862460,0x30002417,0x4000000,0x200000,0x30002417,0x4000000,0x400000,0x30002417,0x4000000,0x1600000,0x30002417,0x4000010,0x400000,
+0x30002417,0x4000010,0x1200000,0x30002417,0x6800000,0x1329800,0x30002417,0x6800100,0x1862540,0x30002417,0x7c00100,0x1830000,0x30002417,0x7d00100,0x1830000,0x3000251b,
+0x80000,0xc18820,0x3000251b,0x2802100,0x962460,0x3000251b,0x3c02100,0x962460,0x3000251b,0x4000000,0x200000,0x3000251b,0x4000006,0x500000,0x3000251b,0x4000010,
+0x400000,0x3000251b,0x4000010,0xb70000,0x3000251b,0x4000800,0x200000,0x3000251b,0x6800000,0x1329800,0x3000251b,0x7c00100,0x230400,0x3000251b,0x7c00900,0x230400,
+0x3000251b,0xc000010,0xb48000,0x3000251b,0x12882000,0x962460,0x30002800,0x24000000,0x200000,0x30002800,0x2c000010,0x1248002,0x30002800,0x2c000010,0x15248002,0x30002a00,
+0x4000000,0x1600000,0x30002b01,0x2000,0x962460,0x30002b01,0x2000,0x8962460,0x30002c00,0x4000000,0x200000,0x30002c00,0x7c00100,0x14220405,0x30002d19,0x7c00100,
+0x250400,0x30002e00,0x24000000,0x200000,0x30003000,0x24000000,0x200000,0x30003000,0x24000000,0x4200000,0x30003100,0x24000000,0x200000,0x30003600,0x24000000,0x200000,
+0x30003700,0x24000000,0x4200000,0x3000392e,0x24000000,0x200000,0x30005013,0x7c00100,0x2633801,0x30005600,0,0x918820,0x30020600,0x4000400,0x500400,0x30020701,
+0x2802400,0x962460,0x30020701,0x2802400,0xc62460,0x300a3a11,0x4020000,0xe00000,0x300a3a11,0x4020000,0xe00002,0x300a3b11,0x4020000,0xe00002,0x300a3c00,0x4008000,
+0xe00000,0x300a3c00,0x4010000,0xe00000,0x300a3d11,0x7c00300,0xe30002,0x300a4305,0x7c00100,0xe30400,0x300a4611,0x7c40300,0xe30000,0x300a4829,0x7c00100,0xe30400,
+0x300a4829,0x7c00900,0x1230400,0x300a4929,0x4000000,0xe00000,0x30402591,0x4000010,0x400000,0x30402591,0x4000010,0xb70000,0x30402591,0xc000010,0xb48000,0x304028af,
+0x4000001,0xc41c0b,0x304a3dbf,0x4000000,0xe00000,0x30800c1f,0x2802100,0x962460,0x30c01c89,0x6800000,0x1329800,0x3100080e,0x7c00120,0x220402,0x3100080e,0x7c00120,
+0x250402,0x31005167,0x1000,0,0x3100581e,0x4000000,0x200000,0x3100581e,0x7c00100,0x230400,0x3100590d,0x7c00100,0x230400,0x31005a09,0x7c00100,0x220400,
+0x31005a09,0x7c00100,0x250400,0x31005b00,0x4000000,0x200000,0x31005c00,0x80000,0x918820,0x31005c00,0x2802000,0x962460,0x31005c00,0x2802400,0x962460,0x31005c00,
+0x4000000,0x200000,0x31005c00,0x4000000,0x200001,0x31005c00,0x6800000,0x962540,0x31005c00,0x6800400,0x962540,0x31005c01,0x2802400,0x962460,0x31005d00,0x4000020,
+0x200005,0x31005d00,0x6800020,0x1329805,0x31005d00,0x7c00120,0x220405,0x31005d00,0x7c00120,0x250405,0x31006000,0x82000,0x8962460,0x31006000,0x180000,0x918820,
+0x310a5e11,0x7c40300,0xe30000,0x310a5f11,0x7c00300,0xe30001,0x32000419,0x7c00100,0x250400,0x3200080e,0x4000020,0x200000,0x3200080e,0x7c00100,0x220400,0x3200080e,
+0x7c00100,0x250400,0x32000908,0x7c00100,0x220400,0x32000908,0x7c00100,0x250400,0x32000c02,0x7c00100,0x230400,0x32000e25,0x7c00100,0x230400,0x32001d0c,0x7c00100,
+0x230400,0x32002800,0x80000,0x1e18820,0x32002800,0x80020,0x218820,0x32002800,0x4000001,0x445802,0x32002800,0x24000000,0x200000,0x32002800,0x24000000,0x200002,
+0x32002800,0x24000020,0x200000,0x32002800,0x2c000010,0x1248002,0x32002919,0x7c00100,0x22040f,0x32002a00,0x4000000,0x1600000,0x32002b01,0x2000,0x962460,0x32002b01,
+0x2802000,0x962460,0x32002b01,0x2802020,0x962460,0x32002c00,0x4000000,0x200000,0x32002c00,0x4000020,0x200000,0x32002c00,0x4000020,0x200005,0x32002c00,0x7c00120,
+0x220405,0x32002c00,0x7c00120,0x250405,0x32002e00,0x24000020,0x200000,0x32002f00,0x24000020,0x200000,0x32003000,0x24000000,0x200000,0x32003000,0x24000020,0x200000,
+0x32003500,0x24000000,0x200000,0x32003600,0x24000020,0x200000,0x32003600,0x24000020,0x14200000,0x32003700,0x24000000,0x200000,0x32003700,0x24000000,0x4100000,0x32003700,
+0x24000000,0x4200000,0x32003700,0x24000000,0x14200000,0x32003800,0x24000000,0x810000,0x32003800,0x24000000,0x1410000,0x32005102,0x4000000,0x1500008,0x32005502,0x7c00100,
+0x230400,0x32006108,0x7c00100,0x220400,0x32006108,0x7c00100,0x250400,0x3200622a,0x2802100,0x962460,0x3200622a,0x2806000,0x962460,0x3200622a,0x7c00100,0x230400,
+0x3200632b,0x2802100,0x962460,0x3200632b,0x2806000,0x962460,0x3200632b,0x7c00100,0x230400,0x3200642c,0x2802100,0x962460,0x3200642c,0x7c00100,0x230400,0x3200652d,
+0x2802100,0x962460,0x3200652d,0x7c00100,0x230400,0x32006600,0x24000020,0x200000,0x32006700,0x24000020,0x200000,0x32006800,0x24000020,0x200000,0x32006800,0x24000020,
+0x14200000,0x32006900,0x24000020,0x200000,0x32006900,0x24000020,0x810000,0x32006900,0x24000020,0x1410000,0x32006a00,0x24000020,0x200000,0x32006a00,0x24000020,0x200001,
+0x32006a00,0x24000020,0x200002,0x32020701,0x2882000,0xc62460,0x32023300,0x4000000,0x100000,0x32026c01,0x12882000,0x962460,0x32026c01,0x12882000,0x8962460,0x32065700,
+0x4000000,0x810011,0x32065700,0x4000000,0x1410011,0x32086600,0x24000020,0x810000,0x32086600,0x24000020,0x1410000,0x32086900,0x24000020,0x810000,0x32086900,0x24000020,
+0x1410000,0x320a3600,0x24000020,0x34200000,0x320a3d11,0x7c00100,0x1230400,0x320a3e14,0x7c00100,0xe30010,0x320a3e14,0x7c00100,0x2530000,0x320a3f16,0x7c00100,0xe30c10,
+0x320a4400,0x4000000,0xe00003,0x320a4929,0x4000000,0xe00000,0x320a4f11,0x7c00300,0xe30001,0x320a6b16,0x7c00100,0x2530c00,0x3240638d,0xc000010,0x448000,0x324a3dc2,
+0x4000000,0x14e00000,0x324a3dc2,0x7c00100,0x1230400,0x324a3fbd,0x4000002,0x1200c00,0x324a53ba,0x24000000,0xe00000,0x32820701,0x2802000,0x962460,0x40000419,0x7c00100,
+0x220400,0x40000519,0x7c00100,0x220400,0x40000600,0x4000400,0x200400,0x4000080e,0x7c00100,0x220400,0x4000080e,0x7c00100,0x250400,0x4000080e,0x7c00100,0x250402,
+0x40000c02,0x2802100,0x962460,0x40000c02,0x2802400,0x962460,0x40000c02,0x2802500,0x962460,0x40000c02,0x4000000,0x200000,0x40000c02,0x4000000,0x1071400,0x40000c02,
+0x7c00100,0x230400,0x40000c02,0x80000000,0x218960,0x40000d22,0x7c00100,0x230400,0x40000f0a,0x7c00100,0x230400,0x40001004,0x7c00100,0x230400,0x40001110,0x2802100,
+0x962460,0x40001110,0x6800100,0x962540,0x4000120f,0x2802100,0x962460,0x4000120f,0x4000000,0x1600000,0x4000120f,0x7c00100,0x230400,0x4000131f,0x7c00100,0x230400,
+0x40001423,0x4000000,0x200000,0x40001423,0x4000000,0x1600000,0x40001615,0x2802400,0x962460,0x40001615,0x7c00100,0x230400,0x40002417,0x2802400,0x1862460,0x40002417,
+0x4000000,0x200000,0x40002800,0x6800000,0x201c00,0x40002800,0x24000002,0x200000,0x40002c00,0x4000000,0x200002,0x40003000,0x24000000,0x14200000,0x40003000,0x24000020,
+0x200000,0x40003700,0x24000000,0x200000,0x40003700,0x24000000,0x4200000,0x40003700,0x24000000,0x14200000,0x40005a09,0x7c00100,0x220400,0x40005a09,0x7c00100,0x250400,
+0x40005d00,0x7c00120,0x220405,0x40006f30,0x2802100,0x962460,0x40006f30,0x2802400,0x962460,0x40006f30,0x4000000,0x200000,0x40006f30,0x6800000,0x1329800,0x40006f30,
+0x6800100,0x962540,0x40006f30,0x7c00100,0x230400,0x40006f30,0xc000010,0xb48000,0x40007034,0x7c00100,0x1830000,0x40007117,0x4000000,0x200000,0x40007208,0x7c00100,
+0x220400,0x4000720e,0x7c00100,0x220400,0x4000720e,0x7c00500,0x22040e,0x4000720e,0x7c00500,0x22040f,0x40007219,0x7c00100,0x220400,0x40007219,0x7c00500,0x220400,
+0x40007219,0x7c00500,0x22040e,0x40007219,0x7c00500,0x22040f,0x40007300,0x24000000,0x200000,0x40007300,0x24000000,0x14200000,0x40007400,0x4000000,0x200000,0x40007531,
+0x7c00100,0x230400,0x40007631,0x7c00100,0x230400,0x40007835,0x4000010,0x400000,0x40007835,0x7c00100,0x230400,0x40007933,0x7c00100,0x230400,0x40007a32,0x6800000,
+0x1329800,0x40007a32,0x7c00100,0x230400,0x40007b2f,0x7c00100,0x230400,0x40007c00,0x4000000,0x200000,0x40020701,0x2802400,0x962460,0x40020701,0x2802400,0xc62460,
+0x40023300,0x4000000,0x200000,0x40027d01,0x12882000,0x962460,0x400a3700,0x24000000,0x34200000,0x400a3700,0x24000000,0x34e00000,0x400a4400,0x4000000,0xe0000d,0x400a4412,
+0x4000000,0xe00002,0x400a4412,0x4000000,0xe00003,0x400a4500,0x4000000,0xe0000d,0x400a5300,0x4000000,0x810010,0x400a5300,0x4000000,0x1410010,0x404077f6,0x4000000,
+0x200000,0x404077f9,0x4000000,0x200000,0x404077f9,0x4000000,0x400000,0x40c01480,0x4000000,0x200000,0x40c05123,0x4000000,0x200000,0x41000419,0x7c00100,0x220400,
+0x41000419,0x7c00100,0x250400,0x4100080e,0x7c00100,0x220400,0x4100080e,0x7c00100,0x250400,0x41000908,0x7c00100,0x220400,0x41000908,0x7c00100,0x250400,0x41000b13,
+0x2802000,0x962460,0x41000b13,0x2802100,0x962460,0x41000b13,0x4000000,0xb00000,0x41000c02,0x2802100,0x962460,0x41000c02,0x4000000,0x1500000,0x41000c02,0xc000010,
+0xb48000,0x41000f0a,0x7c00100,0x230400,0x41001004,0x7c00100,0x230400,0x41001423,0x7c00100,0x230400,0x41001b27,0x4000000,0x500000,0x41001d0c,0x7c00100,0x230400,
+0x41001d0c,0x7c00100,0x23040f,0x41001f0b,0x2802400,0x962460,0x41001f0b,0x4000000,0x200000,0x41001f0b,0x7c00100,0x230400,0x41002800,0x24000000,0x200000,0x41002800,
+0x24000000,0x400000,0x41002919,0x7c00100,0x22040e,0x41002a00,0x4000000,0x1600000,0x41002b01,0x2802020,0x962460,0x41002c00,0x4000000,0x200000,0x41002c00,0x7c00120,
+0x220405,0x41003000,0x24000000,0x200000,0x41003700,0x24000000,0x4200000,0x41003700,0x24000000,0x14200000,0x41003700,0x24000000,0x14e00000,0x41005d00,0x7c00120,0x220405,
+0x41006600,0x24000020,0x200000,0x41006600,0x24000020,0x810000,0x41006600,0x24000020,0x1410000,0x41007208,0x7c00100,0x22040f,0x41007219,0x7c00100,0x220400,0x41007300,
+0x24000000,0x200000,0x41007e0e,0x2802000,0x962460,0x41007e0e,0x4000000,0x200000,0x41007f0e,0x4000000,0x200000,0x41007f0e,0x7c00100,0x230400,0x41008002,0x7c00100,
+0x230400,0x41008137,0x2802100,0x962460,0x41008137,0x4000000,0x200000,0x41008137,0x6800100,0x962540,0x41008137,0x7c00100,0x230400,0x41008301,0x2802000,0x962460,
+0x41008407,0x4000000,0x200000,0x41008407,0x4000000,0x400000,0x41008407,0x4000000,0xb00000,0x41008407,0x7c00100,0x220400,0x41008407,0x7c00100,0x250400,0x4100850b,
+0x7c00100,0x230400,0x4100860b,0x4000000,0x200000,0x4100860b,0x7c00100,0x230400,0x4100870c,0x7c00100,0x220400,0x41008838,0x7c00100,0x220400,0x41008838,0x7c00100,
+0x250400,0x41008939,0x2802000,0x962460,0x41008939,0x2802100,0x962460,0x41008939,0x2806000,0x962460,0x41008939,0x4000000,0x200000,0x41008939,0x4000000,0x400000,
+0x41008939,0x7c00100,0x230400,0x41008939,0xc000010,0x448000,0x41008a00,0x4000400,0x200000,0x41008b3b,0x4000000,0x1800000,0x41008b3b,0x6800000,0x1329800,0x41008b3b,
+0x7c00100,0x1830000,0x41008b3b,0x7e00100,0x1830000,0x41008c3d,0x4000010,0x400000,0x41008c3d,0x7c00100,0x230400,0x41008d0e,0x7c00100,0x22040f,0x41008d19,0x7c00100,
+0x220400,0x41008d19,0x7c00100,0x22040f,0x41008e00,0x24000000,0x200000,0x41008e00,0x24000000,0x400000,0x41008e00,0x24000000,0x1710000,0x41008e00,0x24000006,0x400000,
+0x41008f3a,0x2802100,0x962460,0x41008f3a,0x2806000,0x962460,0x41008f3a,0x4000000,0x200000,0x41008f3a,0x6800100,0x962540,0x41008f3a,0x7c00100,0x230400,0x4100903c,
+0x7c00100,0x230400,0x4100903c,0x7c00100,0x23040f,0x41020701,0x2802000,0x962460,0x41020701,0x2802000,0xc62460,0x410a3700,0x24000000,0x34200000,0x410a3700,0x24000000,
+0x34e00000,0x410a4412,0x4000000,0xe00003,0x410a4711,0x7c40300,0xe30000,0x410a4f11,0x7c00300,0xe30001,0x410a9100,0x4000000,0x800010,0x410a9100,0x4000000,0x810010,
+0x410a9100,0x4000000,0x870010,0x410a9100,0x4000000,0xb00010,0x410a9100,0x4000000,0xf00010,0x410a9100,0x4000000,0x1001410,0x410a9100,0x4000000,0x1071010,0x410a9100,
+0x4000000,0x1071410,0x410a9100,0x4000000,0x1410010,0x414a82bf,0x4000000,0xe00000,0x41808300,0x2802000,0x962460,0x41c01480,0x6800000,0x1329800,0x50000419,0x7c00100,
+0x220400,0x50000419,0x7c00100,0x250400,0x5000080e,0x7c00100,0x220400,0x50000908,0x7c00100,0x220400,0x50000908,0x7c00100,0x250400,0x50000b13,0x2802500,0x962460,
+0x50000f0a,0x7c00100,0x230400,0x50001615,0x2802100,0x962460,0x50001615,0x7c00100,0x230400,0x50002b01,0x2802020,0x962460,0x50002c00,0x4000000,0x200000,0x50002c19,
+0x7c00100,0x220400,0x50002d19,0x7c00100,0x220400,0x50003000,0x24000000,0x200000,0x50003000,0x24000020,0x200000,0x50003700,0x24000000,0x4200000,0x50005d00,0x7c00120,
+0x220405,0x50005d00,0x7c00120,0x250405,0x50006108,0x7c00100,0x220400,0x50006108,0x7c00100,0x250400,0x50006600,0x24000020,0x200000,0x50007300,0x24000000,0x200000,
+0x50008301,0x2802400,0x962460,0x50008a00,0x7c00500,0x230400,0x50009257,0x2802400,0x962460,0x50009257,0x4000000,0x200000,0x50009257,0x4000010,0x1071400,0x50009257,
+0x6800000,0x1329800,0x50009257,0x7c00100,0x230400,0x50009257,0x7c00500,0x230400,0x50009257,0x7c00900,0x230400,0x50009257,0xc000010,0xb48000,0x5000933e,0x2802100,
+0x962460,0x5000933e,0x2802400,0x962460,0x5000933e,0x4000000,0x200000,0x5000933e,0x4000000,0x400000,0x5000933e,0x4000010,0x400000,0x5000933e,0x6800000,0x1329800,
+0x5000933e,0x6800100,0x962540,0x5000933e,0x6800100,0x962541,0x5000933e,0x6804400,0x962540,0x5000933e,0x7c00100,0x230400,0x5000933e,0x7c00100,0x230401,0x5000933e,
+0xc000010,0x448000,0x50009419,0x7c00100,0x220400,0x50009419,0x7c00100,0x250400,0x50009500,0x4000400,0x200400,0x5000965a,0x4000000,0x500000,0x5000965a,0x7c00100,
+0x230400,0x5000965a,0xc000010,0xb48000,0x5000975b,0x4000000,0x200000,0x5000975b,0x4000010,0x400000,0x5000975b,0x7c00100,0x230400,0x50009865,0x7c00100,0x230400,
+0x50009965,0x4000010,0x400000,0x50009965,0x7c00100,0x230400,0x50409abf,0x4000000,0x200000,0x5100080e,0x7c00100,0x220400,0x5100080e,0x7c00100,0x250400,0x51000c02,
+0x2802100,0x962460,0x51000c02,0x4000000,0x1500000,0x51000c02,0x4000020,0x200000,0x51000c02,0x7c00100,0x230400,0x51000f0a,0x7c00100,0x230400,0x51000f0a,0x7c00500,
+0x230400,0x51001110,0x2802100,0x962460,0x5100131f,0x2802100,0x962460,0x51001423,0x7c00100,0x230400,0x51001524,0x2802100,0x962460,0x51001524,0x4000000,0x200000,
+0x51001524,0x7c00100,0x230400,0x5100171a,0x2802100,0x962460,0x5100171a,0x4000000,0x200000,0x5100171a,0x4000000,0x1500000,0x5100171a,0x7c00100,0x230400,0x51001b27,
+0x4000000,0x200000,0x51001b27,0x4000000,0x400000,0x51001b27,0x4000000,0x500000,0x51001b27,0x7c00100,0x230400,0x51001c1c,0x2802100,0x1862460,0x51001c1c,0x2802500,
+0x1862460,0x51001c1c,0x2806400,0x1862460,0x51001c1c,0x4000000,0x1800000,0x51001c1c,0x6800000,0x1329800,0x51001c1c,0x6800100,0x1862400,0x51001c1c,0x6800100,0x1862540,
+0x51001c1c,0x6800500,0x1862400,0x51001c1c,0x7c00100,0x1830000,0x5100251b,0x7c00100,0x230400,0x51002619,0x7c00100,0x220400,0x51002619,0x7c00100,0x250400,0x51002800,
+0x80020,0x218820,0x51002c00,0x4000000,0x200000,0x51002d19,0x7c00100,0x230400,0x51003700,0x24000000,0x4200000,0x51003700,0x24000000,0x4e00000,0x51005201,0x2802400,
+0x962460,0x51005c00,0x4000000,0x200000,0x51006108,0x7c00100,0x220400,0x51006108,0x7c00100,0x250400,0x51006600,0x24000020,0x200000,0x51006600,0x24000020,0x810000,
+0x51006600,0x24000020,0x1410000,0x51007300,0x24000000,0x200000,0x51007300,0x24000020,0x200000,0x51008002,0x7c00100,0x230400,0x51008301,0x2802000,0x962460,0x51008301,
+0x2802400,0x962460,0x51008a00,0x7c00500,0x230400,0x51008e00,0x24000000,0x200000,0x51008e00,0x24000000,0x400000,0x51008e00,0x24000000,0x810000,0x51008e00,0x24000000,
+0x1400000,0x51008e00,0x24000000,0x1410000,0x51008e00,0x24000000,0x1710000,0x51008e00,0x24000002,0x200000,0x51008e00,0x24000500,0x230400,0x51008e00,0x2c000010,0xb48000,
+0x51009419,0x7c00100,0x220400,0x51009419,0x7c00100,0x22040e,0x51009419,0x7c00100,0x22040f,0x51009419,0x7c00100,0x250400,0x51009500,0x4000400,0x200400,0x51009500,
+0x7c00500,0x230400,0x51009519,0x7c00100,0x220400,0x51009519,0x7c00100,0x22040f,0x51009519,0x7c00100,0x230400,0x51009519,0x7c00100,0x250400,0x51009b71,0x2802100,
+0x962460,0x51009b71,0x6800000,0x1329800,0x51009b71,0x6800100,0x962540,0x51009b71,0x6804400,0x962540,0x51009b71,0x7c00100,0x230400,0x51009c52,0x2802100,0x962460,
+0x51009c52,0x2802400,0x962460,0x51009c52,0x2802d00,0x962460,0x51009c52,0x4000010,0x400000,0x51009c52,0x6800000,0x1329800,0x51009c52,0x6800100,0x962540,0x51009c52,
+0x7c00100,0x230400,0x51009c52,0xc000010,0x448000,0x51009d6d,0x6800000,0x1329800,0x51009d6d,0x7c00100,0x230400,0x51009d6d,0x7c00500,0x230400,0x51009d6d,0x7c00d00,
+0x230400,0x51009d6d,0xc000010,0x448000,0x51009e08,0x2802100,0x962460,0x51009f63,0x4000010,0x400000,0x51009f63,0x6800000,0x1329800,0x51009f63,0x7c00100,0x230400,
+0x51009f63,0x7c00900,0x230400,0x51009f63,0xc000010,0x448000,0x51009f63,0xc000010,0xb48000,0x5100a008,0x2000,0x962460,0x5100a008,0x2802400,0x962460,0x5100a008,
+0x4000000,0x200000,0x5100a008,0x7c00100,0x220400,0x5100a008,0x7c00100,0x230400,0x5100a008,0x7c00100,0x250400,0x5100a008,0x7c00500,0x230400,0x5100a16f,0x2806400,
+0x962460,0x5100a16f,0x6800000,0x1329800,0x5100a16f,0x6800100,0x962540,0x5100a16f,0x7c00100,0x230400,0x5100a16f,0xc000010,0x448000,0x5100a24f,0x2802100,0x962460,
+0x5100a24f,0x2802400,0x962460,0x5100a24f,0x6800000,0x1329800,0x5100a24f,0x7c00100,0x230400,0x5100a24f,0xc000010,0x448000,0x5100a36e,0x2802100,0x962460,0x5100a36e,
+0x4000000,0x200000,0x5100a36e,0x6800100,0x962540,0x5100a36e,0x6804400,0x962540,0x5100a36e,0x7c00100,0x230400,0x5100a442,0x2802100,0x962460,0x5100a442,0x4000000,
+0x200000,0x5100a442,0x6800000,0x1329800,0x5100a442,0x6800100,0x962540,0x5100a442,0x7c00100,0x230400,0x5100a442,0xc000010,0x448000,0x5100a500,0x4000000,0x200000,
+0x5100a600,0x4000000,0x200000,0x5100a601,0x2802000,0x962460,0x5100a76b,0x7c00100,0x230400,0x5100a868,0x7c00100,0x230400,0x5100a96c,0x4000000,0x200000,0x5100a96c,
+0x7c00100,0x230400,0x5100aa00,0x4000000,0x4e00000,0x5100ab00,0x4000000,0x4e00000,0x51086600,0x24000020,0x810000,0x51086600,0x24000020,0x1410000,0x510a4005,0x7c00100,
+0xe30400,0x510a4711,0x7c40300,0xe30000,0x510a7300,0x24000000,0x34200000,0x510aaa00,0x4000000,0x34e00000,0x5140a2f1,0x4000400,0x400000,0x514a82bf,0x4000000,0xe00000,
+0x51802bb1,0x2802000,0x962460,0x51c00908,0x2802400,0x962460,0x51c0a008,0x2802400,0x962460,0x52000f0a,0x2802100,0x962460,0x52000f0a,0x6800100,0x962540,0x52000f0a,
+0x7c00100,0x230400,0x52001004,0x4000000,0x1600000,0x52001b00,0x4000000,0x200000,0x52001c1c,0x2802100,0x1862460,0x52001c1c,0x6800100,0x1862400,0x52001c1c,0x6800500,
+0x1862400,0x52001e12,0x7c00100,0x2230500,0x52001e12,0x7c00100,0x2330520,0x52002128,0x4000002,0x400000,0x52002128,0x7c00100,0x230400,0x52002a00,0x4000000,0x1500000,
+0x52002a00,0x4000000,0x1600000,0x52002d00,0x4000000,0x200006,0x52003000,0x24000000,0x200000,0x52006108,0x7c00100,0x220400,0x52006108,0x7c00100,0x250400,0x52008301,
+0x2802400,0x962460,0x52008407,0x2802400,0x962460,0x52008407,0x7c00100,0x220400,0x52008407,0x7c00100,0x250400,0x52008b3b,0x6800000,0x1800000,0x52008b3b,0x7c00100,
+0x1830000,0x52008e00,0x24000000,0x400000,0x52009419,0x7c00100,0x250400,0x5200975b,0x4000000,0x200000,0x5200ac7e,0x2802000,0x962460,0x5200ac7e,0x2802100,0x962460,
+0x5200ac7e,0x2802400,0x962460,0x5200ac7e,0x4000010,0x200000,0x5200ac7e,0x7c00100,0x230400,0x5200ac7e,0xc000010,0x248000,0x5200ad28,0x7c00100,0x230400,0x5200ae6a,
+0x2802100,0x1862460,0x5200ae6a,0x2802400,0x962460,0x5200ae6a,0x2802400,0x1862460,0x5200ae6a,0x2806000,0x1862460,0x5200ae6a,0x4000000,0x1800000,0x5200ae6a,0x6800000,
+0x1329800,0x5200ae6a,0x6800100,0x1862400,0x5200ae6a,0x6800100,0x1862540,0x5200ae6a,0x7c00100,0x1830000,0x5200ae6a,0x7c00900,0x1830000,0x5200ae6a,0xc000010,0x1848000,
+0x5200b083,0x4000010,0x400000,0x5200b083,0x7c00100,0x230400,0x5200b083,0xc000010,0x448000,0x5200b182,0x2802400,0x962460,0x5200b182,0x4000000,0x200000,0x5200b182,
+0x4000010,0x400000,0x5200b182,0x7c00100,0x230400,0x5200b182,0xc000010,0x448000,0x5200b30a,0x2802400,0x962460,0x5200b30a,0x4000000,0x200000,0x5200b30a,0x7c00100,
+0x230400,0x5200b54e,0x2802100,0x962460,0x5200b54e,0x2802400,0x962460,0x5200b54e,0x4000000,0x200000,0x5200b54e,0x4000010,0x400000,0x5200b54e,0x6800000,0x1329800,
+0x5200b54e,0x6800100,0x962540,0x5200b54e,0x6804400,0x962540,0x5200b54e,0x7c00100,0x230400,0x5200b54e,0xc000010,0x448000,0x5200b61c,0x4000000,0x1800000,0x5200b61c,
+0x6800500,0x1862400,0x5200b61c,0x7c00100,0x1830000,0x5200b61c,0x7c00900,0x1830000,0x5200b77f,0x2802100,0x1862460,0x5200b77f,0x2802400,0x1862460,0x5200b77f,0x4000000,
+0x1800000,0x5200b77f,0x4000010,0x1800000,0x5200b77f,0x7c00100,0x1830000,0x5200b77f,0x7c00500,0x1830000,0x5200b77f,0x7c00900,0x1830000,0x5200b77f,0x7e00100,0x1830000,
+0x5200b873,0x2802100,0x962460,0x5200b873,0x2806400,0x962460,0x5200b873,0x6800000,0x1329800,0x5200b873,0x6800100,0x962540,0x5200b873,0x6800400,0x962540,0x5200b873,
+0x7c00100,0x230400,0x5200b873,0xc000010,0x448000,0x5200b912,0x7c00100,0x2230500,0x5200b912,0x7c00100,0x2330520,0x5200ba74,0x4000000,0x200000,0x5200ba74,0x4000010,
+0x400000,0x5200ba74,0x7c00100,0x230400,0x5200bb85,0x4000000,0x200000,0x5200bb85,0x7c00100,0x230400,0x5200bc75,0x4000000,0x400000,0x5200bc75,0x4000010,0x400000,
+0x5200bc75,0x7c00100,0x230400,0x5200bd7d,0x4000000,0x200000,0x5200bd7d,0x7c00100,0x230400,0x5200be7a,0x4000000,0x200000,0x5200be7a,0x7c00100,0x230400,0x5200bf58,
+0x7c00100,0x230400,0x5200c002,0x4000000,0x200000,0x5200c178,0x2802000,0x962460,0x5200c178,0x2802100,0x962460,0x5200c178,0x2802400,0x962460,0x5200c178,0x2806400,
+0x962460,0x5200c178,0x4000000,0x200000,0x5200c178,0x6800100,0x962540,0x5200c178,0x7c00100,0x230400,0x5200c178,0x7c00100,0x230401,0x5200c178,0xc000010,0x448000,
+0x5200c178,0x80000000,0x218960,0x5200c247,0x7c00100,0x230400,0x5200c247,0x7c00100,0x830400,0x5200c247,0x7c00100,0x1430400,0x5200c300,0x4000000,0x200003,0x52022d00,
+0x4000000,0x100006,0x52023700,0x24000000,0x4100000,0x52023700,0x24000000,0x4e00000,0x52023700,0x24000000,0x14100000,0x52023700,0x24000000,0x14e00000,0x52023700,0x24000000,
+0x96800000,0x52024400,0x4000000,0x100000,0x52027300,0x24000000,0x100000,0x5202c300,0x4000000,0x100000,0x5202c300,0x4000000,0x100002,0x5202c300,0x4000000,0x100003,
+0x5202c300,0x4000000,0x10000d,0x5202c300,0x4000100,0x150400,0x5202c300,0x4000100,0x15040d,0x5202c300,0x4000100,0x14150400,0x520a1e12,0x7c00100,0x2130480,0x520a3700,
+0x24000000,0x34e00000,0x520a3800,0x24000000,0x34100000,0x520a4711,0x7c40300,0xe30000,0x520a4f11,0x7c00300,0xe30001,0x520a7300,0x24000000,0x34100000,0x520ab412,0x7c00100,
+0x2130480,0x520ac400,0x4000000,0xe00002,0x520ac400,0x4000000,0xe0000d,0x520ac400,0x4000000,0x34e0000d,0x520ac414,0x4000000,0xe0000d,0x520ac511,0x7c40300,0xe30000,
+0x5240af93,0x7c00100,0x230400,0x5240af98,0x4000400,0x200000,0x5240af9a,0x6800400,0x962540,0x5240af9a,0x7c00100,0x230400,0x5240afa4,0x7c00100,0x230400,0x5240afa6,
+0x7c00100,0x230400,0x5240b2c5,0x4000000,0x200000,0x5240b2c5,0x4000000,0x1500000,0x5240b2d0,0x4000000,0x200000,0x5240b2de,0x4000000,0x200000,0x5240b5f4,0x7c00900,
+0x230400,0x524a44bf,0x4000000,0xe00003,0x5280af93,0x2802400,0x962460,0x5280af94,0x2802400,0x962460,0x5280af9a,0x2802400,0x962460,0x5280af9c,0x2802400,0x962460,
+0x5280af9e,0x2802400,0x962460,0x52c0b3eb,0x2802400,0x962460,0x52c0b3ef,0x7c00100,0x230400,0x60000c02,0x2802100,0x962460,0x60000c02,0x7c00100,0x230400,0x60000f0a,
+0x2802100,0x962460,0x60000f0a,0x6800100,0x962540,0x60000f0a,0x7c00100,0x230400,0x6000131f,0x4000000,0x200000,0x6000171a,0x7c00100,0x230400,0x6000171a,0x7c00100,
+0x230560,0x60001b27,0x2802100,0x962460,0x60001b27,0x4000000,0xc00000,0x60001b27,0x7c00100,0x230400,0x60001f0b,0x2802400,0x962460,0x60002919,0x7c00100,0x22040e,
+0x60002a00,0x4000000,0x1600000,0x60003000,0x24000000,0x14200000,0x60003000,0x24000000,0x14e00000,0x60003700,0x24000000,0x4200000,0x60003800,0x24000000,0x1710000,0x60005102,
+0x4000000,0x200000,0x60006108,0x7c00100,0x220400,0x60006108,0x7c00100,0x250400,0x60006600,0x24000020,0x200000,0x60008301,0x2802000,0x962460,0x6000903c,0x2806000,
+0x962460,0x6000903c,0x4000000,0x400000,0x60009519,0x7c00100,0x220400,0x60009519,0x7c00100,0x250400,0x6000a008,0x7c00100,0x220400,0x6000a008,0x7c00100,0x250400,
+0x6000c300,0x4000000,0x3a703580,0x6000c654,0x2802000,0x962460,0x6000c654,0x4000010,0x200000,0x6000c654,0x7c00100,0x230400,0x6000c73f,0x2802000,0x962460,0x6000c73f,
+0x2802100,0x962460,0x6000c73f,0x4000000,0x200000,0x6000c73f,0x6800100,0x962540,0x6000c73f,0x6804000,0x962540,0x6000c73f,0x7c00100,0x230400,0x6000c80b,0x7c00100,
+0x230400,0x6000c941,0x2802100,0x962460,0x6000c941,0x2806000,0x962460,0x6000c941,0x4000000,0x200000,0x6000c941,0x4000010,0x200000,0x6000c941,0x6800000,0x1329800,
+0x6000c941,0x6800100,0x962540,0x6000c941,0x7c00100,0x230400,0x6000c941,0xc000010,0x448000,0x6000ca82,0x7c00100,0x230400,0x6000cc00,0x4000000,0x4e00000,0x6000d000,
+0x4000000,0x200000,0x6002c300,0x4000000,0x100000,0x6002c300,0x4000000,0x10000d,0x6002c300,0x4000100,0x150400,0x6002c300,0x4000100,0x15040d,0x6002c300,0x4000100,
+0x14150400,0x600a3000,0x24000000,0x34200000,0x600a3000,0x24000000,0x34e00000,0x600a3700,0x24000000,0x34200000,0x600a3800,0x24000000,0x34200000,0x600a3800,0x24000000,0xb6800000,
+0x600a4305,0x7c00100,0xe30400,0x600ac300,0x4000000,0x34100000,0x600ac400,0x4000000,0x14e0000d,0x600ac400,0x4000000,0x34e0000d,0x600acb14,0x7c00100,0xe30000,0x600acb16,
+0x7c00100,0xe30c00,0x600acc00,0x4000000,0x34e00000,0x600acd00,0x4000000,0x34200000,0x600acd00,0x4000000,0x34e00000,0x600acd00,0x4000000,0xb6800000,0x600ace00,0x4000000,
+0x34e00000,0x600ace00,0x4000000,0xb6800000,0x600acf00,0x4000000,0x34e00000,0x600acf00,0x4000000,0xb6800000,0x600ad111,0x7c40300,0xe30000,0x604ac4bf,0x4000000,0x34e00003,
+0x61000a03,0x4000000,0x1600000,0x61000c02,0x80000000,0x218960,0x6100120f,0x4000000,0x200000,0x61001a18,0x7c00100,0x1830000,0x61001d0c,0x7c00100,0x230400,0x61001d0c,
+0x7c00100,0x250400,0x61006600,0x24000020,0x200000,0x61008407,0x7c00100,0x220400,0x61008407,0x7c00100,0x250400,0x6100870c,0x7c00100,0x220400,0x61008e00,0x24000000,
+0x200000,0x61008e00,0x24000000,0x400000,0x61008e00,0x24000002,0x300000,0x6100903c,0x7c00100,0x230400,0x61009519,0x7c00100,0x220400,0x61009519,0x7c00100,0x250400,
+0x61009519,0x7c00500,0x22040f,0x61009b71,0x2802100,0x962460,0x61009b71,0x2806400,0x962460,0x61009b71,0x7c00100,0x230400,0x6100a008,0x2802100,0x962460,0x6100c300,
+0x4000000,0x20000f,0x6100cd00,0x4000000,0x200000,0x6100d202,0x2802400,0x962460,0x6100d202,0x2802500,0x962460,0x6100d202,0x7c00100,0x230400,0x6100d302,0x4000020,
+0x200000,0x6100d302,0x7c00120,0x230405,0x6100d476,0x2802100,0x962460,0x6100d476,0x2802100,0x962461,0x6100d476,0x2806400,0x962460,0x6100d476,0x4000000,0x400000,
+0x6100d476,0x6800000,0x1329800,0x6100d476,0x6800100,0x962540,0x6100d476,0x7c00100,0x230400,0x6100d476,0xc000010,0x448000,0x6100d573,0x2802100,0x962460,0x6100d573,
+0x2806400,0x962460,0x6100d573,0x6800100,0x962540,0x6100d573,0x7c00100,0x230400,0x6100d573,0x7c00900,0x230400,0x6100d573,0xc000010,0x448000,0x6100d68d,0x7c00100,
+0x230400,0x6100d756,0x7c00100,0x230400,0x6100d85c,0x2802500,0x962460,0x6100d85c,0x6800100,0x962540,0x6100d85c,0x7c00100,0x230400,0x6100d85c,0x7c00500,0x230400,
+0x6100d997,0x2802100,0x962460,0x6100d997,0x4000000,0x200000,0x6100d997,0x4000000,0x400000,0x6100d997,0x6800000,0x1329800,0x6100d997,0x6800100,0x962540,0x6100d997,
+0x6804400,0x962540,0x6100d997,0x7c00100,0x230400,0x6100d997,0x7c00100,0x230560,0x6100d997,0xc000010,0x448000,0x6100da98,0x6800000,0x1329800,0x6100da98,0x7c00100,
+0x230400,0x6100db71,0x4000000,0x200000,0x6100dc99,0x2802100,0x962460,0x6100dc99,0x2802400,0x962460,0x6100dc99,0x6800000,0x1329800,0x6100dc99,0x6800100,0x962540,
+0x6100dc99,0x6804400,0x962540,0x6100dc99,0x7c00100,0x230400,0x610a4711,0x7c40300,0xe30000,0x610a4f11,0x7c00300,0xe30001,0x610ace00,0x4000000,0x34e00000,0x6140af98,
+0x7c00100,0x230400,0x6140af9a,0x7c00100,0x230400,0x6180af95,0x2802400,0x962460,0x62002a00,0x4000000,0x1600000,0x63002800,0x80000,0x918820,0x63c00c15,0x80000,
+0x918820,0x7000080e,0x7c00100,0x250400,0x70000a03,0x4000000,0x200000,0x70000c00,0x80000000,0x218960,0x70000f0a,0x7c00100,0x230400,0x70001004,0x7c00100,0x230400,
+0x70001524,0x2802100,0x962460,0x70001524,0x7c00100,0x230400,0x70001615,0x2802100,0x962460,0x7000171a,0x2802100,0x962460,0x70001821,0x6800000,0x1329800,0x70002320,
+0x7c00100,0x230400,0x70002a00,0x4000000,0x1500000,0x70002a00,0x4000000,0x1600000,0x70003000,0x24000000,0x200000,0x70003000,0x24000000,0x14200000,0x70003800,0x24000000,
+0x4e00000,0x70005201,0x2802400,0x962460,0x7000581e,0x7c00100,0x230400,0x70006108,0x7c00100,0x220400,0x70006108,0x7c00100,0x250400,0x70006f30,0x7c00100,0x230400,
+0x70007300,0x24000000,0x200000,0x70007f0e,0x4000000,0x200000,0x70008301,0x2802100,0x962460,0x70008301,0x2802400,0x962460,0x70008e00,0x24000000,0x200000,0x70008e00,
+0x24000000,0x400000,0x70008e00,0x24000002,0x400000,0x70008e00,0x24000008,0x1410000,0x70008e00,0x24000010,0x400000,0x70008e00,0x2c000010,0x448000,0x70009519,0x7c00100,
+0x220400,0x70009519,0x7c00100,0x230400,0x70009519,0x7c00100,0x250400,0x70009865,0x7c00100,0x230400,0x70009965,0x4000010,0x400000,0x70009965,0x7c00100,0x230400,
+0x7000a008,0x7c00100,0x220400,0x7000a008,0x7c00100,0x250400,0x7000a008,0x7c00500,0x22040f,0x7000a50e,0x4000000,0x200000,0x7000b61c,0x2802500,0x1862460,0x7000b61c,
+0x6800500,0x1862400,0x7000b61c,0x7c00100,0x1830000,0x7000c300,0x4000000,0x100000,0x7000c941,0x2806000,0x962460,0x7000cc00,0x4000000,0x4e00000,0x7000cd00,0x4000000,
+0x200000,0x7000cd00,0x4000000,0x4200000,0x7000cd00,0x4000000,0x4e00000,0x7000cd00,0x4000000,0x14200000,0x7000cd00,0x4000000,0x14e00000,0x7000cd00,0x4000000,0x96800000,
+0x7000cf00,0x4000000,0x4e00000,0x7000cf00,0x4000000,0x14e00000,0x7000d202,0x2802100,0x962460,0x7000d202,0x7c00100,0x230400,0x7000d997,0x7c00100,0x230400,0x7000d997,
+0xc000010,0x248000,0x7000dd86,0x2802400,0x962460,0x7000dd86,0x7c00100,0x230400,0x7000dd86,0xc000010,0x448000,0x7000de9f,0x4000000,0x200000,0x7000de9f,0x7c00100,
+0x230400,0x7000e001,0x2000,0x962460,0x7000e001,0x2802400,0x962460,0x7000e187,0x2802000,0x962460,0x7000e187,0x2802100,0x962460,0x7000e187,0x4000000,0x200000,
+0x7000e187,0x7c00100,0x230400,0x7000e187,0xc000010,0x448000,0x7000e288,0x7c00100,0x230400,0x7000e300,0x4000000,0x200000,0x7000e489,0x2802100,0x962460,0x7000e489,
+0x2802400,0x962460,0x7000e489,0x6800100,0x962540,0x7000e489,0x6800100,0x962541,0x7000e489,0x6804400,0x962540,0x7000e489,0x7c00100,0x230400,0x7000e489,0x7c00900,
+0x230400,0x7000e59d,0x2802100,0x962460,0x7000e59d,0x2802400,0x962460,0x7000e59d,0x4000000,0x200000,0x7000e59d,0x4000010,0x200000,0x7000e59d,0x6800100,0x962540,
+0x7000e59d,0x6804400,0x962540,0x7000e59d,0x7c00100,0x230400,0x7000e59d,0xc000010,0x448000,0x7000e691,0x2802100,0x962460,0x7000e691,0x2802400,0x962460,0x7000e691,
+0x2806400,0x962460,0x7000e691,0x6800000,0x1329800,0x7000e691,0x6800100,0x962540,0x7000e691,0x7c00100,0x230400,0x7000e700,0x4000400,0x200400,0x7000e70e,0x7c00100,
+0x220400,0x7000e719,0x7c00100,0x220400,0x7000e719,0x7c00500,0x22040f,0x7000e853,0x7c00100,0x230400,0x7000e9a0,0x2802400,0x962460,0x7000e9a0,0x4000000,0x200000,
+0x7000e9a0,0x4000000,0x500000,0x7000e9a0,0x7c00100,0x230400,0x7000ea79,0x2802400,0x962460,0x7000ea79,0x4000000,0x200000,0x7000ea79,0x4000000,0xf00000,0x7000ea79,
+0x4000010,0x400000,0x7000ea79,0x7c00100,0x230400,0x7000eb8c,0x2802400,0x962460,0x7000eb8c,0x4000000,0x200000,0x7000eb8c,0x7c00100,0x230400,0x7000eca3,0x2802100,
+0x962460,0x7000eca3,0x2806400,0x962460,0x7000eca3,0x4000000,0x200000,0x7000eca3,0x6800000,0x1329800,0x7000eca3,0x6800100,0x962540,0x7000eca3,0x7c00100,0x230400,
+0x7000eca3,0xc000010,0x448000,0x7000ed95,0x6800000,0x1329800,0x7000ed95,0x7c00100,0x230400,0x7000ed95,0xc000010,0x448000,0x7000ee1c,0x2802500,0x1862460,0x7000ee1c,
+0x6800000,0x1329800,0x7000ee1c,0x7c00100,0x1830000,0x7000ee1c,0x7c00900,0x1830000,0x7000ef8f,0x4000000,0x200000,0x7000ef8f,0x7c00100,0x230400,0x7000f08e,0x4000000,
+0x200000,0x7000f08e,0x7c00100,0x230400,0x7000f159,0x2802100,0x962460,0x7000f159,0x7c00100,0x230400,0x7000f200,0x4000000,0x200000,0x7000f200,0x4000000,0x1200000,
+0x7000f200,0x4000000,0x1710000,0x7000f34b,0x2802400,0x962460,0x7000f34b,0x4000000,0x200000,0x7000f34b,0x4000010,0x400000,0x7000f34b,0x6800000,0x1329800,0x7000f34b,
+0x7c00100,0x230400,0x7000f34b,0x7c00900,0x230400,0x7000f34b,0xc000010,0x448000,0x7000f490,0x4000000,0x200000,0x7000f490,0x7c00100,0x230400,0x7000f5a5,0x7c00100,
+0x230400,0x7000f67b,0x4000000,0x200000,0x7000f67b,0x4000010,0x200000,0x7000f67b,0x7c00100,0x230400,0x7000f8a6,0x2802100,0x962460,0x7000f8a6,0x2802400,0x962460,
+0x7000f8a6,0x2806400,0x962460,0x7000f8a6,0x4000000,0x500000,0x7000f8a6,0x4000010,0xb00000,0x7000f8a6,0x4000800,0x200000,0x7000f8a6,0x6800100,0x962540,0x7000f8a6,
+0x6800100,0x962541,0x7000f8a6,0x7c00100,0x230400,0x7000f8a6,0xc000010,0x448000,0x7000f921,0x4000000,0x200000,0x7000fa00,0x4000000,0x200000,0x7000fb9e,0x2802100,
+0x962460,0x7000fb9e,0x2802400,0x962460,0x7000fb9e,0x2806400,0x962460,0x7000fb9e,0x4000000,0x200000,0x7000fb9e,0x6800000,0x1329800,0x7000fb9e,0x6800100,0x962540,
+0x7000fb9e,0x6800100,0x962541,0x7000fb9e,0x7c00100,0x230400,0x7000fc92,0x4000000,0x200000,0x7000fc92,0x6800000,0x1329800,0x7000fc92,0x7c00100,0x220400,0x7000fc92,
+0x7c00100,0x230400,0x7000fc92,0x7c00100,0x250400,0x700acd00,0x4000000,0x34e00000,0x700acd00,0x4000000,0xb6800000,0x700ace00,0x4000000,0x34e00000,0x700acf00,0x4000000,
+0x34e00000,0x700acf00,0x4000000,0xb6800000,0x7040dffb,0x4000000,0x200000,0x7040f7ff,0x80000,0x918820,0x7080af98,0x2802400,0x962460,0x7080dffb,0x2802400,0x962460,
+0x70c0e4fd,0x2802100,0x962460,0x70c0e4fd,0x2802400,0x962460,0x70c0e4fd,0x6800100,0x962540,0x8000120f,0x7c00100,0x230400,0x80001524,0x7c00100,0x230400,0x8000171a,
+0x7c00100,0x230400,0x80002006,0x7c00100,0x220400,0x80002006,0x7c00100,0x250400,0x80002a00,0x4000000,0x1500000,0x80002d00,0x4000000,0x200000,0x80005208,0x2802400,
+0x962460,0x80005c00,0x4000000,0x200000,0x80007300,0x24000000,0x200000,0x80009519,0x7c00100,0x220400,0x80009519,0x7c00100,0x230400,0x80009519,0x7c00100,0x250400,
+0x80009865,0x7c00100,0x230400,0x8000a008,0x2802100,0x962460,0x8000b30a,0x4000000,0x500000,0x8000b30a,0x7c00100,0x230400,0x8000cd00,0x4000000,0x4e00000,0x8000d202,
+0x2802500,0x962460,0x8000d202,0x7c00100,0x230400,0x8000d68d,0x4000000,0x200000,0x8000d997,0x2802000,0x962460,0x8000d997,0x2802400,0x962460,0x8000d997,0x4000000,
+0x400000,0x8000d997,0x4000000,0x500000,0x8000d997,0x7c00100,0x230400,0x8000d997,0xc000010,0x448000,0x8000e489,0x2802100,0x962460,0x8000e489,0x7c00100,0x230400,
+0x8000e719,0x7c00100,0x220400,0x8000f8a6,0x2802100,0x962460,0x8000f8a6,0x7c00100,0x230400,0x8000f8a6,0xc000010,0x448000,0x8000fda1,0x2802100,0x1862460,0x8000fda1,
+0x2806400,0x1862460,0x8000fda1,0x4000000,0x1800000,0x8000fda1,0x6800000,0x1329800,0x8000fda1,0x6800100,0x1862540,0x8000fda1,0x7c00100,0x1830000,0x8000fda1,0xc000010,
+0x448000,0x8000fe9c,0x7c00100,0x230400,0x8000fe9c,0x7c00100,0x830400,0x8000fe9c,0x7c00100,0x1430400,0x8000ff06,0x7c00100,0x220400,0x80010165,0x7c00100,0x230400,
+0x800102a2,0x4000000,0x200000,0x800102a2,0x7c00100,0x230400,0x800103a4,0x7c00100,0x230400,0x800103a4,0xc000010,0x448000,0x8001044c,0x4000000,0x200000,0x8001044c,
+0x7c00100,0x220400,0x8001044c,0x7c00100,0x250400,0x80010670,0x2802000,0x962460,0x80010670,0x4000000,0x200000,0x80010670,0x4000010,0x400000,0x80010670,0xc000010,
+0x448000,0x800a4711,0x7c40300,0xe30000,0x800acd00,0x4000000,0x34e00000,0x800acd00,0x4000000,0x7a902460,0x800ace00,0x4000000,0x34e00000,0x800acf00,0x4000000,0x34e00000,
+0x800b0011,0x7c40300,0xe30000,0x800b0500,0x4000000,0x34e00000,0x800b0500,0x4000000,0xb6800000,0x90001615,0x7c00100,0x230400,0x9000171a,0x4000000,0x200000,0x9000171a,
+0x7c00100,0x230400,0x90003000,0x24000000,0x200000,0x90007f0e,0x4000000,0x200000,0x90008301,0x2802000,0x962460,0x90008e00,0x24000000,0x400000,0x90009519,0x7c00100,
+0x250400,0x9000a16f,0x2802100,0x962460,0x9000d200,0x80000000,0x218960,0x9000d202,0x2802000,0x962460,0x9000d202,0x2802100,0x962460,0x9000d202,0x7c00100,0x230400,
+0x9000e59d,0x2802100,0x962460,0x900107a7,0x2802100,0x962460,0x900107a7,0x2802400,0x962460,0x900107a7,0x2802c00,0x962460,0x900107a7,0x4000000,0x1400000,0x900107a7,
+0x6800000,0x1329800,0x900107a7,0x7c00100,0x220400,0x900107a7,0x7c00100,0x250400,0x900108a8,0x2802100,0x962460,0x900108a8,0x2806400,0x962460,0x900108a8,0x4000000,
+0x200000,0x900108a8,0x4000000,0x400000,0x900108a8,0x4000010,0x400000,0x900108a8,0x6800000,0x1329800,0x900108a8,0x6800100,0x962540,0x900108a8,0x7c00100,0x230400,
+0x900108a8,0xc000010,0x448000,0x90010908,0x7c00100,0x220400,0x90010a38,0x2802100,0x962460,0x90010ca9,0x2802100,0x962460,0x90010ca9,0x4000000,0x500000,0x90010ca9,
+0x4000010,0xb00000,0x90010ca9,0x6800100,0x962540,0x90010ca9,0x7c00100,0x230400,0x90010d1b,0x4000000,0x500000,0x90010eaa,0x2802100,0x962460,0x90010eaa,0x2802400,
+0x962460,0x90010eaa,0x2806400,0x962460,0x90010eaa,0x4000000,0x200000,0x90010eaa,0x4000000,0x400000,0x90010eaa,0x4000010,0x400000,0x90010eaa,0x6800000,0x1329800,
+0x90010eaa,0x6800100,0x962540,0x90010eaa,0x7c00100,0x230400,0x90010eaa,0xc000010,0x448000,0x90010fab,0x7c00100,0x220400,0x90010fab,0x7c00100,0x250400,0x9002c300,
+0x4000000,0x100000,0x900ac400,0x4000000,0xe0000d,0x900acd00,0x4000000,0x34e00000,0x900acd00,0x4000000,0xb6800000,0x900acf00,0x4000000,0x34e00000,0x900b0500,0x4000000,
+0xe00000,0x900b0500,0x4000000,0x34e00000,0x900b0500,0x4000000,0xb6800000,0x900b0b9a,0x7c00900,0x1230400,0x900b109a,0x7c00300,0xe30000,0x900b119a,0x7c00300,0xe30000,
+0x90408e06,0x24000000,0x400000,0xa0001004,0x4000000,0x200000,0xa0001004,0x7c00100,0x230400,0xa000120f,0x2802100,0x962460,0xa000120f,0x2802400,0x962460,0xa000171a,
+0x2802100,0x962460,0xa000171a,0x2806400,0x962460,0xa0002a00,0x4000000,0x1600000,0xa0003000,0x24000000,0x200000,0xa000581e,0x7c00100,0x230400,0xa0007300,0x24000000,
+0x200000,0xa0008301,0x2802400,0x962460,0xa0008e00,0x24000000,0x400000,0xa000cf00,0x4000000,0x4e00000,0xa0010500,0x4000000,0x200000,0xa00114af,0x2802100,0x962460,
+0xa00114af,0x2802400,0x962460,0xa00114af,0x2806400,0x962460,0xa00114af,0x6800000,0x1329800,0xa00114af,0x7c00100,0x230400,0xa00114af,0x7c00100,0x230560,0xa00116b0,
+0x2802100,0x962460,0xa00116b0,0x2802800,0x962460,0xa00116b0,0x2806400,0x962460,0xa00116b0,0x4000000,0x400000,0xa00116b0,0x4000000,0x500000,0xa00116b0,0x4000010,
+0x400000,0xa00116b0,0x6800100,0x962540,0xa00116b0,0x7c00100,0x230400,0xa00116b0,0x7c00100,0x230560,0xa00116b0,0xc000010,0x448000,0xa0011722,0x7c00100,0x230400,
+0xa00118b1,0x2802000,0x962460,0xa00118b1,0x2802100,0x962460,0xa00118b1,0x2806400,0x962460,0xa00118b1,0x4000000,0x200000,0xa00118b1,0x4000000,0x400000,0xa00118b1,
+0x4000000,0x500000,0xa00118b1,0x6800100,0x962540,0xa00118b1,0x7c00100,0x230400,0xa00118b1,0x7c00100,0x230560,0xa00118b1,0xc000010,0x448000,0xa00a4005,0x7c00100,
+0xe30400,0xa00a4711,0x7c40300,0xe30000,0xa00ac400,0x4000000,0x4e00000,0xa00acb14,0x7c00100,0xe30000,0xa00acf00,0x4000000,0x34e00000,0xa00b0500,0x4000000,0x34e00000,
+0xa00b0500,0x4000000,0xb6800000,0xa00b0b96,0x7c00900,0x1230400,0xa00b1211,0x7c40300,0xe30000,0xa00b1314,0x7c00100,0xe30000,0xa00b1596,0x7c00300,0xe30000,0xa040afae,
+0x6800400,0x962540,0xb0000a03,0x7c00100,0x220400,0xb0000b13,0x7c00100,0x2633800,0xb0001004,0x2802000,0x962460,0xb0001110,0x4000000,0x200000,0xb0001524,0x2802000,
+0x962460,0xb0001615,0x4000000,0x500000,0xb000251b,0x7c00100,0x230400,0xb0007300,0x24000000,0x200000,0xb0008939,0x4000000,0x200000,0xb0008939,0x7c00100,0x230400,
+0xb0008e00,0x24000000,0x200000,0xb0008e00,0x24000000,0x400000,0xb0008e00,0x24000010,0x400000,0xb0009257,0x2802000,0x962460,0xb0009257,0x4000000,0x1600000,0xb0009519,
+0x7c00100,0x220400,0xb0009519,0x7c00100,0x250400,0xb0009a00,0x4000000,0x200000,0xb000b30a,0x2802100,0x962460,0xb000b30a,0x7c00100,0x230400,0xb000c178,0x80000000,
+0x218960,0xb000c300,0x4000000,0x4200000,0xb000d202,0x2802000,0x962460,0xb000d476,0x6800100,0x962540,0xb000d476,0x7c00100,0x230400,0xb000e300,0x4000000,0x4e00000,
+0xb000fda1,0x7c00100,0x1830000,0xb0010eaa,0x2802000,0x962460,0xb00116b0,0x7c00100,0x230400,0xb0011900,0x4000000,0x4e00000,0xb0011ab2,0x2802100,0x962460,0xb0011ab2,
+0x2802400,0x962460,0xb0011ab2,0x2806400,0x962460,0xb0011ab2,0x4000000,0x200000,0xb0011ab2,0x6800100,0x962540,0xb0011ab2,0x7c00100,0x230400,0xb0011b0c,0x7c00100,
+0x230400,0xb0011cb3,0x2802100,0x962460,0xb0011cb3,0x2806400,0x962460,0xb0011cb3,0x6800000,0x1329800,0xb0011cb3,0x6800100,0x962540,0xb0011cb3,0x7c00100,0x230400,
+0xb0011db6,0x2802500,0x962460,0xb0011db6,0x6800000,0x1329800,0xb0011db6,0x7c00100,0x230400,0xb0011db6,0x7c00500,0x230400,0xb0011e00,0x4000000,0x200000,0xb0011e00,
+0x4000000,0x1500000,0xb0011fb4,0x2802100,0x962460,0xb0011fb4,0x6800100,0x962540,0xb0011fb4,0x7c00100,0x230400,0xb0011fb4,0xc000010,0x248000,0xb0012000,0x4000000,
+0x200000,0xb00121b5,0x4000000,0x200000,0xb00121b5,0x4000010,0x400000,0xb00121b5,0x7c00100,0x220400,0xb00121b5,0x7c00100,0x250400,0xb00121b5,0xc000010,0x448000,
+0xb00122b8,0x4000000,0x200000,0xb00122b8,0x7c00100,0x230400,0xb00123b7,0x2802400,0x962460,0xb00123b7,0x4000000,0x200000,0xb00123b7,0x7c00100,0x230400,0xb00123b7,
+0xc000010,0x248000,0xb00a4005,0x7c00100,0xe30400,0xb00a4711,0x7c40300,0xe30000,0xb00acf00,0x4000000,0x34e00000,0xb00b0500,0x4000000,0x34e00000,0xb00b0500,0x4000000,
+0x3ce00000,0xb00b0500,0x4000000,0xb6800000,0xb00b109a,0x7c00300,0xe30000,0xb080e47e,0x2802000,0x962460,0xc0001524,0x4000000,0x500000,0xc0001a18,0x2806400,0x1862460,
+0xc0001a18,0x7c00100,0x1830000,0xc0007300,0x24000000,0x200000,0xc0008e00,0x24000010,0x400000,0xc0009519,0x7c00100,0x220400,0xc0009519,0x7c00100,0x250400,0xc000c300,
+0x4000000,0x420000f,0xc000d85c,0x2802100,0x962460,0xc000d85c,0x6800100,0x962540,0xc000d85c,0x7c00100,0x230400,0xc000dc99,0x7c00100,0x230400,0xc000e719,0x7c00100,
+0x220400,0xc00107a7,0x7c00100,0x230400,0xc0010eaa,0x7c00100,0x230400,0xc00116b0,0x7c00100,0x230560,0xc0011900,0x4000000,0x4200000,0xc0012447,0,0x818820,
+0xc0012447,0,0xc18820,0xc0012447,0,0x1418820,0xc00125b9,0x7c00100,0x230400,0xc00126bb,0x2802100,0x962460,0xc00126bb,0x2806400,0x962460,0xc00126bb,
+0x4000000,0x500000,0xc00126bb,0x6800100,0x962540,0xc00126bb,0x7c00100,0x230400,0xc00127ba,0x2802400,0x962460,0xc00127ba,0x4000000,0x200000,0xc00127ba,0x6800000,
+0x1329800,0xc00127ba,0x7c00100,0x230400,0xc00127ba,0x7c00900,0x230400,0xc0012800,0x4000000,0x200000,0xc0012b23,0x4000000,0x200000,0xc0012b23,0x4000000,0x400000,
+0xc0012b23,0x4000000,0x1500000,0xc0012cbc,0x2802400,0x962460,0xc0012cbc,0x4000000,0x1600000,0xc0012cbc,0x6800000,0x1329800,0xc0012cbc,0x7c00100,0x230400,0xc00acf00,
+0x4000000,0x34e00000,0xc00ae300,0x4000000,0x34e00000,0xc00b0500,0x4000000,0x34e00000,0xc00b0500,0x4000000,0xb6800000,0xc00b0b00,0x4000000,0x1200000,0xc00b0b00,0x7c00900,
+0x1230400,0xc00b109a,0x7c00300,0xe30000,0xc00b2914,0x7c00100,0x2530000,0xc00b2916,0x7c00100,0x2530c00,0xc00b2a00,0x4000000,0x34e00000,0xc040af55,0x7c00100,0x230400,
+0xc0c12b80,0x4000000,0x200000,0xc14a44bf,0x4000000,0xe0000d};
-static const int32_t countPropsVectors=6639;
+static const int32_t countPropsVectors=6822;
static const int32_t propsVectorsColumns=3;
-static const uint16_t scriptExtensions[234]={
+static const uint16_t scriptExtensions[256]={
0x800e,0x8019,8,0x8059,8,2,8,0x8038,8,6,8,0x8019,3,0x800c,2,0x22,
0x25,0x80b6,2,0x22,0x8025,2,0x12,2,0x22,0x54,0x79,0x7b,0xa7,0xb6,0x80b7,2,
0x8022,2,0x8025,2,0x21,2,0x80b6,2,0x25,4,0xa,0xf,0x10,0x15,0x19,0x1a,
0x1f,0x23,0x24,0x89,0x97,0x809e,4,0xa,0xf,0x10,0x15,0x19,0x1a,0x1f,0x23,0x24,
0x89,0x809e,4,0xa,0xf,0x10,0x15,0x1a,0x1f,0x21,0x23,0x24,0x3a,0x89,0x91,0x99,
-0x9e,0xa0,0xb2,0x80b3,4,0xa,0xf,0x10,0x15,0x1a,0x1f,0x21,0x23,0x24,0x30,0x3a,
-0x89,0x91,0x99,0x9e,0xa0,0xb2,0x80b3,0xa,0x78,0xa0,0x80b2,0xa,0x67,4,0x3a,0x8076,
-4,0x6d,0x10,0x80a4,0x10,0x72,0xf,0x809d,0xf,0x76,0x23,0x8089,0x23,0x7a,0x1c,0x34,
-0x8076,0x1c,0x7e,0xc,0x8019,0x2a,0x2b,0x2c,0x802d,0x1b,0x805a,0x800a,4,0xa,0x15,0x8089,
-0xa,0x8089,4,0x800a,0xa,0x8097,0xa,0x15,0x1a,0x1f,0x23,0x8024,0x8004,0xa,0x19,0x8089,
-5,0x11,0x12,0x14,0x16,0x8029,5,0x11,0x12,0x14,0x8016,0x8011,5,0x8011,0x11,0x14,
-0x8016,0xa,0xf,0x10,0x78,0x91,0x99,0x9d,0x9e,0xa0,0xa3,0x80b2,0xa,0xf,0x10,0x15,
-0x1a,0x78,0x91,0x99,0x9d,0x9e,0xa0,0xa3,0x80b2,0xa,0xf,0x10,0x15,0x78,0x91,0x99,
-0x9d,0x9e,0xa0,0xa3,0x80b2,0xa,0x92,0xa,0x8023,0xa,0xd7,0x19,0x1c,0x804f,0x37,0x804e,
-0x2f,0x31,0x8053,0x2f,0x8031,2,0x8007,0x89,0x7a,0x8087};
+0x9e,0xa0,0xaf,0xb2,0xb3,0x80bb,4,0xa,0xf,0x10,0x15,0x1a,0x1f,0x21,0x23,0x24,
+0x30,0x3a,0x89,0x91,0x99,0x9e,0xa0,0xaf,0xb2,0xb3,0x80bb,0xa,0x78,0xa0,0x80b2,0xa,
+0x6b,4,0x3a,0x8076,4,0x71,0x10,0x80a4,0x10,0x76,0xf,0x809d,0xf,0x7a,0x23,0x8089,
+0x23,0x7e,0x15,0x80bb,0x15,0x82,0x1c,0x34,0x8076,0x1c,0x86,0xc,0x8019,0x2a,0x2b,0x2c,
+0x802d,0x1b,0x805a,0x800a,4,0xa,0x15,0x8089,0xa,0x8089,4,0x800a,0xa,0x8097,0xa,0x15,
+0x1a,0x1f,0x23,0x8024,0xa,0x80bb,4,0xa,0x15,0x1f,0x24,0x89,0x9e,0x80bb,0x8004,0x19,
+0x801b,0xa,0x19,0x8089,5,0x11,0x12,0x14,0x16,0x8029,5,0x11,0x12,0x14,0x8016,0x8011,
+5,0x8011,0x11,0x14,0x8016,0xa,0xf,0x10,0x78,0x91,0x99,0x9d,0x9e,0xa0,0xa3,0x80b2,
+0xa,0xf,0x10,0x15,0x1a,0x78,0x91,0x99,0x9d,0x9e,0xa0,0xa3,0xb2,0x80bb,0xa,0xf,
+0x10,0x15,0x78,0x91,0x99,0x9d,0x9e,0xa0,0xa3,0xb2,0x80bb,0xa,0x9a,0xa,0x8023,0xa,
+0xed,0x19,0x1c,0x804f,0x37,0x804e,0x2f,0x31,0x8053,0x2f,0x8031,2,0x8007,0x89,0x7e,0x8087};
-static const int32_t indexes[UPROPS_INDEX_COUNT]={0x29fa,0x29fa,0x29fa,0x29fa,0x649c,3,0x7e8b,0x7f00,0x7f00,0x7f00,0xb23b8,0x2a75a31,0,0,0,0};
+static const int32_t indexes[UPROPS_INDEX_COUNT]={0x2afc,0x2afc,0x2afc,0x2afc,0x66be,3,0x8164,0x81e4,0x81e4,0x81e4,0xb2cbc,0x2a75a31,0,0,0,0};
#endif // INCLUDED_FROM_UCHAR_C
diff --git a/Build/source/libs/icu/icu-src/source/common/uchriter.cpp b/Build/source/libs/icu/icu-src/source/common/uchriter.cpp
index 822168f5c8e..bedbabc74c2 100644
--- a/Build/source/libs/icu/icu-src/source/common/uchriter.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uchriter.cpp
@@ -89,7 +89,7 @@ UCharCharacterIterator::hashCode() const {
return ustr_hashUCharsN(text, textLength) ^ pos ^ begin ^ end;
}
-CharacterIterator*
+UCharCharacterIterator*
UCharCharacterIterator::clone() const {
return new UCharCharacterIterator(*this);
}
diff --git a/Build/source/libs/icu/icu-src/source/common/ucln_cmn.cpp b/Build/source/libs/icu/icu-src/source/common/ucln_cmn.cpp
index 8cabf137cf2..f3e07c6b891 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucln_cmn.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucln_cmn.cpp
@@ -40,8 +40,8 @@ U_CAPI void U_EXPORT2
u_cleanup(void)
{
UTRACE_ENTRY_OC(UTRACE_U_CLEANUP);
- umtx_lock(NULL); /* Force a memory barrier, so that we are sure to see */
- umtx_unlock(NULL); /* all state left around by any other threads. */
+ icu::umtx_lock(NULL); /* Force a memory barrier, so that we are sure to see */
+ icu::umtx_unlock(NULL); /* all state left around by any other threads. */
ucln_lib_cleanup();
@@ -65,9 +65,20 @@ U_CFUNC void
ucln_common_registerCleanup(ECleanupCommonType type,
cleanupFunc *func)
{
+ // Thread safety messiness: From ticket 10295, calls to registerCleanup() may occur
+ // concurrently. Although such cases should be storing the same value, they raise errors
+ // from the thread sanity checker. Doing the store within a mutex avoids those.
+ // BUT that can trigger a recursive entry into std::call_once() in umutex.cpp when this code,
+ // running from the call_once function, tries to grab the ICU global mutex, which
+ // re-enters the mutex init path. So, work-around by special casing UCLN_COMMON_MUTEX, not
+ // using the ICU global mutex for it.
+ //
+ // No other point in ICU uses std::call_once().
+
U_ASSERT(UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT);
- if (UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT)
- {
+ if (type == UCLN_COMMON_MUTEX) {
+ gCommonCleanupFunctions[type] = func;
+ } else if (UCLN_COMMON_START < type && type < UCLN_COMMON_COUNT) {
icu::Mutex m; // See ticket 10295 for discussion.
gCommonCleanupFunctions[type] = func;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/ucln_cmn.h b/Build/source/libs/icu/icu-src/source/common/ucln_cmn.h
index 0ca911b47d9..b837fb94629 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucln_cmn.h
+++ b/Build/source/libs/icu/icu-src/source/common/ucln_cmn.h
@@ -22,8 +22,6 @@
/* These are the cleanup functions for various APIs. */
/* @return true if cleanup complete successfully.*/
-U_CFUNC UBool umtx_cleanup(void);
-
U_CFUNC UBool utrace_cleanup(void);
U_CFUNC UBool ucln_lib_cleanup(void);
@@ -41,6 +39,8 @@ typedef enum ECleanupCommonType {
UCLN_COMMON_LOCALE_KEY_TYPE,
UCLN_COMMON_LOCALE,
UCLN_COMMON_LOCALE_AVAILABLE,
+ UCLN_COMMON_LIKELY_SUBTAGS,
+ UCLN_COMMON_LOCALE_DISTANCE,
UCLN_COMMON_ULOC,
UCLN_COMMON_CURRENCY,
UCLN_COMMON_LOADED_NORMALIZER2,
@@ -62,6 +62,7 @@ typedef enum ECleanupCommonType {
*/
UCLN_COMMON_UNIFIED_CACHE,
UCLN_COMMON_URES,
+ UCLN_COMMON_MUTEX, // Mutexes should be the last to be cleaned up.
UCLN_COMMON_COUNT /* This must be last */
} ECleanupCommonType;
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnv.cpp b/Build/source/libs/icu/icu-src/source/common/ucnv.cpp
index 4e57619f500..856be708785 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnv.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnv.cpp
@@ -25,6 +25,8 @@
#if !UCONFIG_NO_CONVERSION
+#include
+
#include "unicode/ustring.h"
#include "unicode/ucnv.h"
#include "unicode/ucnv_err.h"
@@ -158,7 +160,6 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
UConverter *localConverter, *allocatedConverter;
int32_t stackBufferSize;
int32_t bufferSizeNeeded;
- char *stackBufferChars = (char *)stackBuffer;
UErrorCode cbErr;
UConverterToUnicodeArgs toUArgs = {
sizeof(UConverterToUnicodeArgs),
@@ -224,23 +225,22 @@ ucnv_safeClone(const UConverter* cnv, void *stackBuffer, int32_t *pBufferSize, U
}
}
-
- /* Pointers on 64-bit platforms need to be aligned
- * on a 64-bit boundary in memory.
+ /* Adjust (if necessary) the stackBuffer pointer to be aligned correctly for a UConverter.
+ * TODO(Jira ICU-20736) Redo this using std::align() once g++4.9 compatibility is no longer needed.
*/
- if (U_ALIGNMENT_OFFSET(stackBuffer) != 0) {
- int32_t offsetUp = (int32_t)U_ALIGNMENT_OFFSET_UP(stackBufferChars);
- if(stackBufferSize > offsetUp) {
- stackBufferSize -= offsetUp;
- stackBufferChars += offsetUp;
+ if (stackBuffer) {
+ uintptr_t p = reinterpret_cast(stackBuffer);
+ uintptr_t aligned_p = (p + alignof(UConverter) - 1) & ~(alignof(UConverter) - 1);
+ ptrdiff_t pointerAdjustment = aligned_p - p;
+ if (bufferSizeNeeded + pointerAdjustment <= stackBufferSize) {
+ stackBuffer = reinterpret_cast(aligned_p);
+ stackBufferSize -= pointerAdjustment;
} else {
/* prevent using the stack buffer but keep the size > 0 so that we do not just preflight */
stackBufferSize = 1;
}
}
- stackBuffer = (void *)stackBufferChars;
-
/* Now, see if we must allocate any memory */
if (stackBufferSize < bufferSizeNeeded || stackBuffer == NULL)
{
@@ -475,7 +475,7 @@ ucnv_setSubstString(UConverter *cnv,
const UChar *s,
int32_t length,
UErrorCode *err) {
- UAlignedMemory cloneBuffer[U_CNV_SAFECLONE_BUFFERSIZE / sizeof(UAlignedMemory) + 1];
+ alignas(UConverter) char cloneBuffer[U_CNV_SAFECLONE_BUFFERSIZE];
char chars[UCNV_ERROR_BUFFER_LENGTH];
UConverter *clone;
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnv2022.cpp b/Build/source/libs/icu/icu-src/source/common/ucnv2022.cpp
index d1a50d269f1..dbc5bb7e07b 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnv2022.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnv2022.cpp
@@ -3571,20 +3571,11 @@ _ISO_2022_WriteSub(UConverterFromUnicodeArgs *args, int32_t offsetIndex, UErrorC
/*
* Structure for cloning an ISO 2022 converter into a single memory block.
- * ucnv_safeClone() of the converter will align the entire cloneStruct,
- * and then ucnv_safeClone() of the sub-converter may additionally align
- * currentConverter inside the cloneStruct, for which we need the deadSpace
- * after currentConverter.
- * This is because UAlignedMemory may be larger than the actually
- * necessary alignment size for the platform.
- * The other cloneStruct fields will not be moved around,
- * and are aligned properly with cloneStruct's alignment.
*/
struct cloneStruct
{
UConverter cnv;
UConverter currentConverter;
- UAlignedMemory deadSpace;
UConverterDataISO2022 mydata;
};
@@ -3602,6 +3593,10 @@ _ISO_2022_SafeClone(
UConverterDataISO2022 *cnvData;
int32_t i, size;
+ if (U_FAILURE(*status)){
+ return nullptr;
+ }
+
if (*pBufferSize == 0) { /* 'preflighting' request - set needed size into *pBufferSize */
*pBufferSize = (int32_t)sizeof(struct cloneStruct);
return NULL;
@@ -3619,7 +3614,7 @@ _ISO_2022_SafeClone(
/* share the subconverters */
if(cnvData->currentConverter != NULL) {
- size = (int32_t)(sizeof(UConverter) + sizeof(UAlignedMemory)); /* include size of padding */
+ size = (int32_t)sizeof(UConverter);
localClone->mydata.currentConverter =
ucnv_safeClone(cnvData->currentConverter,
&localClone->currentConverter,
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnv_bld.cpp b/Build/source/libs/icu/icu-src/source/common/ucnv_bld.cpp
index 7596687435d..56fc3d6822f 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnv_bld.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnv_bld.cpp
@@ -194,9 +194,9 @@ static struct {
/*initializes some global variables */
static UHashtable *SHARED_DATA_HASHTABLE = NULL;
-static UMutex cnvCacheMutex = U_MUTEX_INITIALIZER; /* Mutex for synchronizing cnv cache access. */
- /* Note: the global mutex is used for */
- /* reference count updates. */
+static icu::UMutex cnvCacheMutex;
+/* Note: the global mutex is used for */
+/* reference count updates. */
static const char **gAvailableConverters = NULL;
static uint16_t gAvailableConverterCount = 0;
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnv_lmb.cpp b/Build/source/libs/icu/icu-src/source/common/ucnv_lmb.cpp
index 1ec56f7a45f..168392837b5 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnv_lmb.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnv_lmb.cpp
@@ -1107,11 +1107,13 @@ GetUniFromLMBCSUni(char const ** ppLMBCSin) /* Called with LMBCS-style Unicode
all input as required by ICU converter semantics.
*/
-#define CHECK_SOURCE_LIMIT(index) \
- if (args->source+index > args->sourceLimit){\
- *err = U_TRUNCATED_CHAR_FOUND;\
- args->source = args->sourceLimit;\
- return 0xffff;}
+#define CHECK_SOURCE_LIMIT(index) UPRV_BLOCK_MACRO_BEGIN { \
+ if (args->source+index > args->sourceLimit) { \
+ *err = U_TRUNCATED_CHAR_FOUND; \
+ args->source = args->sourceLimit; \
+ return 0xffff; \
+ } \
+} UPRV_BLOCK_MACRO_END
/* Return the Unicode representation for the current LMBCS character */
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnvbocu.cpp b/Build/source/libs/icu/icu-src/source/common/ucnvbocu.cpp
index 5b66c5059a5..7c2aab56558 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnvbocu.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnvbocu.cpp
@@ -202,14 +202,14 @@ bocu1TrailToByte[BOCU1_TRAIL_CONTROLS_COUNT]={
* @param d Divisor.
* @param m Output variable for the rest (modulo result).
*/
-#define NEGDIVMOD(n, d, m) { \
+#define NEGDIVMOD(n, d, m) UPRV_BLOCK_MACRO_BEGIN { \
(m)=(n)%(d); \
(n)/=(d); \
if((m)<0) { \
--(n); \
(m)+=(d); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* Faster versions of packDiff() for single-byte-encoded diff values. */
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnvhz.cpp b/Build/source/libs/icu/icu-src/source/common/ucnvhz.cpp
index e9f5206c163..6b2f5faaf0a 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnvhz.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnvhz.cpp
@@ -38,7 +38,7 @@
#define ESC_LEN 2
-#define CONCAT_ESCAPE_MACRO( args, targetIndex,targetLength,strToAppend, err, len,sourceIndex){ \
+#define CONCAT_ESCAPE_MACRO(args, targetIndex,targetLength,strToAppend, err, len,sourceIndex) UPRV_BLOCK_MACRO_BEGIN { \
while(len-->0){ \
if(targetIndex < targetLength){ \
args->target[targetIndex] = (unsigned char) *strToAppend; \
@@ -53,7 +53,7 @@
} \
strToAppend++; \
} \
-}
+} UPRV_BLOCK_MACRO_END
typedef struct{
@@ -518,19 +518,11 @@ _HZ_WriteSub(UConverterFromUnicodeArgs *args, int32_t offsetIndex, UErrorCode *e
/*
* Structure for cloning an HZ converter into a single memory block.
- * ucnv_safeClone() of the HZ converter will align the entire cloneHZStruct,
- * and then ucnv_safeClone() of the sub-converter may additionally align
- * subCnv inside the cloneHZStruct, for which we need the deadSpace after
- * subCnv. This is because UAlignedMemory may be larger than the actually
- * necessary alignment size for the platform.
- * The other cloneHZStruct fields will not be moved around,
- * and are aligned properly with cloneHZStruct's alignment.
*/
struct cloneHZStruct
{
UConverter cnv;
UConverter subCnv;
- UAlignedMemory deadSpace;
UConverterDataHZ mydata;
};
@@ -545,12 +537,12 @@ _HZ_SafeClone(const UConverter *cnv,
int32_t size, bufferSizeNeeded = sizeof(struct cloneHZStruct);
if (U_FAILURE(*status)){
- return 0;
+ return nullptr;
}
if (*pBufferSize == 0){ /* 'preflighting' request - set needed size into *pBufferSize */
*pBufferSize = bufferSizeNeeded;
- return 0;
+ return nullptr;
}
localClone = (struct cloneHZStruct *)stackBuffer;
@@ -561,7 +553,7 @@ _HZ_SafeClone(const UConverter *cnv,
localClone->cnv.isExtraLocal = TRUE;
/* deep-clone the sub-converter */
- size = (int32_t)(sizeof(UConverter) + sizeof(UAlignedMemory)); /* include size of padding */
+ size = (int32_t)sizeof(UConverter);
((UConverterDataHZ*)localClone->cnv.extraInfo)->gbConverter =
ucnv_safeClone(((UConverterDataHZ*)cnv->extraInfo)->gbConverter, &localClone->subCnv, &size, status);
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnvisci.cpp b/Build/source/libs/icu/icu-src/source/common/ucnvisci.cpp
index 27a3a3124ad..44a7c05a3c8 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnvisci.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnvisci.cpp
@@ -831,7 +831,7 @@ static const uint16_t nuktaSpecialCases[][2]={
};
-#define WRITE_TO_TARGET_FROM_U(args,offsets,source,target,targetLimit,targetByteUnit,err){ \
+#define WRITE_TO_TARGET_FROM_U(args,offsets,source,target,targetLimit,targetByteUnit,err) UPRV_BLOCK_MACRO_BEGIN { \
int32_t offset = (int32_t)(source - args->source-1); \
/* write the targetUniChar to target */ \
if(target < targetLimit){ \
@@ -884,7 +884,7 @@ static const uint16_t nuktaSpecialCases[][2]={
(uint8_t) (targetByteUnit); \
*err = U_BUFFER_OVERFLOW_ERROR; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* Rules:
* Explicit Halant :
@@ -1119,7 +1119,7 @@ static const uint16_t lookupTable[][2]={
{ GURMUKHI, PNJ_MASK }
};
-#define WRITE_TO_TARGET_TO_U(args,source,target,offsets,offset,targetUniChar,delta, err){\
+#define WRITE_TO_TARGET_TO_U(args,source,target,offsets,offset,targetUniChar,delta, err) UPRV_BLOCK_MACRO_BEGIN { \
/* add offset to current Indic Block */ \
if(targetUniChar>ASCII_END && \
targetUniChar != ZWJ && \
@@ -1140,9 +1140,9 @@ static const uint16_t lookupTable[][2]={
(UChar)targetUniChar; \
*err = U_BUFFER_OVERFLOW_ERROR; \
} \
-}
+} UPRV_BLOCK_MACRO_END
-#define GET_MAPPING(sourceChar,targetUniChar,data){ \
+#define GET_MAPPING(sourceChar,targetUniChar,data) UPRV_BLOCK_MACRO_BEGIN { \
targetUniChar = toUnicodeTable[(sourceChar)] ; \
/* is the code point valid in current script? */ \
if(sourceChar> ASCII_END && \
@@ -1153,7 +1153,7 @@ static const uint16_t lookupTable[][2]={
targetUniChar=missingCharMarker; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/***********
* Rules for ISCII to Unicode converter
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnvmbcs.cpp b/Build/source/libs/icu/icu-src/source/common/ucnvmbcs.cpp
index 583744b73a3..ca9b0a335ad 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnvmbcs.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnvmbcs.cpp
@@ -1383,7 +1383,7 @@ _EBCDICSwapLFNL(UConverterSharedData *sharedData, UErrorCode *pErrorCode) {
uprv_strcat(name, UCNV_SWAP_LFNL_OPTION_STRING);
/* set the pointers */
- umtx_lock(NULL);
+ icu::umtx_lock(NULL);
if(mbcsTable->swapLFNLStateTable==NULL) {
mbcsTable->swapLFNLStateTable=newStateTable;
mbcsTable->swapLFNLFromUnicodeBytes=(uint8_t *)newResults;
@@ -1391,7 +1391,7 @@ _EBCDICSwapLFNL(UConverterSharedData *sharedData, UErrorCode *pErrorCode) {
newStateTable=NULL;
}
- umtx_unlock(NULL);
+ icu::umtx_unlock(NULL);
/* release the allocated memory if another thread beat us to it */
if(newStateTable!=NULL) {
@@ -1919,9 +1919,9 @@ ucnv_MBCSOpen(UConverter *cnv,
/* do this because double-checked locking is broken */
UBool isCached;
- umtx_lock(NULL);
+ icu::umtx_lock(NULL);
isCached=mbcsTable->swapLFNLStateTable!=NULL;
- umtx_unlock(NULL);
+ icu::umtx_unlock(NULL);
if(!isCached) {
if(!_EBCDICSwapLFNL(cnv->sharedData, pErrorCode)) {
diff --git a/Build/source/libs/icu/icu-src/source/common/ucnvsel.cpp b/Build/source/libs/icu/icu-src/source/common/ucnvsel.cpp
index 79be8c31f2d..2dff5ac1bc8 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucnvsel.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucnvsel.cpp
@@ -691,36 +691,36 @@ static int16_t countOnes(uint32_t* mask, int32_t len) {
/* internal function! */
static UEnumeration *selectForMask(const UConverterSelector* sel,
- uint32_t *mask, UErrorCode *status) {
+ uint32_t *theMask, UErrorCode *status) {
+ LocalMemory mask(theMask);
// this is the context we will use. Store a table of indices to which
// encodings are legit.
- struct Enumerator* result = (Enumerator*)uprv_malloc(sizeof(Enumerator));
- if (result == NULL) {
- uprv_free(mask);
+ LocalMemory result(static_cast(uprv_malloc(sizeof(Enumerator))));
+ if (result.isNull()) {
*status = U_MEMORY_ALLOCATION_ERROR;
- return NULL;
+ return nullptr;
}
- result->index = NULL; // this will be allocated later!
+ result->index = nullptr; // this will be allocated later!
result->length = result->cur = 0;
result->sel = sel;
- UEnumeration *en = (UEnumeration *)uprv_malloc(sizeof(UEnumeration));
- if (en == NULL) {
+ LocalMemory en(static_cast(uprv_malloc(sizeof(UEnumeration))));
+ if (en.isNull()) {
// TODO(markus): Combine Enumerator and UEnumeration into one struct.
- uprv_free(mask);
- uprv_free(result);
*status = U_MEMORY_ALLOCATION_ERROR;
- return NULL;
+ return nullptr;
}
- memcpy(en, &defaultEncodings, sizeof(UEnumeration));
- en->context = result;
-
+ memcpy(en.getAlias(), &defaultEncodings, sizeof(UEnumeration));
+
int32_t columns = (sel->encodingsCount+31)/32;
- int16_t numOnes = countOnes(mask, columns);
+ int16_t numOnes = countOnes(mask.getAlias(), columns);
// now, we know the exact space we need for index
if (numOnes > 0) {
- result->index = (int16_t*) uprv_malloc(numOnes * sizeof(int16_t));
-
+ result->index = static_cast(uprv_malloc(numOnes * sizeof(int16_t)));
+ if (result->index == nullptr) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return nullptr;
+ }
int32_t i, j;
int16_t k = 0;
for (j = 0 ; j < columns; j++) {
@@ -734,8 +734,8 @@ static UEnumeration *selectForMask(const UConverterSelector* sel,
}
} //otherwise, index will remain NULL (and will never be touched by
//the enumerator code anyway)
- uprv_free(mask);
- return en;
+ en->context = result.orphan();
+ return en.orphan();
}
/* check a string against the selector - UTF16 version */
diff --git a/Build/source/libs/icu/icu-src/source/common/ucptrie.cpp b/Build/source/libs/icu/icu-src/source/common/ucptrie.cpp
index 13496ad56c5..0004160a238 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucptrie.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucptrie.cpp
@@ -280,7 +280,7 @@ UChar32 getRange(const void *t, UChar32 start,
int32_t prevI3Block = -1;
int32_t prevBlock = -1;
UChar32 c = start;
- uint32_t value;
+ uint32_t trieValue, value = nullValue;
bool haveValue = false;
do {
int32_t i3Block;
@@ -319,6 +319,7 @@ UChar32 getRange(const void *t, UChar32 start,
return c - 1;
}
} else {
+ trieValue = trie->nullValue;
value = nullValue;
if (pValue != nullptr) { *pValue = nullValue; }
haveValue = true;
@@ -357,6 +358,7 @@ UChar32 getRange(const void *t, UChar32 start,
return c - 1;
}
} else {
+ trieValue = trie->nullValue;
value = nullValue;
if (pValue != nullptr) { *pValue = nullValue; }
haveValue = true;
@@ -364,23 +366,32 @@ UChar32 getRange(const void *t, UChar32 start,
c = (c + dataBlockLength) & ~dataMask;
} else {
int32_t di = block + (c & dataMask);
- uint32_t value2 = getValue(trie->data, valueWidth, di);
- value2 = maybeFilterValue(value2, trie->nullValue, nullValue,
- filter, context);
+ uint32_t trieValue2 = getValue(trie->data, valueWidth, di);
if (haveValue) {
- if (value2 != value) {
- return c - 1;
+ if (trieValue2 != trieValue) {
+ if (filter == nullptr ||
+ maybeFilterValue(trieValue2, trie->nullValue, nullValue,
+ filter, context) != value) {
+ return c - 1;
+ }
+ trieValue = trieValue2; // may or may not help
}
} else {
- value = value2;
+ trieValue = trieValue2;
+ value = maybeFilterValue(trieValue2, trie->nullValue, nullValue,
+ filter, context);
if (pValue != nullptr) { *pValue = value; }
haveValue = true;
}
while ((++c & dataMask) != 0) {
- if (maybeFilterValue(getValue(trie->data, valueWidth, ++di),
- trie->nullValue, nullValue,
- filter, context) != value) {
- return c - 1;
+ trieValue2 = getValue(trie->data, valueWidth, ++di);
+ if (trieValue2 != trieValue) {
+ if (filter == nullptr ||
+ maybeFilterValue(trieValue2, trie->nullValue, nullValue,
+ filter, context) != value) {
+ return c - 1;
+ }
+ trieValue = trieValue2; // may or may not help
}
}
}
diff --git a/Build/source/libs/icu/icu-src/source/common/ucurr.cpp b/Build/source/libs/icu/icu-src/source/common/ucurr.cpp
index 1062a9f3099..dfee3bd3000 100644
--- a/Build/source/libs/icu/icu-src/source/common/ucurr.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ucurr.cpp
@@ -85,30 +85,14 @@ static const char CURRENCY_MAP[] = "CurrencyMap";
// Tag for default meta-data, in CURRENCY_META
static const char DEFAULT_META[] = "DEFAULT";
-// Variant for legacy pre-euro mapping in CurrencyMap
-static const char VAR_PRE_EURO[] = "PREEURO";
-
-// Variant for legacy euro mapping in CurrencyMap
-static const char VAR_EURO[] = "EURO";
-
// Variant delimiter
static const char VAR_DELIM = '_';
-static const char VAR_DELIM_STR[] = "_";
-
-// Variant for legacy euro mapping in CurrencyMap
-//static const char VAR_DELIM_EURO[] = "_EURO";
-
-#define VARIANT_IS_EMPTY 0
-#define VARIANT_IS_EURO 0x1
-#define VARIANT_IS_PREEURO 0x2
// Tag for localized display names (symbols) of currencies
static const char CURRENCIES[] = "Currencies";
static const char CURRENCIES_NARROW[] = "Currencies%narrow";
static const char CURRENCYPLURALS[] = "CurrencyPlurals";
-static const UChar EUR_STR[] = {0x0045,0x0055,0x0052,0};
-
// ISO codes mapping table
static const UHashtable* gIsoCodes = NULL;
static icu::UInitOnce gIsoCodesInitOnce = U_INITONCE_INITIALIZER;
@@ -360,30 +344,10 @@ _findMetaData(const UChar* currency, UErrorCode& ec) {
// -------------------------------------
-/**
- * @see VARIANT_IS_EURO
- * @see VARIANT_IS_PREEURO
- */
-static uint32_t
+static void
idForLocale(const char* locale, char* countryAndVariant, int capacity, UErrorCode* ec)
{
- uint32_t variantType = 0;
- // !!! this is internal only, assumes buffer is not null and capacity is sufficient
- // Extract the country name and variant name. We only
- // recognize two variant names, EURO and PREEURO.
- char variant[ULOC_FULLNAME_CAPACITY];
ulocimp_getRegionForSupplementalData(locale, FALSE, countryAndVariant, capacity, ec);
- uloc_getVariant(locale, variant, sizeof(variant), ec);
- if (variant[0] != 0) {
- variantType = (uint32_t)(0 == uprv_strcmp(variant, VAR_EURO))
- | ((uint32_t)(0 == uprv_strcmp(variant, VAR_PRE_EURO)) << 1);
- if (variantType)
- {
- uprv_strcat(countryAndVariant, VAR_DELIM_STR);
- uprv_strcat(countryAndVariant, variant);
- }
- }
- return variantType;
}
// ------------------------------------------
@@ -401,7 +365,7 @@ U_CDECL_END
#if !UCONFIG_NO_SERVICE
struct CReg;
-static UMutex gCRegLock = U_MUTEX_INITIALIZER;
+static UMutex gCRegLock;
static CReg* gCRegHead = 0;
struct CReg : public icu::UMemory {
@@ -568,7 +532,7 @@ ucurr_forLocale(const char* locale,
// get country or country_variant in `id'
char id[ULOC_FULLNAME_CAPACITY];
- uint32_t variantType = idForLocale(locale, id, UPRV_LENGTHOF(id), ec);
+ idForLocale(locale, id, UPRV_LENGTHOF(id), ec);
if (U_FAILURE(*ec)) {
return 0;
}
@@ -602,20 +566,6 @@ ucurr_forLocale(const char* locale,
UResourceBundle *countryArray = ures_getByKey(rb, id, cm, &localStatus);
UResourceBundle *currencyReq = ures_getByIndex(countryArray, 0, NULL, &localStatus);
s = ures_getStringByKey(currencyReq, "id", &resLen, &localStatus);
-
- // Get the second item when PREEURO is requested, and this is a known Euro country.
- // If the requested variant is PREEURO, and this isn't a Euro country,
- // assume that the country changed over to the Euro in the future.
- // This is probably an old version of ICU that hasn't been updated yet.
- // The latest currency is probably correct.
- if (U_SUCCESS(localStatus)) {
- if ((variantType & VARIANT_IS_PREEURO) && u_strcmp(s, EUR_STR) == 0) {
- currencyReq = ures_getByIndex(countryArray, 1, currencyReq, &localStatus);
- s = ures_getStringByKey(currencyReq, "id", &resLen, &localStatus);
- } else if ((variantType & VARIANT_IS_EURO)) {
- s = EUR_STR;
- }
- }
ures_close(currencyReq);
ures_close(countryArray);
}
@@ -740,7 +690,13 @@ ucurr_getName(const UChar* currency,
key.append("/", ec2);
key.append(buf, ec2);
s = ures_getStringByKeyWithFallback(rb.getAlias(), key.data(), len, &ec2);
- } else {
+ if (ec2 == U_MISSING_RESOURCE_ERROR) {
+ *ec = U_USING_FALLBACK_WARNING;
+ ec2 = U_ZERO_ERROR;
+ choice = UCURR_SYMBOL_NAME;
+ }
+ }
+ if (s == NULL) {
ures_getByKey(rb.getAlias(), CURRENCIES, rb.getAlias(), &ec2);
ures_getByKeyWithFallback(rb.getAlias(), buf, rb.getAlias(), &ec2);
s = ures_getStringByIndex(rb.getAlias(), choice, len, &ec2);
@@ -757,7 +713,9 @@ ucurr_getName(const UChar* currency,
// We no longer support choice format data in names. Data should not contain
// choice patterns.
- *isChoiceFormat = FALSE;
+ if (isChoiceFormat != NULL) {
+ *isChoiceFormat = FALSE;
+ }
if (U_SUCCESS(ec2)) {
U_ASSERT(s != NULL);
return s;
@@ -1397,7 +1355,7 @@ static CurrencyNameCacheEntry* currCache[CURRENCY_NAME_CACHE_NUM] = {NULL};
// It is a simple round-robin replacement strategy.
static int8_t currentCacheEntryIndex = 0;
-static UMutex gCurrencyCacheMutex = U_MUTEX_INITIALIZER;
+static UMutex gCurrencyCacheMutex;
// Cache deletion
static void
@@ -1639,10 +1597,9 @@ uprv_getStaticCurrencyName(const UChar* iso, const char* loc,
{
U_NAMESPACE_USE
- UBool isChoiceFormat;
int32_t len;
const UChar* currname = ucurr_getName(iso, loc, UCURR_SYMBOL_NAME,
- &isChoiceFormat, &len, &ec);
+ nullptr /* isChoiceFormat */, &len, &ec);
if (U_SUCCESS(ec)) {
result.setTo(currname, len);
}
@@ -2305,7 +2262,7 @@ ucurr_countCurrencies(const char* locale,
uloc_getKeywordValue(locale, "currency", id, ULOC_FULLNAME_CAPACITY, &localStatus);
// get country or country_variant in `id'
- /*uint32_t variantType =*/ idForLocale(locale, id, sizeof(id), ec);
+ idForLocale(locale, id, sizeof(id), ec);
if (U_FAILURE(*ec))
{
@@ -2421,7 +2378,7 @@ ucurr_forLocaleAndDate(const char* locale,
resLen = uloc_getKeywordValue(locale, "currency", id, ULOC_FULLNAME_CAPACITY, &localStatus);
// get country or country_variant in `id'
- /*uint32_t variantType =*/ idForLocale(locale, id, sizeof(id), ec);
+ idForLocale(locale, id, sizeof(id), ec);
if (U_FAILURE(*ec))
{
return 0;
diff --git a/Build/source/libs/icu/icu-src/source/common/udata.cpp b/Build/source/libs/icu/icu-src/source/common/udata.cpp
index efcd2a2f975..ec9c999cea4 100644
--- a/Build/source/libs/icu/icu-src/source/common/udata.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/udata.cpp
@@ -33,6 +33,7 @@ might have to #include some other header
#include "cstring.h"
#include "mutex.h"
#include "putilimp.h"
+#include "restrace.h"
#include "uassert.h"
#include "ucln_cmn.h"
#include "ucmndata.h"
@@ -110,11 +111,12 @@ static u_atomic_int32_t gHaveTriedToLoadCommonData = ATOMIC_INT32_T_INITIALIZER(
static UHashtable *gCommonDataCache = NULL; /* Global hash table of opened ICU data files. */
static icu::UInitOnce gCommonDataCacheInitOnce = U_INITONCE_INITIALIZER;
-#if U_PLATFORM_HAS_WINUWP_API == 0
+#if !defined(ICU_DATA_DIR_WINDOWS)
static UDataFileAccess gDataFileAccess = UDATA_DEFAULT_ACCESS; // Access not synchronized.
// Modifying is documented as thread-unsafe.
#else
-static UDataFileAccess gDataFileAccess = UDATA_NO_FILES; // Windows UWP looks in one spot explicitly
+// If we are using the Windows data directory, then look in one spot only.
+static UDataFileAccess gDataFileAccess = UDATA_NO_FILES;
#endif
static UBool U_CALLCONV
@@ -206,7 +208,7 @@ setCommonICUData(UDataMemory *pData, /* The new common data. Belongs to ca
return didUpdate;
}
-#if U_PLATFORM_HAS_WINUWP_API == 0
+#if !defined(ICU_DATA_DIR_WINDOWS)
static UBool
setCommonICUDataPointer(const void *pData, UBool /*warn*/, UErrorCode *pErrorCode) {
@@ -320,7 +322,7 @@ static UDataMemory *udata_findCachedData(const char *path, UErrorCode &err)
retVal = el->item;
}
#ifdef UDATA_DEBUG
- fprintf(stderr, "Cache: [%s] -> %p\n", baseName, retVal);
+ fprintf(stderr, "Cache: [%s] -> %p\n", baseName, (void*) retVal);
#endif
return retVal;
}
@@ -383,7 +385,7 @@ static UDataMemory *udata_cacheDataItem(const char *path, UDataMemory *item, UEr
#ifdef UDATA_DEBUG
fprintf(stderr, "Cache: [%s] <<< %p : %s. vFunc=%p\n", newElement->name,
- newElement->item, u_errorName(subErr), newElement->item->vFuncs);
+ (void*) newElement->item, u_errorName(subErr), (void*) newElement->item->vFuncs);
#endif
if (subErr == U_USING_DEFAULT_WARNING || U_FAILURE(subErr)) {
@@ -477,7 +479,7 @@ UDataPathIterator::UDataPathIterator(const char *inPath, const char *pkg,
nextPath = itemPath.data();
}
#ifdef UDATA_DEBUG
- fprintf(stderr, "SUFFIX=%s [%p]\n", inSuffix, inSuffix);
+ fprintf(stderr, "SUFFIX=%s [%p]\n", inSuffix, (void*) inSuffix);
#endif
/** Suffix **/
@@ -492,12 +494,11 @@ UDataPathIterator::UDataPathIterator(const char *inPath, const char *pkg,
/* pathBuffer will hold the output path strings returned by this iterator */
#ifdef UDATA_DEBUG
- fprintf(stderr, "%p: init %s -> [path=%s], [base=%s], [suff=%s], [itempath=%s], [nextpath=%s], [checklast4=%s]\n",
- iter,
+ fprintf(stderr, "0: init %s -> [path=%s], [base=%s], [suff=%s], [itempath=%s], [nextpath=%s], [checklast4=%s]\n",
item,
path,
basename,
- suffix,
+ suffix.data(),
itemPath.data(),
nextPath,
checkLastFour?"TRUE":"false");
@@ -553,7 +554,7 @@ const char *UDataPathIterator::next(UErrorCode *pErrorCode)
fprintf(stderr, "rest of path (IDD) = %s\n", currentPath);
fprintf(stderr, " ");
{
- uint32_t qqq;
+ int32_t qqq;
for(qqq=0;qqqpHeader == &U_ICUDATA_ENTRY_POINT) {
@@ -714,7 +717,8 @@ openCommonData(const char *path, /* Path from OpenChoice? */
setCommonICUDataPointer(uprv_getICUData_conversion(), FALSE, pErrorCode);
}
*/
-#if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP Platform does not support dll icu data at this time
+#if !defined(ICU_DATA_DIR_WINDOWS)
+// When using the Windows system data, we expect only a single data file.
setCommonICUDataPointer(&U_ICUDATA_ENTRY_POINT, FALSE, pErrorCode);
{
Mutex lock;
@@ -831,7 +835,7 @@ static UBool extendICUData(UErrorCode *pErr)
* Use a specific mutex to avoid nested locks of the global mutex.
*/
#if MAP_IMPLEMENTATION==MAP_STDIO
- static UMutex extendICUDataMutex = U_MUTEX_INITIALIZER;
+ static UMutex extendICUDataMutex;
umtx_lock(&extendICUDataMutex);
#endif
if(!umtx_loadAcquire(gHaveTriedToLoadCommonData)) {
@@ -1070,13 +1074,13 @@ static UDataMemory *doLoadFromCommonData(UBool isICUData, const char * /*pkgName
/* look up the data piece in the common data */
pHeader=pCommonData->vFuncs->Lookup(pCommonData, tocEntryName, &length, subErrorCode);
#ifdef UDATA_DEBUG
- fprintf(stderr, "%s: pHeader=%p - %s\n", tocEntryName, pHeader, u_errorName(*subErrorCode));
+ fprintf(stderr, "%s: pHeader=%p - %s\n", tocEntryName, (void*) pHeader, u_errorName(*subErrorCode));
#endif
if(pHeader!=NULL) {
pEntryData = checkDataItem(pHeader, isAcceptable, context, type, name, subErrorCode, pErrorCode);
#ifdef UDATA_DEBUG
- fprintf(stderr, "pEntryData=%p\n", pEntryData);
+ fprintf(stderr, "pEntryData=%p\n", (void*) pEntryData);
#endif
if (U_FAILURE(*pErrorCode)) {
return NULL;
@@ -1168,6 +1172,9 @@ doOpenChoice(const char *path, const char *type, const char *name,
UBool isICUData = FALSE;
+ FileTracer::traceOpen(path, type, name);
+
+
/* Is this path ICU data? */
if(path == NULL ||
!strcmp(path, U_ICUDATA_ALIAS) || /* "ICUDATA" */
@@ -1276,12 +1283,12 @@ doOpenChoice(const char *path, const char *type, const char *name,
fprintf(stderr, " tocEntryPath = %s\n", tocEntryName.data());
#endif
-#if U_PLATFORM_HAS_WINUWP_API == 0 // Windows UWP Platform does not support dll icu data at this time
+#if !defined(ICU_DATA_DIR_WINDOWS)
if(path == NULL) {
path = COMMON_DATA_NAME; /* "icudt26e" */
}
#else
- // Windows UWP expects only a single data file.
+ // When using the Windows system data, we expects only a single data file.
path = COMMON_DATA_NAME; /* "icudt26e" */
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/uhash.cpp b/Build/source/libs/icu/icu-src/source/common/uhash.cpp
index 239997d05d7..86311ceb0b2 100644
--- a/Build/source/libs/icu/icu-src/source/common/uhash.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uhash.cpp
@@ -119,13 +119,14 @@ static const float RESIZE_POLICY_RATIO_TABLE[6] = {
/* This macro expects a UHashTok.pointer as its keypointer and
valuepointer parameters */
-#define HASH_DELETE_KEY_VALUE(hash, keypointer, valuepointer) \
- if (hash->keyDeleter != NULL && keypointer != NULL) { \
- (*hash->keyDeleter)(keypointer); \
- } \
- if (hash->valueDeleter != NULL && valuepointer != NULL) { \
- (*hash->valueDeleter)(valuepointer); \
- }
+#define HASH_DELETE_KEY_VALUE(hash, keypointer, valuepointer) UPRV_BLOCK_MACRO_BEGIN { \
+ if (hash->keyDeleter != NULL && keypointer != NULL) { \
+ (*hash->keyDeleter)(keypointer); \
+ } \
+ if (hash->valueDeleter != NULL && valuepointer != NULL) { \
+ (*hash->valueDeleter)(valuepointer); \
+ } \
+} UPRV_BLOCK_MACRO_END
/*
* Constants for hinting whether a key or value is an integer
@@ -376,8 +377,7 @@ _uhash_find(const UHashtable *hash, UHashTok key,
* WILL NEVER HAPPEN as long as uhash_put() makes sure that
* count is always < length.
*/
- U_ASSERT(FALSE);
- return NULL; /* Never happens if uhash_put() behaves */
+ UPRV_UNREACHABLE;
}
return &(elements[theIndex]);
}
diff --git a/Build/source/libs/icu/icu-src/source/common/uidna.cpp b/Build/source/libs/icu/icu-src/source/common/uidna.cpp
index 7cc97a93a01..ac2f9c3c8cd 100644
--- a/Build/source/libs/icu/icu-src/source/common/uidna.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uidna.cpp
@@ -57,18 +57,16 @@ toASCIILower(UChar ch){
inline static UBool
startsWithPrefix(const UChar* src , int32_t srcLength){
- UBool startsWithPrefix = TRUE;
-
if(srcLength < ACE_PREFIX_LENGTH){
return FALSE;
}
for(int8_t i=0; i< ACE_PREFIX_LENGTH; i++){
if(toASCIILower(src[i]) != ACE_PREFIX[i]){
- startsWithPrefix = FALSE;
+ return FALSE;
}
}
- return startsWithPrefix;
+ return TRUE;
}
@@ -441,6 +439,7 @@ _internal_toUnicode(const UChar* src, int32_t srcLength,
for(int32_t j=0; j 0x7f){
srcIsASCII = FALSE;
+ break;
}/*else if(isLDHChar(src[j])==FALSE){
// here we do not assemble surrogates
// since we know that LDH code points
diff --git a/Build/source/libs/icu/icu-src/source/common/uinvchar.cpp b/Build/source/libs/icu/icu-src/source/common/uinvchar.cpp
index a0fd9dfbb1c..05bcf10df48 100644
--- a/Build/source/libs/icu/icu-src/source/common/uinvchar.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uinvchar.cpp
@@ -446,6 +446,13 @@ uprv_copyEbcdic(const UDataSwapper *ds,
return length;
}
+U_CFUNC UBool
+uprv_isEbcdicAtSign(char c) {
+ static const uint8_t ebcdicAtSigns[] = {
+ 0x7C, 0x44, 0x66, 0x80, 0xAC, 0xAE, 0xAF, 0xB5, 0xEC, 0xEF, 0x00 };
+ return c != 0 && uprv_strchr((const char *)ebcdicAtSigns, c) != nullptr;
+}
+
/* compare invariant strings; variant characters compare less than others and unlike each other */
U_CFUNC int32_t
uprv_compareInvAscii(const UDataSwapper *ds,
@@ -562,6 +569,11 @@ uprv_compareInvEbcdicAsAscii(const char *s1, const char *s2) {
}
}
+U_CAPI char U_EXPORT2
+uprv_ebcdicToAscii(char c) {
+ return (char)asciiFromEbcdic[(uint8_t)c];
+}
+
U_CAPI char U_EXPORT2
uprv_ebcdicToLowercaseAscii(char c) {
return (char)lowercaseAsciiFromEbcdic[(uint8_t)c];
diff --git a/Build/source/libs/icu/icu-src/source/common/uinvchar.h b/Build/source/libs/icu/icu-src/source/common/uinvchar.h
index 56dddfa8fde..a43cfcd9828 100644
--- a/Build/source/libs/icu/icu-src/source/common/uinvchar.h
+++ b/Build/source/libs/icu/icu-src/source/common/uinvchar.h
@@ -68,6 +68,75 @@ uprv_isInvariantUString(const UChar *s, int32_t length);
# error Unknown charset family!
#endif
+#ifdef __cplusplus
+
+U_NAMESPACE_BEGIN
+
+/**
+ * Like U_UPPER_ORDINAL(x) but with validation.
+ * Returns 0..25 for A..Z else a value outside 0..25.
+ */
+inline int32_t uprv_upperOrdinal(int32_t c) {
+#if U_CHARSET_FAMILY==U_ASCII_FAMILY
+ return c - 'A';
+#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
+ // EBCDIC: A-Z (26 letters) is split into three ranges A-I (9 letters), J-R (9), S-Z (8).
+ // https://en.wikipedia.org/wiki/EBCDIC_037#Codepage_layout
+ if (c <= 'I') { return c - 'A'; } // A-I --> 0-8
+ if (c < 'J') { return -1; }
+ if (c <= 'R') { return c - 'J' + 9; } // J-R --> 9..17
+ if (c < 'S') { return -1; }
+ return c - 'S' + 18; // S-Z --> 18..25
+#else
+# error Unknown charset family!
+#endif
+}
+
+// Like U_UPPER_ORDINAL(x) but for lowercase and with validation.
+// Returns 0..25 for a..z else a value outside 0..25.
+inline int32_t uprv_lowerOrdinal(int32_t c) {
+#if U_CHARSET_FAMILY==U_ASCII_FAMILY
+ return c - 'a';
+#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
+ // EBCDIC: a-z (26 letters) is split into three ranges a-i (9 letters), j-r (9), s-z (8).
+ // https://en.wikipedia.org/wiki/EBCDIC_037#Codepage_layout
+ if (c <= 'i') { return c - 'a'; } // a-i --> 0-8
+ if (c < 'j') { return -1; }
+ if (c <= 'r') { return c - 'j' + 9; } // j-r --> 9..17
+ if (c < 's') { return -1; }
+ return c - 's' + 18; // s-z --> 18..25
+#else
+# error Unknown charset family!
+#endif
+}
+
+U_NAMESPACE_END
+
+#endif
+
+/**
+ * Returns true if c == '@' is possible.
+ * The @ sign is variant, and the @ sign used on one
+ * EBCDIC machine won't be compiled the same way on other EBCDIC based machines.
+ * @internal
+ */
+U_CFUNC UBool
+uprv_isEbcdicAtSign(char c);
+
+/**
+ * \def uprv_isAtSign
+ * Returns true if c == '@' is possible.
+ * For ASCII, checks for exactly '@'. For EBCDIC, calls uprv_isEbcdicAtSign().
+ * @internal
+ */
+#if U_CHARSET_FAMILY==U_ASCII_FAMILY
+# define uprv_isAtSign(c) ((c)=='@')
+#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
+# define uprv_isAtSign(c) uprv_isEbcdicAtSign(c)
+#else
+# error Unknown charset family!
+#endif
+
/**
* Compare two EBCDIC invariant-character strings in ASCII order.
* @internal
@@ -88,6 +157,26 @@ uprv_compareInvEbcdicAsAscii(const char *s1, const char *s2);
# error Unknown charset family!
#endif
+/**
+ * Converts an EBCDIC invariant character to ASCII.
+ * @internal
+ */
+U_INTERNAL char U_EXPORT2
+uprv_ebcdicToAscii(char c);
+
+/**
+ * \def uprv_invCharToAscii
+ * Converts an invariant character to ASCII.
+ * @internal
+ */
+#if U_CHARSET_FAMILY==U_ASCII_FAMILY
+# define uprv_invCharToAscii(c) (c)
+#elif U_CHARSET_FAMILY==U_EBCDIC_FAMILY
+# define uprv_invCharToAscii(c) uprv_ebcdicToAscii(c)
+#else
+# error Unknown charset family!
+#endif
+
/**
* Converts an EBCDIC invariant character to lowercase ASCII.
* @internal
diff --git a/Build/source/libs/icu/icu-src/source/common/ulayout_props.h b/Build/source/libs/icu/icu-src/source/common/ulayout_props.h
new file mode 100644
index 00000000000..c0f028c7132
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/ulayout_props.h
@@ -0,0 +1,46 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+// ulayout_props.h
+// created: 2019feb12 Markus W. Scherer
+
+#ifndef __ULAYOUT_PROPS_H__
+#define __ULAYOUT_PROPS_H__
+
+#include "unicode/utypes.h"
+
+// file definitions ------------------------------------------------------------
+
+#define ULAYOUT_DATA_NAME "ulayout"
+#define ULAYOUT_DATA_TYPE "icu"
+
+// data format "Layo"
+#define ULAYOUT_FMT_0 0x4c
+#define ULAYOUT_FMT_1 0x61
+#define ULAYOUT_FMT_2 0x79
+#define ULAYOUT_FMT_3 0x6f
+
+// indexes into indexes[]
+enum {
+ // Element 0 stores the length of the indexes[] array.
+ ULAYOUT_IX_INDEXES_LENGTH,
+ // Elements 1..7 store the tops of consecutive code point tries.
+ // No trie is stored if the difference between two of these is less than 16.
+ ULAYOUT_IX_INPC_TRIE_TOP,
+ ULAYOUT_IX_INSC_TRIE_TOP,
+ ULAYOUT_IX_VO_TRIE_TOP,
+ ULAYOUT_IX_RESERVED_TOP,
+
+ ULAYOUT_IX_TRIES_TOP = 7,
+
+ ULAYOUT_IX_MAX_VALUES = 9,
+
+ // Length of indexes[]. Multiple of 4 to 16-align the tries.
+ ULAYOUT_IX_COUNT = 12
+};
+
+constexpr int32_t ULAYOUT_MAX_INPC_SHIFT = 24;
+constexpr int32_t ULAYOUT_MAX_INSC_SHIFT = 16;
+constexpr int32_t ULAYOUT_MAX_VO_SHIFT = 8;
+
+#endif // __ULAYOUT_PROPS_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/ulayout_props_data.h b/Build/source/libs/icu/icu-src/source/common/ulayout_props_data.h
deleted file mode 100644
index f42d15fc830..00000000000
--- a/Build/source/libs/icu/icu-src/source/common/ulayout_props_data.h
+++ /dev/null
@@ -1,722 +0,0 @@
-// © 2018 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-//
-// file name: ulayout_props_data.h
-//
-// machine-generated by: icu/tools/unicode/c/genprops/layoutpropsbuilder.cpp
-
-
-#ifdef INCLUDED_FROM_UPROPS_CPP
-
-static const int32_t maxInPCValue = 14;
-
-static const uint16_t inpc_trieIndex[765]={
-0,0x40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x80,0xc0,0xff,0x13f,0x17e,0x1be,0x17e,0x1fe,0x23e,0x27e,0x2bc,0x2fc,
-0x33c,0x37b,0x23e,0x3bb,0x3fb,0x439,0x477,0x4ad,0x4e1,0x521,0x531,0x571,0x599,0x5d9,0x619,0x656,
-0x2b7,0x2c6,0x2d2,0x2c6,0x2ed,0,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0,0x10,0x20,
-0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,
-0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0x80,0x90,0xa0,
-0xb0,0xc0,0xd0,0xe0,0xf0,0xff,0x10f,0x11f,0x12f,0x13f,0x14f,0x15f,0x16f,0x17e,0x18e,0x19e,
-0x1ae,0x1be,0x1ce,0x1de,0x1ee,0x17e,0x18e,0x19e,0x1ae,0x1fe,0x20e,0x21e,0x22e,0x23e,0x24e,0x25e,
-0x26e,0x27e,0x28e,0x29e,0x2ae,0x2bc,0x2cc,0x2dc,0x2ec,0x2fc,0x30c,0x31c,0x32c,0x33c,0x34c,0x35c,
-0x36c,0x37b,0x38b,0x39b,0x3ab,0x23e,0x24e,0x25e,0x26e,0x3bb,0x3cb,0x3db,0x3eb,0x3fb,0x40b,0x41b,
-0x42b,0x439,0x449,0x459,0x469,0x477,0x487,0x497,0x4a7,0x4ad,0x4bd,0x4cd,0x4dd,0x4e1,0x4f1,0x501,
-0x511,0x521,0x531,0x541,0x551,0x531,0x541,0x551,0x561,0x571,0x581,0x591,0x5a1,0x599,0x5a9,0x5b9,
-0x5c9,0x5d9,0x5e9,0x5f9,0x609,0x619,0x629,0x639,0x649,0x656,0x666,0x676,0x686,0,0,0x68b,
-0x69a,0,0x6a9,0x6b8,0x6c7,0x6d5,0x6e5,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0x6f3,0,0x6f3,
-0,0x701,0,0x701,0,0,0,0x70b,0x71b,0x729,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x739,0x749,0,0,
-0,0,0,0,0,0x759,0x768,0,0,0,0x772,0,0,0,0x77e,0x78d,
-0x79b,0,0,0,0,0,0,0,0,0x7ab,0,0,0x7b7,0x7c7,0,0x7cc,
-0x52c,0x81,0,0x7dc,0,0,0,0x7ea,0x3fb,0,0,0x7fa,0x807,0,0,0,
-0,0,0,0,0,0,0x817,0x827,0x835,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x2b3,0x83f,0,0x84c,0,0,0,0,
-0,0x101,0,0,0x858,0x864,0,0x874,0x882,0,0,0x892,0,0x8a0,0x3fb,0,
-0,0x80,0,0,0x8b0,0x8c0,0,0x2b9,0,0,0x8c7,0x8d6,0x8e3,0,0,0x8f1,
-0,0,0,0x901,0x2bd,0,0x911,0x151,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0x921,0,0x930,0,0,0x940,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x950,0,0,0x958,0x966,0,0,0,
-0x81,0,0,0x976,0,0,0,0,0x52d,0,0x981,0x991,0x3cb,0,0,0x659,
-0x81,0,0,0x99e,0x9ae,0,0,0,0x9bb,0x9cb,0,0,0,0,0,0,
-0,0,0,0x71,0x9db,0,0xff,0,0,0x9e6,0x9f6,0x14f,0xa04,0x52b,0,0,
-0,0,0,0,0,0,0x99c,0xa14,0x16f,0,0,0,0,0,0xa24,0xa33,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0x2eb,0xa43,0xe3,
-0x214,0,0,0,0xa53,0x2be,0,0,0,0,0,0xa63,0xa73,0,0,0,
-0,0,0xa7b,0xa8b,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0xa97,0xaa6,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xab5,
-0,0,0xac2,0,0xad1,0,0,0xadd,0xae7,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x2eb,
-0xaf7,0,0,0,0,0,0xb07,0xb0f,0xb1e,0,0,0,0,0,0,0,
-0xb2d,0xb3c,0,0,0,0xb44,0xb54,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0xb61,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0x45,0x4d,0x4d,0x4d,0x5d,0x7d,0x9d,0xbd,0xdd,
-2,2,0xec,0x10a,0x129,0x149,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
-2,2,2,2,2,2,0x169,0x188,2,2,2,2,2,2,2,2,
-2,2,0x1a8,2,2,0x1c8,0x1e6,0x203,0x221,0x23f,0x25f,0x27d,0x297
-};
-
-static const uint8_t inpc_trieData[2930]={
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-8,8,8,7,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,8,7,1,0,7,4,
-7,1,1,1,1,8,8,8,8,7,7,7,7,1,4,7,
-0,8,1,8,8,8,1,1,0,0,0,0,0,0,0,0,
-0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-8,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,1,0,7,4,7,
-1,1,1,1,0,0,4,4,0,0,5,5,1,0,0,0,
-0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,
-0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,8,
-8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,1,0,7,4,7,1,
-1,0,0,0,0,8,8,0,0,8,8,1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,
-0,0,0,1,0,0,0,0,0,0,0,0,0,0,7,1,
-1,1,1,8,0,8,8,0xd,0,7,7,1,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,8,8,8,8,8,8,0,8,
-7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,1,0,7,8,7,1,
-1,1,1,0,0,4,0xb,0,0,5,0xc,1,0,0,0,0,
-0,0,0,0,8,0xd,0,0,0,0,0,0,0,0,0,0,
-1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,7,7,8,7,7,0,
-0,0,4,4,4,0,5,5,5,8,0,0,0,0,0,0,
-0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,8,7,7,7,
-8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,8,8,7,7,7,7,
-0,8,8,9,0,8,8,8,8,0,0,0,0,0,0,0,
-8,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0xd,7,7,7,7,
-0,8,0xd,0xd,0,0xd,0xd,8,8,0,0,0,0,0,0,0,
-7,7,0,0,0,0,0,0,0,0,0,0,0,1,1,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,8,8,7,7,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,8,8,0,7,7,7,1,1,0,4,
-4,4,0,5,5,5,8,0,0,0,0,0,0,0,0,0,
-7,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,8,0,0,0,0,7,7,7,8,
-8,1,0,1,0,7,4,0xb,4,5,0xc,5,7,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,
-7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,7,8,7,7,8,8,8,8,1,1,1,0,0,0,0,
-0,0xe,0xe,0xe,0xe,0xe,7,0,8,8,8,8,8,8,8,8,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,7,8,7,7,8,8,8,8,1,1,0,8,1,0,0,
-0,0xe,0xe,0xe,0xe,0xe,0,0,0,8,8,8,8,8,8,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,
-1,0,8,0,0,0,0,7,4,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,1,8,9,1,1,9,
-9,9,9,8,8,8,8,8,7,8,9,8,8,1,0,8,
-8,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,
-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
-1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,7,7,8,8,1,4,8,8,8,8,
-8,1,7,0,8,7,0,1,1,0,0,0,0,0,0,7,
-7,1,1,0,0,0,0,1,1,0,7,7,7,0,0,7,
-7,7,7,7,7,7,0,0,8,8,8,8,0,0,0,0,
-0,0,0,0,0,0,0,1,7,4,8,8,7,7,7,7,
-7,7,1,0,7,0,0,0,0,0,0,0,0,0,0,7,
-7,7,8,0,0,8,1,1,0,0,0,0,0,0,0,0,
-0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,
-0,7,8,8,8,8,1,1,1,0xb,0xc,5,4,4,4,5,
-5,8,7,7,8,8,8,8,8,8,8,0,8,0,0,0,
-0,0,0,0,0,0,8,0,0,8,8,1,7,7,0xd,0xd,
-8,8,7,7,7,0,0,0,0,7,7,1,7,7,7,7,
-7,7,1,8,1,0,0,0,0,7,7,7,7,7,0xe,0xe,
-0xe,7,7,0xe,7,7,7,7,7,0,0,0,0,0,0,0,
-7,7,0,0,0,0,0,0,0,8,1,4,7,8,0,0,
-0,0,0,4,1,7,8,8,8,1,1,1,1,0,7,8,
-7,7,8,8,8,8,1,1,8,1,7,4,4,4,8,8,
-8,8,8,8,8,8,8,8,0,0,1,8,8,8,8,7,
-0,0,0,0,0,0,0,0,0,0,0,8,7,8,8,1,
-1,1,3,9,0xa,4,4,5,5,8,0xd,7,0,0,0,0,
-0,0,0,0,0,0,0,8,1,8,8,8,0,7,1,1,
-8,1,4,7,8,8,7,0,1,1,0,0,0,0,0,0,
-8,7,8,8,7,7,7,8,7,8,0,0,0,0,7,7,
-7,4,4,0xb,7,7,1,8,8,8,8,4,4,8,1,0,
-0,0,0,0,0,0,0,8,8,8,0,6,1,1,1,1,
-1,8,8,1,1,1,1,8,7,6,6,6,6,6,6,6,
-0,0,0,0,1,0,0,0,0,8,0,0,7,0,0,0,
-0,0,0,0,0,8,0,0,0,0,8,0,0,0,0,7,
-7,1,8,7,0,0,0,0,0,0,0,0,7,7,7,7,
-7,7,7,7,7,7,7,7,1,8,0,0,0,0,0,0,
-0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,
-8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,
-0,8,0,0,0,0,0,0,0,0,0,0,0,1,1,1,
-0,0,0,0,0,0,0,1,1,1,8,1,1,1,1,8,
-0,0,0,8,7,7,8,8,1,1,4,4,8,7,7,2,
-3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-8,8,8,8,1,8,4,8,1,7,4,1,1,0,0,0,
-0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,8,
-7,0,0,0,0,0,0,0,0,0,0,0,7,8,7,0,
-0,8,7,8,8,1,0xe,0xe,8,8,0xe,7,0xe,0xe,7,8,
-8,0,0,0,0,0,0,0,0,0,0,0,4,1,8,4,
-7,0,0,0,7,7,8,7,7,1,7,7,0,7,1,0,
-0,6,1,1,0,8,6,0,0,0,0,0,1,1,1,8,
-0,0,0,0,0,0,0,0,8,1,1,0,0,0,0,0,
-7,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
-8,8,8,8,1,1,1,1,8,8,8,8,8,0,0,0,
-0,0,0,0,0,0,7,4,7,1,1,8,8,7,7,1,
-1,0,0,0,0,0,0,0,8,8,8,1,1,4,8,9,
-9,8,1,1,0,8,0,0,0,0,0,0,0,0,0,0,
-0,7,4,7,1,1,1,1,1,1,8,8,8,0xd,7,0,
-0,0,0,0,0,0,0,1,0,8,1,0,0,0,0,0,
-0,0,0,0,0,0,0,7,7,7,1,8,8,0xd,0xd,8,
-7,8,8,0,0,0,0,0,0,8,0,7,4,7,1,1,
-8,8,8,8,1,1,0,0,0,0,0,0,0,0,0,0,
-0,1,1,0,7,7,8,7,7,7,7,0,0,4,4,0,
-0,5,5,7,0,0,7,7,0,0,8,8,8,8,8,8,
-8,0,0,0,7,7,1,8,8,7,1,0,0,0,0,0,
-0,0,0,0,7,4,7,1,1,1,1,1,1,4,8,0xb,
-5,7,5,8,7,1,1,0,0,0,0,0,0,0,0,0,
-0,0,0,4,7,1,1,1,1,0,0,4,0xb,5,0xc,8,
-8,7,1,7,7,7,1,1,1,1,1,1,8,8,7,7,
-8,7,1,0,0,0,0,0,0,0,0,0,0,0,8,7,
-8,4,7,1,1,8,8,8,8,7,1,0,0,0,0,0,
-0,0,0,0,0,0,0,0,1,0,8,7,7,8,8,1,
-1,4,8,1,8,8,8,0,0,0,0,0,0,0,0,0,
-0,0,0,7,4,7,1,1,1,8,8,8,8,8,7,1,
-1,0,0,0,0,0,8,1,1,8,8,8,8,8,8,1,
-0,0,0,0,0,1,1,8,8,8,8,7,0,1,1,1,
-1,0,8,1,1,8,8,8,7,7,1,1,1,0,0,0,
-0,0,0,0,0,0,0,1,1,1,1,1,1,8,7,8,
-0,0,0,0,0,0,0,8,8,1,1,1,1,1,0,8,
-8,8,8,8,8,7,1,0,0,1,1,1,1,1,1,1,
-1,1,1,1,1,1,1,0,7,1,1,1,1,1,1,4,
-1,8,7,8,8,0,0,0,0,0,0,0,0,0,8,8,
-8,8,8,1,0,0,0,8,0,8,8,0,8,8,1,8,
-1,0,0,1,0,0,0,0,0,0,0,0,0,0,7,7,
-7,7,7,0,8,8,0,7,7,8,7,0,0,0,0,0,
-0,0,0,0,8,1,4,7,0,0,0,0,0,0,0,0,
-0,0
-};
-
-static const UCPTrie inpc_trie={
- inpc_trieIndex,
- { inpc_trieData },
- 765, 2930,
- 0x12000, 0x12,
- 1, 2,
- 0, 0,
- 0x2, 0x0,
- 0x0,
-};
-
-static const int32_t maxInSCValue = 35;
-
-static const uint16_t insc_trieIndex[834]={
-0,0x40,0x60,0x94,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0xd4,0x112,0x152,0x190,0x1cf,0x20d,0x24c,0x28a,0x2ca,0x308,0x346,0x384,
-0x3c4,0x402,0x441,0x47f,0x4bf,0x4fd,0x53d,0x57d,0x5bc,0x5fc,0x63b,0x67b,0x69b,0x6db,0x71b,0x758,
-0x2f8,0x30b,0x317,0x30b,0x332,0,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x60,0x70,0x80,
-0x90,0x94,0xa4,0xb4,0xc4,0x40,0x50,0x60,0x70,0x40,0x50,0x60,0x70,0x40,0x50,0x60,
-0x70,0x40,0x50,0x60,0x70,0x40,0x50,0x60,0x70,0x40,0x50,0x60,0x70,0x40,0x50,0x60,
-0x70,0x40,0x50,0x60,0x70,0xd4,0xe4,0xf4,0x104,0x112,0x122,0x132,0x142,0x152,0x162,0x172,
-0x182,0x190,0x1a0,0x1b0,0x1c0,0x1cf,0x1df,0x1ef,0x1ff,0x20d,0x21d,0x22d,0x23d,0x24c,0x25c,0x26c,
-0x27c,0x28a,0x29a,0x2aa,0x2ba,0x2ca,0x2da,0x2ea,0x2fa,0x308,0x318,0x328,0x338,0x346,0x356,0x366,
-0x376,0x384,0x394,0x3a4,0x3b4,0x3c4,0x3d4,0x3e4,0x3f4,0x402,0x412,0x422,0x432,0x441,0x451,0x461,
-0x471,0x47f,0x48f,0x49f,0x4af,0x4bf,0x4cf,0x4df,0x4ef,0x4fd,0x50d,0x51d,0x52d,0x53d,0x54d,0x55d,
-0x56d,0x57d,0x58d,0x59d,0x5ad,0x5bc,0x5cc,0x5dc,0x5ec,0x5fc,0x60c,0x61c,0x62c,0x63b,0x64b,0x65b,
-0x66b,0x67b,0x68b,0x69b,0x6ab,0x69b,0x6ab,0x6bb,0x6cb,0x6db,0x6eb,0x6fb,0x70b,0x71b,0x72b,0x73b,
-0x74b,0x758,0x768,0x778,0x788,0xe9,0xe9,0x798,0x7a3,0x7b3,0x7c3,0x7d2,0x7e1,0x7ef,0x7ff,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x80f,0x81d,0xe6,0x81d,0xe6,0x82d,0x80f,0x83d,0xe9,0xe9,0x84d,
-0x859,0x863,0x872,0x30,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x882,0x16c,0x892,0x8a2,0x22d,0xe9,0x8b2,0x8c2,0xe9,0xe9,0x374,0x8d2,
-0x8e1,0x30,0x40,0x40,0xe9,0x8f1,0xe9,0xe9,0x901,0x90e,0x91e,0x92a,0x30,0x30,0x40,0x40,
-0x40,0x40,0x40,0x40,0x93a,0xe6,0xe9,0x94a,0x956,0x30,0x40,0x40,0x966,0xe9,0x975,0x985,
-0xe9,0xe9,0x995,0x9a5,0xe9,0xe9,0x9b5,0x9c2,0x9d2,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x9e2,0x9f0,0x9fe,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0xa08,0xa14,0xa24,0x40,0x40,0x40,0x40,0x40,0x75a,0xa32,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x74,0x40,0x40,0x40,0xa42,0xe9,0xa4f,
-0x40,0xe9,0xa5f,0xa6d,0xa7c,0xd6,0xe7,0xe9,0xa8c,0xa98,0x30,0xaa8,0xab6,0xac6,0xe9,0xad4,
-0xe9,0xae4,0xaf3,0x40,0x40,0xb03,0xe9,0xe9,0xb12,0x297,0x30,0xb22,0xb32,0xe3,0xe9,0x889,
-0xb42,0xb52,0x30,0xe9,0xb61,0xe9,0xe9,0xe9,0xb71,0xb81,0x40,0xb91,0xba1,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xbb1,0xbc1,0xbce,0x30,0xbde,0xbee,0xe9,
-0xbf8,0x31,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xc08,0xe6,0xe9,
-0x88a,0xc18,0xc26,0xc30,0xc40,0xc50,0xe9,0xe9,0xc60,0x40,0x40,0x40,0x40,0xc70,0xe9,0x88b,
-0xc80,0xc90,0xca0,0xe9,0xcad,0xd5,0xe8,0xe9,0xcbd,0xccd,0x30,0x6ba,0x35,0xe1,0x3eb,0x886,
-0xcdd,0x40,0x40,0x40,0x40,0xced,0x16d,0xcfc,0xdf,0xe9,0xd0c,0xd1c,0x30,0xd2c,0x162,0x172,
-0xd3c,0x308,0xd4c,0xd5c,0x9ed,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xdb,0xe9,0xe9,
-0xd6c,0xd7a,0xd8a,0x40,0x40,0xd99,0xe9,0xe9,0x91f,0xda9,0x30,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0xdb,0xe9,0xff,0xdb9,0xdc9,0xdd1,0x40,0x40,0xdb,0xe9,0xe9,
-0xde1,0xdf1,0x30,0x40,0x40,0xdf,0xe9,0xe01,0xe0e,0x30,0x40,0x40,0x40,0xe9,0xe1e,0xe2e,
-0xe3e,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xdf,0xe9,0x886,
-0xe4e,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xe5e,0xe9,0xe9,
-0xe6b,0xe7b,0xe8b,0xe9,0xe9,0xe97,0xea1,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xeb1,0xe9,0xff,
-0xec1,0xed1,0x6bb,0xee1,0x555,0xe9,0xeef,0x72b,0xeff,0x40,0x40,0x40,0x40,0xf0f,0xe9,0xe9,
-0xf1e,0xf2e,0x30,0xf3e,0xe9,0xf4a,0xf57,0x30,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0xe9,0xf67,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
-0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x45,0x55,0x55,0x55,0x65,0x85,0xa5,0xc5,
-0xe5,4,4,0xf5,0x114,0x134,0x154,4,0x174,4,0x17d,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,4,4,4,0x19d,0x1bd,4,4,4,
-4,4,4,4,4,4,4,0x1dd,4,4,0x1fd,0x21d,0x23d,0x25d,0x27d,0x29d,
-0x2bd,0x2d8
-};
-
-static const uint8_t insc_trieData[3960]={
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0xc,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0x1c,0x1c,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,2,2,2,0x20,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x22,0x22,
-0x17,1,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,
-0x22,0x22,0,4,4,0,0,0x22,0x22,0x22,5,5,5,5,5,5,
-5,5,0x23,0x23,0x22,0x22,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0,0,0x23,0x23,0x23,0x23,0x23,0x23,5,5,5,5,5,5,
-5,5,0xc,2,2,0x20,0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,
-0,0x23,0x23,0,0,0x23,0x23,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,
-5,5,5,0,5,0,0,0,5,5,5,5,0,0,0x17,1,
-0x22,0x22,0x22,0x22,0x22,0,0,0x22,0x22,0,0,0x22,0x22,0x1f,6,0,
-0,0,0,0,0,0,0,0x22,0,0,0,0,5,5,0,5,
-0x23,0x23,0x22,0x22,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-5,5,0,0,0,0,0,0,0,0,0,0,2,0,0x1c,0,
-2,2,0x20,0,0x23,0x23,0x23,0x23,0x23,0x23,0,0,0,0,0x23,0x23,
-0,0,0x23,0x23,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,5,5,5,5,5,5,5,
-0,5,5,0,5,5,0,5,5,0,0,0x17,0,0x22,0x22,0x22,
-0,0,0,0,0x22,0x22,0,0,0x22,0x22,0x1f,0,0,0,4,0,
-0,0,0,0,0,0,5,5,5,5,0,5,0,0,0,0,
-0,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,2,0x12,0xc,
-0xc,0,0xb,0,0,0,0,0,0,0,0,0,0,2,2,0x20,
-0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0x23,0x23,0x23,0,0x23,
-0x23,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,0,5,5,5,5,5,5,5,0,5,5,
-0,5,5,5,5,5,0,0,0x17,1,0x22,0x22,0x22,0x22,0x22,0x22,
-0,0x22,0x22,0x22,0,0x22,0x22,0x1f,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x23,0x23,0x22,0x22,0,0,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,0,0,0,
-0,0,0,5,4,4,4,0x17,0x17,0x17,0,2,2,0x20,0,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0,0x23,0x23,0,0,0x23,0x23,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,0,5,5,0,5,
-5,5,5,5,0,0,0x17,1,0x22,0x22,0x22,0x22,0x22,0,0,0x22,
-0x22,0,0,0x22,0x22,0x1f,0,0,0,0,0,0,0,0,0x22,0x22,
-0,0,0,0,5,5,0,5,0x23,0x23,0x22,0x22,0,0,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,5,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,2,0x15,0,0x23,0x23,0x23,0x23,0x23,
-0x23,0,0,0,0x23,0x23,0x23,0,0x23,0x23,0x23,5,0,0,0,5,
-5,0,5,0,5,5,0,0,0,5,5,0,0,0,5,5,
-5,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,
-0,0,0,0,0x22,0x22,0x22,0,0,0,0x22,0x22,0x22,0,0x22,0x22,
-0x22,0x1f,0,0,0,0,0,0,0,0,0,0x22,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,2,2,2,0x20,2,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
-0x23,0,0x23,0x23,0x23,0,0x23,0x23,0x23,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,
-0,1,0x22,0x22,0x22,0x22,0x22,0,0x22,0x22,0x22,0,0x22,0x22,0x22,0x1f,
-0,0,0,0,0,0,0,0x22,0x22,0,5,5,5,0,0,0,
-0,0,0x23,0x23,0x22,0x22,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,2,2,0x20,0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0x23,
-0x23,0x23,0,0x23,0x23,0x23,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0,5,5,5,5,5,
-5,5,5,5,5,0,5,5,5,5,5,0,0,0x17,1,0x22,
-0x22,0x22,0x22,0x22,0,0x22,0x22,0x22,0,0x22,0x22,0x22,0x1f,0,0,0,
-0,0,0,0,0x22,0x22,0,0,0,0,0,0,0,5,0,0x23,
-0x23,0x22,0x22,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,
-0x11,0x11,0,0,0,0,0,0,0,0,0,0,0,0,0,2,
-2,2,0x20,0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0x23,0x23,0x23,
-0,0x23,0x23,0x23,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,0x1a,0x1a,1,0x22,0x22,0x22,
-0x22,0x22,0,0x22,0x22,0x22,0,0x22,0x22,0x22,0x1f,0xd,0,0,0,0,
-0,6,6,6,0x22,0,0,0,0,0,0,0,0x23,0x23,0x23,0x22,
-0x22,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,
-0,0,0,0,0,0,0,6,6,6,6,6,6,0,0,2,
-0x20,0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
-0x23,0x23,0x23,0x23,0,0,0,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,
-5,5,5,5,5,5,5,5,5,0,5,0,0,5,5,5,
-5,5,5,5,0,0,0,0x1f,0,0,0,0,0x22,0x22,0x22,0x22,
-0x22,0x22,0,0x22,0,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0,0,0,
-0,0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0x22,
-0x22,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,0,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x1a,0,0,0,0,0,0x22,0x22,0x22,0x22,
-0x22,0x22,0,0x22,0x1e,0x1e,0x1e,0x1e,0xa,2,0x1a,0,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,5,
-0,0,5,5,0,5,0,0,5,0,0,0,0,0,0,5,
-5,5,5,0,5,5,5,5,5,5,5,0,5,5,5,0,
-5,0,5,0,0,5,5,0,5,5,0,0x22,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0,0x22,0xb,0xb,0,0,0x22,0x22,0x22,0x22,0x22,
-0,0,0,0x1e,0x1e,0x1e,0x1e,0,2,0,0,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0,0,5,5,5,5,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,
-0x1c,0,0x1c,0,0x17,0,0,0,0,0,0,5,5,5,5,5,
-5,5,5,0,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,5,5,5,5,5,5,0,0,0,0,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,2,0x20,0x22,0x22,2,2,0x1a,
-1,0,0,8,8,8,8,8,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
-0xf,0xf,0xf,0,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
-0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,
-0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0,0,0,0,0,0,0x1c,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,5,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
-0x23,0x23,0x23,0x22,0x22,0x22,0x22,0x22,0x22,2,0x1e,0x20,0x13,0x1a,0xb,0xb,
-0xb,0xb,5,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0xc,0,
-0,0xc,0,5,5,0x23,0x23,0x23,0x23,0x22,0x22,0x22,0x22,5,5,5,
-5,0xb,0xb,5,0x22,0x1e,0x1e,5,5,0x22,0x22,0x1e,0x1e,0x1e,0x1e,0x1e,
-5,5,0x22,0x22,0x22,0x22,5,5,5,5,5,5,5,5,5,5,
-5,0xb,0x22,0x22,0x22,0x22,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,0x1e,5,0x1e,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1e,0x1e,0x22,0x22,0,0,0x23,
-0x23,0x23,5,5,5,5,5,5,5,5,5,5,0,5,5,0x22,
-0x22,0x1a,0,0,0,0,0,0,0,0,0,0,0,5,5,0x22,
-0x22,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0x22,
-0x22,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,2,0x20,0x22,0x1b,0x1b,0x1c,0x10,
-0xa,0x1c,0x1c,0x1a,0x13,0x1c,0,0,0,0,0,0,0,0,1,0x1c,
-0,0,0xc,5,5,5,5,5,5,5,5,5,5,5,5,5,
-5,5,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xf,0xf,0xf,0,0,
-0,0,7,7,2,7,7,7,7,7,7,7,0x22,0x1c,0,0,
-0,0,5,5,5,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,
-0,0,0x1d,0x1d,0x1d,0x1d,0x1d,0,0,0,0,0,0,0,0,0,
-0,0,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
-0x22,0x22,7,7,7,7,7,7,7,0x1e,0x1e,0,0,0,0,0,
-0,5,5,5,5,5,5,5,0x22,0x22,0x22,0x22,0x22,0,0,0,
-0,5,5,5,5,5,5,5,5,5,5,5,5,5,0x23,0x23,
-0x23,5,5,0xb,0xb,0xf,7,7,9,0xf,0xf,0xf,0xf,0,0x13,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,2,0x1e,
-0x1e,0x1e,0x1e,0x1e,0x1a,0x1c,0x1c,0,0,0x1c,2,2,2,0x10,0x20,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,5,5,5,5,0x17,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,5,5,5,5,5,
-5,5,0,0,0,0,2,0x10,0x20,0x23,0x23,0x23,0x23,0x23,0x23,0x23,
-5,5,5,5,5,5,0xf,0xf,0xf,0x22,0x22,0x22,0x22,0x22,0x22,0x1a,
-0x13,0xf,0xf,5,5,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,1,
-5,5,5,7,7,5,5,5,5,0x23,0x23,0x17,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,7,7,0x1a,0x1a,0,0,0,0,0,0,0,
-0,0,0,0,0,5,5,5,5,0xf,0xf,0x22,0x22,0x22,0x22,0x22,
-0x22,0x22,7,7,7,7,2,2,0x1c,0x17,0,0,0,0,0,0,
-0,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,5,
-5,5,4,4,4,0,4,4,4,4,4,4,4,4,4,4,
-4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x20,0x20,4,0x11,0x11,4,4,4,0,0,0,0,0,0,0,0,
-0,0,0,0x1c,0,0,0,0,0,0,0,0,0,0,0,0,
-0x16,0x14,0,0,0xc,0xc,0xc,0xc,0xc,0,0,0,0,0,0,0,
-0,0,0,0,0x1c,0x1c,0x1c,0,0,0,0,0,0,0,0,0,
-0,0,0x23,0x23,0,0x23,0x23,0x23,0x1a,5,5,5,5,2,5,5,
-5,5,0x22,0x22,0x22,0x22,0x22,0,0,0,0,0,0,0,0,5,
-5,5,5,5,5,5,5,5,5,5,5,5,5,0x21,0x21,5,
-5,5,5,0x21,0xf,0xf,5,5,5,5,5,5,5,0xf,5,2,
-0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,
-0xb,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,2,0,0,
-0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,
-4,4,4,4,4,4,4,4,2,2,0,0,0,0,0,0,
-0,0,0,0,0x23,0x22,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-5,5,5,5,5,5,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x1e,
-0x1e,0x1e,0,0,5,5,5,5,5,5,5,0x22,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,7,7,7,0x1a,0,0,0,0,0,0,0,0,0,
-0,0,0,2,2,0x10,0x20,0x23,0x23,0x23,0x23,0x23,5,5,5,0x23,
-0x23,0x23,5,5,5,0x17,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xf,
-0xb,0xb,5,5,5,5,5,0x22,0,5,5,5,5,5,5,5,
-5,5,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,5,5,5,5,
-5,0,0x22,0x22,0x22,0xb,0xb,0xb,0xb,0,0,0,0,0,0,0,
-0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
-0,0,5,5,5,0xc,0xc,0xc,0,0,0,5,0x1e,0x1e,0x1e,5,
-5,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
-0x1e,0x1d,0x1e,0x1d,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x23,0x23,5,5,5,5,5,5,5,5,5,0x22,0x22,0x22,0x22,
-0x22,0,0,0,0,0,0x20,0x13,0,0,0,0,0,0,0,0,
-0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0x23,
-0x23,5,0x23,5,5,5,5,5,5,5,5,5,7,7,7,7,
-7,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0,0x1e,0x1a,0,0,5,0x22,
-0x22,0x22,0,0x22,0x22,0,0,0,0,0,0x22,0x22,2,0x20,5,5,
-5,5,0,5,5,5,0,5,5,5,5,5,5,5,0,0,
-0x17,0x17,0x17,0,0,0,0,0x13,2,2,0x20,0x11,0x11,0x23,0x23,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,0,
-0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,
-3,3,3,3,3,3,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x19,
-2,2,0x20,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,5,5,5,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,0x17,0,0,0,0,0,
-2,2,0x20,0x23,0x23,0x23,0x23,5,5,5,5,5,5,5,5,5,
-0x22,0x22,0x22,0x13,0x1a,0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
-0,0,0,0,5,0x22,0x22,0,0,0,0,0,0,0,0,0,
-0x21,0x21,0x21,0x21,0x21,5,5,5,5,5,5,5,5,5,5,5,
-0x17,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,1,0xe,
-0xe,0,0,0,0,0,0x1c,0x17,0x22,0x22,0,0,0,0x22,0x22,0x22,
-0x22,2,0x1f,0x17,0x12,0,0,0,0,0,0,4,0,0x23,0x23,0x23,
-0x23,5,5,5,0,5,0,5,5,5,5,0,5,5,5,5,
-5,5,5,5,5,0,0,0,0,0,0,0,5,5,5,5,
-5,5,5,5,5,5,5,5,5,5,5,2,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0x17,0x1a,0,0,0,0,0,2,2,2,0x20,
-0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0,0x23,5,0,5,5,
-0,5,5,5,5,5,0,0x17,0x17,1,0x22,0x22,0,0,0,0,
-0,0,0,0x22,0,0,0,0,0,0,2,2,0x23,0x23,0x22,0x22,
-0,0,4,4,4,4,4,4,4,0,0,0,5,5,5,5,
-5,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1f,2,2,0x20,
-0x17,1,0,0,0,0,0,0,0,0,0x18,0x18,0x18,0x18,0x18,0x18,
-0x18,0x18,0x18,0x18,0,0,0,0,0x1c,0,0x23,0x23,0x23,0x23,0x23,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,5,2,0x20,0x1f,0x17,1,0,0,
-0,0,0,0,0,0,0,0,0,0x22,0x22,0x22,0x22,0x22,0x22,0,
-0,0x22,0x22,0x22,0x22,2,2,0x20,0x1f,0x17,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0x23,0x23,0x23,0x23,0x22,0x22,0,
-0,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,2,0x20,
-0x1f,0x22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,5,5,5,5,5,5,5,5,5,5,5,2,0x20,0x22,0x22,
-0x22,0x22,0x22,0x22,0x1f,0x17,0,0,0,0,0,0,0,0,5,5,
-5,5,5,5,5,5,5,5,5,0,0,0xb,0xb,0xb,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x1a,0,0,0,0,0x18,0x18,
-0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,0,0,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,2,0x20,0x1f,0x17,0,0,0,0,0,0x23,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,5,5,5,5,5,0x1c,0x1a,
-2,2,2,2,0x20,0xe,0xb,0xb,0xb,0xb,0xc,0,0,0,0,0,
-0xc,0,0x13,0,0,0,0,0,0,0,0,0x23,0x22,0x22,0x22,0x22,
-0x22,0x22,0x22,0x22,0x22,0x22,0x22,5,5,5,5,0,0,0xe,0xe,0xe,
-0xe,7,7,7,7,7,7,2,0x20,0x12,0x13,0,0,0,1,0,
-0,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0,0x23,0x23,0x23,0x23,5,
-5,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0,0x22,0x22,0x22,0x22,2,2,0x20,
-0x1f,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0,0,
-0,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0xf,0x22,
-0x22,0x22,0x22,0x22,2,2,0,0,0,0,0,0,0,0,0,0x23,
-0x23,0x23,0x23,0x23,0x23,0x23,0,0x23,0x23,0,0x23,5,5,5,5,0x22,
-0x22,0x22,0x22,0x22,0x22,0,0,0,0x22,0,0x22,0x22,0,0x22,2,0x20,
-0x17,0x22,0x1a,0x13,0xd,0xb,0,0,0,0,0,0,0,0,0x23,0x23,
-0x23,0x23,0x23,0x23,0,0x23,0x23,0,0x23,0x23,5,5,5,5,5,5,
-5,5,5,5,0x22,0x22,0x22,0x22,0x22,0,0x22,0x22,2,0x20,0x13,0,
-0,0,0,0,0,0,0,5,5,0xc,0x22,0x22,0x22,0x22,0,0,
-0,0,0,0,0,0,0,0
-};
-
-static const UCPTrie insc_trie={
- insc_trieIndex,
- { insc_trieData },
- 834, 3960,
- 0x12000, 0x12,
- 1, 2,
- 0, 0,
- 0x4, 0x40,
- 0x0,
-};
-
-static const int32_t maxVoValue = 3;
-
-static const uint16_t vo_trieIndex[1100]={
-0,0x40,0x59,0x98,0,0,0,0,0,0,0,0xd0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x33b,0x355,0x363,0x379,0x399,0x3b7,0x3d2,0x3ec,0x355,0x355,0x355,0x40c,0x355,0x355,0x355,0x40c,
-0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,
-0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,
-0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x42c,0x355,0x355,0x355,0x40c,
-0x355,0x355,0x355,0x40c,0,0x10,0x20,0x30,0x40,0x50,0x60,0x70,0x59,0x69,0x79,0x89,
-0x98,0xa8,0xb8,0xc8,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,
-0,0x10,0x20,0x30,0xd0,0xe0,0xf0,0x100,0,0x10,0x20,0x30,0,0x10,0x20,0x30,
-0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0x10,0x20,0x30,
-0,0x10,0x20,0x30,0,0x10,0x20,0x30,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x10f,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0x110,0x110,0x110,0x110,0x110,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0xa9,0x96,0x11e,0x12c,0xae,0xaa,0,0,0,0,0,
-0,0x103,0x13c,0,0x14c,0x158,0x166,0x10b,0x175,0x110,0x110,0x110,0x184,0,0,0,
-0,0,0,0,0x72,0,0xf6,0,0,0,0,0,0,0,0,0,
-0,0,0,0x190,0x110,0x198,0,0,0,0,0x103,0x110,0x115,0,0xec,0x1a8,
-0x1b6,0x10e,0x110,0x110,0x1c6,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0,0,0,0,0,0,0,0,0,0,0x110,0x110,0x110,0x110,
-0x110,0x110,0x116,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x118,0x10a,0x110,0x1d2,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0x10e,0x110,0,0,
-0x116,0,0,0,0,0,0x108,0x110,0x1e2,0x114,0x110,0,0,0,0,0,
-0,0,0,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x1f1,0x1ff,0x110,0x20e,0x21d,
-0x110,0x22a,0x110,0x237,0x246,0x256,0x110,0x22a,0x110,0x237,0x261,0x110,0x110,0x26e,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x27e,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x27e,0x27e,0x27e,0x27e,0x27e,
-0x286,0x110,0x28e,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0x110,0x110,0,0,0,0,0,
-0,0,0,0x110,0,0x110,0x117,0x29b,0x2aa,0,0,0,0,0,0,0,
-0,0,0x2ba,0x2c9,0x110,0x2d9,0x110,0x2e9,0x2f8,0,0,0,0,0,0,0,
-0x308,0x318,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x110,0x110,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0,0,0,
-0,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0,0,0,0,0,0,0,0,0x328,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,
-0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x110,0x112,0x84,0x98,0xa8,0xa8,0xa8,
-0xa8,0xa8,0xa8,0xc8,0xc,0xe8,0x100,0x115,0xc,0xc,0xc,0x134,0x153,0x172,0x191,0xc,
-0x1ab,0xc,0x1cb,0x1eb,0x20b,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0xfb,0xc,0x243,0xc,0x223,0x223,0x223,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0xc,0xc,0xc,0xc,0x223,0x223,0x223,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0x223,0xf8,0xc,0x262,0xc,0xc,0xc,0xc,0x282,0xc,0xc,
-0xc,0xc,0xc,0x29c,0xc,0xc,0xfd,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,
-0xc,0x223,0x223,0x2b9,0xc,0xc,0xc,0xc,0xc,0x223,0x100,0xc,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x2bc,0x223,
-0x223,0x223,0x223,0x223,0x223,0x223,0x223,0xf8,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0x2da,0xf8,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0x223,0x2fa,0xc,0xc,0x223,0xfd,0xc,0xc,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0x223,0x31a,0x223,0x223,0xc8,0x2b5,0xc,0xc,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,
-0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x223,0x31b,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,
-0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc,0xc
-};
-
-static const uint8_t vo_trieData[828]={
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-3,0,3,0,0,0,0,3,0,0,3,0,0,0,0,0,
-0,0,0,0,0,3,3,3,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
-0,0,0,0,0,0,0,0,0,3,3,0,0,0,3,0,
-0,0,0,3,3,3,0,0,0,0,0,0,3,0,3,3,
-3,0,0,0,0,0,0,0,0,0,0,0,3,3,0,3,
-3,3,3,3,3,3,0,0,0,0,0,3,3,0,3,3,
-0,0,0,0,0,0,3,3,3,3,0,3,0,3,0,3,
-0,0,0,0,3,0,0,0,0,0,3,3,3,3,3,3,
-0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,0,
-3,3,3,3,3,3,3,3,0,0,0,0,3,3,3,3,
-3,1,1,3,0,0,0,0,3,3,3,3,3,3,3,3,
-3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,
-3,3,0,0,0,0,3,3,3,0,3,3,3,3,3,3,
-3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,
-0,0,3,3,0,3,3,3,3,3,3,3,3,3,3,3,
-3,3,2,2,3,3,3,3,3,1,1,1,1,1,1,1,
-1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,3,
-3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,
-2,3,2,3,2,3,2,3,3,3,3,3,3,2,3,3,
-3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,3,
-3,3,3,3,3,2,3,3,3,3,3,2,2,3,3,3,
-3,2,2,3,3,3,1,2,3,2,3,2,3,2,3,2,
-3,3,3,3,3,3,2,2,3,3,3,3,3,1,3,3,
-3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,
-3,3,3,3,3,3,3,3,3,2,2,2,2,2,3,3,
-3,3,3,0,1,1,1,1,1,1,3,3,3,0,0,0,
-0,3,3,3,3,3,3,3,3,3,0,2,3,3,3,3,
-3,3,1,1,3,3,2,0,2,3,3,3,3,3,3,3,
-3,3,3,1,1,0,0,0,2,3,3,3,3,3,3,3,
-3,3,3,3,1,3,1,3,1,3,3,3,3,3,3,3,
-3,3,3,3,1,1,1,1,1,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,3,3,3,1,3,3,3,3,
-0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,
-3,0,0,0,3,3,0,0,2,2,3,3,3,3,3,3,
-3,3,3,3,3,3,3,3,0,0,0,0
-};
-
-static const UCPTrie vo_trie={
- vo_trieIndex,
- { vo_trieData },
- 1100, 828,
- 0x110000, 0x110,
- 1, 2,
- 0, 0,
- 0xc, 0x0,
- 0x0,
-};
-
-#endif // INCLUDED_FROM_UPROPS_CPP
diff --git a/Build/source/libs/icu/icu-src/source/common/uloc.cpp b/Build/source/libs/icu/icu-src/source/common/uloc.cpp
index 81b6e0f68ab..6a9bfcfbff5 100644
--- a/Build/source/libs/icu/icu-src/source/common/uloc.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uloc.cpp
@@ -148,7 +148,8 @@ static const char * const LANGUAGES[] = {
"mad", "maf", "mag", "mai", "mak", "man", "mas", "mde",
"mdf", "mdh", "mdr", "men", "mer", "mfe", "mg", "mga",
"mgh", "mgo", "mh", "mi", "mic", "min", "mis", "mk",
- "ml", "mn", "mnc", "mni", "moh", "mos", "mr", "mrj",
+ "ml", "mn", "mnc", "mni", "mo",
+ "moh", "mos", "mr", "mrj",
"ms", "mt", "mua", "mul", "mus", "mwl", "mwr", "mwv",
"my", "mye", "myv", "mzn",
"na", "nan", "nap", "naq", "nb", "nd", "nds", "ne",
@@ -264,7 +265,8 @@ static const char * const LANGUAGES_3[] = {
"mad", "maf", "mag", "mai", "mak", "man", "mas", "mde",
"mdf", "mdh", "mdr", "men", "mer", "mfe", "mlg", "mga",
"mgh", "mgo", "mah", "mri", "mic", "min", "mis", "mkd",
- "mal", "mon", "mnc", "mni", "moh", "mos", "mar", "mrj",
+ "mal", "mon", "mnc", "mni", "mol",
+ "moh", "mos", "mar", "mrj",
"msa", "mlt", "mua", "mul", "mus", "mwl", "mwr", "mwv",
"mya", "mye", "myv", "mzn",
"nau", "nan", "nap", "naq", "nob", "nde", "nds", "nep",
@@ -457,8 +459,6 @@ NULL
typedef struct CanonicalizationMap {
const char *id; /* input ID */
const char *canonicalID; /* canonicalized output ID */
- const char *keyword; /* keyword, or NULL if none */
- const char *value; /* keyword value, or NULL if kw==NULL */
} CanonicalizationMap;
/**
@@ -466,78 +466,31 @@ typedef struct CanonicalizationMap {
* different semantic kinds of transformations.
*/
static const CanonicalizationMap CANONICALIZE_MAP[] = {
- { "", "en_US_POSIX", NULL, NULL }, /* .NET name */
- { "c", "en_US_POSIX", NULL, NULL }, /* POSIX name */
- { "posix", "en_US_POSIX", NULL, NULL }, /* POSIX name (alias of C) */
- { "art_LOJBAN", "jbo", NULL, NULL }, /* registered name */
- { "az_AZ_CYRL", "az_Cyrl_AZ", NULL, NULL }, /* .NET name */
- { "az_AZ_LATN", "az_Latn_AZ", NULL, NULL }, /* .NET name */
- { "ca_ES_PREEURO", "ca_ES", "currency", "ESP" },
- { "de__PHONEBOOK", "de", "collation", "phonebook" }, /* Old ICU name */
- { "de_AT_PREEURO", "de_AT", "currency", "ATS" },
- { "de_DE_PREEURO", "de_DE", "currency", "DEM" },
- { "de_LU_PREEURO", "de_LU", "currency", "LUF" },
- { "el_GR_PREEURO", "el_GR", "currency", "GRD" },
- { "en_BE_PREEURO", "en_BE", "currency", "BEF" },
- { "en_IE_PREEURO", "en_IE", "currency", "IEP" },
- { "es__TRADITIONAL", "es", "collation", "traditional" }, /* Old ICU name */
- { "es_ES_PREEURO", "es_ES", "currency", "ESP" },
- { "eu_ES_PREEURO", "eu_ES", "currency", "ESP" },
- { "fi_FI_PREEURO", "fi_FI", "currency", "FIM" },
- { "fr_BE_PREEURO", "fr_BE", "currency", "BEF" },
- { "fr_FR_PREEURO", "fr_FR", "currency", "FRF" },
- { "fr_LU_PREEURO", "fr_LU", "currency", "LUF" },
- { "ga_IE_PREEURO", "ga_IE", "currency", "IEP" },
- { "gl_ES_PREEURO", "gl_ES", "currency", "ESP" },
- { "hi__DIRECT", "hi", "collation", "direct" }, /* Old ICU name */
- { "it_IT_PREEURO", "it_IT", "currency", "ITL" },
- { "ja_JP_TRADITIONAL", "ja_JP", "calendar", "japanese" }, /* Old ICU name */
- { "nb_NO_NY", "nn_NO", NULL, NULL }, /* "markus said this was ok" :-) */
- { "nl_BE_PREEURO", "nl_BE", "currency", "BEF" },
- { "nl_NL_PREEURO", "nl_NL", "currency", "NLG" },
- { "pt_PT_PREEURO", "pt_PT", "currency", "PTE" },
- { "sr_SP_CYRL", "sr_Cyrl_RS", NULL, NULL }, /* .NET name */
- { "sr_SP_LATN", "sr_Latn_RS", NULL, NULL }, /* .NET name */
- { "sr_YU_CYRILLIC", "sr_Cyrl_RS", NULL, NULL }, /* Linux name */
- { "th_TH_TRADITIONAL", "th_TH", "calendar", "buddhist" }, /* Old ICU name */
- { "uz_UZ_CYRILLIC", "uz_Cyrl_UZ", NULL, NULL }, /* Linux name */
- { "uz_UZ_CYRL", "uz_Cyrl_UZ", NULL, NULL }, /* .NET name */
- { "uz_UZ_LATN", "uz_Latn_UZ", NULL, NULL }, /* .NET name */
- { "zh_CHS", "zh_Hans", NULL, NULL }, /* .NET name */
- { "zh_CHT", "zh_Hant", NULL, NULL }, /* .NET name */
- { "zh_GAN", "gan", NULL, NULL }, /* registered name */
- { "zh_GUOYU", "zh", NULL, NULL }, /* registered name */
- { "zh_HAKKA", "hak", NULL, NULL }, /* registered name */
- { "zh_MIN_NAN", "nan", NULL, NULL }, /* registered name */
- { "zh_WUU", "wuu", NULL, NULL }, /* registered name */
- { "zh_XIANG", "hsn", NULL, NULL }, /* registered name */
- { "zh_YUE", "yue", NULL, NULL }, /* registered name */
-};
-
-typedef struct VariantMap {
- const char *variant; /* input ID */
- const char *keyword; /* keyword, or NULL if none */
- const char *value; /* keyword value, or NULL if kw==NULL */
-} VariantMap;
-
-static const VariantMap VARIANT_MAP[] = {
- { "EURO", "currency", "EUR" },
- { "PINYIN", "collation", "pinyin" }, /* Solaris variant */
- { "STROKE", "collation", "stroke" } /* Solaris variant */
+ { "art_LOJBAN", "jbo" }, /* registered name */
+ { "hy__AREVELA", "hy" }, /* Registered IANA variant */
+ { "hy__AREVMDA", "hyw" }, /* Registered IANA variant */
+ { "zh_GAN", "gan" }, /* registered name */
+ { "zh_GUOYU", "zh" }, /* registered name */
+ { "zh_HAKKA", "hak" }, /* registered name */
+ { "zh_MIN_NAN", "nan" }, /* registered name */
+ { "zh_WUU", "wuu" }, /* registered name */
+ { "zh_XIANG", "hsn" }, /* registered name */
+ { "zh_YUE", "yue" }, /* registered name */
};
/* ### BCP47 Conversion *******************************************/
/* Test if the locale id has BCP47 u extension and does not have '@' */
#define _hasBCP47Extension(id) (id && uprv_strstr(id, "@") == NULL && getShortestSubtagLength(localeID) == 1)
/* Converts the BCP47 id to Unicode id. Does nothing to id if conversion fails */
-#define _ConvertBCP47(finalID, id, buffer, length,err) \
- if (uloc_forLanguageTag(id, buffer, length, NULL, err) <= 0 || \
- U_FAILURE(*err) || *err == U_STRING_NOT_TERMINATED_WARNING) { \
- finalID=id; \
- if (*err == U_STRING_NOT_TERMINATED_WARNING) { *err = U_BUFFER_OVERFLOW_ERROR; } \
- } else { \
- finalID=buffer; \
- }
+#define _ConvertBCP47(finalID, id, buffer, length,err) UPRV_BLOCK_MACRO_BEGIN { \
+ if (uloc_forLanguageTag(id, buffer, length, NULL, err) <= 0 || \
+ U_FAILURE(*err) || *err == U_STRING_NOT_TERMINATED_WARNING) { \
+ finalID=id; \
+ if (*err == U_STRING_NOT_TERMINATED_WARNING) { *err = U_BUFFER_OVERFLOW_ERROR; } \
+ } else { \
+ finalID=buffer; \
+ } \
+} UPRV_BLOCK_MACRO_END
/* Gets the size of the shortest subtag in the given localeID. */
static int32_t getShortestSubtagLength(const char *localeID) {
int32_t localeIDLength = static_cast(uprv_strlen(localeID));
@@ -643,20 +596,12 @@ compareKeywordStructs(const void * /*context*/, const void *left, const void *ri
return uprv_strcmp(leftString, rightString);
}
-/**
- * Both addKeyword and addValue must already be in canonical form.
- * Either both addKeyword and addValue are NULL, or neither is NULL.
- * If they are not NULL they must be zero terminated.
- * If addKeyword is not NULL is must have length small enough to fit in KeywordStruct.keyword.
- */
static int32_t
_getKeywords(const char *localeID,
char prev,
char *keywords, int32_t keywordCapacity,
char *values, int32_t valuesCapacity, int32_t *valLen,
UBool valuesToo,
- const char* addKeyword,
- const char* addValue,
UErrorCode *status)
{
KeywordStruct keywordList[ULOC_MAX_NO_KEYWORDS];
@@ -755,33 +700,6 @@ _getKeywords(const char *localeID,
}
} while(pos);
- /* Handle addKeyword/addValue. */
- if (addKeyword != NULL) {
- UBool duplicate = FALSE;
- U_ASSERT(addValue != NULL);
- /* Search for duplicate; if found, do nothing. Explicit keyword
- overrides addKeyword. */
- for (j=0; j= 0);
- while (len-- != 0) {
- char d = *str;
- if (d == c) {
- return (char*) str;
- } else if (d == 0) {
- break;
- }
- ++str;
- }
- return NULL;
-}
-
/**
* Lookup 'key' in the array 'list'. The array 'list' should contain
* a NULL entry, followed by more entries, and a second NULL entry.
@@ -1279,6 +1183,16 @@ ulocimp_getLanguage(const char *localeID,
int32_t offset;
char lang[4]={ 0, 0, 0, 0 }; /* temporary buffer to hold language code for searching */
+ if (uprv_stricmp(localeID, "root") == 0) {
+ localeID += 4;
+ } else if (uprv_strnicmp(localeID, "und", 3) == 0 &&
+ (localeID[3] == '\0' ||
+ localeID[3] == '-' ||
+ localeID[3] == '_' ||
+ localeID[3] == '@')) {
+ localeID += 3;
+ }
+
/* if it starts with i- or x- then copy that prefix */
if(_isIDPrefix(localeID)) {
if(i "FOO_BAR".
- * @param variants the source string of one or more variants,
- * separated by '_'. This will be MODIFIED IN PLACE. Not zero
- * terminated; if it is, trailing zero will NOT be maintained.
- * @param variantsLen length of variants
- * @param toDelete variant to delete, without separators, e.g. "EURO"
- * or "PREEURO"; not zero terminated
- * @param toDeleteLen length of toDelete
- * @return number of characters deleted from variants
- */
-static int32_t
-_deleteVariant(char* variants, int32_t variantsLen,
- const char* toDelete, int32_t toDeleteLen)
-{
- int32_t delta = 0; /* number of chars deleted */
- for (;;) {
- UBool flag = FALSE;
- if (variantsLen < toDeleteLen) {
- return delta;
- }
- if (uprv_strncmp(variants, toDelete, toDeleteLen) == 0 &&
- (variantsLen == toDeleteLen ||
- (flag=(variants[toDeleteLen] == '_')) != 0))
- {
- int32_t d = toDeleteLen + (flag?1:0);
- variantsLen -= d;
- delta += d;
- if (variantsLen > 0) {
- uprv_memmove(variants, variants+d, variantsLen);
- }
- } else {
- char* p = _strnchr(variants, variantsLen, '_');
- if (p == NULL) {
- return delta;
- }
- ++p;
- variantsLen -= (int32_t)(p - variants);
- variants = p;
- }
- }
-}
-
/* Keyword enumeration */
typedef struct UKeywordsContext {
@@ -1587,31 +1457,29 @@ static const UEnumeration gKeywordsEnum = {
U_CAPI UEnumeration* U_EXPORT2
uloc_openKeywordList(const char *keywordList, int32_t keywordListSize, UErrorCode* status)
{
- UKeywordsContext *myContext = NULL;
- UEnumeration *result = NULL;
+ LocalMemory myContext;
+ LocalMemory result;
- if(U_FAILURE(*status)) {
- return NULL;
+ if (U_FAILURE(*status)) {
+ return nullptr;
}
- result = (UEnumeration *)uprv_malloc(sizeof(UEnumeration));
- /* Null pointer test */
- if (result == NULL) {
+ myContext.adoptInstead(static_cast(uprv_malloc(sizeof(UKeywordsContext))));
+ result.adoptInstead(static_cast(uprv_malloc(sizeof(UEnumeration))));
+ if (myContext.isNull() || result.isNull()) {
*status = U_MEMORY_ALLOCATION_ERROR;
- return NULL;
+ return nullptr;
}
- uprv_memcpy(result, &gKeywordsEnum, sizeof(UEnumeration));
- myContext = static_cast(uprv_malloc(sizeof(UKeywordsContext)));
- if (myContext == NULL) {
+ uprv_memcpy(result.getAlias(), &gKeywordsEnum, sizeof(UEnumeration));
+ myContext->keywords = static_cast(uprv_malloc(keywordListSize+1));
+ if (myContext->keywords == nullptr) {
*status = U_MEMORY_ALLOCATION_ERROR;
- uprv_free(result);
- return NULL;
+ return nullptr;
}
- myContext->keywords = (char *)uprv_malloc(keywordListSize+1);
uprv_memcpy(myContext->keywords, keywordList, keywordListSize);
myContext->keywords[keywordListSize] = 0;
myContext->current = myContext->keywords;
- result->context = myContext;
- return result;
+ result->context = myContext.orphan();
+ return result.orphan();
}
U_CAPI UEnumeration* U_EXPORT2
@@ -1698,8 +1566,6 @@ _canonicalize(const char* localeID,
const char* tmpLocaleID;
const char* keywordAssign = NULL;
const char* separatorIndicator = NULL;
- const char* addKeyword = NULL;
- const char* addValue = NULL;
char* name;
char* variant = NULL; /* pointer into name, or NULL */
@@ -1738,7 +1604,7 @@ _canonicalize(const char* localeID,
len = (int32_t)uprv_strlen(d);
if (name != NULL) {
- uprv_strncpy(name, d, len);
+ uprv_memcpy(name, d, len);
}
} else if(_isIDSeparator(*tmpLocaleID)) {
const char *scriptID;
@@ -1864,27 +1730,6 @@ _canonicalize(const char* localeID,
}
}
- /* Handle generic variants first */
- if (variant) {
- for (j=0; j 0) {
- if (len > 0 && name[len-1] == '_') { /* delete trailing '_' */
- --len;
- }
- addKeyword = VARIANT_MAP[j].keyword;
- addValue = VARIANT_MAP[j].value;
- break;
- }
- }
- if (len > 0 && len <= nameCapacity && name[len-1] == '_') { /* delete trailing '_' */
- --len;
- }
- }
-
/* Look up the ID in the canonicalization map */
for (j=0; j0 && parent != localeID) {
- uprv_memcpy(parent, localeID, uprv_min(i, parentCapacity));
+ if (i > 0) {
+ if (uprv_strnicmp(localeID, "und_", 4) == 0) {
+ localeID += 3;
+ i -= 3;
+ uprv_memmove(parent, localeID, uprv_min(i, parentCapacity));
+ } else if (parent != localeID) {
+ uprv_memcpy(parent, localeID, uprv_min(i, parentCapacity));
+ }
}
+
return u_terminateChars(parent, parentCapacity, i, err);
}
@@ -2179,16 +2020,19 @@ uloc_getLCID(const char* localeID)
return 0;
}
- // Attempt platform lookup if available
- lcid = uprv_convertToLCIDPlatform(localeID);
- if (lcid > 0)
- {
+ // First, attempt Windows platform lookup if available, but fall
+ // through to catch any special cases (ICU vs Windows name differences).
+ lcid = uprv_convertToLCIDPlatform(localeID, &status);
+ if (U_FAILURE(status)) {
+ return 0;
+ }
+ if (lcid > 0) {
// Windows found an LCID, return that
return lcid;
}
uloc_getLanguage(localeID, langID, sizeof(langID), &status);
- if (U_FAILURE(status)) {
+ if (U_FAILURE(status) || status == U_STRING_NOT_TERMINATED_WARNING) {
return 0;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/uloc_keytype.cpp b/Build/source/libs/icu/icu-src/source/common/uloc_keytype.cpp
index b6f0752a707..019da058cf4 100644
--- a/Build/source/libs/icu/icu-src/source/common/uloc_keytype.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uloc_keytype.cpp
@@ -6,8 +6,14 @@
* Corporation and others. All Rights Reserved.
**********************************************************************
*/
+#include
+
#include "unicode/utypes.h"
+#include "unicode/unistr.h"
+#include "unicode/uobject.h"
+#include "charstr.h"
+#include "cmemory.h"
#include "cstring.h"
#include "uassert.h"
#include "ucln_cmn.h"
@@ -19,9 +25,6 @@
static UHashtable* gLocExtKeyMap = NULL;
static icu::UInitOnce gLocExtKeyMapInitOnce = U_INITONCE_INITIALIZER;
-static icu::UVector* gKeyTypeStringPool = NULL;
-static icu::UVector* gLocExtKeyDataEntries = NULL;
-static icu::UVector* gLocExtTypeEntries = NULL;
// bit flags for special types
typedef enum {
@@ -31,17 +34,21 @@ typedef enum {
SPECIALTYPE_RG_KEY_VALUE = 4
} SpecialType;
-typedef struct LocExtKeyData {
+struct LocExtKeyData : public icu::UMemory {
const char* legacyId;
const char* bcpId;
- UHashtable* typeMap;
+ icu::LocalUHashtablePointer typeMap;
uint32_t specialTypes;
-} LocExtKeyData;
+};
-typedef struct LocExtType {
+struct LocExtType : public icu::UMemory {
const char* legacyId;
const char* bcpId;
-} LocExtType;
+};
+
+static icu::MemoryPool* gKeyTypeStringPool = NULL;
+static icu::MemoryPool* gLocExtKeyDataEntries = NULL;
+static icu::MemoryPool* gLocExtTypeEntries = NULL;
U_CDECL_BEGIN
@@ -65,25 +72,6 @@ uloc_key_type_cleanup(void) {
return TRUE;
}
-static void U_CALLCONV
-uloc_deleteKeyTypeStringPoolEntry(void* obj) {
- uprv_free(obj);
-}
-
-static void U_CALLCONV
-uloc_deleteKeyDataEntry(void* obj) {
- LocExtKeyData* keyData = (LocExtKeyData*)obj;
- if (keyData->typeMap != NULL) {
- uhash_close(keyData->typeMap);
- }
- uprv_free(keyData);
-}
-
-static void U_CALLCONV
-uloc_deleteTypeEntry(void* obj) {
- uprv_free(obj);
-}
-
U_CDECL_END
@@ -107,32 +95,20 @@ initFromResourceBundle(UErrorCode& sts) {
tmpSts = U_ZERO_ERROR;
LocalUResourceBundlePointer bcpTypeAliasRes(ures_getByKey(keyTypeDataRes.getAlias(), "bcpTypeAlias", NULL, &tmpSts));
- // initialize vectors storing dynamically allocated objects
- gKeyTypeStringPool = new UVector(uloc_deleteKeyTypeStringPoolEntry, NULL, sts);
+ // initialize pools storing dynamically allocated objects
+ gKeyTypeStringPool = new icu::MemoryPool;
if (gKeyTypeStringPool == NULL) {
- if (U_SUCCESS(sts)) {
- sts = U_MEMORY_ALLOCATION_ERROR;
- }
- }
- if (U_FAILURE(sts)) {
+ sts = U_MEMORY_ALLOCATION_ERROR;
return;
}
- gLocExtKeyDataEntries = new UVector(uloc_deleteKeyDataEntry, NULL, sts);
+ gLocExtKeyDataEntries = new icu::MemoryPool;
if (gLocExtKeyDataEntries == NULL) {
- if (U_SUCCESS(sts)) {
- sts = U_MEMORY_ALLOCATION_ERROR;
- }
- }
- if (U_FAILURE(sts)) {
+ sts = U_MEMORY_ALLOCATION_ERROR;
return;
}
- gLocExtTypeEntries = new UVector(uloc_deleteTypeEntry, NULL, sts);
+ gLocExtTypeEntries = new icu::MemoryPool;
if (gLocExtTypeEntries == NULL) {
- if (U_SUCCESS(sts)) {
- sts = U_MEMORY_ALLOCATION_ERROR;
- }
- }
- if (U_FAILURE(sts)) {
+ sts = U_MEMORY_ALLOCATION_ERROR;
return;
}
@@ -145,27 +121,24 @@ initFromResourceBundle(UErrorCode& sts) {
break;
}
const char* legacyKeyId = ures_getKey(keyMapEntry.getAlias());
- int32_t bcpKeyIdLen = 0;
- const UChar* uBcpKeyId = ures_getString(keyMapEntry.getAlias(), &bcpKeyIdLen, &sts);
+ UnicodeString uBcpKeyId = ures_getUnicodeString(keyMapEntry.getAlias(), &sts);
if (U_FAILURE(sts)) {
break;
}
// empty value indicates that BCP key is same with the legacy key.
const char* bcpKeyId = legacyKeyId;
- if (bcpKeyIdLen > 0) {
- char* bcpKeyIdBuf = (char*)uprv_malloc(bcpKeyIdLen + 1);
+ if (!uBcpKeyId.isEmpty()) {
+ icu::CharString* bcpKeyIdBuf = gKeyTypeStringPool->create();
if (bcpKeyIdBuf == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
}
- u_UCharsToChars(uBcpKeyId, bcpKeyIdBuf, bcpKeyIdLen);
- bcpKeyIdBuf[bcpKeyIdLen] = 0;
- gKeyTypeStringPool->addElement(bcpKeyIdBuf, sts);
+ bcpKeyIdBuf->appendInvariantChars(uBcpKeyId, sts);
if (U_FAILURE(sts)) {
break;
}
- bcpKeyId = bcpKeyIdBuf;
+ bcpKeyId = bcpKeyIdBuf->data();
}
UBool isTZ = uprv_strcmp(legacyKeyId, "timezone") == 0;
@@ -199,7 +172,7 @@ initFromResourceBundle(UErrorCode& sts) {
LocalUResourceBundlePointer typeMapResByKey(ures_getByKey(typeMapRes.getAlias(), legacyKeyId, NULL, &tmpSts));
if (U_FAILURE(tmpSts)) {
// type map for each key must exist
- U_ASSERT(FALSE);
+ UPRV_UNREACHABLE;
} else {
LocalUResourceBundlePointer typeMapEntry;
@@ -228,70 +201,54 @@ initFromResourceBundle(UErrorCode& sts) {
// a timezone key uses a colon instead of a slash in the resource.
// e.g. America:Los_Angeles
if (uprv_strchr(legacyTypeId, ':') != NULL) {
- int32_t legacyTypeIdLen = static_cast(uprv_strlen(legacyTypeId));
- char* legacyTypeIdBuf = (char*)uprv_malloc(legacyTypeIdLen + 1);
+ icu::CharString* legacyTypeIdBuf =
+ gKeyTypeStringPool->create(legacyTypeId, sts);
if (legacyTypeIdBuf == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
}
- const char* p = legacyTypeId;
- char* q = legacyTypeIdBuf;
- while (*p) {
- if (*p == ':') {
- *q++ = '/';
- } else {
- *q++ = *p;
- }
- p++;
- }
- *q = 0;
-
- gKeyTypeStringPool->addElement(legacyTypeIdBuf, sts);
if (U_FAILURE(sts)) {
break;
}
- legacyTypeId = legacyTypeIdBuf;
+ std::replace(
+ legacyTypeIdBuf->data(),
+ legacyTypeIdBuf->data() + legacyTypeIdBuf->length(),
+ ':', '/');
+ legacyTypeId = legacyTypeIdBuf->data();
}
}
- int32_t bcpTypeIdLen = 0;
- const UChar* uBcpTypeId = ures_getString(typeMapEntry.getAlias(), &bcpTypeIdLen, &sts);
+ UnicodeString uBcpTypeId = ures_getUnicodeString(typeMapEntry.getAlias(), &sts);
if (U_FAILURE(sts)) {
break;
}
// empty value indicates that BCP type is same with the legacy type.
const char* bcpTypeId = legacyTypeId;
- if (bcpTypeIdLen > 0) {
- char* bcpTypeIdBuf = (char*)uprv_malloc(bcpTypeIdLen + 1);
+ if (!uBcpTypeId.isEmpty()) {
+ icu::CharString* bcpTypeIdBuf = gKeyTypeStringPool->create();
if (bcpTypeIdBuf == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
}
- u_UCharsToChars(uBcpTypeId, bcpTypeIdBuf, bcpTypeIdLen);
- bcpTypeIdBuf[bcpTypeIdLen] = 0;
- gKeyTypeStringPool->addElement(bcpTypeIdBuf, sts);
+ bcpTypeIdBuf->appendInvariantChars(uBcpTypeId, sts);
if (U_FAILURE(sts)) {
break;
}
- bcpTypeId = bcpTypeIdBuf;
+ bcpTypeId = bcpTypeIdBuf->data();
}
// Note: legacy type value should never be
// equivalent to bcp type value of a different
// type under the same key. So we use a single
// map for lookup.
- LocExtType* t = (LocExtType*)uprv_malloc(sizeof(LocExtType));
+ LocExtType* t = gLocExtTypeEntries->create();
if (t == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
}
t->bcpId = bcpTypeId;
t->legacyId = legacyTypeId;
- gLocExtTypeEntries->addElement((void*)t, sts);
- if (U_FAILURE(sts)) {
- break;
- }
uhash_put(typeDataMap, (void*)legacyTypeId, t, &sts);
if (bcpTypeId != legacyTypeId) {
@@ -320,29 +277,20 @@ initFromResourceBundle(UErrorCode& sts) {
if (isTZ) {
// replace colon with slash if necessary
if (uprv_strchr(from, ':') != NULL) {
- int32_t fromLen = static_cast(uprv_strlen(from));
- char* fromBuf = (char*)uprv_malloc(fromLen + 1);
+ icu::CharString* fromBuf =
+ gKeyTypeStringPool->create(from, sts);
if (fromBuf == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
}
- const char* p = from;
- char* q = fromBuf;
- while (*p) {
- if (*p == ':') {
- *q++ = '/';
- } else {
- *q++ = *p;
- }
- p++;
- }
- *q = 0;
-
- gKeyTypeStringPool->addElement(fromBuf, sts);
if (U_FAILURE(sts)) {
break;
}
- from = fromBuf;
+ std::replace(
+ fromBuf->data(),
+ fromBuf->data() + fromBuf->length(),
+ ':', '/');
+ from = fromBuf->data();
}
}
uhash_put(typeDataMap, (void*)from, t, &sts);
@@ -380,7 +328,7 @@ initFromResourceBundle(UErrorCode& sts) {
break;
}
- LocExtKeyData* keyData = (LocExtKeyData*)uprv_malloc(sizeof(LocExtKeyData));
+ LocExtKeyData* keyData = gLocExtKeyDataEntries->create();
if (keyData == NULL) {
sts = U_MEMORY_ALLOCATION_ERROR;
break;
@@ -388,12 +336,7 @@ initFromResourceBundle(UErrorCode& sts) {
keyData->bcpId = bcpKeyId;
keyData->legacyId = legacyKeyId;
keyData->specialTypes = specialTypes;
- keyData->typeMap = typeDataMap;
-
- gLocExtKeyDataEntries->addElement((void*)keyData, sts);
- if (U_FAILURE(sts)) {
- break;
- }
+ keyData->typeMap.adoptInstead(typeDataMap);
uhash_put(gLocExtKeyMap, (void*)legacyKeyId, keyData, &sts);
if (legacyKeyId != bcpKeyId) {
@@ -518,7 +461,7 @@ ulocimp_toBcpType(const char* key, const char* type, UBool* isKnownKey, UBool* i
if (isKnownKey != NULL) {
*isKnownKey = TRUE;
}
- LocExtType* t = (LocExtType*)uhash_get(keyData->typeMap, type);
+ LocExtType* t = (LocExtType*)uhash_get(keyData->typeMap.getAlias(), type);
if (t != NULL) {
return t->bcpId;
}
@@ -563,7 +506,7 @@ ulocimp_toLegacyType(const char* key, const char* type, UBool* isKnownKey, UBool
if (isKnownKey != NULL) {
*isKnownKey = TRUE;
}
- LocExtType* t = (LocExtType*)uhash_get(keyData->typeMap, type);
+ LocExtType* t = (LocExtType*)uhash_get(keyData->typeMap.getAlias(), type);
if (t != NULL) {
return t->legacyId;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/uloc_tag.cpp b/Build/source/libs/icu/icu-src/source/common/uloc_tag.cpp
index 83d79160e8f..1c10c48182c 100644
--- a/Build/source/libs/icu/icu-src/source/common/uloc_tag.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uloc_tag.cpp
@@ -7,9 +7,12 @@
**********************************************************************
*/
+#include "unicode/bytestream.h"
#include "unicode/utypes.h"
#include "unicode/ures.h"
+#include "unicode/localpointer.h"
#include "unicode/putil.h"
+#include "unicode/uenum.h"
#include "unicode/uloc.h"
#include "ustr_imp.h"
#include "charstr.h"
@@ -18,7 +21,6 @@
#include "putilimp.h"
#include "uinvchar.h"
#include "ulocimp.h"
-#include "uvector.h"
#include "uassert.h"
@@ -29,17 +31,17 @@ typedef struct VariantListEntry {
} VariantListEntry;
/* struct holding a single attribute value */
-typedef struct AttributeListEntry {
+struct AttributeListEntry : public icu::UMemory {
const char *attribute;
struct AttributeListEntry *next;
-} AttributeListEntry;
+};
/* struct holding a single extension */
-typedef struct ExtensionListEntry {
+struct ExtensionListEntry : public icu::UMemory {
const char *key;
const char *value;
struct ExtensionListEntry *next;
-} ExtensionListEntry;
+};
#define MAXEXTLANG 3
typedef struct ULanguageTag {
@@ -347,45 +349,20 @@ static const char*
ultag_getGrandfathered(const ULanguageTag* langtag);
#endif
-namespace {
-
-// Helper class to memory manage CharString objects.
-// Only ever stack-allocated, does not need to inherit UMemory.
-class CharStringPool {
-public:
- CharStringPool() : status(U_ZERO_ERROR), pool(&deleter, nullptr, status) {}
- ~CharStringPool() = default;
-
- CharStringPool(const CharStringPool&) = delete;
- CharStringPool& operator=(const CharStringPool&) = delete;
+U_NAMESPACE_BEGIN
- icu::CharString* create() {
- if (U_FAILURE(status)) {
- return nullptr;
- }
- icu::CharString* const obj = new icu::CharString;
- if (obj == nullptr) {
- status = U_MEMORY_ALLOCATION_ERROR;
- return nullptr;
- }
- pool.addElement(obj, status);
- if (U_FAILURE(status)) {
- delete obj;
- return nullptr;
- }
- return obj;
- }
-
-private:
- static void U_CALLCONV deleter(void* obj) {
- delete static_cast(obj);
- }
-
- UErrorCode status;
- icu::UVector pool;
-};
+/**
+ * \class LocalULanguageTagPointer
+ * "Smart pointer" class, closes a ULanguageTag via ultag_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @internal
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalULanguageTagPointer, ULanguageTag, ultag_close);
-} // namespace
+U_NAMESPACE_END
/*
* -------------------------------------------------
@@ -429,13 +406,22 @@ _isAlphaNumericString(const char* s, int32_t len) {
}
static UBool
-_isLanguageSubtag(const char* s, int32_t len) {
+_isAlphaNumericStringLimitedLength(const char* s, int32_t len, int32_t min, int32_t max) {
+ if (len < 0) {
+ len = (int32_t)uprv_strlen(s);
+ }
+ if (len >= min && len <= max && _isAlphaNumericString(s, len)) {
+ return TRUE;
+ }
+ return FALSE;
+}
+
+U_CFUNC UBool
+ultag_isLanguageSubtag(const char* s, int32_t len) {
/*
- * language = 2*3ALPHA ; shortest ISO 639 code
- * ["-" extlang] ; sometimes followed by
- * ; extended language subtags
- * / 4ALPHA ; or reserved for future use
- * / 5*8ALPHA ; or registered language subtag
+ * unicode_language_subtag = alpha{2,3} | alpha{5,8};
+ * NOTE: Per ICUTC 2019/01/23- accepting alpha 4
+ * See ICU-20372
*/
if (len < 0) {
len = (int32_t)uprv_strlen(s);
@@ -461,8 +447,8 @@ _isExtlangSubtag(const char* s, int32_t len) {
return FALSE;
}
-static UBool
-_isScriptSubtag(const char* s, int32_t len) {
+U_CFUNC UBool
+ultag_isScriptSubtag(const char* s, int32_t len) {
/*
* script = 4ALPHA ; ISO 15924 code
*/
@@ -475,8 +461,8 @@ _isScriptSubtag(const char* s, int32_t len) {
return FALSE;
}
-static UBool
-_isRegionSubtag(const char* s, int32_t len) {
+U_CFUNC UBool
+ultag_isRegionSubtag(const char* s, int32_t len) {
/*
* region = 2ALPHA ; ISO 3166-1 code
* / 3DIGIT ; UN M.49 code
@@ -502,7 +488,7 @@ _isVariantSubtag(const char* s, int32_t len) {
if (len < 0) {
len = (int32_t)uprv_strlen(s);
}
- if (len >= 5 && len <= 8 && _isAlphaNumericString(s, len)) {
+ if (_isAlphaNumericStringLimitedLength(s, len, 5, 8)) {
return TRUE;
}
if (len == 4 && ISNUMERIC(*s) && _isAlphaNumericString(s + 1, 3)) {
@@ -511,30 +497,65 @@ _isVariantSubtag(const char* s, int32_t len) {
return FALSE;
}
+static UBool
+_isSepListOf(UBool (*test)(const char*, int32_t), const char* s, int32_t len) {
+ const char *p = s;
+ const char *pSubtag = NULL;
+
+ if (len < 0) {
+ len = (int32_t)uprv_strlen(s);
+ }
+
+ while ((p - s) < len) {
+ if (*p == SEP) {
+ if (pSubtag == NULL) {
+ return FALSE;
+ }
+ if (!test(pSubtag, (int32_t)(p - pSubtag))) {
+ return FALSE;
+ }
+ pSubtag = NULL;
+ } else if (pSubtag == NULL) {
+ pSubtag = p;
+ }
+ p++;
+ }
+ if (pSubtag == NULL) {
+ return FALSE;
+ }
+ return test(pSubtag, (int32_t)(p - pSubtag));
+}
+
+U_CFUNC UBool
+ultag_isVariantSubtags(const char* s, int32_t len) {
+ return _isSepListOf(&_isVariantSubtag, s, len);
+}
+
+// This is for the ICU-specific "lvariant" handling.
static UBool
_isPrivateuseVariantSubtag(const char* s, int32_t len) {
/*
* variant = 1*8alphanum ; registered variants
* / (DIGIT 3alphanum)
*/
- if (len < 0) {
- len = (int32_t)uprv_strlen(s);
- }
- if (len >= 1 && len <= 8 && _isAlphaNumericString(s, len)) {
- return TRUE;
- }
- return FALSE;
+ return _isAlphaNumericStringLimitedLength(s, len , 1, 8);
}
static UBool
_isExtensionSingleton(const char* s, int32_t len) {
/*
* extension = singleton 1*("-" (2*8alphanum))
+ *
+ * singleton = DIGIT ; 0 - 9
+ * / %x41-57 ; A - W
+ * / %x59-5A ; Y - Z
+ * / %x61-77 ; a - w
+ * / %x79-7A ; y - z
*/
if (len < 0) {
len = (int32_t)uprv_strlen(s);
}
- if (len == 1 && ISALPHA(*s) && (uprv_tolower(*s) != PRIVATEUSE)) {
+ if (len == 1 && (ISALPHA(*s) || ISNUMERIC(*s)) && (uprv_tolower(*s) != PRIVATEUSE)) {
return TRUE;
}
return FALSE;
@@ -545,101 +566,208 @@ _isExtensionSubtag(const char* s, int32_t len) {
/*
* extension = singleton 1*("-" (2*8alphanum))
*/
+ return _isAlphaNumericStringLimitedLength(s, len, 2, 8);
+}
+
+U_CFUNC UBool
+ultag_isExtensionSubtags(const char* s, int32_t len) {
+ return _isSepListOf(&_isExtensionSubtag, s, len);
+}
+
+static UBool
+_isPrivateuseValueSubtag(const char* s, int32_t len) {
+ /*
+ * privateuse = "x" 1*("-" (1*8alphanum))
+ */
+ return _isAlphaNumericStringLimitedLength(s, len, 1, 8);
+}
+
+U_CFUNC UBool
+ultag_isPrivateuseValueSubtags(const char* s, int32_t len) {
+ return _isSepListOf(&_isPrivateuseValueSubtag, s, len);
+}
+
+U_CFUNC UBool
+ultag_isUnicodeLocaleAttribute(const char* s, int32_t len) {
+ /*
+ * attribute = alphanum{3,8} ;
+ */
+ return _isAlphaNumericStringLimitedLength(s, len , 3, 8);
+}
+
+U_CFUNC UBool
+ultag_isUnicodeLocaleAttributes(const char* s, int32_t len) {
+ return _isSepListOf(&ultag_isUnicodeLocaleAttribute, s, len);
+}
+
+U_CFUNC UBool
+ultag_isUnicodeLocaleKey(const char* s, int32_t len) {
+ /*
+ * key = alphanum alpha ;
+ */
if (len < 0) {
len = (int32_t)uprv_strlen(s);
}
- if (len >= 2 && len <= 8 && _isAlphaNumericString(s, len)) {
+ if (len == 2 && (ISALPHA(*s) || ISNUMERIC(*s)) && ISALPHA(s[1])) {
return TRUE;
}
return FALSE;
}
-static UBool
-_isExtensionSubtags(const char* s, int32_t len) {
- const char *p = s;
- const char *pSubtag = NULL;
-
- if (len < 0) {
- len = (int32_t)uprv_strlen(s);
- }
+U_CFUNC UBool
+_isUnicodeLocaleTypeSubtag(const char*s, int32_t len) {
+ /*
+ * alphanum{3,8}
+ */
+ return _isAlphaNumericStringLimitedLength(s, len , 3, 8);
+}
- while ((p - s) < len) {
- if (*p == SEP) {
- if (pSubtag == NULL) {
- return FALSE;
- }
- if (!_isExtensionSubtag(pSubtag, (int32_t)(p - pSubtag))) {
- return FALSE;
- }
- pSubtag = NULL;
- } else if (pSubtag == NULL) {
- pSubtag = p;
- }
- p++;
- }
- if (pSubtag == NULL) {
- return FALSE;
- }
- return _isExtensionSubtag(pSubtag, (int32_t)(p - pSubtag));
+U_CFUNC UBool
+ultag_isUnicodeLocaleType(const char*s, int32_t len) {
+ /*
+ * type = alphanum{3,8} (sep alphanum{3,8})* ;
+ */
+ return _isSepListOf(&_isUnicodeLocaleTypeSubtag, s, len);
}
static UBool
-_isPrivateuseValueSubtag(const char* s, int32_t len) {
+_isTKey(const char* s, int32_t len)
+{
/*
- * privateuse = "x" 1*("-" (1*8alphanum))
+ * tkey = alpha digit ;
*/
if (len < 0) {
len = (int32_t)uprv_strlen(s);
}
- if (len >= 1 && len <= 8 && _isAlphaNumericString(s, len)) {
+ if (len == 2 && ISALPHA(*s) && ISNUMERIC(*(s + 1))) {
return TRUE;
}
return FALSE;
}
static UBool
-_isPrivateuseValueSubtags(const char* s, int32_t len) {
- const char *p = s;
- const char *pSubtag = NULL;
-
- if (len < 0) {
- len = (int32_t)uprv_strlen(s);
- }
+_isTValue(const char* s, int32_t len)
+{
+ /*
+ * tvalue = (sep alphanum{3,8})+ ;
+ */
+ return _isAlphaNumericStringLimitedLength(s, len , 3, 8);
+}
- while ((p - s) < len) {
- if (*p == SEP) {
- if (pSubtag == NULL) {
- return FALSE;
+static UBool
+_isTransformedExtensionSubtag(int32_t& state, const char* s, int32_t len)
+{
+ const int32_t kStart = 0; // Start, wait for unicode_language_subtag, tkey or end
+ const int32_t kGotLanguage = 1; // Got unicode_language_subtag, wait for unicode_script_subtag,
+ // unicode_region_subtag, unicode_variant_subtag, tkey or end
+ const int32_t kGotScript = 2; // Got unicode_script_subtag, wait for unicode_region_subtag,
+ // unicode_variant_subtag, tkey, or end
+ const int32_t kGotRegion = 3; // Got unicode_region_subtag, wait for unicode_variant_subtag,
+ // tkey, or end.
+ const int32_t kGotVariant = 4; // Got unicode_variant_subtag, wait for unicode_variant_subtag
+ // tkey or end.
+ const int32_t kGotTKey = -1; // Got tkey, wait for tvalue. ERROR if stop here.
+ const int32_t kGotTValue = 6; // Got tvalue, wait for tkey, tvalue or end
+
+ switch (state) {
+ case kStart:
+ if (ultag_isLanguageSubtag(s, len)) {
+ state = kGotLanguage;
+ return TRUE;
+ }
+ if (_isTKey(s, len)) {
+ state = kGotTKey;
+ return TRUE;
}
- if (!_isPrivateuseValueSubtag(pSubtag, (int32_t)(p - pSubtag))) {
- return FALSE;
+ return FALSE;
+ case kGotLanguage:
+ if (ultag_isScriptSubtag(s, len)) {
+ state = kGotScript;
+ return TRUE;
+ }
+ U_FALLTHROUGH;
+ case kGotScript:
+ if (ultag_isRegionSubtag(s, len)) {
+ state = kGotRegion;
+ return TRUE;
+ }
+ U_FALLTHROUGH;
+ case kGotRegion:
+ U_FALLTHROUGH;
+ case kGotVariant:
+ if (_isVariantSubtag(s, len)) {
+ state = kGotVariant;
+ return TRUE;
+ }
+ if (_isTKey(s, len)) {
+ state = kGotTKey;
+ return TRUE;
}
- pSubtag = NULL;
- } else if (pSubtag == NULL) {
- pSubtag = p;
- }
- p++;
- }
- if (pSubtag == NULL) {
- return FALSE;
+ return FALSE;
+ case kGotTKey:
+ if (_isTValue(s, len)) {
+ state = kGotTValue;
+ return TRUE;
+ }
+ return FALSE;
+ case kGotTValue:
+ if (_isTKey(s, len)) {
+ state = kGotTKey;
+ return TRUE;
+ }
+ if (_isTValue(s, len)) {
+ return TRUE;
+ }
+ return FALSE;
}
- return _isPrivateuseValueSubtag(pSubtag, (int32_t)(p - pSubtag));
+ return FALSE;
}
-U_CFUNC UBool
-ultag_isUnicodeLocaleKey(const char* s, int32_t len) {
- if (len < 0) {
- len = (int32_t)uprv_strlen(s);
- }
- if (len == 2 && _isAlphaNumericString(s, len)) {
- return TRUE;
+static UBool
+_isUnicodeExtensionSubtag(int32_t& state, const char* s, int32_t len)
+{
+ const int32_t kStart = 0; // Start, wait for a key or attribute or end
+ const int32_t kGotKey = 1; // Got a key, wait for type or key or end
+ const int32_t kGotType = 2; // Got a type, wait for key or end
+
+ switch (state) {
+ case kStart:
+ if (ultag_isUnicodeLocaleKey(s, len)) {
+ state = kGotKey;
+ return TRUE;
+ }
+ if (ultag_isUnicodeLocaleAttribute(s, len)) {
+ return TRUE;
+ }
+ return FALSE;
+ case kGotKey:
+ if (ultag_isUnicodeLocaleKey(s, len)) {
+ return TRUE;
+ }
+ if (_isUnicodeLocaleTypeSubtag(s, len)) {
+ state = kGotType;
+ return TRUE;
+ }
+ return FALSE;
+ case kGotType:
+ if (ultag_isUnicodeLocaleKey(s, len)) {
+ state = kGotKey;
+ return TRUE;
+ }
+ if (_isUnicodeLocaleTypeSubtag(s, len)) {
+ return TRUE;
+ }
+ return FALSE;
}
return FALSE;
}
-U_CFUNC UBool
-ultag_isUnicodeLocaleType(const char*s, int32_t len) {
+static UBool
+_isStatefulSepListOf(UBool (*test)(int32_t&, const char*, int32_t), const char* s, int32_t len)
+{
+ int32_t state = 0;
const char* p;
+ const char* start = s;
int32_t subtagLen = 0;
if (len < 0) {
@@ -648,22 +776,34 @@ ultag_isUnicodeLocaleType(const char*s, int32_t len) {
for (p = s; len > 0; p++, len--) {
if (*p == SEP) {
- if (subtagLen < 3) {
+ if (!test(state, start, subtagLen)) {
return FALSE;
}
subtagLen = 0;
- } else if (ISALPHA(*p) || ISNUMERIC(*p)) {
- subtagLen++;
- if (subtagLen > 8) {
- return FALSE;
- }
+ start = p + 1;
} else {
- return FALSE;
+ subtagLen++;
}
}
- return (subtagLen >= 3);
+ if (test(state, start, subtagLen) && state >= 0) {
+ return TRUE;
+ }
+ return FALSE;
}
+
+U_CFUNC UBool
+ultag_isTransformedExtensionSubtags(const char* s, int32_t len)
+{
+ return _isStatefulSepListOf(&_isTransformedExtensionSubtag, s, len);
+}
+
+U_CFUNC UBool
+ultag_isUnicodeExtensionSubtags(const char* s, int32_t len) {
+ return _isStatefulSepListOf(&_isUnicodeExtensionSubtag, s, len);
+}
+
+
/*
* -------------------------------------------------
*
@@ -850,22 +990,21 @@ _initializeULanguageTag(ULanguageTag* langtag) {
langtag->privateuse = EMPTY;
}
-static int32_t
-_appendLanguageToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UErrorCode* status) {
+static void
+_appendLanguageToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UErrorCode* status) {
char buf[ULOC_LANG_CAPACITY];
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t len, i;
- int32_t reslen = 0;
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
len = uloc_getLanguage(localeID, buf, sizeof(buf), &tmpStatus);
if (U_FAILURE(tmpStatus) || tmpStatus == U_STRING_NOT_TERMINATED_WARNING) {
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
- return 0;
+ return;
}
len = 0;
}
@@ -873,20 +1012,14 @@ _appendLanguageToLanguageTag(const char* localeID, char* appendAt, int32_t capac
/* Note: returned language code is in lower case letters */
if (len == 0) {
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, LANG_UND, uprv_min(LANG_UND_LEN, capacity - reslen));
- }
- reslen += LANG_UND_LEN;
- } else if (!_isLanguageSubtag(buf, len)) {
+ sink.Append(LANG_UND, LANG_UND_LEN);
+ } else if (!ultag_isLanguageSubtag(buf, len)) {
/* invalid language code */
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
- return 0;
+ return;
}
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, LANG_UND, uprv_min(LANG_UND_LEN, capacity - reslen));
- }
- reslen += LANG_UND_LEN;
+ sink.Append(LANG_UND, LANG_UND_LEN);
} else {
/* resolve deprecated */
for (i = 0; i < UPRV_LENGTHOF(DEPRECATEDLANGS); i += 2) {
@@ -901,24 +1034,18 @@ _appendLanguageToLanguageTag(const char* localeID, char* appendAt, int32_t capac
break;
}
}
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, buf, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append(buf, len);
}
- u_terminateChars(appendAt, capacity, reslen, status);
- return reslen;
}
-static int32_t
-_appendScriptToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UErrorCode* status) {
+static void
+_appendScriptToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UErrorCode* status) {
char buf[ULOC_SCRIPT_CAPACITY];
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t len;
- int32_t reslen = 0;
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
len = uloc_getScript(localeID, buf, sizeof(buf), &tmpStatus);
@@ -926,40 +1053,31 @@ _appendScriptToLanguageTag(const char* localeID, char* appendAt, int32_t capacit
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
}
if (len > 0) {
- if (!_isScriptSubtag(buf, len)) {
+ if (!ultag_isScriptSubtag(buf, len)) {
/* invalid script code */
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
} else {
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, buf, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append("-", 1);
+ sink.Append(buf, len);
}
}
- u_terminateChars(appendAt, capacity, reslen, status);
- return reslen;
}
-static int32_t
-_appendRegionToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UErrorCode* status) {
+static void
+_appendRegionToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UErrorCode* status) {
char buf[ULOC_COUNTRY_CAPACITY];
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t len;
- int32_t reslen = 0;
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
len = uloc_getCountry(localeID, buf, sizeof(buf), &tmpStatus);
@@ -967,22 +1085,19 @@ _appendRegionToLanguageTag(const char* localeID, char* appendAt, int32_t capacit
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
}
if (len > 0) {
- if (!_isRegionSubtag(buf, len)) {
+ if (!ultag_isRegionSubtag(buf, len)) {
/* invalid region code */
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
} else {
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- /* resolve deprecated */
+ sink.Append("-", 1);
+ /* resolve deprecated */
for (int i = 0; i < UPRV_LENGTHOF(DEPRECATEDREGIONS); i += 2) {
if (uprv_compareInvCharsAsAscii(buf, DEPRECATEDREGIONS[i]) == 0) {
uprv_strcpy(buf, DEPRECATEDREGIONS[i + 1]);
@@ -990,26 +1105,19 @@ _appendRegionToLanguageTag(const char* localeID, char* appendAt, int32_t capacit
break;
}
}
-
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, buf, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append(buf, len);
}
}
- u_terminateChars(appendAt, capacity, reslen, status);
- return reslen;
}
-static int32_t
-_appendVariantsToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UBool *hadPosix, UErrorCode* status) {
+static void
+_appendVariantsToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UBool *hadPosix, UErrorCode* status) {
char buf[ULOC_FULLNAME_CAPACITY];
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t len, i;
- int32_t reslen = 0;
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
len = uloc_getVariant(localeID, buf, sizeof(buf), &tmpStatus);
@@ -1017,7 +1125,7 @@ _appendVariantsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
}
if (len > 0) {
@@ -1094,15 +1202,9 @@ _appendVariantsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
/* write out validated/normalized variants to the target */
var = varFirst;
while (var != NULL) {
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
+ sink.Append("-", 1);
varLen = (int32_t)uprv_strlen(var->variant);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, var->variant, uprv_min(varLen, capacity - reslen));
- }
- reslen += varLen;
+ sink.Append(var->variant, varLen);
var = var->next;
}
}
@@ -1117,27 +1219,25 @@ _appendVariantsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
}
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
}
-
- u_terminateChars(appendAt, capacity, reslen, status);
- return reslen;
}
-static int32_t
-_appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UBool hadPosix, UErrorCode* status) {
+static void
+_appendKeywordsToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UBool hadPosix, UErrorCode* status) {
char attrBuf[ULOC_KEYWORD_AND_VALUES_CAPACITY] = { 0 };
int32_t attrBufLength = 0;
- UEnumeration *keywordEnum = NULL;
- int32_t reslen = 0;
- keywordEnum = uloc_openKeywords(localeID, status);
+ icu::MemoryPool attrPool;
+ icu::MemoryPool extPool;
+ icu::MemoryPool strPool;
+
+ icu::LocalUEnumerationPointer keywordEnum(uloc_openKeywords(localeID, status));
if (U_FAILURE(*status) && !hadPosix) {
- uenum_close(keywordEnum);
- return 0;
+ return;
}
- if (keywordEnum != NULL || hadPosix) {
+ if (keywordEnum.isValid() || hadPosix) {
/* reorder extensions */
int32_t len;
const char *key;
@@ -1145,8 +1245,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
ExtensionListEntry *ext;
AttributeListEntry *firstAttr = NULL;
AttributeListEntry *attr;
- char *attrValue;
- CharStringPool extBufPool;
+ icu::MemoryPool extBufPool;
const char *bcpKey=nullptr, *bcpValue=nullptr;
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t keylen;
@@ -1154,7 +1253,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
while (TRUE) {
icu::CharString buf;
- key = uenum_next(keywordEnum, NULL, status);
+ key = uenum_next(keywordEnum.getAlias(), NULL, status);
if (key == NULL) {
break;
}
@@ -1227,22 +1326,23 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
}
/* create AttributeListEntry */
- attr = (AttributeListEntry*)uprv_malloc(sizeof(AttributeListEntry));
+ attr = attrPool.create();
if (attr == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
break;
}
- attrValue = (char*)uprv_malloc(attrBufLength + 1);
+ icu::CharString* attrValue =
+ strPool.create(attrBuf, attrBufLength, *status);
if (attrValue == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
break;
}
- uprv_strcpy(attrValue, attrBuf);
- attr->attribute = attrValue;
+ if (U_FAILURE(*status)) {
+ break;
+ }
+ attr->attribute = attrValue->data();
if (!_addAttributeToList(&firstAttr, attr)) {
- uprv_free(attr);
- uprv_free(attrValue);
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
break;
@@ -1309,7 +1409,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
}
} else {
if (*key == PRIVATEUSE) {
- if (!_isPrivateuseValueSubtags(buf.data(), len)) {
+ if (!ultag_isPrivateuseValueSubtags(buf.data(), len)) {
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
break;
@@ -1317,7 +1417,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
continue;
}
} else {
- if (!_isExtensionSingleton(key, keylen) || !_isExtensionSubtags(buf.data(), len)) {
+ if (!_isExtensionSingleton(key, keylen) || !ultag_isExtensionSubtags(buf.data(), len)) {
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
break;
@@ -1326,12 +1426,12 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
}
}
bcpKey = key;
- icu::CharString* extBuf = extBufPool.create();
+ icu::CharString* extBuf =
+ extBufPool.create(buf.data(), len, tmpStatus);
if (extBuf == nullptr) {
*status = U_MEMORY_ALLOCATION_ERROR;
break;
}
- extBuf->append(buf.data(), len, tmpStatus);
if (U_FAILURE(tmpStatus)) {
*status = tmpStatus;
break;
@@ -1340,7 +1440,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
}
/* create ExtensionListEntry */
- ext = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
+ ext = extPool.create();
if (ext == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
break;
@@ -1349,7 +1449,6 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
ext->value = bcpValue;
if (!_addExtensionToList(&firstExt, ext, TRUE)) {
- uprv_free(ext);
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
break;
@@ -1360,16 +1459,16 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
/* Special handling for POSIX variant - add the keywords for POSIX */
if (hadPosix) {
/* create ExtensionListEntry for POSIX */
- ext = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
+ ext = extPool.create();
if (ext == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
- goto cleanup;
+ return;
}
ext->key = POSIX_KEY;
ext->value = POSIX_VALUE;
if (!_addExtensionToList(&firstExt, ext, TRUE)) {
- uprv_free(ext);
+ // Silently ignore errors.
}
}
@@ -1378,15 +1477,7 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
for (ext = firstExt; ext; ext = ext->next) {
if (!startLDMLExtension && uprv_strlen(ext->key) > 1) {
/* first LDML u singlton extension */
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- if (reslen < capacity) {
- *(appendAt + reslen) = LDMLEXT;
- }
- reslen++;
-
+ sink.Append("-u", 2);
startLDMLExtension = TRUE;
}
@@ -1394,64 +1485,19 @@ _appendKeywordsToLanguageTag(const char* localeID, char* appendAt, int32_t capac
if (uprv_strcmp(ext->key, LOCALE_ATTRIBUTE_KEY) == 0) {
/* write the value for the attributes */
for (attr = firstAttr; attr; attr = attr->next) {
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- len = (int32_t)uprv_strlen(attr->attribute);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, attr->attribute, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append("-", 1);
+ sink.Append(
+ attr->attribute, static_cast(uprv_strlen(attr->attribute)));
}
} else {
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- len = (int32_t)uprv_strlen(ext->key);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, ext->key, uprv_min(len, capacity - reslen));
- }
- reslen += len;
- if (reslen < capacity) {
- *(appendAt + reslen) = SEP;
- }
- reslen++;
- len = (int32_t)uprv_strlen(ext->value);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, ext->value, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append("-", 1);
+ sink.Append(ext->key, static_cast(uprv_strlen(ext->key)));
+ sink.Append("-", 1);
+ sink.Append(ext->value, static_cast(uprv_strlen(ext->value)));
}
}
}
-cleanup:
- /* clean up */
- ext = firstExt;
- while (ext != NULL) {
- ExtensionListEntry *tmpExt = ext->next;
- uprv_free(ext);
- ext = tmpExt;
- }
-
- attr = firstAttr;
- while (attr != NULL) {
- AttributeListEntry *tmpAttr = attr->next;
- char *pValue = (char *)attr->attribute;
- uprv_free(pValue);
- uprv_free(attr);
- attr = tmpAttr;
- }
-
- uenum_close(keywordEnum);
-
- if (U_FAILURE(*status)) {
- return 0;
- }
}
-
- return u_terminateChars(appendAt, capacity, reslen, status);
}
/**
@@ -1460,7 +1506,7 @@ cleanup:
* Note: char* buf is used for storing keywords
*/
static void
-_appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendTo, char* buf, int32_t bufSize, UBool *posixVariant, UErrorCode *status) {
+_appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendTo, icu::MemoryPool& extPool, icu::MemoryPool& kwdBuf, UBool *posixVariant, UErrorCode *status) {
const char *pTag; /* beginning of current subtag */
const char *pKwds; /* beginning of key-type pairs */
UBool variantExists = *posixVariant;
@@ -1468,14 +1514,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
ExtensionListEntry *kwdFirst = NULL; /* first LDML keyword */
ExtensionListEntry *kwd, *nextKwd;
- AttributeListEntry *attrFirst = NULL; /* first attribute */
- AttributeListEntry *attr, *nextAttr;
-
int32_t len;
- int32_t bufIdx = 0;
-
- char attrBuf[ULOC_KEYWORD_AND_VALUES_CAPACITY];
- int32_t attrBufIdx = 0;
/* Reset the posixVariant value */
*posixVariant = FALSE;
@@ -1483,100 +1522,90 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
pTag = ldmlext;
pKwds = NULL;
- /* Iterate through u extension attributes */
- while (*pTag) {
- /* locate next separator char */
- for (len = 0; *(pTag + len) && *(pTag + len) != SEP; len++);
+ {
+ AttributeListEntry *attrFirst = NULL; /* first attribute */
+ AttributeListEntry *attr, *nextAttr;
- if (ultag_isUnicodeLocaleKey(pTag, len)) {
- pKwds = pTag;
- break;
- }
+ char attrBuf[ULOC_KEYWORD_AND_VALUES_CAPACITY];
+ int32_t attrBufIdx = 0;
- /* add this attribute to the list */
- attr = (AttributeListEntry*)uprv_malloc(sizeof(AttributeListEntry));
- if (attr == NULL) {
- *status = U_MEMORY_ALLOCATION_ERROR;
- goto cleanup;
- }
+ icu::MemoryPool attrPool;
- if (len < (int32_t)sizeof(attrBuf) - attrBufIdx) {
- uprv_memcpy(&attrBuf[attrBufIdx], pTag, len);
- attrBuf[attrBufIdx + len] = 0;
- attr->attribute = &attrBuf[attrBufIdx];
- attrBufIdx += (len + 1);
- } else {
- *status = U_ILLEGAL_ARGUMENT_ERROR;
- uprv_free(attr);
- goto cleanup;
- }
+ /* Iterate through u extension attributes */
+ while (*pTag) {
+ /* locate next separator char */
+ for (len = 0; *(pTag + len) && *(pTag + len) != SEP; len++);
- if (!_addAttributeToList(&attrFirst, attr)) {
- *status = U_ILLEGAL_ARGUMENT_ERROR;
- uprv_free(attr);
- goto cleanup;
- }
+ if (ultag_isUnicodeLocaleKey(pTag, len)) {
+ pKwds = pTag;
+ break;
+ }
- /* next tag */
- pTag += len;
- if (*pTag) {
- /* next to the separator */
- pTag++;
- }
- }
+ /* add this attribute to the list */
+ attr = attrPool.create();
+ if (attr == NULL) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
- if (attrFirst) {
- /* emit attributes as an LDML keyword, e.g. attribute=attr1-attr2 */
+ if (len < (int32_t)sizeof(attrBuf) - attrBufIdx) {
+ uprv_memcpy(&attrBuf[attrBufIdx], pTag, len);
+ attrBuf[attrBufIdx + len] = 0;
+ attr->attribute = &attrBuf[attrBufIdx];
+ attrBufIdx += (len + 1);
+ } else {
+ *status = U_ILLEGAL_ARGUMENT_ERROR;
+ return;
+ }
- if (attrBufIdx > bufSize) {
- /* attrBufIdx == + 1 */
- *status = U_ILLEGAL_ARGUMENT_ERROR;
- goto cleanup;
- }
+ // duplicate attribute is ignored, causes no error.
+ _addAttributeToList(&attrFirst, attr);
- kwd = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
- if (kwd == NULL) {
- *status = U_MEMORY_ALLOCATION_ERROR;
- goto cleanup;
+ /* next tag */
+ pTag += len;
+ if (*pTag) {
+ /* next to the separator */
+ pTag++;
+ }
}
- kwd->key = LOCALE_ATTRIBUTE_KEY;
- kwd->value = buf;
-
- /* attribute subtags sorted in alphabetical order as type */
- attr = attrFirst;
- while (attr != NULL) {
- nextAttr = attr->next;
+ if (attrFirst) {
+ /* emit attributes as an LDML keyword, e.g. attribute=attr1-attr2 */
- /* buffer size check is done above */
- if (attr != attrFirst) {
- *(buf + bufIdx) = SEP;
- bufIdx++;
+ kwd = extPool.create();
+ if (kwd == NULL) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return;
}
- len = static_cast(uprv_strlen(attr->attribute));
- uprv_memcpy(buf + bufIdx, attr->attribute, len);
- bufIdx += len;
+ icu::CharString* value = kwdBuf.create();
+ if (value == NULL) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return;
+ }
- attr = nextAttr;
- }
- *(buf + bufIdx) = 0;
- bufIdx++;
+ /* attribute subtags sorted in alphabetical order as type */
+ attr = attrFirst;
+ while (attr != NULL) {
+ nextAttr = attr->next;
+ if (attr != attrFirst) {
+ value->append('-', *status);
+ }
+ value->append(attr->attribute, *status);
+ attr = nextAttr;
+ }
+ if (U_FAILURE(*status)) {
+ return;
+ }
- if (!_addExtensionToList(&kwdFirst, kwd, FALSE)) {
- *status = U_ILLEGAL_ARGUMENT_ERROR;
- uprv_free(kwd);
- goto cleanup;
- }
+ kwd->key = LOCALE_ATTRIBUTE_KEY;
+ kwd->value = value->data();
- /* once keyword entry is created, delete the attribute list */
- attr = attrFirst;
- while (attr != NULL) {
- nextAttr = attr->next;
- uprv_free(attr);
- attr = nextAttr;
+ if (!_addExtensionToList(&kwdFirst, kwd, FALSE)) {
+ *status = U_ILLEGAL_ARGUMENT_ERROR;
+ return;
+ }
}
- attrFirst = NULL;
}
if (pKwds) {
@@ -1640,7 +1669,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
if (bcpKeyLen >= (int32_t)sizeof(bcpKeyBuf)) {
/* the BCP key is invalid */
*status = U_ILLEGAL_ARGUMENT_ERROR;
- goto cleanup;
+ return;
}
uprv_strncpy(bcpKeyBuf, pBcpKey, bcpKeyLen);
@@ -1650,7 +1679,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
pKey = uloc_toLegacyKey(bcpKeyBuf);
if (pKey == NULL) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
- goto cleanup;
+ return;
}
if (pKey == bcpKeyBuf) {
/*
@@ -1658,16 +1687,15 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
We normalize the result key to lower case.
*/
T_CString_toLowerCase(bcpKeyBuf);
- if (bufSize - bufIdx - 1 >= bcpKeyLen) {
- uprv_memcpy(buf + bufIdx, bcpKeyBuf, bcpKeyLen);
- pKey = buf + bufIdx;
- bufIdx += bcpKeyLen;
- *(buf + bufIdx) = 0;
- bufIdx++;
- } else {
- *status = U_BUFFER_OVERFLOW_ERROR;
- goto cleanup;
+ icu::CharString* key = kwdBuf.create(bcpKeyBuf, bcpKeyLen, *status);
+ if (key == NULL) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return;
}
+ if (U_FAILURE(*status)) {
+ return;
+ }
+ pKey = key->data();
}
if (pBcpType) {
@@ -1675,7 +1703,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
if (bcpTypeLen >= (int32_t)sizeof(bcpTypeBuf)) {
/* the BCP type is too long */
*status = U_ILLEGAL_ARGUMENT_ERROR;
- goto cleanup;
+ return;
}
uprv_strncpy(bcpTypeBuf, pBcpType, bcpTypeLen);
@@ -1685,7 +1713,7 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
pType = uloc_toLegacyType(pKey, bcpTypeBuf);
if (pType == NULL) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
- goto cleanup;
+ return;
}
if (pType == bcpTypeBuf) {
/*
@@ -1694,16 +1722,15 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
*/
/* normalize to lower case */
T_CString_toLowerCase(bcpTypeBuf);
- if (bufSize - bufIdx - 1 >= bcpTypeLen) {
- uprv_memcpy(buf + bufIdx, bcpTypeBuf, bcpTypeLen);
- pType = buf + bufIdx;
- bufIdx += bcpTypeLen;
- *(buf + bufIdx) = 0;
- bufIdx++;
- } else {
- *status = U_BUFFER_OVERFLOW_ERROR;
- goto cleanup;
+ icu::CharString* type = kwdBuf.create(bcpTypeBuf, bcpTypeLen, *status);
+ if (type == NULL) {
+ *status = U_MEMORY_ALLOCATION_ERROR;
+ return;
}
+ if (U_FAILURE(*status)) {
+ return;
+ }
+ pType = type->data();
}
} else {
/* typeless - default type value is "yes" */
@@ -1716,10 +1743,10 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
*posixVariant = TRUE;
} else {
/* create an ExtensionListEntry for this keyword */
- kwd = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
+ kwd = extPool.create();
if (kwd == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
- goto cleanup;
+ return;
}
kwd->key = pKey;
@@ -1728,7 +1755,6 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
if (!_addExtensionToList(&kwdFirst, kwd, FALSE)) {
// duplicate keyword is allowed, Only the first
// is honored.
- uprv_free(kwd);
}
}
@@ -1746,46 +1772,22 @@ _appendLDMLExtensionAsKeywords(const char* ldmlext, ExtensionListEntry** appendT
_addExtensionToList(appendTo, kwd, FALSE);
kwd = nextKwd;
}
-
- return;
-
-cleanup:
- attr = attrFirst;
- while (attr != NULL) {
- nextAttr = attr->next;
- uprv_free(attr);
- attr = nextAttr;
- }
-
- kwd = kwdFirst;
- while (kwd != NULL) {
- nextKwd = kwd->next;
- uprv_free(kwd);
- kwd = nextKwd;
- }
}
-static int32_t
-_appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorCode* status) {
- int32_t reslen = 0;
+static void
+_appendKeywords(ULanguageTag* langtag, icu::ByteSink& sink, UErrorCode* status) {
int32_t i, n;
int32_t len;
ExtensionListEntry *kwdFirst = NULL;
ExtensionListEntry *kwd;
const char *key, *type;
- char *kwdBuf = NULL;
- int32_t kwdBufLength = capacity;
+ icu::MemoryPool extPool;
+ icu::MemoryPool kwdBuf;
UBool posixVariant = FALSE;
if (U_FAILURE(*status)) {
- return 0;
- }
-
- kwdBuf = (char*)uprv_malloc(kwdBufLength);
- if (kwdBuf == NULL) {
- *status = U_MEMORY_ALLOCATION_ERROR;
- return 0;
+ return;
}
/* Determine if variants already exists */
@@ -1800,12 +1802,12 @@ _appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorC
key = ultag_getExtensionKey(langtag, i);
type = ultag_getExtensionValue(langtag, i);
if (*key == LDMLEXT) {
- _appendLDMLExtensionAsKeywords(type, &kwdFirst, kwdBuf, kwdBufLength, &posixVariant, status);
+ _appendLDMLExtensionAsKeywords(type, &kwdFirst, extPool, kwdBuf, &posixVariant, status);
if (U_FAILURE(*status)) {
break;
}
} else {
- kwd = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
+ kwd = extPool.create();
if (kwd == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
break;
@@ -1813,7 +1815,6 @@ _appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorC
kwd->key = key;
kwd->value = type;
if (!_addExtensionToList(&kwdFirst, kwd, FALSE)) {
- uprv_free(kwd);
*status = U_ILLEGAL_ARGUMENT_ERROR;
break;
}
@@ -1824,14 +1825,13 @@ _appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorC
type = ultag_getPrivateUse(langtag);
if ((int32_t)uprv_strlen(type) > 0) {
/* add private use as a keyword */
- kwd = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
+ kwd = extPool.create();
if (kwd == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
} else {
kwd->key = PRIVATEUSE_KEY;
kwd->value = type;
if (!_addExtensionToList(&kwdFirst, kwd, FALSE)) {
- uprv_free(kwd);
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
}
@@ -1842,10 +1842,7 @@ _appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorC
if (U_SUCCESS(*status) && posixVariant) {
len = (int32_t) uprv_strlen(_POSIX);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, _POSIX, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append(_POSIX, len);
}
if (U_SUCCESS(*status) && kwdFirst != NULL) {
@@ -1853,70 +1850,39 @@ _appendKeywords(ULanguageTag* langtag, char* appendAt, int32_t capacity, UErrorC
UBool firstValue = TRUE;
kwd = kwdFirst;
do {
- if (reslen < capacity) {
- if (firstValue) {
- /* '@' */
- *(appendAt + reslen) = LOCALE_EXT_SEP;
- firstValue = FALSE;
- } else {
- /* ';' */
- *(appendAt + reslen) = LOCALE_KEYWORD_SEP;
- }
+ if (firstValue) {
+ sink.Append("@", 1);
+ firstValue = FALSE;
+ } else {
+ sink.Append(";", 1);
}
- reslen++;
/* key */
len = (int32_t)uprv_strlen(kwd->key);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, kwd->key, uprv_min(len, capacity - reslen));
- }
- reslen += len;
-
- /* '=' */
- if (reslen < capacity) {
- *(appendAt + reslen) = LOCALE_KEY_TYPE_SEP;
- }
- reslen++;
+ sink.Append(kwd->key, len);
+ sink.Append("=", 1);
/* type */
len = (int32_t)uprv_strlen(kwd->value);
- if (reslen < capacity) {
- uprv_memcpy(appendAt + reslen, kwd->value, uprv_min(len, capacity - reslen));
- }
- reslen += len;
+ sink.Append(kwd->value, len);
kwd = kwd->next;
} while (kwd);
}
-
- /* clean up */
- kwd = kwdFirst;
- while (kwd != NULL) {
- ExtensionListEntry *tmpKwd = kwd->next;
- uprv_free(kwd);
- kwd = tmpKwd;
- }
-
- uprv_free(kwdBuf);
-
- if (U_FAILURE(*status)) {
- return 0;
- }
-
- return u_terminateChars(appendAt, capacity, reslen, status);
}
-static int32_t
-_appendPrivateuseToLanguageTag(const char* localeID, char* appendAt, int32_t capacity, UBool strict, UBool hadPosix, UErrorCode* status) {
+static void
+_appendPrivateuseToLanguageTag(const char* localeID, icu::ByteSink& sink, UBool strict, UBool hadPosix, UErrorCode* status) {
(void)hadPosix;
char buf[ULOC_FULLNAME_CAPACITY];
char tmpAppend[ULOC_FULLNAME_CAPACITY];
UErrorCode tmpStatus = U_ZERO_ERROR;
int32_t len, i;
int32_t reslen = 0;
+ int32_t capacity = sizeof tmpAppend;
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
len = uloc_getVariant(localeID, buf, sizeof(buf), &tmpStatus);
@@ -1924,7 +1890,7 @@ _appendPrivateuseToLanguageTag(const char* localeID, char* appendAt, int32_t cap
if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
}
- return 0;
+ return;
}
if (len > 0) {
@@ -2008,20 +1974,14 @@ _appendPrivateuseToLanguageTag(const char* localeID, char* appendAt, int32_t cap
}
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
}
if (U_SUCCESS(*status)) {
len = reslen;
- if (reslen < capacity) {
- uprv_memcpy(appendAt, tmpAppend, uprv_min(len, capacity - reslen));
- }
+ sink.Append(tmpAppend, len);
}
-
- u_terminateChars(appendAt, capacity, reslen, status);
-
- return reslen;
}
/*
@@ -2053,7 +2013,6 @@ _appendPrivateuseToLanguageTag(const char* localeID, char* appendAt, int32_t cap
static ULanguageTag*
ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* status) {
- ULanguageTag *t;
char *tagBuf;
int16_t next;
char *pSubtag, *pNext, *pLastGoodPosition;
@@ -2087,44 +2046,60 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
*(tagBuf + tagLen) = 0;
/* create a ULanguageTag */
- t = (ULanguageTag*)uprv_malloc(sizeof(ULanguageTag));
- if (t == NULL) {
+ icu::LocalULanguageTagPointer t(
+ (ULanguageTag*)uprv_malloc(sizeof(ULanguageTag)));
+ if (t.isNull()) {
uprv_free(tagBuf);
*status = U_MEMORY_ALLOCATION_ERROR;
return NULL;
}
- _initializeULanguageTag(t);
+ _initializeULanguageTag(t.getAlias());
t->buf = tagBuf;
if (tagLen < MINLEN) {
/* the input tag is too short - return empty ULanguageTag */
- return t;
+ return t.orphan();
}
+ size_t parsedLenDelta = 0;
+ // Grandfathered tag will be consider together. Grandfathered tag with intervening
+ // script and region such as art-DE-lojban or art-Latn-lojban won't be
+ // matched.
/* check if the tag is grandfathered */
for (i = 0; i < UPRV_LENGTHOF(GRANDFATHERED); i += 2) {
- if (uprv_stricmp(GRANDFATHERED[i], tagBuf) == 0) {
+ int32_t checkGrandfatheredLen = static_cast(uprv_strlen(GRANDFATHERED[i]));
+ if (tagLen < checkGrandfatheredLen) {
+ continue;
+ }
+ if (tagLen > checkGrandfatheredLen && tagBuf[checkGrandfatheredLen] != '-') {
+ // make sure next char is '-'.
+ continue;
+ }
+ if (uprv_strnicmp(GRANDFATHERED[i], tagBuf, checkGrandfatheredLen) == 0) {
int32_t newTagLength;
- grandfatheredLen = tagLen; /* back up for output parsedLen */
- newTagLength = static_cast(uprv_strlen(GRANDFATHERED[i+1]));
+ grandfatheredLen = checkGrandfatheredLen; /* back up for output parsedLen */
+ int32_t replacementLen = static_cast(uprv_strlen(GRANDFATHERED[i+1]));
+ newTagLength = replacementLen + tagLen - checkGrandfatheredLen;
if (tagLen < newTagLength) {
uprv_free(tagBuf);
tagBuf = (char*)uprv_malloc(newTagLength + 1);
if (tagBuf == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
- ultag_close(t);
return NULL;
}
t->buf = tagBuf;
tagLen = newTagLength;
}
+ parsedLenDelta = checkGrandfatheredLen - replacementLen;
uprv_strcpy(t->buf, GRANDFATHERED[i + 1]);
+ if (checkGrandfatheredLen != tagLen) {
+ uprv_strcpy(t->buf + replacementLen, tag + checkGrandfatheredLen);
+ }
break;
}
}
- size_t parsedLenDelta = 0;
if (grandfatheredLen == 0) {
for (i = 0; i < UPRV_LENGTHOF(REDUNDANT); i += 2) {
const char* redundantTag = REDUNDANT[i];
@@ -2193,7 +2168,7 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
subtagLen = (int32_t)(pSep - pSubtag);
if (next & LANG) {
- if (_isLanguageSubtag(pSubtag, subtagLen)) {
+ if (ultag_isLanguageSubtag(pSubtag, subtagLen)) {
*pSep = 0; /* terminate */
// TODO: move deprecated language code handling here.
t->language = T_CString_toLowerCase(pSubtag);
@@ -2220,7 +2195,7 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
}
}
if (next & SCRT) {
- if (_isScriptSubtag(pSubtag, subtagLen)) {
+ if (ultag_isScriptSubtag(pSubtag, subtagLen)) {
char *p = pSubtag;
*pSep = 0;
@@ -2240,7 +2215,7 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
}
}
if (next & REGN) {
- if (_isRegionSubtag(pSubtag, subtagLen)) {
+ if (ultag_isRegionSubtag(pSubtag, subtagLen)) {
*pSep = 0;
// TODO: move deprecated region code handling here.
t->region = T_CString_toUpperCase(pSubtag);
@@ -2259,7 +2234,7 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
var = (VariantListEntry*)uprv_malloc(sizeof(VariantListEntry));
if (var == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
- goto error;
+ return NULL;
}
*pSep = 0;
var->variant = T_CString_toUpperCase(pSubtag);
@@ -2303,7 +2278,7 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
pExtension = (ExtensionListEntry*)uprv_malloc(sizeof(ExtensionListEntry));
if (pExtension == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
- goto error;
+ return NULL;
}
*pSep = 0;
pExtension->key = T_CString_toLowerCase(pSubtag);
@@ -2439,15 +2414,10 @@ ultag_parse(const char* tag, int32_t tagLen, int32_t* parsedLen, UErrorCode* sta
}
if (parsedLen != NULL) {
- *parsedLen = (grandfatheredLen > 0) ? grandfatheredLen :
- (int32_t)(pLastGoodPosition - t->buf + parsedLenDelta);
+ *parsedLen = (int32_t)(pLastGoodPosition - t->buf + parsedLenDelta);
}
- return t;
-
-error:
- ultag_close(t);
- return NULL;
+ return t.orphan();
}
/**
@@ -2637,6 +2607,34 @@ uloc_toLanguageTag(const char* localeID,
int32_t langtagCapacity,
UBool strict,
UErrorCode* status) {
+ if (U_FAILURE(*status)) {
+ return 0;
+ }
+
+ icu::CheckedArrayByteSink sink(langtag, langtagCapacity);
+ ulocimp_toLanguageTag(localeID, sink, strict, status);
+
+ int32_t reslen = sink.NumberOfBytesAppended();
+
+ if (U_FAILURE(*status)) {
+ return reslen;
+ }
+
+ if (sink.Overflowed()) {
+ *status = U_BUFFER_OVERFLOW_ERROR;
+ } else {
+ u_terminateChars(langtag, langtagCapacity, reslen, status);
+ }
+
+ return reslen;
+}
+
+
+U_CAPI void U_EXPORT2
+ulocimp_toLanguageTag(const char* localeID,
+ icu::ByteSink& sink,
+ UBool strict,
+ UErrorCode* status) {
icu::CharString canonical;
int32_t reslen;
UErrorCode tmpStatus = U_ZERO_ERROR;
@@ -2657,7 +2655,7 @@ uloc_toLanguageTag(const char* localeID,
if (U_FAILURE(tmpStatus)) {
*status = tmpStatus;
- return 0;
+ return;
}
reslen =
@@ -2673,7 +2671,7 @@ uloc_toLanguageTag(const char* localeID,
if (U_FAILURE(tmpStatus)) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
- return 0;
+ return;
}
canonical.append(buffer, reslen, tmpStatus);
@@ -2683,38 +2681,33 @@ uloc_toLanguageTag(const char* localeID,
if (U_FAILURE(tmpStatus)) {
*status = tmpStatus;
- return 0;
+ return;
}
}
- reslen = 0;
-
/* For handling special case - private use only tag */
pKeywordStart = locale_getKeywordsStart(canonical.data());
if (pKeywordStart == canonical.data()) {
- UEnumeration *kwdEnum;
int kwdCnt = 0;
UBool done = FALSE;
- kwdEnum = uloc_openKeywords(canonical.data(), &tmpStatus);
- if (kwdEnum != NULL) {
- kwdCnt = uenum_count(kwdEnum, &tmpStatus);
+ icu::LocalUEnumerationPointer kwdEnum(uloc_openKeywords(canonical.data(), &tmpStatus));
+ if (U_SUCCESS(tmpStatus)) {
+ kwdCnt = uenum_count(kwdEnum.getAlias(), &tmpStatus);
if (kwdCnt == 1) {
const char *key;
int32_t len = 0;
- key = uenum_next(kwdEnum, &len, &tmpStatus);
+ key = uenum_next(kwdEnum.getAlias(), &len, &tmpStatus);
if (len == 1 && *key == PRIVATEUSE) {
char buf[ULOC_KEYWORD_AND_VALUES_CAPACITY];
buf[0] = PRIVATEUSE;
buf[1] = SEP;
len = uloc_getKeywordValue(localeID, key, &buf[2], sizeof(buf) - 2, &tmpStatus);
if (U_SUCCESS(tmpStatus)) {
- if (_isPrivateuseValueSubtags(&buf[2], len)) {
+ if (ultag_isPrivateuseValueSubtags(&buf[2], len)) {
/* return private use only tag */
- reslen = len + 2;
- uprv_memcpy(langtag, buf, uprv_min(reslen, langtagCapacity));
- u_terminateChars(langtag, langtagCapacity, reslen, status);
+ sink.Append(buf, len + 2);
done = TRUE;
} else if (strict) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
@@ -2727,21 +2720,18 @@ uloc_toLanguageTag(const char* localeID,
}
}
}
- uenum_close(kwdEnum);
if (done) {
- return reslen;
+ return;
}
}
}
- reslen += _appendLanguageToLanguageTag(canonical.data(), langtag, langtagCapacity, strict, status);
- reslen += _appendScriptToLanguageTag(canonical.data(), langtag + reslen, langtagCapacity - reslen, strict, status);
- reslen += _appendRegionToLanguageTag(canonical.data(), langtag + reslen, langtagCapacity - reslen, strict, status);
- reslen += _appendVariantsToLanguageTag(canonical.data(), langtag + reslen, langtagCapacity - reslen, strict, &hadPosix, status);
- reslen += _appendKeywordsToLanguageTag(canonical.data(), langtag + reslen, langtagCapacity - reslen, strict, hadPosix, status);
- reslen += _appendPrivateuseToLanguageTag(canonical.data(), langtag + reslen, langtagCapacity - reslen, strict, hadPosix, status);
-
- return reslen;
+ _appendLanguageToLanguageTag(canonical.data(), sink, strict, status);
+ _appendScriptToLanguageTag(canonical.data(), sink, strict, status);
+ _appendRegionToLanguageTag(canonical.data(), sink, strict, status);
+ _appendVariantsToLanguageTag(canonical.data(), sink, strict, &hadPosix, status);
+ _appendKeywordsToLanguageTag(canonical.data(), sink, strict, hadPosix, status);
+ _appendPrivateuseToLanguageTag(canonical.data(), sink, strict, hadPosix, status);
}
@@ -2751,136 +2741,116 @@ uloc_forLanguageTag(const char* langtag,
int32_t localeIDCapacity,
int32_t* parsedLength,
UErrorCode* status) {
- return ulocimp_forLanguageTag(
- langtag,
- -1,
- localeID,
- localeIDCapacity,
- parsedLength,
- status);
+ if (U_FAILURE(*status)) {
+ return 0;
+ }
+
+ icu::CheckedArrayByteSink sink(localeID, localeIDCapacity);
+ ulocimp_forLanguageTag(langtag, -1, sink, parsedLength, status);
+
+ int32_t reslen = sink.NumberOfBytesAppended();
+
+ if (U_FAILURE(*status)) {
+ return reslen;
+ }
+
+ if (sink.Overflowed()) {
+ *status = U_BUFFER_OVERFLOW_ERROR;
+ } else {
+ u_terminateChars(localeID, localeIDCapacity, reslen, status);
+ }
+
+ return reslen;
}
-U_CAPI int32_t U_EXPORT2
+U_CAPI void U_EXPORT2
ulocimp_forLanguageTag(const char* langtag,
int32_t tagLen,
- char* localeID,
- int32_t localeIDCapacity,
+ icu::ByteSink& sink,
int32_t* parsedLength,
UErrorCode* status) {
- ULanguageTag *lt;
- int32_t reslen = 0;
+ UBool isEmpty = TRUE;
const char *subtag, *p;
int32_t len;
int32_t i, n;
UBool noRegion = TRUE;
- lt = ultag_parse(langtag, tagLen, parsedLength, status);
+ icu::LocalULanguageTagPointer lt(ultag_parse(langtag, tagLen, parsedLength, status));
if (U_FAILURE(*status)) {
- return 0;
+ return;
}
/* language */
- subtag = ultag_getExtlangSize(lt) > 0 ? ultag_getExtlang(lt, 0) : ultag_getLanguage(lt);
+ subtag = ultag_getExtlangSize(lt.getAlias()) > 0 ? ultag_getExtlang(lt.getAlias(), 0) : ultag_getLanguage(lt.getAlias());
if (uprv_compareInvCharsAsAscii(subtag, LANG_UND) != 0) {
len = (int32_t)uprv_strlen(subtag);
if (len > 0) {
- if (reslen < localeIDCapacity) {
- uprv_memcpy(localeID, subtag, uprv_min(len, localeIDCapacity - reslen));
- }
- reslen += len;
+ sink.Append(subtag, len);
+ isEmpty = FALSE;
}
}
/* script */
- subtag = ultag_getScript(lt);
+ subtag = ultag_getScript(lt.getAlias());
len = (int32_t)uprv_strlen(subtag);
if (len > 0) {
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = LOCALE_SEP;
- }
- reslen++;
+ sink.Append("_", 1);
+ isEmpty = FALSE;
/* write out the script in title case */
- p = subtag;
- while (*p) {
- if (reslen < localeIDCapacity) {
- if (p == subtag) {
- *(localeID + reslen) = uprv_toupper(*p);
- } else {
- *(localeID + reslen) = *p;
- }
- }
- reslen++;
- p++;
- }
+ char c = uprv_toupper(*subtag);
+ sink.Append(&c, 1);
+ sink.Append(subtag + 1, len - 1);
}
/* region */
- subtag = ultag_getRegion(lt);
+ subtag = ultag_getRegion(lt.getAlias());
len = (int32_t)uprv_strlen(subtag);
if (len > 0) {
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = LOCALE_SEP;
- }
- reslen++;
- /* write out the retion in upper case */
+ sink.Append("_", 1);
+ isEmpty = FALSE;
+
+ /* write out the region in upper case */
p = subtag;
while (*p) {
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = uprv_toupper(*p);
- }
- reslen++;
+ char c = uprv_toupper(*p);
+ sink.Append(&c, 1);
p++;
}
noRegion = FALSE;
}
/* variants */
- n = ultag_getVariantsSize(lt);
+ n = ultag_getVariantsSize(lt.getAlias());
if (n > 0) {
if (noRegion) {
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = LOCALE_SEP;
- }
- reslen++;
+ sink.Append("_", 1);
+ isEmpty = FALSE;
}
for (i = 0; i < n; i++) {
- subtag = ultag_getVariant(lt, i);
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = LOCALE_SEP;
- }
- reslen++;
+ subtag = ultag_getVariant(lt.getAlias(), i);
+ sink.Append("_", 1);
+
/* write out the variant in upper case */
p = subtag;
while (*p) {
- if (reslen < localeIDCapacity) {
- *(localeID + reslen) = uprv_toupper(*p);
- }
- reslen++;
+ char c = uprv_toupper(*p);
+ sink.Append(&c, 1);
p++;
}
}
}
/* keywords */
- n = ultag_getExtensionsSize(lt);
- subtag = ultag_getPrivateUse(lt);
+ n = ultag_getExtensionsSize(lt.getAlias());
+ subtag = ultag_getPrivateUse(lt.getAlias());
if (n > 0 || uprv_strlen(subtag) > 0) {
- if (reslen == 0 && n > 0) {
+ if (isEmpty && n > 0) {
/* need a language */
- if (reslen < localeIDCapacity) {
- uprv_memcpy(localeID + reslen, LANG_UND, uprv_min(LANG_UND_LEN, localeIDCapacity - reslen));
- }
- reslen += LANG_UND_LEN;
+ sink.Append(LANG_UND, LANG_UND_LEN);
}
- len = _appendKeywords(lt, localeID + reslen, localeIDCapacity - reslen, status);
- reslen += len;
+ _appendKeywords(lt.getAlias(), sink, status);
}
-
- ultag_close(lt);
- return u_terminateChars(localeID, localeIDCapacity, reslen, status);
}
-
-
diff --git a/Build/source/libs/icu/icu-src/source/common/ulocimp.h b/Build/source/libs/icu/icu-src/source/common/ulocimp.h
index aa2090ebba6..31d3c44d0be 100644
--- a/Build/source/libs/icu/icu-src/source/common/ulocimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/ulocimp.h
@@ -10,6 +10,7 @@
#ifndef ULOCIMP_H
#define ULOCIMP_H
+#include "unicode/bytestream.h"
#include "unicode/uloc.h"
/**
@@ -61,6 +62,31 @@ ulocimp_getCountry(const char *localeID,
char *country, int32_t countryCapacity,
const char **pEnd);
+/**
+ * Writes a well-formed language tag for this locale ID.
+ *
+ * **Note**: When `strict` is FALSE, any locale fields which do not satisfy the
+ * BCP47 syntax requirement will be omitted from the result. When `strict` is
+ * TRUE, this function sets U_ILLEGAL_ARGUMENT_ERROR to the `err` if any locale
+ * fields do not satisfy the BCP47 syntax requirement.
+ *
+ * @param localeID the input locale ID
+ * @param sink the output sink receiving the BCP47 language
+ * tag for this Locale.
+ * @param strict boolean value indicating if the function returns
+ * an error for an ill-formed input locale ID.
+ * @param err error information if receiving the language
+ * tag failed.
+ * @return The length of the BCP47 language tag.
+ *
+ * @internal ICU 64
+ */
+U_STABLE void U_EXPORT2
+ulocimp_toLanguageTag(const char* localeID,
+ icu::ByteSink& sink,
+ UBool strict,
+ UErrorCode* err);
+
/**
* Returns a locale ID for the specified BCP47 language tag string.
* If the specified language tag contains any ill-formed subtags,
@@ -75,21 +101,18 @@ ulocimp_getCountry(const char *localeID,
* the first paragraph, so some information might be lost.
* @param langtag the input BCP47 language tag.
* @param tagLen the length of langtag, or -1 to call uprv_strlen().
- * @param localeID the output buffer receiving a locale ID for the
+ * @param sink the output sink receiving a locale ID for the
* specified BCP47 language tag.
- * @param localeIDCapacity the size of the locale ID output buffer.
* @param parsedLength if not NULL, successfully parsed length
* for the input language tag is set.
* @param err error information if receiving the locald ID
* failed.
- * @return the length of the locale ID.
* @internal ICU 63
*/
-U_CAPI int32_t U_EXPORT2
+U_CAPI void U_EXPORT2
ulocimp_forLanguageTag(const char* langtag,
int32_t tagLen,
- char* localeID,
- int32_t localeIDCapacity,
+ icu::ByteSink& sink,
int32_t* parsedLength,
UErrorCode* err);
@@ -122,9 +145,103 @@ U_CAPI int32_t U_EXPORT2
ulocimp_getRegionForSupplementalData(const char *localeID, UBool inferRegion,
char *region, int32_t regionCapacity, UErrorCode* status);
+/**
+ * Add the likely subtags for a provided locale ID, per the algorithm described
+ * in the following CLDR technical report:
+ *
+ * http://www.unicode.org/reports/tr35/#Likely_Subtags
+ *
+ * If localeID is already in the maximal form, or there is no data available
+ * for maximization, it will be copied to the output buffer. For example,
+ * "und-Zzzz" cannot be maximized, since there is no reasonable maximization.
+ *
+ * Examples:
+ *
+ * "en" maximizes to "en_Latn_US"
+ *
+ * "de" maximizes to "de_Latn_US"
+ *
+ * "sr" maximizes to "sr_Cyrl_RS"
+ *
+ * "sh" maximizes to "sr_Latn_RS" (Note this will not reverse.)
+ *
+ * "zh_Hani" maximizes to "zh_Hans_CN" (Note this will not reverse.)
+ *
+ * @param localeID The locale to maximize
+ * @param sink The output sink receiving the maximized locale
+ * @param err Error information if maximizing the locale failed. If the length
+ * of the localeID and the null-terminator is greater than the maximum allowed size,
+ * or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT_ERROR.
+ * @internal ICU 64
+ */
+U_STABLE void U_EXPORT2
+ulocimp_addLikelySubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* err);
+
+/**
+ * Minimize the subtags for a provided locale ID, per the algorithm described
+ * in the following CLDR technical report:
+ *
+ * http://www.unicode.org/reports/tr35/#Likely_Subtags
+ *
+ * If localeID is already in the minimal form, or there is no data available
+ * for minimization, it will be copied to the output buffer. Since the
+ * minimization algorithm relies on proper maximization, see the comments
+ * for ulocimp_addLikelySubtags for reasons why there might not be any data.
+ *
+ * Examples:
+ *
+ * "en_Latn_US" minimizes to "en"
+ *
+ * "de_Latn_US" minimizes to "de"
+ *
+ * "sr_Cyrl_RS" minimizes to "sr"
+ *
+ * "zh_Hant_TW" minimizes to "zh_TW" (The region is preferred to the
+ * script, and minimizing to "zh" would imply "zh_Hans_CN".)
+ *
+ * @param localeID The locale to minimize
+ * @param sink The output sink receiving the maximized locale
+ * @param err Error information if minimizing the locale failed. If the length
+ * of the localeID and the null-terminator is greater than the maximum allowed size,
+ * or the localeId is not well-formed, the error code is U_ILLEGAL_ARGUMENT_ERROR.
+ * @internal ICU 64
+ */
+U_STABLE void U_EXPORT2
+ulocimp_minimizeSubtags(const char* localeID,
+ icu::ByteSink& sink,
+ UErrorCode* err);
+
U_CAPI const char * U_EXPORT2
locale_getKeywordsStart(const char *localeID);
+U_CFUNC UBool
+ultag_isExtensionSubtags(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isLanguageSubtag(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isPrivateuseValueSubtags(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isRegionSubtag(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isScriptSubtag(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isTransformedExtensionSubtags(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isUnicodeExtensionSubtags(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isUnicodeLocaleAttribute(const char* s, int32_t len);
+
+U_CFUNC UBool
+ultag_isUnicodeLocaleAttributes(const char* s, int32_t len);
U_CFUNC UBool
ultag_isUnicodeLocaleKey(const char* s, int32_t len);
@@ -132,6 +249,9 @@ ultag_isUnicodeLocaleKey(const char* s, int32_t len);
U_CFUNC UBool
ultag_isUnicodeLocaleType(const char* s, int32_t len);
+U_CFUNC UBool
+ultag_isVariantSubtags(const char* s, int32_t len);
+
U_CFUNC const char*
ulocimp_toBcpKey(const char* key);
diff --git a/Build/source/libs/icu/icu-src/source/common/umapfile.cpp b/Build/source/libs/icu/icu-src/source/common/umapfile.cpp
index 175e1a93ef3..3e714876a4d 100644
--- a/Build/source/libs/icu/icu-src/source/common/umapfile.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/umapfile.cpp
@@ -37,12 +37,32 @@
# define NOSERVICE
# define NOIME
# define NOMCX
+
+# if U_PLATFORM_HAS_WINUWP_API == 1
+ // Some previous versions of the Windows 10 SDK don't expose various APIs for UWP applications
+ // to use, even though UWP apps are allowed to call and use them. Temporarily change the
+ // WINAPI family partition below to Desktop, so that function declarations are visible for UWP.
+# include
+# if !(WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM))
+# pragma push_macro("WINAPI_PARTITION_DESKTOP")
+# undef WINAPI_PARTITION_DESKTOP
+# define WINAPI_PARTITION_DESKTOP 1
+# define CHANGED_WINAPI_PARTITION_DESKTOP_VALUE
+# endif
+# endif
+
# include
+
+# if U_PLATFORM_HAS_WINUWP_API == 1 && defined(CHANGED_WINAPI_PARTITION_DESKTOP_VALUE)
+# pragma pop_macro("WINAPI_PARTITION_DESKTOP")
+# endif
+
# include "cmemory.h"
- typedef HANDLE MemoryMap;
+typedef HANDLE MemoryMap;
+
+# define IS_MAP(map) ((map)!=nullptr)
-# define IS_MAP(map) ((map)!=NULL)
#elif MAP_IMPLEMENTATION==MAP_POSIX || MAP_IMPLEMENTATION==MAP_390DLL
typedef size_t MemoryMap;
@@ -74,7 +94,7 @@
typedef void *MemoryMap;
-# define IS_MAP(map) ((map)!=NULL)
+# define IS_MAP(map) ((map)!=nullptr)
#endif
/*----------------------------------------------------------------------------*
@@ -105,20 +125,24 @@
UErrorCode *status /* Error status, used to report out-of-memory errors. */
)
{
- HANDLE map;
- HANDLE file;
-
if (U_FAILURE(*status)) {
return FALSE;
}
+ HANDLE map = nullptr;
+ HANDLE file = INVALID_HANDLE_VALUE;
+
UDataMemory_init(pData); /* Clear the output struct. */
/* open the input file */
#if U_PLATFORM_HAS_WINUWP_API == 0
- file=CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, NULL,
+ // Note: In the non-UWP code-path (ie: Win32), the value of the path variable might have come from
+ // the CRT 'getenv' function, and would be therefore be encoded in the default ANSI code page.
+ // This means that we can't call the *W version of API below, whereas in the UWP code-path
+ // there is no 'getenv' call, and thus the string will be only UTF-8/Invariant characters.
+ file=CreateFileA(path, GENERIC_READ, FILE_SHARE_READ, nullptr,
OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL|FILE_FLAG_RANDOM_ACCESS, NULL);
+ FILE_ATTRIBUTE_NORMAL|FILE_FLAG_RANDOM_ACCESS, nullptr);
#else
// Convert from UTF-8 string to UTF-16 string.
wchar_t utf16Path[MAX_PATH];
@@ -134,8 +158,9 @@
return FALSE;
}
- // TODO: Is it worth setting extended parameters to specify random access?
- file = CreateFile2(utf16Path, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, NULL);
+ file = CreateFileW(utf16Path, GENERIC_READ, FILE_SHARE_READ, nullptr,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, nullptr);
#endif
if (file == INVALID_HANDLE_VALUE) {
// If we failed to open the file due to an out-of-memory error, then we want
@@ -146,36 +171,13 @@
return FALSE;
}
- /* Declare and initialize a security descriptor.
- This is required for multiuser systems on Windows 2000 SP4 and beyond */
- // TODO: UWP does not have this function and I do not think it is required?
-#if U_PLATFORM_HAS_WINUWP_API == 0
-
- SECURITY_ATTRIBUTES mappingAttributes;
- SECURITY_ATTRIBUTES *mappingAttributesPtr = NULL;
- SECURITY_DESCRIPTOR securityDesc;
-
- if (InitializeSecurityDescriptor(&securityDesc, SECURITY_DESCRIPTOR_REVISION)) {
- /* give the security descriptor a Null Dacl done using the "TRUE, (PACL)NULL" here */
- if (SetSecurityDescriptorDacl(&securityDesc, TRUE, (PACL)NULL, FALSE)) {
- /* Make the security attributes point to the security descriptor */
- uprv_memset(&mappingAttributes, 0, sizeof(mappingAttributes));
- mappingAttributes.nLength = sizeof(mappingAttributes);
- mappingAttributes.lpSecurityDescriptor = &securityDesc;
- mappingAttributes.bInheritHandle = FALSE; /* object uninheritable */
- mappingAttributesPtr = &mappingAttributes;
- }
- }
- /* else creating security descriptors can fail when we are on Windows 98,
- and mappingAttributesPtr == NULL for that case. */
-
+ // Note: We use NULL/nullptr for lpAttributes parameter below.
+ // This means our handle cannot be inherited and we will get the default security descriptor.
/* create an unnamed Windows file-mapping object for the specified file */
- map=CreateFileMapping(file, mappingAttributesPtr, PAGE_READONLY, 0, 0, NULL);
-#else
- map = CreateFileMappingFromApp(file, NULL, PAGE_READONLY, 0, NULL);
-#endif
+ map = CreateFileMappingW(file, nullptr, PAGE_READONLY, 0, 0, nullptr);
+
CloseHandle(file);
- if (map == NULL) {
+ if (map == nullptr) {
// If we failed to create the mapping due to an out-of-memory error, then
// we want to report that error back to the caller.
if (HRESULT_FROM_WIN32(GetLastError()) == E_OUTOFMEMORY) {
@@ -185,22 +187,22 @@
}
/* map a view of the file into our address space */
- pData->pHeader=(const DataHeader *)MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0);
- if(pData->pHeader==NULL) {
+ pData->pHeader = reinterpret_cast(MapViewOfFile(map, FILE_MAP_READ, 0, 0, 0));
+ if (pData->pHeader == nullptr) {
CloseHandle(map);
return FALSE;
}
- pData->map=map;
+ pData->map = map;
return TRUE;
}
U_CFUNC void
uprv_unmapFile(UDataMemory *pData) {
- if(pData!=NULL && pData->map!=NULL) {
+ if (pData != nullptr && pData->map != nullptr) {
UnmapViewOfFile(pData->pHeader);
CloseHandle(pData->map);
- pData->pHeader=NULL;
- pData->map=NULL;
+ pData->pHeader = nullptr;
+ pData->map = nullptr;
}
}
@@ -255,13 +257,13 @@
U_CFUNC void
uprv_unmapFile(UDataMemory *pData) {
- if(pData!=NULL && pData->map!=NULL) {
+ if(pData!=nullptr && pData->map!=nullptr) {
size_t dataLen = (char *)pData->map - (char *)pData->mapAddr;
if(munmap(pData->mapAddr, dataLen)==-1) {
}
- pData->pHeader=NULL;
+ pData->pHeader=nullptr;
pData->map=0;
- pData->mapAddr=NULL;
+ pData->mapAddr=nullptr;
}
}
@@ -295,7 +297,7 @@
UDataMemory_init(pData); /* Clear the output struct. */
/* open the input file */
file=fopen(path, "rb");
- if(file==NULL) {
+ if(file==nullptr) {
return FALSE;
}
@@ -308,7 +310,7 @@
/* allocate the memory to hold the file data */
p=uprv_malloc(fileLength);
- if(p==NULL) {
+ if(p==nullptr) {
fclose(file);
*status = U_MEMORY_ALLOCATION_ERROR;
return FALSE;
@@ -330,11 +332,11 @@
U_CFUNC void
uprv_unmapFile(UDataMemory *pData) {
- if(pData!=NULL && pData->map!=NULL) {
+ if(pData!=nullptr && pData->map!=nullptr) {
uprv_free(pData->map);
- pData->map = NULL;
- pData->mapAddr = NULL;
- pData->pHeader = NULL;
+ pData->map = nullptr;
+ pData->mapAddr = nullptr;
+ pData->pHeader = nullptr;
}
}
@@ -397,7 +399,7 @@
* Copy the ICU_DATA path to the path buffer and return that*/
const char *icuDataDir;
icuDataDir=u_getDataDirectory();
- if(icuDataDir!=NULL && *icuDataDir!=0) {
+ if(icuDataDir!=nullptr && *icuDataDir!=0) {
return strcpy_returnEnd(pathBuffer, icuDataDir);
} else {
/* there is no icuDataDir either. Just return the empty pathBuffer. */
@@ -429,7 +431,7 @@
}
inBasename=uprv_strrchr(path, U_FILE_SEP_CHAR);
- if(inBasename==NULL) {
+ if(inBasename==nullptr) {
inBasename = path;
} else {
inBasename++;
@@ -494,7 +496,7 @@
fprintf(stderr, " -> %08X\n", handle );
# endif
- if(handle != NULL) {
+ if(handle != nullptr) {
/* we have a data DLL - what kind of lookup do we need here? */
/* try to find the Table of Contents */
UDataMemory_init(pData); /* Clear the output struct. */
@@ -515,11 +517,11 @@
}
U_CFUNC void uprv_unmapFile(UDataMemory *pData) {
- if(pData!=NULL && pData->map!=NULL) {
+ if(pData!=nullptr && pData->map!=nullptr) {
uprv_free(pData->map);
- pData->map = NULL;
- pData->mapAddr = NULL;
- pData->pHeader = NULL;
+ pData->map = nullptr;
+ pData->mapAddr = nullptr;
+ pData->pHeader = nullptr;
}
}
diff --git a/Build/source/libs/icu/icu-src/source/common/umutablecptrie.cpp b/Build/source/libs/icu/icu-src/source/common/umutablecptrie.cpp
index 40af4b6c16a..cdbe27080b4 100644
--- a/Build/source/libs/icu/icu-src/source/common/umutablecptrie.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/umutablecptrie.cpp
@@ -18,6 +18,11 @@
#include "uassert.h"
#include "ucptrie_impl.h"
+// ICU-20235 In case Microsoft math.h has defined this, undefine it.
+#ifdef OVERFLOW
+#undef OVERFLOW
+#endif
+
U_NAMESPACE_BEGIN
namespace {
@@ -60,6 +65,7 @@ constexpr uint8_t I3_18 = 3;
constexpr int32_t INDEX_3_18BIT_BLOCK_LENGTH = UCPTRIE_INDEX_3_BLOCK_LENGTH + UCPTRIE_INDEX_3_BLOCK_LENGTH / 8;
class AllSameBlocks;
+class MixedBlocks;
class MutableCodePointTrie : public UMemory {
public:
@@ -92,8 +98,10 @@ private:
void maskValues(uint32_t mask);
UChar32 findHighStart() const;
int32_t compactWholeDataBlocks(int32_t fastILimit, AllSameBlocks &allSameBlocks);
- int32_t compactData(int32_t fastILimit, uint32_t *newData, int32_t dataNullIndex);
- int32_t compactIndex(int32_t fastILimit, UErrorCode &errorCode);
+ int32_t compactData(
+ int32_t fastILimit, uint32_t *newData, int32_t newDataCapacity,
+ int32_t dataNullIndex, MixedBlocks &mixedBlocks, UErrorCode &errorCode);
+ int32_t compactIndex(int32_t fastILimit, MixedBlocks &mixedBlocks, UErrorCode &errorCode);
int32_t compactTrie(int32_t fastILimit, UErrorCode &errorCode);
uint32_t *index = nullptr;
@@ -301,41 +309,56 @@ UChar32 MutableCodePointTrie::getRange(
uint32_t nullValue = initialValue;
if (filter != nullptr) { nullValue = filter(context, nullValue); }
UChar32 c = start;
- uint32_t value;
+ uint32_t trieValue, value;
bool haveValue = false;
int32_t i = c >> UCPTRIE_SHIFT_3;
do {
if (flags[i] == ALL_SAME) {
- uint32_t value2 = maybeFilterValue(index[i], initialValue, nullValue,
- filter, context);
+ uint32_t trieValue2 = index[i];
if (haveValue) {
- if (value2 != value) {
- return c - 1;
+ if (trieValue2 != trieValue) {
+ if (filter == nullptr ||
+ maybeFilterValue(trieValue2, initialValue, nullValue,
+ filter, context) != value) {
+ return c - 1;
+ }
+ trieValue = trieValue2; // may or may not help
}
} else {
- value = value2;
+ trieValue = trieValue2;
+ value = maybeFilterValue(trieValue2, initialValue, nullValue, filter, context);
if (pValue != nullptr) { *pValue = value; }
haveValue = true;
}
c = (c + UCPTRIE_SMALL_DATA_BLOCK_LENGTH) & ~UCPTRIE_SMALL_DATA_MASK;
} else /* MIXED */ {
int32_t di = index[i] + (c & UCPTRIE_SMALL_DATA_MASK);
- uint32_t value2 = maybeFilterValue(data[di], initialValue, nullValue,
- filter, context);
+ uint32_t trieValue2 = data[di];
if (haveValue) {
- if (value2 != value) {
- return c - 1;
+ if (trieValue2 != trieValue) {
+ if (filter == nullptr ||
+ maybeFilterValue(trieValue2, initialValue, nullValue,
+ filter, context) != value) {
+ return c - 1;
+ }
+ trieValue = trieValue2; // may or may not help
}
} else {
- value = value2;
+ trieValue = trieValue2;
+ value = maybeFilterValue(trieValue2, initialValue, nullValue, filter, context);
if (pValue != nullptr) { *pValue = value; }
haveValue = true;
}
while ((++c & UCPTRIE_SMALL_DATA_MASK) != 0) {
- if (maybeFilterValue(data[++di], initialValue, nullValue,
- filter, context) != value) {
- return c - 1;
+ trieValue2 = data[++di];
+ if (trieValue2 != trieValue) {
+ if (filter == nullptr ||
+ maybeFilterValue(trieValue2, initialValue, nullValue,
+ filter, context) != value) {
+ return c - 1;
+ }
}
+ trieValue = trieValue2; // may or may not help
}
}
++i;
@@ -548,28 +571,8 @@ void MutableCodePointTrie::maskValues(uint32_t mask) {
}
}
-inline bool
-equalBlocks(const uint32_t *s, const uint32_t *t, int32_t length) {
- while (length > 0 && *s == *t) {
- ++s;
- ++t;
- --length;
- }
- return length == 0;
-}
-
-inline bool
-equalBlocks(const uint16_t *s, const uint32_t *t, int32_t length) {
- while (length > 0 && *s == *t) {
- ++s;
- ++t;
- --length;
- }
- return length == 0;
-}
-
-inline bool
-equalBlocks(const uint16_t *s, const uint16_t *t, int32_t length) {
+template
+bool equalBlocks(const UIntA *s, const UIntB *t, int32_t length) {
while (length > 0 && *s == *t) {
++s;
++t;
@@ -585,36 +588,6 @@ bool allValuesSameAs(const uint32_t *p, int32_t length, uint32_t value) {
}
/** Search for an identical block. */
-int32_t findSameBlock(const uint32_t *p, int32_t pStart, int32_t length,
- const uint32_t *q, int32_t qStart, int32_t blockLength) {
- // Ensure that we do not even partially get past length.
- length -= blockLength;
-
- q += qStart;
- while (pStart <= length) {
- if (equalBlocks(p + pStart, q, blockLength)) {
- return pStart;
- }
- ++pStart;
- }
- return -1;
-}
-
-int32_t findSameBlock(const uint16_t *p, int32_t pStart, int32_t length,
- const uint32_t *q, int32_t qStart, int32_t blockLength) {
- // Ensure that we do not even partially get past length.
- length -= blockLength;
-
- q += qStart;
- while (pStart <= length) {
- if (equalBlocks(p + pStart, q, blockLength)) {
- return pStart;
- }
- ++pStart;
- }
- return -1;
-}
-
int32_t findSameBlock(const uint16_t *p, int32_t pStart, int32_t length,
const uint16_t *q, int32_t qStart, int32_t blockLength) {
// Ensure that we do not even partially get past length.
@@ -655,30 +628,9 @@ int32_t findAllSameBlock(const uint32_t *p, int32_t start, int32_t limit,
* Look for maximum overlap of the beginning of the other block
* with the previous, adjacent block.
*/
-int32_t getOverlap(const uint32_t *p, int32_t length,
- const uint32_t *q, int32_t qStart, int32_t blockLength) {
- int32_t overlap = blockLength - 1;
- U_ASSERT(overlap <= length);
- q += qStart;
- while (overlap > 0 && !equalBlocks(p + (length - overlap), q, overlap)) {
- --overlap;
- }
- return overlap;
-}
-
-int32_t getOverlap(const uint16_t *p, int32_t length,
- const uint32_t *q, int32_t qStart, int32_t blockLength) {
- int32_t overlap = blockLength - 1;
- U_ASSERT(overlap <= length);
- q += qStart;
- while (overlap > 0 && !equalBlocks(p + (length - overlap), q, overlap)) {
- --overlap;
- }
- return overlap;
-}
-
-int32_t getOverlap(const uint16_t *p, int32_t length,
- const uint16_t *q, int32_t qStart, int32_t blockLength) {
+template
+int32_t getOverlap(const UIntA *p, int32_t length,
+ const UIntB *q, int32_t qStart, int32_t blockLength) {
int32_t overlap = blockLength - 1;
U_ASSERT(overlap <= length);
q += qStart;
@@ -807,6 +759,171 @@ private:
int32_t refCounts[CAPACITY];
};
+// Custom hash table for mixed-value blocks to be found anywhere in the
+// compacted data or index so far.
+class MixedBlocks {
+public:
+ MixedBlocks() {}
+ ~MixedBlocks() {
+ uprv_free(table);
+ }
+
+ bool init(int32_t maxLength, int32_t newBlockLength) {
+ // We store actual data indexes + 1 to reserve 0 for empty entries.
+ int32_t maxDataIndex = maxLength - newBlockLength + 1;
+ int32_t newLength;
+ if (maxDataIndex <= 0xfff) { // 4k
+ newLength = 6007;
+ shift = 12;
+ mask = 0xfff;
+ } else if (maxDataIndex <= 0x7fff) { // 32k
+ newLength = 50021;
+ shift = 15;
+ mask = 0x7fff;
+ } else if (maxDataIndex <= 0x1ffff) { // 128k
+ newLength = 200003;
+ shift = 17;
+ mask = 0x1ffff;
+ } else {
+ // maxDataIndex up to around MAX_DATA_LENGTH, ca. 1.1M
+ newLength = 1500007;
+ shift = 21;
+ mask = 0x1fffff;
+ }
+ if (newLength > capacity) {
+ uprv_free(table);
+ table = (uint32_t *)uprv_malloc(newLength * 4);
+ if (table == nullptr) {
+ return false;
+ }
+ capacity = newLength;
+ }
+ length = newLength;
+ uprv_memset(table, 0, length * 4);
+
+ blockLength = newBlockLength;
+ return true;
+ }
+
+ template
+ void extend(const UInt *data, int32_t minStart, int32_t prevDataLength, int32_t newDataLength) {
+ int32_t start = prevDataLength - blockLength;
+ if (start >= minStart) {
+ ++start; // Skip the last block that we added last time.
+ } else {
+ start = minStart; // Begin with the first full block.
+ }
+ for (int32_t end = newDataLength - blockLength; start <= end; ++start) {
+ uint32_t hashCode = makeHashCode(data, start);
+ addEntry(data, start, hashCode, start);
+ }
+ }
+
+ template
+ int32_t findBlock(const UIntA *data, const UIntB *blockData, int32_t blockStart) const {
+ uint32_t hashCode = makeHashCode(blockData, blockStart);
+ int32_t entryIndex = findEntry(data, blockData, blockStart, hashCode);
+ if (entryIndex >= 0) {
+ return (table[entryIndex] & mask) - 1;
+ } else {
+ return -1;
+ }
+ }
+
+ int32_t findAllSameBlock(const uint32_t *data, uint32_t blockValue) const {
+ uint32_t hashCode = makeHashCode(blockValue);
+ int32_t entryIndex = findEntry(data, blockValue, hashCode);
+ if (entryIndex >= 0) {
+ return (table[entryIndex] & mask) - 1;
+ } else {
+ return -1;
+ }
+ }
+
+private:
+ template
+ uint32_t makeHashCode(const UInt *blockData, int32_t blockStart) const {
+ int32_t blockLimit = blockStart + blockLength;
+ uint32_t hashCode = blockData[blockStart++];
+ do {
+ hashCode = 37 * hashCode + blockData[blockStart++];
+ } while (blockStart < blockLimit);
+ return hashCode;
+ }
+
+ uint32_t makeHashCode(uint32_t blockValue) const {
+ uint32_t hashCode = blockValue;
+ for (int32_t i = 1; i < blockLength; ++i) {
+ hashCode = 37 * hashCode + blockValue;
+ }
+ return hashCode;
+ }
+
+ template
+ void addEntry(const UInt *data, int32_t blockStart, uint32_t hashCode, int32_t dataIndex) {
+ U_ASSERT(0 <= dataIndex && dataIndex < (int32_t)mask);
+ int32_t entryIndex = findEntry(data, data, blockStart, hashCode);
+ if (entryIndex < 0) {
+ table[~entryIndex] = (hashCode << shift) | (dataIndex + 1);
+ }
+ }
+
+ template
+ int32_t findEntry(const UIntA *data, const UIntB *blockData, int32_t blockStart,
+ uint32_t hashCode) const {
+ uint32_t shiftedHashCode = hashCode << shift;
+ int32_t initialEntryIndex = (hashCode % (length - 1)) + 1; // 1..length-1
+ for (int32_t entryIndex = initialEntryIndex;;) {
+ uint32_t entry = table[entryIndex];
+ if (entry == 0) {
+ return ~entryIndex;
+ }
+ if ((entry & ~mask) == shiftedHashCode) {
+ int32_t dataIndex = (entry & mask) - 1;
+ if (equalBlocks(data + dataIndex, blockData + blockStart, blockLength)) {
+ return entryIndex;
+ }
+ }
+ entryIndex = nextIndex(initialEntryIndex, entryIndex);
+ }
+ }
+
+ int32_t findEntry(const uint32_t *data, uint32_t blockValue, uint32_t hashCode) const {
+ uint32_t shiftedHashCode = hashCode << shift;
+ int32_t initialEntryIndex = (hashCode % (length - 1)) + 1; // 1..length-1
+ for (int32_t entryIndex = initialEntryIndex;;) {
+ uint32_t entry = table[entryIndex];
+ if (entry == 0) {
+ return ~entryIndex;
+ }
+ if ((entry & ~mask) == shiftedHashCode) {
+ int32_t dataIndex = (entry & mask) - 1;
+ if (allValuesSameAs(data + dataIndex, blockLength, blockValue)) {
+ return entryIndex;
+ }
+ }
+ entryIndex = nextIndex(initialEntryIndex, entryIndex);
+ }
+ }
+
+ inline int32_t nextIndex(int32_t initialEntryIndex, int32_t entryIndex) const {
+ // U_ASSERT(0 < initialEntryIndex && initialEntryIndex < length);
+ return (entryIndex + initialEntryIndex) % length;
+ }
+
+ // Hash table.
+ // The length is a prime number, larger than the maximum data length.
+ // The "shift" lower bits store a data index + 1.
+ // The remaining upper bits store a partial hashCode of the block data values.
+ uint32_t *table = nullptr;
+ int32_t capacity = 0;
+ int32_t length = 0;
+ int32_t shift = 0;
+ uint32_t mask = 0;
+
+ int32_t blockLength = 0;
+};
+
int32_t MutableCodePointTrie::compactWholeDataBlocks(int32_t fastILimit, AllSameBlocks &allSameBlocks) {
#ifdef UCPTRIE_DEBUG
bool overflow = false;
@@ -962,8 +1079,9 @@ void printBlock(const uint32_t *block, int32_t blockLength, uint32_t value,
*
* It does not try to find an optimal order of writing, deduplicating, and overlapping blocks.
*/
-int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
- uint32_t *newData, int32_t dataNullIndex) {
+int32_t MutableCodePointTrie::compactData(
+ int32_t fastILimit, uint32_t *newData, int32_t newDataCapacity,
+ int32_t dataNullIndex, MixedBlocks &mixedBlocks, UErrorCode &errorCode) {
#ifdef UCPTRIE_DEBUG
int32_t countSame=0, sumOverlaps=0;
bool printData = dataLength == 29088 /* line.brk */ ||
@@ -983,8 +1101,14 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
#endif
}
- int32_t iLimit = highStart >> UCPTRIE_SHIFT_3;
int32_t blockLength = UCPTRIE_FAST_DATA_BLOCK_LENGTH;
+ if (!mixedBlocks.init(newDataCapacity, blockLength)) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return 0;
+ }
+ mixedBlocks.extend(newData, 0, 0, newDataLength);
+
+ int32_t iLimit = highStart >> UCPTRIE_SHIFT_3;
int32_t inc = SMALL_DATA_BLOCKS_PER_BMP_BLOCK;
int32_t fastLength = 0;
for (int32_t i = ASCII_I_LIMIT; i < iLimit; i += inc) {
@@ -992,12 +1116,17 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
blockLength = UCPTRIE_SMALL_DATA_BLOCK_LENGTH;
inc = 1;
fastLength = newDataLength;
+ if (!mixedBlocks.init(newDataCapacity, blockLength)) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return 0;
+ }
+ mixedBlocks.extend(newData, 0, 0, newDataLength);
}
if (flags[i] == ALL_SAME) {
uint32_t value = index[i];
- int32_t n;
// Find an earlier part of the data array of length blockLength
// that is filled with this value.
+ int32_t n = mixedBlocks.findAllSameBlock(newData, value);
// If we find a match, and the current block is the data null block,
// and it is not a fast block but matches the start of a fast block,
// then we need to continue looking.
@@ -1005,12 +1134,10 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
// and not all of the rest of the fast block is filled with this value.
// Otherwise trie.getRange() would detect that the fast block starts at
// dataNullOffset and assume incorrectly that it is filled with the null value.
- for (int32_t start = 0;
- (n = findAllSameBlock(newData, start, newDataLength,
- value, blockLength)) >= 0 &&
- i == dataNullIndex && i >= fastILimit && n < fastLength &&
- isStartOfSomeFastBlock(n, index, fastILimit);
- start = n + 1) {}
+ while (n >= 0 && i == dataNullIndex && i >= fastILimit && n < fastLength &&
+ isStartOfSomeFastBlock(n, index, fastILimit)) {
+ n = findAllSameBlock(newData, n + 1, newDataLength, value, blockLength);
+ }
if (n >= 0) {
DEBUG_DO(++countSame);
index[i] = n;
@@ -1023,14 +1150,16 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
}
#endif
index[i] = newDataLength - n;
+ int32_t prevDataLength = newDataLength;
while (n < blockLength) {
newData[newDataLength++] = value;
++n;
}
+ mixedBlocks.extend(newData, 0, prevDataLength, newDataLength);
}
} else if (flags[i] == MIXED) {
const uint32_t *block = data + index[i];
- int32_t n = findSameBlock(newData, 0, newDataLength, block, 0, blockLength);
+ int32_t n = mixedBlocks.findBlock(newData, block, 0);
if (n >= 0) {
DEBUG_DO(++countSame);
index[i] = n;
@@ -1043,9 +1172,11 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
}
#endif
index[i] = newDataLength - n;
+ int32_t prevDataLength = newDataLength;
while (n < blockLength) {
newData[newDataLength++] = block[n++];
}
+ mixedBlocks.extend(newData, 0, prevDataLength, newDataLength);
}
} else /* SAME_AS */ {
uint32_t j = index[i];
@@ -1061,7 +1192,8 @@ int32_t MutableCodePointTrie::compactData(int32_t fastILimit,
return newDataLength;
}
-int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &errorCode) {
+int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, MixedBlocks &mixedBlocks,
+ UErrorCode &errorCode) {
int32_t fastIndexLength = fastILimit >> (UCPTRIE_FAST_SHIFT - UCPTRIE_SHIFT_3);
if ((highStart >> UCPTRIE_FAST_SHIFT) <= fastIndexLength) {
// Only the linear fast index, no multi-stage index tables.
@@ -1095,6 +1227,12 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
}
}
+ if (!mixedBlocks.init(fastIndexLength, UCPTRIE_INDEX_3_BLOCK_LENGTH)) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return 0;
+ }
+ mixedBlocks.extend(fastIndex, 0, 0, fastIndexLength);
+
// Examine index-3 blocks. For each determine one of:
// - same as the index-3 null block
// - same as a fast-index block
@@ -1105,6 +1243,7 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
// Also determine an upper limit for the index-3 table length.
int32_t index3Capacity = 0;
i3FirstNull = index3NullOffset;
+ bool hasLongI3Blocks = false;
// If the fast index covers the whole BMP, then
// the multi-stage index is only for supplementary code points.
// Otherwise, the multi-stage index covers all of Unicode.
@@ -1129,13 +1268,13 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
index3Capacity += UCPTRIE_INDEX_3_BLOCK_LENGTH;
} else {
index3Capacity += INDEX_3_18BIT_BLOCK_LENGTH;
+ hasLongI3Blocks = true;
}
i3FirstNull = 0;
}
} else {
if (oredI3 <= 0xffff) {
- int32_t n = findSameBlock(fastIndex, 0, fastIndexLength,
- index, i, UCPTRIE_INDEX_3_BLOCK_LENGTH);
+ int32_t n = mixedBlocks.findBlock(fastIndex, index, i);
if (n >= 0) {
flags[i] = I3_BMP;
index[i] = n;
@@ -1146,6 +1285,7 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
} else {
flags[i] = I3_18;
index3Capacity += INDEX_3_18BIT_BLOCK_LENGTH;
+ hasLongI3Blocks = true;
}
}
i = j;
@@ -1166,6 +1306,18 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
}
uprv_memcpy(index16, fastIndex, fastIndexLength * 2);
+ if (!mixedBlocks.init(index16Capacity, UCPTRIE_INDEX_3_BLOCK_LENGTH)) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return 0;
+ }
+ MixedBlocks longI3Blocks;
+ if (hasLongI3Blocks) {
+ if (!longI3Blocks.init(index16Capacity, INDEX_3_18BIT_BLOCK_LENGTH)) {
+ errorCode = U_MEMORY_ALLOCATION_ERROR;
+ return 0;
+ }
+ }
+
// Compact the index-3 table and write an uncompacted version of the index-2 table.
uint16_t index2[UNICODE_LIMIT >> UCPTRIE_SHIFT_2]; // index2Capacity
int32_t i2Length = 0;
@@ -1185,8 +1337,7 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
} else if (f == I3_BMP) {
i3 = index[i];
} else if (f == I3_16) {
- int32_t n = findSameBlock(index16, index3Start, indexLength,
- index, i, UCPTRIE_INDEX_3_BLOCK_LENGTH);
+ int32_t n = mixedBlocks.findBlock(index16, index, i);
if (n >= 0) {
i3 = n;
} else {
@@ -1198,12 +1349,18 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
index, i, UCPTRIE_INDEX_3_BLOCK_LENGTH);
}
i3 = indexLength - n;
+ int32_t prevIndexLength = indexLength;
while (n < UCPTRIE_INDEX_3_BLOCK_LENGTH) {
index16[indexLength++] = index[i + n++];
}
+ mixedBlocks.extend(index16, index3Start, prevIndexLength, indexLength);
+ if (hasLongI3Blocks) {
+ longI3Blocks.extend(index16, index3Start, prevIndexLength, indexLength);
+ }
}
} else {
U_ASSERT(f == I3_18);
+ U_ASSERT(hasLongI3Blocks);
// Encode an index-3 block that contains one or more data indexes exceeding 16 bits.
int32_t j = i;
int32_t jLimit = i + UCPTRIE_INDEX_3_BLOCK_LENGTH;
@@ -1236,8 +1393,7 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
index16[k++] = v;
index16[k - 9] = upperBits;
} while (j < jLimit);
- int32_t n = findSameBlock(index16, index3Start, indexLength,
- index16, indexLength, INDEX_3_18BIT_BLOCK_LENGTH);
+ int32_t n = longI3Blocks.findBlock(index16, index16, indexLength);
if (n >= 0) {
i3 = n | 0x8000;
} else {
@@ -1249,6 +1405,7 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
index16, indexLength, INDEX_3_18BIT_BLOCK_LENGTH);
}
i3 = (indexLength - n) | 0x8000;
+ int32_t prevIndexLength = indexLength;
if (n > 0) {
int32_t start = indexLength;
while (n < INDEX_3_18BIT_BLOCK_LENGTH) {
@@ -1257,6 +1414,10 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
} else {
indexLength += INDEX_3_18BIT_BLOCK_LENGTH;
}
+ mixedBlocks.extend(index16, index3Start, prevIndexLength, indexLength);
+ if (hasLongI3Blocks) {
+ longI3Blocks.extend(index16, index3Start, prevIndexLength, indexLength);
+ }
}
}
if (index3NullOffset < 0 && i3FirstNull >= 0) {
@@ -1279,16 +1440,23 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
}
// Compact the index-2 table and write the index-1 table.
+ static_assert(UCPTRIE_INDEX_2_BLOCK_LENGTH == UCPTRIE_INDEX_3_BLOCK_LENGTH,
+ "must re-init mixedBlocks");
int32_t blockLength = UCPTRIE_INDEX_2_BLOCK_LENGTH;
int32_t i1 = fastIndexLength;
for (int32_t i = 0; i < i2Length; i += blockLength) {
- if ((i2Length - i) < blockLength) {
+ int32_t n;
+ if ((i2Length - i) >= blockLength) {
+ // normal block
+ U_ASSERT(blockLength == UCPTRIE_INDEX_2_BLOCK_LENGTH);
+ n = mixedBlocks.findBlock(index16, index2, i);
+ } else {
// highStart is inside the last index-2 block. Shorten it.
blockLength = i2Length - i;
+ n = findSameBlock(index16, index3Start, indexLength,
+ index2, i, blockLength);
}
int32_t i2;
- int32_t n = findSameBlock(index16, index3Start, indexLength,
- index2, i, blockLength);
if (n >= 0) {
i2 = n;
} else {
@@ -1299,9 +1467,11 @@ int32_t MutableCodePointTrie::compactIndex(int32_t fastILimit, UErrorCode &error
n = getOverlap(index16, indexLength, index2, i, blockLength);
}
i2 = indexLength - n;
+ int32_t prevIndexLength = indexLength;
while (n < blockLength) {
index16[indexLength++] = index2[i + n++];
}
+ mixedBlocks.extend(index16, index3Start, prevIndexLength, indexLength);
}
// Set the index-1 table entry.
index16[i1++] = i2;
@@ -1369,7 +1539,11 @@ int32_t MutableCodePointTrie::compactTrie(int32_t fastILimit, UErrorCode &errorC
uprv_memcpy(newData, asciiData, sizeof(asciiData));
int32_t dataNullIndex = allSameBlocks.findMostUsed();
- int32_t newDataLength = compactData(fastILimit, newData, dataNullIndex);
+
+ MixedBlocks mixedBlocks;
+ int32_t newDataLength = compactData(fastILimit, newData, newDataCapacity,
+ dataNullIndex, mixedBlocks, errorCode);
+ if (U_FAILURE(errorCode)) { return 0; }
U_ASSERT(newDataLength <= newDataCapacity);
uprv_free(data);
data = newData;
@@ -1394,7 +1568,7 @@ int32_t MutableCodePointTrie::compactTrie(int32_t fastILimit, UErrorCode &errorC
dataNullOffset = UCPTRIE_NO_DATA_NULL_OFFSET;
}
- int32_t indexLength = compactIndex(fastILimit, errorCode);
+ int32_t indexLength = compactIndex(fastILimit, mixedBlocks, errorCode);
highStart = realHighStart;
return indexLength;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/umutex.cpp b/Build/source/libs/icu/icu-src/source/common/umutex.cpp
index 29dbc90ec98..ccbee9960a3 100644
--- a/Build/source/libs/icu/icu-src/source/common/umutex.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/umutex.cpp
@@ -24,256 +24,142 @@
#include "unicode/utypes.h"
#include "uassert.h"
+#include "ucln_cmn.h"
#include "cmemory.h"
+U_NAMESPACE_BEGIN
-// The ICU global mutex. Used when ICU implementation code passes NULL for the mutex pointer.
-static UMutex globalMutex = U_MUTEX_INITIALIZER;
-
-/*
- * ICU Mutex wrappers. Wrap operating system mutexes, giving the rest of ICU a
- * platform independent set of mutex operations. For internal ICU use only.
- */
#if defined(U_USER_MUTEX_CPP)
-// Build time user mutex hook: #include "U_USER_MUTEX_CPP"
-#include U_MUTEX_XSTR(U_USER_MUTEX_CPP)
-
-#elif U_PLATFORM_USES_ONLY_WIN32_API
-
-#if defined U_NO_PLATFORM_ATOMICS
-#error ICU on Win32 requires support for low level atomic operations.
-// Visual Studio, gcc, clang are OK. Shouldn't get here.
+// Support for including an alternate implementation of mutexes has been withdrawn.
+// See issue ICU-20185.
+#error U_USER_MUTEX_CPP not supported
#endif
-// This function is called when a test of a UInitOnce::fState reveals that
-// initialization has not completed, that we either need to call the
-// function on this thread, or wait for some other thread to complete.
-//
-// The actual call to the init function is made inline by template code
-// that knows the C++ types involved. This function returns TRUE if
-// the caller needs to call the Init function.
-//
+/*************************************************************************************************
+ *
+ * ICU Mutex wrappers.
+ *
+ *************************************************************************************************/
-U_NAMESPACE_BEGIN
+namespace {
+std::mutex *initMutex;
+std::condition_variable *initCondition;
-U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &uio) {
- for (;;) {
- int32_t previousState = InterlockedCompareExchange(
- (LONG volatile *) // this is the type given in the API doc for this function.
- &uio.fState, // Destination
- 1, // Exchange Value
- 0); // Compare value
-
- if (previousState == 0) {
- return true; // Caller will next call the init function.
- // Current state == 1.
- } else if (previousState == 2) {
- // Another thread already completed the initialization.
- // We can simply return FALSE, indicating no
- // further action is needed by the caller.
- return FALSE;
- } else {
- // Another thread is currently running the initialization.
- // Wait until it completes.
- do {
- Sleep(1);
- previousState = umtx_loadAcquire(uio.fState);
- } while (previousState == 1);
- }
- }
-}
+// The ICU global mutex.
+// Used when ICU implementation code passes nullptr for the mutex pointer.
+UMutex globalMutex;
-// This function is called by the thread that ran an initialization function,
-// just after completing the function.
+std::once_flag initFlag;
+std::once_flag *pInitFlag = &initFlag;
-U_COMMON_API void U_EXPORT2 umtx_initImplPostInit(UInitOnce &uio) {
- umtx_storeRelease(uio.fState, 2);
-}
+} // Anonymous namespace
-U_NAMESPACE_END
+U_CDECL_BEGIN
+static UBool U_CALLCONV umtx_cleanup() {
+ initMutex->~mutex();
+ initCondition->~condition_variable();
+ UMutex::cleanup();
-static void winMutexInit(CRITICAL_SECTION *cs) {
- InitializeCriticalSection(cs);
- return;
+ // Reset the once_flag, by destructing it and creating a fresh one in its place.
+ // Do not use this trick anywhere else in ICU; use umtx_initOnce, not std::call_once().
+ pInitFlag->~once_flag();
+ pInitFlag = new(&initFlag) std::once_flag();
+ return true;
}
-U_CAPI void U_EXPORT2
-umtx_lock(UMutex *mutex) {
- if (mutex == NULL) {
- mutex = &globalMutex;
- }
- CRITICAL_SECTION *cs = &mutex->fCS;
- umtx_initOnce(mutex->fInitOnce, winMutexInit, cs);
- EnterCriticalSection(cs);
-}
-
-U_CAPI void U_EXPORT2
-umtx_unlock(UMutex* mutex)
-{
- if (mutex == NULL) {
- mutex = &globalMutex;
- }
- LeaveCriticalSection(&mutex->fCS);
+static void U_CALLCONV umtx_init() {
+ initMutex = STATIC_NEW(std::mutex);
+ initCondition = STATIC_NEW(std::condition_variable);
+ ucln_common_registerCleanup(UCLN_COMMON_MUTEX, umtx_cleanup);
}
+U_CDECL_END
-U_CAPI void U_EXPORT2
-umtx_condBroadcast(UConditionVar *condition) {
- // We require that the associated mutex be held by the caller,
- // so access to fWaitCount is protected and safe. No other thread can
- // call condWait() while we are here.
- if (condition->fWaitCount == 0) {
- return;
+std::mutex *UMutex::getMutex() {
+ std::mutex *retPtr = fMutex.load(std::memory_order_acquire);
+ if (retPtr == nullptr) {
+ std::call_once(*pInitFlag, umtx_init);
+ std::lock_guard guard(*initMutex);
+ retPtr = fMutex.load(std::memory_order_acquire);
+ if (retPtr == nullptr) {
+ fMutex = new(fStorage) std::mutex();
+ retPtr = fMutex;
+ fListLink = gListHead;
+ gListHead = this;
+ }
}
- ResetEvent(condition->fExitGate);
- SetEvent(condition->fEntryGate);
+ U_ASSERT(retPtr != nullptr);
+ return retPtr;
}
-U_CAPI void U_EXPORT2
-umtx_condSignal(UConditionVar * /* condition */) {
- // Function not implemented. There is no immediate requirement from ICU to have it.
- // Once ICU drops support for Windows XP and Server 2003, ICU Condition Variables will be
- // changed to be thin wrappers on native Windows CONDITION_VARIABLEs, and this function
- // becomes trivial to provide.
- U_ASSERT(FALSE);
-}
+UMutex *UMutex::gListHead = nullptr;
-U_CAPI void U_EXPORT2
-umtx_condWait(UConditionVar *condition, UMutex *mutex) {
- if (condition->fEntryGate == NULL) {
- // Note: because the associated mutex must be locked when calling
- // wait, we know that there can not be multiple threads
- // running here with the same condition variable.
- // Meaning that lazy initialization is safe.
- U_ASSERT(condition->fExitGate == NULL);
- condition->fEntryGate = CreateEvent(NULL, // Security Attributes
- TRUE, // Manual Reset
- FALSE, // Initially reset
- NULL); // Name.
- U_ASSERT(condition->fEntryGate != NULL);
- condition->fExitGate = CreateEvent(NULL, TRUE, TRUE, NULL);
- U_ASSERT(condition->fExitGate != NULL);
- }
-
- condition->fWaitCount++;
- umtx_unlock(mutex);
- WaitForSingleObject(condition->fEntryGate, INFINITE);
- umtx_lock(mutex);
- condition->fWaitCount--;
- if (condition->fWaitCount == 0) {
- // All threads that were waiting at the entry gate have woken up
- // and moved through. Shut the entry gate and open the exit gate.
- ResetEvent(condition->fEntryGate);
- SetEvent(condition->fExitGate);
- } else {
- umtx_unlock(mutex);
- WaitForSingleObject(condition->fExitGate, INFINITE);
- umtx_lock(mutex);
+void UMutex::cleanup() {
+ UMutex *next = nullptr;
+ for (UMutex *m = gListHead; m != nullptr; m = next) {
+ (*m->fMutex).~mutex();
+ m->fMutex = nullptr;
+ next = m->fListLink;
+ m->fListLink = nullptr;
}
+ gListHead = nullptr;
}
-#elif U_PLATFORM_IMPLEMENTS_POSIX
-
-//-------------------------------------------------------------------------------------------
-//
-// POSIX specific definitions
-//
-//-------------------------------------------------------------------------------------------
-
-# include
-
-// Each UMutex consists of a pthread_mutex_t.
-// All are statically initialized and ready for use.
-// There is no runtime mutex initialization code needed.
-
U_CAPI void U_EXPORT2
umtx_lock(UMutex *mutex) {
- if (mutex == NULL) {
+ if (mutex == nullptr) {
mutex = &globalMutex;
}
- int sysErr = pthread_mutex_lock(&mutex->fMutex);
- (void)sysErr; // Suppress unused variable warnings.
- U_ASSERT(sysErr == 0);
+ mutex->lock();
}
U_CAPI void U_EXPORT2
umtx_unlock(UMutex* mutex)
{
- if (mutex == NULL) {
- mutex = &globalMutex;
- }
- int sysErr = pthread_mutex_unlock(&mutex->fMutex);
- (void)sysErr; // Suppress unused variable warnings.
- U_ASSERT(sysErr == 0);
-}
-
-
-U_CAPI void U_EXPORT2
-umtx_condWait(UConditionVar *cond, UMutex *mutex) {
- if (mutex == NULL) {
+ if (mutex == nullptr) {
mutex = &globalMutex;
}
- int sysErr = pthread_cond_wait(&cond->fCondition, &mutex->fMutex);
- (void)sysErr;
- U_ASSERT(sysErr == 0);
+ mutex->unlock();
}
-U_CAPI void U_EXPORT2
-umtx_condBroadcast(UConditionVar *cond) {
- int sysErr = pthread_cond_broadcast(&cond->fCondition);
- (void)sysErr;
- U_ASSERT(sysErr == 0);
-}
-
-U_CAPI void U_EXPORT2
-umtx_condSignal(UConditionVar *cond) {
- int sysErr = pthread_cond_signal(&cond->fCondition);
- (void)sysErr;
- U_ASSERT(sysErr == 0);
-}
-
-
-
-U_NAMESPACE_BEGIN
-
-static pthread_mutex_t initMutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_cond_t initCondition = PTHREAD_COND_INITIALIZER;
+/*************************************************************************************************
+ *
+ * UInitOnce Implementation
+ *
+ *************************************************************************************************/
// This function is called when a test of a UInitOnce::fState reveals that
-// initialization has not completed, that we either need to call the
+// initialization has not completed, that we either need to call the init
// function on this thread, or wait for some other thread to complete.
//
// The actual call to the init function is made inline by template code
-// that knows the C++ types involved. This function returns TRUE if
+// that knows the C++ types involved. This function returns true if
// the caller needs to call the Init function.
//
U_COMMON_API UBool U_EXPORT2
umtx_initImplPreInit(UInitOnce &uio) {
- pthread_mutex_lock(&initMutex);
- int32_t state = uio.fState;
- if (state == 0) {
+ std::call_once(*pInitFlag, umtx_init);
+ std::unique_lock lock(*initMutex);
+ if (umtx_loadAcquire(uio.fState) == 0) {
umtx_storeRelease(uio.fState, 1);
- pthread_mutex_unlock(&initMutex);
- return TRUE; // Caller will next call the init function.
+ return true; // Caller will next call the init function.
} else {
- while (uio.fState == 1) {
+ while (umtx_loadAcquire(uio.fState) == 1) {
// Another thread is currently running the initialization.
// Wait until it completes.
- pthread_cond_wait(&initCondition, &initMutex);
+ initCondition->wait(lock);
}
- pthread_mutex_unlock(&initMutex);
U_ASSERT(uio.fState == 2);
- return FALSE;
+ return false;
}
}
-
// This function is called by the thread that ran an initialization function,
// just after completing the function.
// Some threads may be waiting on the condition, requiring the broadcast wakeup.
@@ -282,80 +168,20 @@ umtx_initImplPreInit(UInitOnce &uio) {
U_COMMON_API void U_EXPORT2
umtx_initImplPostInit(UInitOnce &uio) {
- pthread_mutex_lock(&initMutex);
- umtx_storeRelease(uio.fState, 2);
- pthread_cond_broadcast(&initCondition);
- pthread_mutex_unlock(&initMutex);
-}
-
-U_NAMESPACE_END
-
-// End of POSIX specific umutex implementation.
-
-#else // Platform #define chain.
-
-#error Unknown Platform
-
-#endif // Platform #define chain.
-
-
-//-------------------------------------------------------------------------------
-//
-// Atomic Operations, out-of-line versions.
-// These are conditional, only defined if better versions
-// were not available for the platform.
-//
-// These versions are platform neutral.
-//
-//--------------------------------------------------------------------------------
-
-#if defined U_NO_PLATFORM_ATOMICS
-static UMutex gIncDecMutex = U_MUTEX_INITIALIZER;
-
-U_NAMESPACE_BEGIN
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_atomic_inc(u_atomic_int32_t *p) {
- int32_t retVal;
- umtx_lock(&gIncDecMutex);
- retVal = ++(*p);
- umtx_unlock(&gIncDecMutex);
- return retVal;
-}
-
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_atomic_dec(u_atomic_int32_t *p) {
- int32_t retVal;
- umtx_lock(&gIncDecMutex);
- retVal = --(*p);
- umtx_unlock(&gIncDecMutex);
- return retVal;
-}
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_loadAcquire(u_atomic_int32_t &var) {
- umtx_lock(&gIncDecMutex);
- int32_t val = var;
- umtx_unlock(&gIncDecMutex);
- return val;
-}
-
-U_COMMON_API void U_EXPORT2
-umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
- umtx_lock(&gIncDecMutex);
- var = val;
- umtx_unlock(&gIncDecMutex);
+ {
+ std::unique_lock lock(*initMutex);
+ umtx_storeRelease(uio.fState, 2);
+ }
+ initCondition->notify_all();
}
U_NAMESPACE_END
-#endif
-//--------------------------------------------------------------------------
-//
-// Deprecated functions for setting user mutexes.
-//
-//--------------------------------------------------------------------------
+/*************************************************************************************************
+ *
+ * Deprecated functions for setting user mutexes.
+ *
+ *************************************************************************************************/
U_DEPRECATED void U_EXPORT2
u_setMutexFunctions(const void * /*context */, UMtxInitFn *, UMtxFn *,
diff --git a/Build/source/libs/icu/icu-src/source/common/umutex.h b/Build/source/libs/icu/icu-src/source/common/umutex.h
index 015a12f9634..2503aa4a291 100644
--- a/Build/source/libs/icu/icu-src/source/common/umutex.h
+++ b/Build/source/libs/icu/icu-src/source/common/umutex.h
@@ -20,48 +20,55 @@
#ifndef UMUTEX_H
#define UMUTEX_H
+#include
+#include
+#include
+#include
+
#include "unicode/utypes.h"
#include "unicode/uclean.h"
+#include "unicode/uobject.h"
+
#include "putilimp.h"
+#if defined(U_USER_ATOMICS_H) || defined(U_USER_MUTEX_H)
+// Support for including an alternate implementation of atomic & mutex operations has been withdrawn.
+// See issue ICU-20185.
+#error U_USER_ATOMICS and U_USER_MUTEX_H are not supported
+#endif
+// Export an explicit template instantiation of std::atomic.
+// When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class.
+// See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
+//
+// Similar story for std::atomic, and the exported UMutex class.
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN)
+#if defined(__clang__) || defined(_MSC_VER)
+ #if defined(__clang__)
+ // Suppress the warning that the explicit instantiation after explicit specialization has no effect.
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Winstantiation-after-specialization"
+ #endif
+template struct U_COMMON_API std::atomic;
+template struct U_COMMON_API std::atomic;
+ #if defined(__clang__)
+ #pragma clang diagnostic pop
+ #endif
+#elif defined(__GNUC__)
+// For GCC this class is already exported/visible, so no need for U_COMMON_API.
+template struct std::atomic;
+template struct std::atomic;
+#endif
+#endif
-// Forward Declarations. UMutex is not in the ICU namespace (yet) because
-// there are some remaining references from plain C.
-struct UMutex;
-struct UConditionVar;
U_NAMESPACE_BEGIN
-struct UInitOnce;
-U_NAMESPACE_END
-
-// Stringify macros, to allow #include of user supplied atomic & mutex files.
-#define U_MUTEX_STR(s) #s
-#define U_MUTEX_XSTR(s) U_MUTEX_STR(s)
/****************************************************************************
*
- * Low Level Atomic Operations.
- * Compiler dependent. Not operating system dependent.
+ * Low Level Atomic Operations, ICU wrappers for.
*
****************************************************************************/
-#if defined (U_USER_ATOMICS_H)
-#include U_MUTEX_XSTR(U_USER_ATOMICS_H)
-
-#elif U_HAVE_STD_ATOMICS
-
-// C++11 atomics are available.
-
-#include
-
-U_NAMESPACE_BEGIN
-
-// Export an explicit template instantiation of std::atomic.
-// When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class.
-// See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
-#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
-template struct U_COMMON_API std::atomic;
-#endif
typedef std::atomic u_atomic_int32_t;
#define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val)
@@ -81,155 +88,19 @@ inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) {
inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
return var->fetch_sub(1) - 1;
}
-U_NAMESPACE_END
-
-#elif U_PLATFORM_HAS_WIN32_API
-
-// MSVC compiler. Reads and writes of volatile variables have
-// acquire and release memory semantics, respectively.
-// This is a Microsoft extension, not standard C++ behavior.
-//
-// Update: can't use this because of MinGW, built with gcc.
-// Original plan was to use gcc atomics for MinGW, but they
-// aren't supported, so we fold MinGW into this path.
-
-#ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-#endif
-# define VC_EXTRALEAN
-# define NOUSER
-# define NOSERVICE
-# define NOIME
-# define NOMCX
-# ifndef NOMINMAX
-# define NOMINMAX
-# endif
-# include
-
-U_NAMESPACE_BEGIN
-typedef volatile LONG u_atomic_int32_t;
-#define ATOMIC_INT32_T_INITIALIZER(val) val
-
-inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) {
- return InterlockedCompareExchange(&var, 0, 0);
-}
-
-inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
- InterlockedExchange(&var, val);
-}
-
-
-inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) {
- return InterlockedIncrement(var);
-}
-
-inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
- return InterlockedDecrement(var);
-}
-U_NAMESPACE_END
-
-
-#elif U_HAVE_CLANG_ATOMICS
-/*
- * Clang __c11 atomic built-ins
- */
-
-U_NAMESPACE_BEGIN
-typedef _Atomic(int32_t) u_atomic_int32_t;
-#define ATOMIC_INT32_T_INITIALIZER(val) val
-
-inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) {
- return __c11_atomic_load(&var, __ATOMIC_ACQUIRE);
-}
-
-inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
- return __c11_atomic_store(&var, val, __ATOMIC_RELEASE);
-}
-
-inline int32_t umtx_atomic_inc(u_atomic_int32_t *var) {
- return __c11_atomic_fetch_add(var, 1, __ATOMIC_SEQ_CST) + 1;
-}
-
-inline int32_t umtx_atomic_dec(u_atomic_int32_t *var) {
- return __c11_atomic_fetch_sub(var, 1, __ATOMIC_SEQ_CST) - 1;
-}
-U_NAMESPACE_END
-
-
-#elif U_HAVE_GCC_ATOMICS
-/*
- * gcc atomic ops. These are available on several other compilers as well.
- */
-
-U_NAMESPACE_BEGIN
-typedef int32_t u_atomic_int32_t;
-#define ATOMIC_INT32_T_INITIALIZER(val) val
-
-inline int32_t umtx_loadAcquire(u_atomic_int32_t &var) {
- int32_t val = var;
- __sync_synchronize();
- return val;
-}
-
-inline void umtx_storeRelease(u_atomic_int32_t &var, int32_t val) {
- __sync_synchronize();
- var = val;
-}
-
-inline int32_t umtx_atomic_inc(u_atomic_int32_t *p) {
- return __sync_add_and_fetch(p, 1);
-}
-
-inline int32_t umtx_atomic_dec(u_atomic_int32_t *p) {
- return __sync_sub_and_fetch(p, 1);
-}
-U_NAMESPACE_END
-
-#else
-
-/*
- * Unknown Platform. Use out-of-line functions, which in turn use mutexes.
- * Slow but correct.
- */
-
-#define U_NO_PLATFORM_ATOMICS
-
-U_NAMESPACE_BEGIN
-typedef int32_t u_atomic_int32_t;
-#define ATOMIC_INT32_T_INITIALIZER(val) val
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_loadAcquire(u_atomic_int32_t &var);
-
-U_COMMON_API void U_EXPORT2
-umtx_storeRelease(u_atomic_int32_t &var, int32_t val);
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_atomic_inc(u_atomic_int32_t *p);
-
-U_COMMON_API int32_t U_EXPORT2
-umtx_atomic_dec(u_atomic_int32_t *p);
-
-U_NAMESPACE_END
-
-#endif /* Low Level Atomic Ops Platform Chain */
-
/*************************************************************************************************
*
* UInitOnce Definitions.
- * These are platform neutral.
*
*************************************************************************************************/
-U_NAMESPACE_BEGIN
-
struct UInitOnce {
u_atomic_int32_t fState;
UErrorCode fErrCode;
- void reset() {fState = 0;};
- UBool isReset() {return umtx_loadAcquire(fState) == 0;};
+ void reset() {fState = 0;}
+ UBool isReset() {return umtx_loadAcquire(fState) == 0;}
// Note: isReset() is used by service registration code.
// Thread safety of this usage needs review.
};
@@ -313,106 +184,78 @@ template void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)(T, UE
}
}
-U_NAMESPACE_END
-
-
+// UMutex should be constexpr-constructible, so that no initialization code
+// is run during startup.
+// This works on all C++ libraries except MS VS before VS2019.
+#if (defined(_CPPLIB_VER) && !defined(_MSVC_STL_VERSION)) || \
+ (defined(_MSVC_STL_VERSION) && _MSVC_STL_VERSION < 142)
+ // (VS std lib older than VS2017) || (VS std lib version < VS2019)
+# define UMUTEX_CONSTEXPR
+#else
+# define UMUTEX_CONSTEXPR constexpr
+#endif
-/*************************************************************************************************
+/**
+ * UMutex - ICU Mutex class.
*
- * Mutex Definitions. Platform Dependent, #if platform chain follows.
- * TODO: Add a C++11 version.
- * Need to convert all mutex using files to C++ first.
+ * This is the preferred Mutex class for use within ICU implementation code.
+ * It is a thin wrapper over C++ std::mutex, with these additions:
+ * - Static instances are safe, not triggering static construction or destruction,
+ * and the associated order of construction or destruction issues.
+ * - Plumbed into u_cleanup() for destructing the underlying std::mutex,
+ * which frees any OS level resources they may be holding.
*
- *************************************************************************************************/
-
-#if defined(U_USER_MUTEX_H)
-// #include "U_USER_MUTEX_H"
-#include U_MUTEX_XSTR(U_USER_MUTEX_H)
-
-#elif U_PLATFORM_USES_ONLY_WIN32_API
-
-/* For CRITICAL_SECTION */
-
-/*
- * Note: there is an earlier include of windows.h in this file, but it is in
- * different conditionals.
- * This one is needed if we are using C++11 for atomic ops, but
- * win32 APIs for Critical Sections.
- */
-
-#ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-#endif
-# define VC_EXTRALEAN
-# define NOUSER
-# define NOSERVICE
-# define NOIME
-# define NOMCX
-# ifndef NOMINMAX
-# define NOMINMAX
-# endif
-# include
-
-
-typedef struct UMutex {
- icu::UInitOnce fInitOnce;
- CRITICAL_SECTION fCS;
-} UMutex;
-
-/* Initializer for a static UMUTEX. Deliberately contains no value for the
- * CRITICAL_SECTION.
+ * Limitations:
+ * - Static or global instances only. Cannot be heap allocated. Cannot appear as a
+ * member of another class.
+ * - No condition variables or other advanced features. If needed, you will need to use
+ * std::mutex and std::condition_variable directly. For an example, see unifiedcache.cpp
+ *
+ * Typical Usage:
+ * static UMutex myMutex;
+ *
+ * {
+ * Mutex lock(myMutex);
+ * ... // Do stuff that is protected by myMutex;
+ * } // myMutex is released when lock goes out of scope.
*/
-#define U_MUTEX_INITIALIZER {U_INITONCE_INITIALIZER}
-
-struct UConditionVar {
- HANDLE fEntryGate;
- HANDLE fExitGate;
- int32_t fWaitCount;
-};
-#define U_CONDITION_INITIALIZER {NULL, NULL, 0}
-
+class U_COMMON_API UMutex {
+public:
+ UMUTEX_CONSTEXPR UMutex() {}
+ ~UMutex() = default;
+ UMutex(const UMutex &other) = delete;
+ UMutex &operator =(const UMutex &other) = delete;
+ void *operator new(size_t) = delete;
-#elif U_PLATFORM_IMPLEMENTS_POSIX
+ // requirements for C++ BasicLockable, allows UMutex to work with std::lock_guard
+ void lock() {
+ std::mutex *m = fMutex.load(std::memory_order_acquire);
+ if (m == nullptr) { m = getMutex(); }
+ m->lock();
+ }
+ void unlock() { fMutex.load(std::memory_order_relaxed)->unlock(); }
-/*
- * POSIX platform
- */
+ static void cleanup();
-#include
+private:
+ alignas(std::mutex) char fStorage[sizeof(std::mutex)] {};
+ std::atomic fMutex { nullptr };
-struct UMutex {
- pthread_mutex_t fMutex;
-};
-typedef struct UMutex UMutex;
-#define U_MUTEX_INITIALIZER {PTHREAD_MUTEX_INITIALIZER}
+ /** All initialized UMutexes are kept in a linked list, so that they can be found,
+ * and the underlying std::mutex destructed, by u_cleanup().
+ */
+ UMutex *fListLink { nullptr };
+ static UMutex *gListHead;
-struct UConditionVar {
- pthread_cond_t fCondition;
+ /** Out-of-line function to lazily initialize a UMutex on first use.
+ * Initial fast check is inline, in lock(). The returned value may never
+ * be nullptr.
+ */
+ std::mutex *getMutex();
};
-#define U_CONDITION_INITIALIZER {PTHREAD_COND_INITIALIZER}
-
-#else
-
-/*
- * Unknown platform type.
- * This is an error condition. ICU requires mutexes.
- */
-#error Unknown Platform.
-
-#endif
-
-
-
-/**************************************************************************************
- *
- * Mutex Implementation function declarations.
- * Declarations are platform neutral.
- * Implementations, in umutex.cpp, are platform specific.
- *
- ************************************************************************************/
/* Lock a mutex.
* @param mutex The given mutex to be locked. Pass NULL to specify
@@ -427,32 +270,8 @@ U_INTERNAL void U_EXPORT2 umtx_lock(UMutex* mutex);
*/
U_INTERNAL void U_EXPORT2 umtx_unlock (UMutex* mutex);
-/*
- * Wait on a condition variable.
- * The calling thread will unlock the mutex and wait on the condition variable.
- * The mutex must be locked by the calling thread when invoking this function.
- *
- * @param cond the condition variable to wait on.
- * @param mutex the associated mutex.
- */
-
-U_INTERNAL void U_EXPORT2 umtx_condWait(UConditionVar *cond, UMutex *mutex);
-
-/*
- * Broadcast wakeup of all threads waiting on a Condition.
- * The associated mutex must be locked by the calling thread when calling
- * this function; this is a temporary ICU restriction.
- *
- * @param cond the condition variable.
- */
-U_INTERNAL void U_EXPORT2 umtx_condBroadcast(UConditionVar *cond);
-
-/*
- * Signal a condition variable, waking up one waiting thread.
- * CAUTION: Do not use. Place holder only. Not implemented for Windows.
- */
-U_INTERNAL void U_EXPORT2 umtx_condSignal(UConditionVar *cond);
+U_NAMESPACE_END
#endif /* UMUTEX_H */
/*eof*/
diff --git a/Build/source/libs/icu/icu-src/source/common/unames.cpp b/Build/source/libs/icu/icu-src/source/common/unames.cpp
index 9c230dc93ee..cde8b5ad7e5 100644
--- a/Build/source/libs/icu/icu-src/source/common/unames.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/unames.cpp
@@ -212,13 +212,13 @@ isDataLoaded(UErrorCode *pErrorCode) {
return U_SUCCESS(*pErrorCode);
}
-#define WRITE_CHAR(buffer, bufferLength, bufferPos, c) { \
+#define WRITE_CHAR(buffer, bufferLength, bufferPos, c) UPRV_BLOCK_MACRO_BEGIN { \
if((bufferLength)>0) { \
*(buffer)++=c; \
--(bufferLength); \
} \
++(bufferPos); \
-}
+} UPRV_BLOCK_MACRO_END
#define U_ISO_COMMENT U_CHAR_NAME_CHOICE_COUNT
@@ -1526,7 +1526,7 @@ u_charFromName(UCharNameChoice nameChoice,
uint32_t i;
UChar32 cp = 0;
char c0;
- UChar32 error = 0xffff; /* Undefined, but use this for backwards compatibility. */
+ static constexpr UChar32 error = 0xffff; /* Undefined, but use this for backwards compatibility. */
if(pErrorCode==NULL || U_FAILURE(*pErrorCode)) {
return error;
@@ -1560,39 +1560,45 @@ u_charFromName(UCharNameChoice nameChoice,
/* try extended names first */
if (lower[0] == '<') {
- if (nameChoice == U_EXTENDED_CHAR_NAME) {
+ if (nameChoice == U_EXTENDED_CHAR_NAME && lower[--i] == '>') {
// Parse a string like "" where HHHH is a hex code point.
- if (lower[--i] == '>' && i >= 3 && lower[--i] != '-') {
- while (i >= 3 && lower[--i] != '-') {}
-
- if (i >= 2 && lower[i] == '-') {
- uint32_t cIdx;
-
- lower[i] = 0;
-
- for (++i; lower[i] != '>'; ++i) {
- if (lower[i] >= '0' && lower[i] <= '9') {
- cp = (cp << 4) + lower[i] - '0';
- } else if (lower[i] >= 'a' && lower[i] <= 'f') {
- cp = (cp << 4) + lower[i] - 'a' + 10;
- } else {
- *pErrorCode = U_ILLEGAL_CHAR_FOUND;
- return error;
- }
- }
+ uint32_t limit = i;
+ while (i >= 3 && lower[--i] != '-') {}
- /* Now validate the category name.
- We could use a binary search, or a trie, if
- we really wanted to. */
+ // There should be 1 to 8 hex digits.
+ int32_t hexLength = limit - (i + 1);
+ if (i >= 2 && lower[i] == '-' && 1 <= hexLength && hexLength <= 8) {
+ uint32_t cIdx;
- for (lower[i] = 0, cIdx = 0; cIdx < UPRV_LENGTHOF(charCatNames); ++cIdx) {
+ lower[i] = 0;
- if (!uprv_strcmp(lower + 1, charCatNames[cIdx])) {
- if (getCharCat(cp) == cIdx) {
- return cp;
- }
- break;
+ for (++i; i < limit; ++i) {
+ if (lower[i] >= '0' && lower[i] <= '9') {
+ cp = (cp << 4) + lower[i] - '0';
+ } else if (lower[i] >= 'a' && lower[i] <= 'f') {
+ cp = (cp << 4) + lower[i] - 'a' + 10;
+ } else {
+ *pErrorCode = U_ILLEGAL_CHAR_FOUND;
+ return error;
+ }
+ // Prevent signed-integer overflow and out-of-range code points.
+ if (cp > UCHAR_MAX_VALUE) {
+ *pErrorCode = U_ILLEGAL_CHAR_FOUND;
+ return error;
+ }
+ }
+
+ /* Now validate the category name.
+ We could use a binary search, or a trie, if
+ we really wanted to. */
+ uint8_t cat = getCharCat(cp);
+ for (lower[i] = 0, cIdx = 0; cIdx < UPRV_LENGTHOF(charCatNames); ++cIdx) {
+
+ if (!uprv_strcmp(lower + 1, charCatNames[cIdx])) {
+ if (cat == cIdx) {
+ return cp;
}
+ break;
}
}
}
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/appendable.h b/Build/source/libs/icu/icu-src/source/common/unicode/appendable.h
index 8512c2f3031..4beacaf6583 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/appendable.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/appendable.h
@@ -23,6 +23,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
U_NAMESPACE_BEGIN
@@ -231,4 +234,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __APPENDABLE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/brkiter.h b/Build/source/libs/icu/icu-src/source/common/unicode/brkiter.h
index 5faeedfa93e..b9444973454 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/brkiter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/brkiter.h
@@ -29,6 +29,10 @@
* \brief C++ API: Break Iterator.
*/
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#if UCONFIG_NO_BREAK_ITERATION
U_NAMESPACE_BEGIN
@@ -135,7 +139,7 @@ public:
* method which subclasses implement.
* @stable ICU 2.0
*/
- virtual BreakIterator* clone(void) const = 0;
+ virtual BreakIterator* clone() const = 0;
/**
* Return a polymorphic class ID for this object. Different subclasses
@@ -431,12 +435,13 @@ public:
static BreakIterator* U_EXPORT2
createSentenceInstance(const Locale& where, UErrorCode& status);
+#ifndef U_HIDE_DEPRECATED_API
/**
* Create BreakIterator for title-casing breaks using the specified locale
* Returns an instance of a BreakIterator implementing title breaks.
* The iterator returned locates title boundaries as described for
* Unicode 3.2 only. For Unicode 4.0 and above title boundary iteration,
- * please use Word Boundary iterator.{@link #createWordInstance }
+ * please use a word boundary iterator. See {@link #createWordInstance }.
*
* @param where the locale.
* @param status The error code.
@@ -451,10 +456,11 @@ public:
* used; neither the requested locale nor any of its fall back locales
* could be found.
* The caller owns the returned object and is responsible for deleting it.
- * @stable ICU 2.1
+ * @deprecated ICU 64 Use createWordInstance instead.
*/
static BreakIterator* U_EXPORT2
createTitleInstance(const Locale& where, UErrorCode& status);
+#endif /* U_HIDE_DEPRECATED_API */
/**
* Get the set of Locales for which TextBoundaries are installed.
@@ -491,6 +497,7 @@ public:
static UnicodeString& U_EXPORT2 getDisplayName(const Locale& objectLocale,
UnicodeString& name);
+#ifndef U_FORCE_HIDE_DEPRECATED_API
/**
* Deprecated functionality. Use clone() instead.
*
@@ -513,6 +520,7 @@ public:
virtual BreakIterator * createBufferClone(void *stackBuffer,
int32_t &BufferSize,
UErrorCode &status) = 0;
+#endif // U_FORCE_HIDE_DEPRECATED_API
#ifndef U_HIDE_DEPRECATED_API
@@ -656,5 +664,7 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // BRKITER_H
//eof
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/bytestream.h b/Build/source/libs/icu/icu-src/source/common/unicode/bytestream.h
index 493115f71c7..0d60492fe23 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/bytestream.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/bytestream.h
@@ -38,6 +38,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
#include "unicode/std_string.h"
@@ -267,4 +270,6 @@ class StringByteSink : public ByteSink {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __BYTESTREAM_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/bytestrie.h b/Build/source/libs/icu/icu-src/source/common/unicode/bytestrie.h
index c57b8ccfeb5..51405f64a10 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/bytestrie.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/bytestrie.h
@@ -23,6 +23,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/stringpiece.h"
#include "unicode/uobject.h"
#include "unicode/ustringtrie.h"
@@ -94,6 +97,41 @@ public:
return *this;
}
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Returns the state of this trie as a 64-bit integer.
+ * The state value is never 0.
+ *
+ * @return opaque state value
+ * @see resetToState64
+ * @draft ICU 65
+ */
+ uint64_t getState64() const {
+ return (static_cast(remainingMatchLength_ + 2) << kState64RemainingShift) |
+ (uint64_t)(pos_ - bytes_);
+ }
+
+ /**
+ * Resets this trie to the saved state.
+ * Unlike resetToState(State), the 64-bit state value
+ * must be from getState64() from the same trie object or
+ * from one initialized the exact same way.
+ * Because of no validation, this method is faster.
+ *
+ * @param state The opaque trie state value from getState64().
+ * @return *this
+ * @see getState64
+ * @see resetToState
+ * @see reset
+ * @draft ICU 65
+ */
+ BytesTrie &resetToState64(uint64_t state) {
+ remainingMatchLength_ = static_cast(state >> kState64RemainingShift) - 2;
+ pos_ = bytes_ + (state & kState64PosMask);
+ return *this;
+ }
+#endif /* U_HIDE_DRAFT_API */
+
/**
* BytesTrie state object, for saving a trie's current state
* and resetting the trie back to this state later.
@@ -502,6 +540,13 @@ private:
static const int32_t kMaxTwoByteDelta=((kMinThreeByteDeltaLead-kMinTwoByteDeltaLead)<<8)-1; // 0x2fff
static const int32_t kMaxThreeByteDelta=((kFourByteDeltaLead-kMinThreeByteDeltaLead)<<16)-1; // 0xdffff
+ // For getState64():
+ // The remainingMatchLength_ is -1..14=(kMaxLinearMatchLength=0x10)-2
+ // so we need at least 5 bits for that.
+ // We add 2 to store it as a positive value 1..16=kMaxLinearMatchLength.
+ static constexpr int32_t kState64RemainingShift = 59;
+ static constexpr uint64_t kState64PosMask = (UINT64_C(1) << kState64RemainingShift) - 1;
+
uint8_t *ownedArray_;
// Fixed value referencing the BytesTrie bytes.
@@ -517,4 +562,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __BYTESTRIE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/bytestriebuilder.h b/Build/source/libs/icu/icu-src/source/common/unicode/bytestriebuilder.h
index 2a1f28e6255..b98374bb8fd 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/bytestriebuilder.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/bytestriebuilder.h
@@ -23,6 +23,9 @@
#define __BYTESTRIEBUILDER_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/bytestrie.h"
#include "unicode/stringpiece.h"
#include "unicode/stringtriebuilder.h"
@@ -179,4 +182,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __BYTESTRIEBUILDER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/caniter.h b/Build/source/libs/icu/icu-src/source/common/unicode/caniter.h
index 9b21ba52d89..13e524ff6ad 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/caniter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/caniter.h
@@ -12,6 +12,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
#if !UCONFIG_NO_NORMALIZATION
#include "unicode/uobject.h"
@@ -207,4 +209,6 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_NORMALIZATION */
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/casemap.h b/Build/source/libs/icu/icu-src/source/common/unicode/casemap.h
index 477eb484d13..53af84fa74d 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/casemap.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/casemap.h
@@ -8,6 +8,9 @@
#define __CASEMAP_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/stringpiece.h"
#include "unicode/uobject.h"
@@ -489,4 +492,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __CASEMAP_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/char16ptr.h b/Build/source/libs/icu/icu-src/source/common/unicode/char16ptr.h
index a7c5f1a0c5e..c8a9ae6c35d 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/char16ptr.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/char16ptr.h
@@ -7,9 +7,12 @@
#ifndef __CHAR16PTR_H__
#define __CHAR16PTR_H__
-#include
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
+#include
+
/**
* \file
* \brief C++ API: char16_t pointer wrappers with
@@ -305,4 +308,6 @@ inline OldUChar *toOldUCharPtr(char16_t *p) {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __CHAR16PTR_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/chariter.h b/Build/source/libs/icu/icu-src/source/common/unicode/chariter.h
index 70d7a248833..db86f79e42e 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/chariter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/chariter.h
@@ -13,6 +13,9 @@
#define CHARITER_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
#include "unicode/unistr.h"
/**
@@ -377,7 +380,7 @@ public:
* @return a pointer to a new CharacterIterator
* @stable ICU 2.0
*/
- virtual CharacterIterator* clone(void) const = 0;
+ virtual CharacterIterator* clone() const = 0;
/**
* Sets the iterator to refer to the first code unit in its
@@ -725,4 +728,7 @@ CharacterIterator::getLength(void) const {
}
U_NAMESPACE_END
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/dbbi.h b/Build/source/libs/icu/icu-src/source/common/unicode/dbbi.h
index a2c3d7d7523..3de9cc38140 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/dbbi.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/dbbi.h
@@ -13,6 +13,10 @@
#ifndef DBBI_H
#define DBBI_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/rbbi.h"
#if !UCONFIG_NO_BREAK_ITERATION
@@ -39,4 +43,6 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/docmain.h b/Build/source/libs/icu/icu-src/source/common/unicode/docmain.h
index 6c2d9dcfb8b..704139a85ed 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/docmain.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/docmain.h
@@ -33,7 +33,7 @@
* then detailed member descriptions.
*
* C Programmers:
- * Use Module List or File Members
+ *
Use Module List or File Members
* to find a list of all the functions and constants.
* For example, to find BreakIterator functions you would click on
* File List,
@@ -99,7 +99,7 @@
*
*
* Codepage Conversion |
- * ucnv.h, ucnvsel.hb |
+ * ucnv.h, ucnvsel.h |
* C API |
*
*
@@ -115,7 +115,7 @@
*
* Locales |
* uloc.h |
- * icu::Locale |
+ * icu::Locale, icu::LocaleBuilder, icu::LocaleMatcher |
*
*
* Resource Bundles |
@@ -143,11 +143,16 @@
* icu::MessageFormat |
*
*
- * Number Formatting |
+ * Number Formatting (includes currency and unit formatting) |
* unumberformatter.h, unum.h |
* icu::number::NumberFormatter (ICU 60+) or icu::NumberFormat (older versions) |
*
*
+ * Number Range Formatting (includes currency and unit ranges) |
+ * (no C API) |
+ * icu::number::NumberRangeFormatter |
+ *
+ *
* Number Spellout (Rule Based Number Formatting) |
* unum.h (use UNUM_SPELLOUT) |
* icu::RuleBasedNumberFormat |
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/dtintrv.h b/Build/source/libs/icu/icu-src/source/common/unicode/dtintrv.h
index c3f1058c066..15e15c9d405 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/dtintrv.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/dtintrv.h
@@ -15,6 +15,9 @@
#define __DTINTRV_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -22,7 +25,6 @@
* \brief C++ API: Date Interval data type
*/
-
U_NAMESPACE_BEGIN
@@ -53,14 +55,14 @@ public:
* @return the from date in dateInterval.
* @stable ICU 4.0
*/
- UDate getFromDate() const;
+ inline UDate getFromDate() const;
/**
* Get the to date.
* @return the to date in dateInterval.
* @stable ICU 4.0
*/
- UDate getToDate() const;
+ inline UDate getToDate() const;
/**
@@ -114,7 +116,7 @@ public:
* @return TRUE if the two DateIntervals are not the same
* @stable ICU 4.0
*/
- UBool operator!=(const DateInterval& other) const;
+ inline UBool operator!=(const DateInterval& other) const;
/**
@@ -157,4 +159,6 @@ DateInterval::operator!=(const DateInterval& other) const {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/edits.h b/Build/source/libs/icu/icu-src/source/common/unicode/edits.h
index 79e98b0cc27..c3ceaccb3b3 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/edits.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/edits.h
@@ -8,6 +8,9 @@
#define __EDITS_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -159,7 +162,7 @@ public:
* @return TRUE if U_FAILURE(outErrorCode)
* @stable ICU 59
*/
- UBool copyErrorTo(UErrorCode &outErrorCode);
+ UBool copyErrorTo(UErrorCode &outErrorCode) const;
/**
* How much longer is the new text compared with the old text?
@@ -523,4 +526,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __EDITS_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/errorcode.h b/Build/source/libs/icu/icu-src/source/common/unicode/errorcode.h
index 81cad207452..fe7b5183232 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/errorcode.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/errorcode.h
@@ -26,6 +26,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
U_NAMESPACE_BEGIN
@@ -136,4 +139,6 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __ERRORCODE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/filteredbrk.h b/Build/source/libs/icu/icu-src/source/common/unicode/filteredbrk.h
index 2444114e9a1..42936763259 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/filteredbrk.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/filteredbrk.h
@@ -11,6 +11,9 @@
#define FILTEREDBRK_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/brkiter.h"
#if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
@@ -101,6 +104,7 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
*/
virtual UBool unsuppressBreakAfter(const UnicodeString& string, UErrorCode& status) = 0;
+#ifndef U_FORCE_HIDE_DEPRECATED_API
/**
* This function has been deprecated in favor of wrapIteratorWithFilter()
* The behavior is identical.
@@ -111,6 +115,7 @@ class U_COMMON_API FilteredBreakIteratorBuilder : public UObject {
* @see wrapBreakIteratorWithFilter()
*/
virtual BreakIterator *build(BreakIterator* adoptBreakIterator, UErrorCode& status) = 0;
+#endif // U_FORCE_HIDE_DEPRECATED_API
/**
* Wrap (adopt) an existing break iterator in a new filtered instance.
@@ -142,4 +147,6 @@ U_NAMESPACE_END
#endif // #if !UCONFIG_NO_BREAK_ITERATION && !UCONFIG_NO_FILTERED_BREAK_ITERATION
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // #ifndef FILTEREDBRK_H
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/idna.h b/Build/source/libs/icu/icu-src/source/common/unicode/idna.h
index f08658e502e..6dfcfe48db2 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/idna.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/idna.h
@@ -24,6 +24,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
#if !UCONFIG_NO_IDNA
#include "unicode/bytestream.h"
@@ -322,4 +324,7 @@ private:
U_NAMESPACE_END
#endif // UCONFIG_NO_IDNA
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __IDNA_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/localebuilder.h b/Build/source/libs/icu/icu-src/source/common/unicode/localebuilder.h
new file mode 100644
index 00000000000..19e10f1c070
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/localebuilder.h
@@ -0,0 +1,315 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+#ifndef __LOCALEBUILDER_H__
+#define __LOCALEBUILDER_H__
+
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
+#include "unicode/locid.h"
+#include "unicode/localematcher.h"
+#include "unicode/stringpiece.h"
+#include "unicode/uobject.h"
+
+#ifndef U_HIDE_DRAFT_API
+/**
+ * \file
+ * \brief C++ API: Builder API for Locale
+ */
+
+U_NAMESPACE_BEGIN
+class CharString;
+
+/**
+ * LocaleBuilder
is used to build instances of Locale
+ * from values configured by the setters. Unlike the Locale
+ * constructors, the LocaleBuilder
checks if a value configured by a
+ * setter satisfies the syntax requirements defined by the Locale
+ * class. A Locale
object created by a LocaleBuilder
is
+ * well-formed and can be transformed to a well-formed IETF BCP 47 language tag
+ * without losing information.
+ *
+ * The following example shows how to create a Locale
object
+ * with the LocaleBuilder
.
+ *
+ *
+ * UErrorCode status = U_ZERO_ERROR;
+ * Locale aLocale = LocaleBuilder()
+ * .setLanguage("sr")
+ * .setScript("Latn")
+ * .setRegion("RS")
+ * .build(status);
+ * if (U_SUCCESS(status)) {
+ * // ...
+ * }
+ *
+ *
+ *
+ * LocaleBuilders can be reused; clear()
resets all
+ * fields to their default values.
+ *
+ *
LocaleBuilder tracks errors in an internal UErrorCode. For all setters,
+ * except setLanguageTag and setLocale, LocaleBuilder will return immediately
+ * if the internal UErrorCode is in error state.
+ * To reset internal state and error code, call clear method.
+ * The setLanguageTag and setLocale method will first clear the internal
+ * UErrorCode, then track the error of the validation of the input parameter
+ * into the internal UErrorCode.
+ *
+ * @draft ICU 64
+ */
+class U_COMMON_API LocaleBuilder : public UObject {
+public:
+ /**
+ * Constructs an empty LocaleBuilder. The default value of all
+ * fields, extensions, and private use information is the
+ * empty string.
+ *
+ * @draft ICU 64
+ */
+ LocaleBuilder();
+
+ /**
+ * Destructor
+ * @draft ICU 64
+ */
+ virtual ~LocaleBuilder();
+
+ /**
+ * Resets the LocaleBuilder
to match the provided
+ * locale
. Existing state is discarded.
+ *
+ *
All fields of the locale must be well-formed.
+ *
This method clears the internal UErrorCode.
+ *
+ * @param locale the locale
+ * @return This builder.
+ *
+ * @draft ICU 64
+ */
+ LocaleBuilder& setLocale(const Locale& locale);
+
+ /**
+ * Resets the LocaleBuilder to match the provided
+ * [Unicode Locale Identifier](http://www.unicode.org/reports/tr35/tr35.html#unicode_locale_id) .
+ * Discards the existing state. the empty string cause the builder to be
+ * reset, like {@link #clear}. Grandfathered tags are converted to their
+ * canonical form before being processed. Otherwise, the language
+ * tag
must be well-formed, or else the build() method will later
+ * report an U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
This method clears the internal UErrorCode.
+ *
+ * @param tag the language tag, defined as
+ * [unicode_locale_id](http://www.unicode.org/reports/tr35/tr35.html#unicode_locale_id).
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setLanguageTag(StringPiece tag);
+
+ /**
+ * Sets the language. If language
is the empty string, the
+ * language in this LocaleBuilder
is removed. Otherwise, the
+ * language
must be well-formed, or else the build() method will
+ * later report an U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
The syntax of language value is defined as
+ * [unicode_language_subtag](http://www.unicode.org/reports/tr35/tr35.html#unicode_language_subtag).
+ *
+ * @param language the language
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setLanguage(StringPiece language);
+
+ /**
+ * Sets the script. If script
is the empty string, the script in
+ * this LocaleBuilder
is removed.
+ * Otherwise, the script
must be well-formed, or else the build()
+ * method will later report an U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
The script value is a four-letter script code as
+ * [unicode_script_subtag](http://www.unicode.org/reports/tr35/tr35.html#unicode_script_subtag)
+ * defined by ISO 15924
+ *
+ * @param script the script
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setScript(StringPiece script);
+
+ /**
+ * Sets the region. If region is the empty string, the region in this
+ * LocaleBuilder
is removed. Otherwise, the region
+ * must be well-formed, or else the build() method will later report an
+ * U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
The region value is defined by
+ * [unicode_region_subtag](http://www.unicode.org/reports/tr35/tr35.html#unicode_region_subtag)
+ * as a two-letter ISO 3166 code or a three-digit UN M.49 area code.
+ *
+ *
The region value in the Locale
created by the
+ * LocaleBuilder
is always normalized to upper case.
+ *
+ * @param region the region
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setRegion(StringPiece region);
+
+ /**
+ * Sets the variant. If variant is the empty string, the variant in this
+ * LocaleBuilder
is removed. Otherwise, the variant
+ * must be well-formed, or else the build() method will later report an
+ * U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
Note: This method checks if variant
+ * satisfies the
+ * [unicode_variant_subtag](http://www.unicode.org/reports/tr35/tr35.html#unicode_variant_subtag)
+ * syntax requirements, and normalizes the value to lowercase letters. However,
+ * the Locale
class does not impose any syntactic
+ * restriction on variant. To set an ill-formed variant, use a Locale constructor.
+ * If there are multiple unicode_variant_subtag, the caller must concatenate
+ * them with '-' as separator (ex: "foobar-fibar").
+ *
+ * @param variant the variant
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setVariant(StringPiece variant);
+
+ /**
+ * Sets the extension for the given key. If the value is the empty string,
+ * the extension is removed. Otherwise, the key
and
+ * value
must be well-formed, or else the build() method will
+ * later report an U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
Note: The key ('u') is used for the Unicode locale extension.
+ * Setting a value for this key replaces any existing Unicode locale key/type
+ * pairs with those defined in the extension.
+ *
+ *
Note: The key ('x') is used for the private use code. To be
+ * well-formed, the value for this key needs only to have subtags of one to
+ * eight alphanumeric characters, not two to eight as in the general case.
+ *
+ * @param key the extension key
+ * @param value the extension value
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setExtension(char key, StringPiece value);
+
+ /**
+ * Sets the Unicode locale keyword type for the given key. If the type
+ * StringPiece is constructed with a nullptr, the keyword is removed.
+ * If the type is the empty string, the keyword is set without type subtags.
+ * Otherwise, the key and type must be well-formed, or else the build()
+ * method will later report an U_ILLEGAL_ARGUMENT_ERROR.
+ *
+ *
Keys and types are converted to lower case.
+ *
+ *
Note:Setting the 'u' extension via {@link #setExtension}
+ * replaces all Unicode locale keywords with those defined in the
+ * extension.
+ *
+ * @param key the Unicode locale key
+ * @param type the Unicode locale type
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& setUnicodeLocaleKeyword(
+ StringPiece key, StringPiece type);
+
+ /**
+ * Adds a unicode locale attribute, if not already present, otherwise
+ * has no effect. The attribute must not be empty string and must be
+ * well-formed or U_ILLEGAL_ARGUMENT_ERROR will be set to status
+ * during the build() call.
+ *
+ * @param attribute the attribute
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& addUnicodeLocaleAttribute(StringPiece attribute);
+
+ /**
+ * Removes a unicode locale attribute, if present, otherwise has no
+ * effect. The attribute must not be empty string and must be well-formed
+ * or U_ILLEGAL_ARGUMENT_ERROR will be set to status during the build() call.
+ *
+ *
Attribute comparison for removal is case-insensitive.
+ *
+ * @param attribute the attribute
+ * @return This builder.
+ * @draft ICU 64
+ */
+ LocaleBuilder& removeUnicodeLocaleAttribute(StringPiece attribute);
+
+ /**
+ * Resets the builder to its initial, empty state.
+ *
This method clears the internal UErrorCode.
+ *
+ * @return this builder
+ * @draft ICU 64
+ */
+ LocaleBuilder& clear();
+
+ /**
+ * Resets the extensions to their initial, empty state.
+ * Language, script, region and variant are unchanged.
+ *
+ * @return this builder
+ * @draft ICU 64
+ */
+ LocaleBuilder& clearExtensions();
+
+ /**
+ * Returns an instance of Locale
created from the fields set
+ * on this builder.
+ * If any set methods or during the build() call require memory allocation
+ * but fail U_MEMORY_ALLOCATION_ERROR will be set to status.
+ * If any of the fields set by the setters are not well-formed, the status
+ * will be set to U_ILLEGAL_ARGUMENT_ERROR. The state of the builder will
+ * not change after the build() call and the caller is free to keep using
+ * the same builder to build more locales.
+ *
+ * @return a new Locale
+ * @draft ICU 64
+ */
+ Locale build(UErrorCode& status);
+
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Sets the UErrorCode if an error occurred while recording sets.
+ * Preserves older error codes in the outErrorCode.
+ * @param outErrorCode Set to an error code that occurred while setting subtags.
+ * Unchanged if there is no such error or if outErrorCode
+ * already contained an error.
+ * @return TRUE if U_FAILURE(outErrorCode)
+ * @draft ICU 65
+ */
+ UBool copyErrorTo(UErrorCode &outErrorCode) const;
+#endif /* U_HIDE_DRAFT_API */
+
+private:
+ friend class LocaleMatcher::Result;
+
+ void copyExtensionsFrom(const Locale& src, UErrorCode& errorCode);
+
+ UErrorCode status_;
+ char language_[9];
+ char script_[5];
+ char region_[4];
+ CharString *variant_; // Pointer not object so we need not #include internal charstr.h.
+ icu::Locale *extensions_; // Pointer not object. Storage for all other fields.
+
+};
+
+U_NAMESPACE_END
+
+#endif // U_HIDE_DRAFT_API
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
+#endif // __LOCALEBUILDER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/localematcher.h b/Build/source/libs/icu/icu-src/source/common/unicode/localematcher.h
new file mode 100644
index 00000000000..701123f750b
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/localematcher.h
@@ -0,0 +1,605 @@
+// © 2019 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html#License
+
+// localematcher.h
+// created: 2019may08 Markus W. Scherer
+
+#ifndef __LOCALEMATCHER_H__
+#define __LOCALEMATCHER_H__
+
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
+#include "unicode/locid.h"
+#include "unicode/stringpiece.h"
+#include "unicode/uobject.h"
+
+/**
+ * \file
+ * \brief C++ API: Locale matcher: User's desired locales vs. application's supported locales.
+ */
+
+#ifndef U_HIDE_DRAFT_API
+
+/**
+ * Builder option for whether the language subtag or the script subtag is most important.
+ *
+ * @see Builder#setFavorSubtag(FavorSubtag)
+ * @draft ICU 65
+ */
+enum ULocMatchFavorSubtag {
+ /**
+ * Language differences are most important, then script differences, then region differences.
+ * (This is the default behavior.)
+ *
+ * @draft ICU 65
+ */
+ ULOCMATCH_FAVOR_LANGUAGE,
+ /**
+ * Makes script differences matter relatively more than language differences.
+ *
+ * @draft ICU 65
+ */
+ ULOCMATCH_FAVOR_SCRIPT
+};
+#ifndef U_IN_DOXYGEN
+typedef enum ULocMatchFavorSubtag ULocMatchFavorSubtag;
+#endif
+
+/**
+ * Builder option for whether all desired locales are treated equally or
+ * earlier ones are preferred.
+ *
+ * @see Builder#setDemotionPerDesiredLocale(Demotion)
+ * @draft ICU 65
+ */
+enum ULocMatchDemotion {
+ /**
+ * All desired locales are treated equally.
+ *
+ * @draft ICU 65
+ */
+ ULOCMATCH_DEMOTION_NONE,
+ /**
+ * Earlier desired locales are preferred.
+ *
+ *
From each desired locale to the next,
+ * the distance to any supported locale is increased by an additional amount
+ * which is at least as large as most region mismatches.
+ * A later desired locale has to have a better match with some supported locale
+ * due to more than merely having the same region subtag.
+ *
+ *
For example: Supported={en, sv} desired=[en-GB, sv]
+ * yields Result(en-GB, en)
because
+ * with the demotion of sv its perfect match is no better than
+ * the region distance between the earlier desired locale en-GB and en=en-US.
+ *
+ *
Notes:
+ *
+ * - In some cases, language and/or script differences can be as small as
+ * the typical region difference. (Example: sr-Latn vs. sr-Cyrl)
+ *
- It is possible for certain region differences to be larger than usual,
+ * and larger than the demotion.
+ * (As of CLDR 35 there is no such case, but
+ * this is possible in future versions of the data.)
+ *
+ *
+ * @draft ICU 65
+ */
+ ULOCMATCH_DEMOTION_REGION
+};
+#ifndef U_IN_DOXYGEN
+typedef enum ULocMatchDemotion ULocMatchDemotion;
+#endif
+
+struct UHashtable;
+
+U_NAMESPACE_BEGIN
+
+struct LSR;
+
+class LocaleDistance;
+class LocaleLsrIterator;
+class UVector;
+class XLikelySubtags;
+
+/**
+ * Immutable class that picks the best match between a user's desired locales and
+ * an application's supported locales.
+ * Movable but not copyable.
+ *
+ * Example:
+ *
+ * UErrorCode errorCode = U_ZERO_ERROR;
+ * LocaleMatcher matcher = LocaleMatcher::Builder().setSupportedLocales("fr, en-GB, en").build(errorCode);
+ * Locale *bestSupported = matcher.getBestLocale(Locale.US, errorCode); // "en"
+ *
+ *
+ * A matcher takes into account when languages are close to one another,
+ * such as Danish and Norwegian,
+ * and when regional variants are close, like en-GB and en-AU as opposed to en-US.
+ *
+ *
If there are multiple supported locales with the same (language, script, region)
+ * likely subtags, then the current implementation returns the first of those locales.
+ * It ignores variant subtags (except for pseudolocale variants) and extensions.
+ * This may change in future versions.
+ *
+ *
For example, the current implementation does not distinguish between
+ * de, de-DE, de-Latn, de-1901, de-u-co-phonebk.
+ *
+ *
If you prefer one equivalent locale over another, then provide only the preferred one,
+ * or place it earlier in the list of supported locales.
+ *
+ *
Otherwise, the order of supported locales may have no effect on the best-match results.
+ * The current implementation compares each desired locale with supported locales
+ * in the following order:
+ * 1. Default locale, if supported;
+ * 2. CLDR "paradigm locales" like en-GB and es-419;
+ * 3. other supported locales.
+ * This may change in future versions.
+ *
+ *
Often a product will just need one matcher instance, built with the languages
+ * that it supports. However, it may want multiple instances with different
+ * default languages based on additional information, such as the domain.
+ *
+ *
This class is not intended for public subclassing.
+ *
+ * @draft ICU 65
+ */
+class U_COMMON_API LocaleMatcher : public UMemory {
+public:
+ /**
+ * Data for the best-matching pair of a desired and a supported locale.
+ * Movable but not copyable.
+ *
+ * @draft ICU 65
+ */
+ class U_COMMON_API Result : public UMemory {
+ public:
+ /**
+ * Move constructor; might modify the source.
+ * This object will have the same contents that the source object had.
+ *
+ * @param src Result to move contents from.
+ * @draft ICU 65
+ */
+ Result(Result &&src) U_NOEXCEPT;
+
+ /**
+ * Destructor.
+ *
+ * @draft ICU 65
+ */
+ ~Result();
+
+ /**
+ * Move assignment; might modify the source.
+ * This object will have the same contents that the source object had.
+ *
+ * @param src Result to move contents from.
+ * @draft ICU 65
+ */
+ Result &operator=(Result &&src) U_NOEXCEPT;
+
+ /**
+ * Returns the best-matching desired locale.
+ * nullptr if the list of desired locales is empty or if none matched well enough.
+ *
+ * @return the best-matching desired locale, or nullptr.
+ * @draft ICU 65
+ */
+ inline const Locale *getDesiredLocale() const { return desiredLocale; }
+
+ /**
+ * Returns the best-matching supported locale.
+ * If none matched well enough, this is the default locale.
+ * The default locale is nullptr if the list of supported locales is empty and
+ * no explicit default locale is set.
+ *
+ * @return the best-matching supported locale, or nullptr.
+ * @draft ICU 65
+ */
+ inline const Locale *getSupportedLocale() const { return supportedLocale; }
+
+ /**
+ * Returns the index of the best-matching desired locale in the input Iterable order.
+ * -1 if the list of desired locales is empty or if none matched well enough.
+ *
+ * @return the index of the best-matching desired locale, or -1.
+ * @draft ICU 65
+ */
+ inline int32_t getDesiredIndex() const { return desiredIndex; }
+
+ /**
+ * Returns the index of the best-matching supported locale in the
+ * constructor’s or builder’s input order (“set” Collection plus “added” locales).
+ * If the matcher was built from a locale list string, then the iteration order is that
+ * of a LocalePriorityList built from the same string.
+ * -1 if the list of supported locales is empty or if none matched well enough.
+ *
+ * @return the index of the best-matching supported locale, or -1.
+ * @draft ICU 65
+ */
+ inline int32_t getSupportedIndex() const { return supportedIndex; }
+
+ /**
+ * Takes the best-matching supported locale and adds relevant fields of the
+ * best-matching desired locale, such as the -t- and -u- extensions.
+ * May replace some fields of the supported locale.
+ * The result is the locale that should be used for date and number formatting, collation, etc.
+ * Returns the root locale if getSupportedLocale() returns nullptr.
+ *
+ *
Example: desired=ar-SA-u-nu-latn, supported=ar-EG, resolved locale=ar-SA-u-nu-latn
+ *
+ * @return a locale combining the best-matching desired and supported locales.
+ * @draft ICU 65
+ */
+ Locale makeResolvedLocale(UErrorCode &errorCode) const;
+
+ private:
+ Result(const Locale *desired, const Locale *supported,
+ int32_t desIndex, int32_t suppIndex, UBool owned) :
+ desiredLocale(desired), supportedLocale(supported),
+ desiredIndex(desIndex), supportedIndex(suppIndex),
+ desiredIsOwned(owned) {}
+
+ Result(const Result &other) = delete;
+ Result &operator=(const Result &other) = delete;
+
+ const Locale *desiredLocale;
+ const Locale *supportedLocale;
+ int32_t desiredIndex;
+ int32_t supportedIndex;
+ UBool desiredIsOwned;
+
+ friend class LocaleMatcher;
+ };
+
+ /**
+ * LocaleMatcher builder.
+ * Movable but not copyable.
+ *
+ * @see LocaleMatcher#builder()
+ * @draft ICU 65
+ */
+ class U_COMMON_API Builder : public UMemory {
+ public:
+ /**
+ * Constructs a builder used in chaining parameters for building a LocaleMatcher.
+ *
+ * @return a new Builder object
+ * @draft ICU 65
+ */
+ Builder() {}
+
+ /**
+ * Move constructor; might modify the source.
+ * This builder will have the same contents that the source builder had.
+ *
+ * @param src Builder to move contents from.
+ * @draft ICU 65
+ */
+ Builder(Builder &&src) U_NOEXCEPT;
+
+ /**
+ * Destructor.
+ *
+ * @draft ICU 65
+ */
+ ~Builder();
+
+ /**
+ * Move assignment; might modify the source.
+ * This builder will have the same contents that the source builder had.
+ *
+ * @param src Builder to move contents from.
+ * @draft ICU 65
+ */
+ Builder &operator=(Builder &&src) U_NOEXCEPT;
+
+ /**
+ * Parses an Accept-Language string
+ * (RFC 2616 Section 14.4),
+ * such as "af, en, fr;q=0.9", and sets the supported locales accordingly.
+ * Allows whitespace in more places but does not allow "*".
+ * Clears any previously set/added supported locales first.
+ *
+ * @param locales the Accept-Language string of locales to set
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &setSupportedLocalesFromListString(StringPiece locales);
+
+ /**
+ * Copies the supported locales, preserving iteration order.
+ * Clears any previously set/added supported locales first.
+ * Duplicates are allowed, and are not removed.
+ *
+ * @param locales the list of locale
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &setSupportedLocales(Locale::Iterator &locales);
+
+ /**
+ * Copies the supported locales from the begin/end range, preserving iteration order.
+ * Clears any previously set/added supported locales first.
+ * Duplicates are allowed, and are not removed.
+ *
+ * Each of the iterator parameter values must be an
+ * input iterator whose value is convertible to const Locale &.
+ *
+ * @param begin Start of range.
+ * @param end Exclusive end of range.
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ template
+ Builder &setSupportedLocales(Iter begin, Iter end) {
+ if (U_FAILURE(errorCode_)) { return *this; }
+ clearSupportedLocales();
+ while (begin != end) {
+ addSupportedLocale(*begin++);
+ }
+ return *this;
+ }
+
+ /**
+ * Copies the supported locales from the begin/end range, preserving iteration order.
+ * Calls the converter to convert each *begin to a Locale or const Locale &.
+ * Clears any previously set/added supported locales first.
+ * Duplicates are allowed, and are not removed.
+ *
+ * Each of the iterator parameter values must be an
+ * input iterator whose value is convertible to const Locale &.
+ *
+ * @param begin Start of range.
+ * @param end Exclusive end of range.
+ * @param converter Converter from *begin to const Locale & or compatible.
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ template
+ Builder &setSupportedLocalesViaConverter(Iter begin, Iter end, Conv converter) {
+ if (U_FAILURE(errorCode_)) { return *this; }
+ clearSupportedLocales();
+ while (begin != end) {
+ addSupportedLocale(converter(*begin++));
+ }
+ return *this;
+ }
+
+ /**
+ * Adds another supported locale.
+ * Duplicates are allowed, and are not removed.
+ *
+ * @param locale another locale
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &addSupportedLocale(const Locale &locale);
+
+ /**
+ * Sets the default locale; if nullptr, or if it is not set explicitly,
+ * then the first supported locale is used as the default locale.
+ *
+ * @param defaultLocale the default locale (will be copied)
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &setDefaultLocale(const Locale *defaultLocale);
+
+ /**
+ * If ULOCMATCH_FAVOR_SCRIPT, then the language differences are smaller than script
+ * differences.
+ * This is used in situations (such as maps) where
+ * it is better to fall back to the same script than a similar language.
+ *
+ * @param subtag the subtag to favor
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &setFavorSubtag(ULocMatchFavorSubtag subtag);
+
+ /**
+ * Option for whether all desired locales are treated equally or
+ * earlier ones are preferred (this is the default).
+ *
+ * @param demotion the demotion per desired locale to set.
+ * @return this Builder object
+ * @draft ICU 65
+ */
+ Builder &setDemotionPerDesiredLocale(ULocMatchDemotion demotion);
+
+ /**
+ * Sets the UErrorCode if an error occurred while setting parameters.
+ * Preserves older error codes in the outErrorCode.
+ *
+ * @param outErrorCode Set to an error code if it does not contain one already
+ * and an error occurred while setting parameters.
+ * Otherwise unchanged.
+ * @return TRUE if U_FAILURE(outErrorCode)
+ * @draft ICU 65
+ */
+ UBool copyErrorTo(UErrorCode &outErrorCode) const;
+
+ /**
+ * Builds and returns a new locale matcher.
+ * This builder can continue to be used.
+ *
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return new LocaleMatcher.
+ * @draft ICU 65
+ */
+ LocaleMatcher build(UErrorCode &errorCode) const;
+
+ private:
+ friend class LocaleMatcher;
+
+ Builder(const Builder &other) = delete;
+ Builder &operator=(const Builder &other) = delete;
+
+ void clearSupportedLocales();
+ bool ensureSupportedLocaleVector();
+
+ UErrorCode errorCode_ = U_ZERO_ERROR;
+ UVector *supportedLocales_ = nullptr;
+ int32_t thresholdDistance_ = -1;
+ ULocMatchDemotion demotion_ = ULOCMATCH_DEMOTION_REGION;
+ Locale *defaultLocale_ = nullptr;
+ ULocMatchFavorSubtag favor_ = ULOCMATCH_FAVOR_LANGUAGE;
+ };
+
+ // FYI No public LocaleMatcher constructors in C++; use the Builder.
+
+ /**
+ * Move copy constructor; might modify the source.
+ * This matcher will have the same settings that the source matcher had.
+ * @param src source matcher
+ * @draft ICU 65
+ */
+ LocaleMatcher(LocaleMatcher &&src) U_NOEXCEPT;
+
+ /**
+ * Destructor.
+ * @draft ICU 65
+ */
+ ~LocaleMatcher();
+
+ /**
+ * Move assignment operator; might modify the source.
+ * This matcher will have the same settings that the source matcher had.
+ * The behavior is undefined if *this and src are the same object.
+ * @param src source matcher
+ * @return *this
+ * @draft ICU 65
+ */
+ LocaleMatcher &operator=(LocaleMatcher &&src) U_NOEXCEPT;
+
+ /**
+ * Returns the supported locale which best matches the desired locale.
+ *
+ * @param desiredLocale Typically a user's language.
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return the best-matching supported locale.
+ * @draft ICU 65
+ */
+ const Locale *getBestMatch(const Locale &desiredLocale, UErrorCode &errorCode) const;
+
+ /**
+ * Returns the supported locale which best matches one of the desired locales.
+ *
+ * @param desiredLocales Typically a user's languages, in order of preference (descending).
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return the best-matching supported locale.
+ * @draft ICU 65
+ */
+ const Locale *getBestMatch(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const;
+
+ /**
+ * Parses an Accept-Language string
+ * (RFC 2616 Section 14.4),
+ * such as "af, en, fr;q=0.9",
+ * and returns the supported locale which best matches one of the desired locales.
+ * Allows whitespace in more places but does not allow "*".
+ *
+ * @param desiredLocaleList Typically a user's languages, as an Accept-Language string.
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return the best-matching supported locale.
+ * @draft ICU 65
+ */
+ const Locale *getBestMatchForListString(StringPiece desiredLocaleList, UErrorCode &errorCode) const;
+
+ /**
+ * Returns the best match between the desired locale and the supported locales.
+ * If the result's desired locale is not nullptr, then it is the address of the input locale.
+ * It has not been cloned.
+ *
+ * @param desiredLocale Typically a user's language.
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return the best-matching pair of the desired and a supported locale.
+ * @draft ICU 65
+ */
+ Result getBestMatchResult(const Locale &desiredLocale, UErrorCode &errorCode) const;
+
+ /**
+ * Returns the best match between the desired and supported locales.
+ * If the result's desired locale is not nullptr, then it is a clone of
+ * the best-matching desired locale. The Result object owns the clone.
+ *
+ * @param desiredLocales Typically a user's languages, in order of preference (descending).
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return the best-matching pair of a desired and a supported locale.
+ * @draft ICU 65
+ */
+ Result getBestMatchResult(Locale::Iterator &desiredLocales, UErrorCode &errorCode) const;
+
+#ifndef U_HIDE_INTERNAL_API
+ /**
+ * Returns a fraction between 0 and 1, where 1 means that the languages are a
+ * perfect match, and 0 means that they are completely different.
+ *
+ * This is mostly an implementation detail, and the precise values may change over time.
+ * The implementation may use either the maximized forms or the others ones, or both.
+ * The implementation may or may not rely on the forms to be consistent with each other.
+ *
+ *
Callers should construct and use a matcher rather than match pairs of locales directly.
+ *
+ * @param desired Desired locale.
+ * @param supported Supported locale.
+ * @param errorCode ICU error code. Its input value must pass the U_SUCCESS() test,
+ * or else the function returns immediately. Check for U_FAILURE()
+ * on output or use with function chaining. (See User Guide for details.)
+ * @return value between 0 and 1, inclusive.
+ * @internal (has a known user)
+ */
+ double internalMatch(const Locale &desired, const Locale &supported, UErrorCode &errorCode) const;
+#endif // U_HIDE_INTERNAL_API
+
+private:
+ LocaleMatcher(const Builder &builder, UErrorCode &errorCode);
+ LocaleMatcher(const LocaleMatcher &other) = delete;
+ LocaleMatcher &operator=(const LocaleMatcher &other) = delete;
+
+ int32_t getBestSuppIndex(LSR desiredLSR, LocaleLsrIterator *remainingIter, UErrorCode &errorCode) const;
+
+ const XLikelySubtags &likelySubtags;
+ const LocaleDistance &localeDistance;
+ int32_t thresholdDistance;
+ int32_t demotionPerDesiredLocale;
+ ULocMatchFavorSubtag favorSubtag;
+
+ // These are in input order.
+ const Locale ** supportedLocales;
+ LSR *lsrs;
+ int32_t supportedLocalesLength;
+ // These are in preference order: 1. Default locale 2. paradigm locales 3. others.
+ UHashtable *supportedLsrToIndex; // Map stores index+1 because 0 is "not found"
+ // Array versions of the supportedLsrToIndex keys and values.
+ // The distance lookup loops over the supportedLSRs and returns the index of the best match.
+ const LSR **supportedLSRs;
+ int32_t *supportedIndexes;
+ int32_t supportedLSRsLength;
+ Locale *ownedDefaultLocale;
+ const Locale *defaultLocale;
+ int32_t defaultLocaleIndex;
+};
+
+U_NAMESPACE_END
+
+#endif // U_HIDE_DRAFT_API
+#endif // U_SHOW_CPLUSPLUS_API
+#endif // __LOCALEMATCHER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/localpointer.h b/Build/source/libs/icu/icu-src/source/common/unicode/localpointer.h
index e17ee3d886e..e011688b1a5 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/localpointer.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/localpointer.h
@@ -42,6 +42,8 @@
#if U_SHOW_CPLUSPLUS_API
+#include
+
U_NAMESPACE_BEGIN
/**
@@ -65,6 +67,13 @@ U_NAMESPACE_BEGIN
template
class LocalPointerBase {
public:
+ // No heap allocation. Use only on the stack.
+ static void* U_EXPORT2 operator new(size_t) = delete;
+ static void* U_EXPORT2 operator new[](size_t) = delete;
+#if U_HAVE_PLACEMENT_NEW
+ static void* U_EXPORT2 operator new(size_t, void*) = delete;
+#endif
+
/**
* Constructor takes ownership.
* @param p simple pointer to an object that is adopted
@@ -158,12 +167,6 @@ private:
// No ownership sharing: No copy constructor, no assignment operator.
LocalPointerBase(const LocalPointerBase &other);
void operator=(const LocalPointerBase &other);
- // No heap allocation. Use only on the stack.
- static void * U_EXPORT2 operator new(size_t size);
- static void * U_EXPORT2 operator new[](size_t size);
-#if U_HAVE_PLACEMENT_NEW
- static void * U_EXPORT2 operator new(size_t, void *ptr);
-#endif
};
/**
@@ -221,6 +224,22 @@ public:
LocalPointer(LocalPointer &&src) U_NOEXCEPT : LocalPointerBase(src.ptr) {
src.ptr=NULL;
}
+
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Constructs a LocalPointer from a C++11 std::unique_ptr.
+ * The LocalPointer steals the object owned by the std::unique_ptr.
+ *
+ * This constructor works via move semantics. If your std::unique_ptr is
+ * in a local variable, you must use std::move.
+ *
+ * @param p The std::unique_ptr from which the pointer will be stolen.
+ * @draft ICU 64
+ */
+ explicit LocalPointer(std::unique_ptr &&p)
+ : LocalPointerBase(p.release()) {}
+#endif /* U_HIDE_DRAFT_API */
+
/**
* Destructor deletes the object it owns.
* @stable ICU 4.4
@@ -236,24 +255,27 @@ public:
* @stable ICU 56
*/
LocalPointer &operator=(LocalPointer &&src) U_NOEXCEPT {
- return moveFrom(src);
+ delete LocalPointerBase::ptr;
+ LocalPointerBase::ptr=src.ptr;
+ src.ptr=NULL;
+ return *this;
}
- // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API
+
+#ifndef U_HIDE_DRAFT_API
/**
- * Move assignment, leaves src with isNull().
- * The behavior is undefined if *this and src are the same object.
+ * Move-assign from an std::unique_ptr to this LocalPointer.
+ * Steals the pointer from the std::unique_ptr.
*
- * Can be called explicitly, does not need C++11 support.
- * @param src source smart pointer
+ * @param p The std::unique_ptr from which the pointer will be stolen.
* @return *this
- * @draft ICU 56
+ * @draft ICU 64
*/
- LocalPointer &moveFrom(LocalPointer &src) U_NOEXCEPT {
- delete LocalPointerBase::ptr;
- LocalPointerBase::ptr=src.ptr;
- src.ptr=NULL;
+ LocalPointer &operator=(std::unique_ptr &&p) U_NOEXCEPT {
+ adoptInstead(p.release());
return *this;
}
+#endif /* U_HIDE_DRAFT_API */
+
/**
* Swap pointers.
* @param other other smart pointer
@@ -309,6 +331,23 @@ public:
delete p;
}
}
+
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Conversion operator to a C++11 std::unique_ptr.
+ * Disowns the object and gives it to the returned std::unique_ptr.
+ *
+ * This operator works via move semantics. If your LocalPointer is
+ * in a local variable, you must use std::move.
+ *
+ * @return An std::unique_ptr owning the pointer previously owned by this
+ * icu::LocalPointer.
+ * @draft ICU 64
+ */
+ operator std::unique_ptr () && {
+ return std::unique_ptr(LocalPointerBase::orphan());
+ }
+#endif /* U_HIDE_DRAFT_API */
};
/**
@@ -366,6 +405,22 @@ public:
LocalArray(LocalArray &&src) U_NOEXCEPT : LocalPointerBase(src.ptr) {
src.ptr=NULL;
}
+
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Constructs a LocalArray from a C++11 std::unique_ptr of an array type.
+ * The LocalPointer steals the array owned by the std::unique_ptr.
+ *
+ * This constructor works via move semantics. If your std::unique_ptr is
+ * in a local variable, you must use std::move.
+ *
+ * @param p The std::unique_ptr from which the array will be stolen.
+ * @draft ICU 64
+ */
+ explicit LocalArray(std::unique_ptr &&p)
+ : LocalPointerBase(p.release()) {}
+#endif /* U_HIDE_DRAFT_API */
+
/**
* Destructor deletes the array it owns.
* @stable ICU 4.4
@@ -381,24 +436,27 @@ public:
* @stable ICU 56
*/
LocalArray &operator=(LocalArray &&src) U_NOEXCEPT {
- return moveFrom(src);
+ delete[] LocalPointerBase::ptr;
+ LocalPointerBase::ptr=src.ptr;
+ src.ptr=NULL;
+ return *this;
}
- // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API
+
+#ifndef U_HIDE_DRAFT_API
/**
- * Move assignment, leaves src with isNull().
- * The behavior is undefined if *this and src are the same object.
+ * Move-assign from an std::unique_ptr to this LocalPointer.
+ * Steals the array from the std::unique_ptr.
*
- * Can be called explicitly, does not need C++11 support.
- * @param src source smart pointer
+ * @param p The std::unique_ptr from which the array will be stolen.
* @return *this
- * @draft ICU 56
+ * @draft ICU 64
*/
- LocalArray &moveFrom(LocalArray &src) U_NOEXCEPT {
- delete[] LocalPointerBase::ptr;
- LocalPointerBase::ptr=src.ptr;
- src.ptr=NULL;
+ LocalArray &operator=(std::unique_ptr &&p) U_NOEXCEPT {
+ adoptInstead(p.release());
return *this;
}
+#endif /* U_HIDE_DRAFT_API */
+
/**
* Swap pointers.
* @param other other smart pointer
@@ -462,6 +520,23 @@ public:
* @stable ICU 4.4
*/
T &operator[](ptrdiff_t i) const { return LocalPointerBase::ptr[i]; }
+
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Conversion operator to a C++11 std::unique_ptr.
+ * Disowns the object and gives it to the returned std::unique_ptr.
+ *
+ * This operator works via move semantics. If your LocalPointer is
+ * in a local variable, you must use std::move.
+ *
+ * @return An std::unique_ptr owning the pointer previously owned by this
+ * icu::LocalPointer.
+ * @draft ICU 64
+ */
+ operator std::unique_ptr () && {
+ return std::unique_ptr(LocalPointerBase::orphan());
+ }
+#endif /* U_HIDE_DRAFT_API */
};
/**
@@ -494,16 +569,21 @@ public:
: LocalPointerBase(src.ptr) { \
src.ptr=NULL; \
} \
+ /* TODO: Be agnostic of the deleter function signature from the user-provided std::unique_ptr? */ \
+ explicit LocalPointerClassName(std::unique_ptr &&p) \
+ : LocalPointerBase(p.release()) {} \
~LocalPointerClassName() { if (ptr != NULL) { closeFunction(ptr); } } \
LocalPointerClassName &operator=(LocalPointerClassName &&src) U_NOEXCEPT { \
- return moveFrom(src); \
- } \
- LocalPointerClassName &moveFrom(LocalPointerClassName &src) U_NOEXCEPT { \
if (ptr != NULL) { closeFunction(ptr); } \
LocalPointerBase::ptr=src.ptr; \
src.ptr=NULL; \
return *this; \
} \
+ /* TODO: Be agnostic of the deleter function signature from the user-provided std::unique_ptr? */ \
+ LocalPointerClassName &operator=(std::unique_ptr &&p) { \
+ adoptInstead(p.release()); \
+ return *this; \
+ } \
void swap(LocalPointerClassName &other) U_NOEXCEPT { \
Type *temp=LocalPointerBase::ptr; \
LocalPointerBase::ptr=other.ptr; \
@@ -516,6 +596,9 @@ public:
if (ptr != NULL) { closeFunction(ptr); } \
ptr=p; \
} \
+ operator std::unique_ptr () && { \
+ return std::unique_ptr(LocalPointerBase::orphan(), closeFunction); \
+ } \
}
U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/locdspnm.h b/Build/source/libs/icu/icu-src/source/common/unicode/locdspnm.h
index 7f227829b4c..4f06f857044 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/locdspnm.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/locdspnm.h
@@ -12,6 +12,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
/**
* \file
* \brief C++ API: Provides display names of Locale and its components.
@@ -49,7 +51,7 @@ public:
* @return a LocaleDisplayNames instance
* @stable ICU 4.4
*/
- static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
+ inline static LocaleDisplayNames* U_EXPORT2 createInstance(const Locale& locale);
/**
* Returns an instance of LocaleDisplayNames that returns names
@@ -204,4 +206,6 @@ U_NAMESPACE_END
#endif
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/locid.h b/Build/source/libs/icu/icu-src/source/common/unicode/locid.h
index 1ef15ca7512..57c669b3343 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/locid.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/locid.h
@@ -31,11 +31,14 @@
#ifndef LOCID_H
#define LOCID_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/bytestream.h"
#include "unicode/localpointer.h"
#include "unicode/strenum.h"
#include "unicode/stringpiece.h"
-#include "unicode/utypes.h"
#include "unicode/uobject.h"
#include "unicode/putil.h"
#include "unicode/uloc.h"
@@ -284,16 +287,14 @@ public:
*/
Locale(const Locale& other);
-#ifndef U_HIDE_DRAFT_API
/**
* Move constructor; might leave source in bogus state.
* This locale will have the same contents that the source locale had.
*
* @param other The Locale object being moved in.
- * @draft ICU 63
+ * @stable ICU 63
*/
Locale(Locale&& other) U_NOEXCEPT;
-#endif // U_HIDE_DRAFT_API
/**
* Destructor
@@ -310,7 +311,6 @@ public:
*/
Locale& operator=(const Locale& other);
-#ifndef U_HIDE_DRAFT_API
/**
* Move assignment operator; might leave source in bogus state.
* This locale will have the same contents that the source locale had.
@@ -318,10 +318,9 @@ public:
*
* @param other The Locale object being moved in.
* @return *this
- * @draft ICU 63
+ * @stable ICU 63
*/
Locale& operator=(Locale&& other) U_NOEXCEPT;
-#endif // U_HIDE_DRAFT_API
/**
* Checks if two locale keys are the same.
@@ -340,7 +339,7 @@ public:
* otherwise.
* @stable ICU 2.0
*/
- UBool operator!=(const Locale& other) const;
+ inline UBool operator!=(const Locale& other) const;
/**
* Clone this object.
@@ -389,7 +388,6 @@ public:
UErrorCode& success);
#endif /* U_HIDE_SYSTEM_API */
-#ifndef U_HIDE_DRAFT_API
/**
* Returns a Locale for the specified BCP47 language tag string.
* If the specified language tag contains any ill-formed subtags,
@@ -405,7 +403,7 @@ public:
* @param tag the input BCP47 language tag.
* @param status error information if creating the Locale failed.
* @return the Locale for the specified BCP47 language tag.
- * @draft ICU 63
+ * @stable ICU 63
*/
static Locale U_EXPORT2 forLanguageTag(StringPiece tag, UErrorCode& status);
@@ -420,7 +418,7 @@ public:
* @param sink the output sink receiving the BCP47 language
* tag for this Locale.
* @param status error information if creating the language tag failed.
- * @draft ICU 63
+ * @stable ICU 63
*/
void toLanguageTag(ByteSink& sink, UErrorCode& status) const;
@@ -432,11 +430,10 @@ public:
*
* @param status error information if creating the language tag failed.
* @return the BCP47 language tag for this Locale.
- * @draft ICU 63
+ * @stable ICU 63
*/
template
inline StringClass toLanguageTag(UErrorCode& status) const;
-#endif // U_HIDE_DRAFT_API
/**
* Creates a locale which has had minimal canonicalization
@@ -508,7 +505,6 @@ public:
*/
const char * getBaseName() const;
-#ifndef U_HIDE_DRAFT_API
/**
* Add the likely subtags for this Locale, per the algorithm described
* in the following CLDR technical report:
@@ -536,7 +532,7 @@ public:
* @param status error information if maximizing this Locale failed.
* If this Locale is not well-formed, the error code is
* U_ILLEGAL_ARGUMENT_ERROR.
- * @draft ICU 63
+ * @stable ICU 63
*/
void addLikelySubtags(UErrorCode& status);
@@ -567,10 +563,9 @@ public:
* @param status error information if maximizing this Locale failed.
* If this Locale is not well-formed, the error code is
* U_ILLEGAL_ARGUMENT_ERROR.
- * @draft ICU 63
+ * @stable ICU 63
*/
void minimizeSubtags(UErrorCode& status);
-#endif // U_HIDE_DRAFT_API
/**
* Gets the list of keywords for the specified locale.
@@ -583,8 +578,6 @@ public:
*/
StringEnumeration * createKeywords(UErrorCode &status) const;
-#ifndef U_HIDE_DRAFT_API
-
/**
* Gets the list of Unicode keywords for the specified locale.
*
@@ -592,7 +585,7 @@ public:
* @return pointer to StringEnumeration class, or NULL if there are no keywords.
* Client must dispose of it by calling delete.
* @see getUnicodeKeywords
- * @draft ICU 63
+ * @stable ICU 63
*/
StringEnumeration * createUnicodeKeywords(UErrorCode &status) const;
@@ -605,7 +598,7 @@ public:
*
* @param iterator an STL style output iterator to write the keywords to.
* @param status error information if creating set of keywords failed.
- * @draft ICU 63
+ * @stable ICU 63
*/
template
inline void getKeywords(OutputIterator iterator, UErrorCode& status) const;
@@ -619,13 +612,11 @@ public:
*
* @param iterator an STL style output iterator to write the keywords to.
* @param status error information if creating set of keywords failed.
- * @draft ICU 63
+ * @stable ICU 63
*/
template
inline void getUnicodeKeywords(OutputIterator iterator, UErrorCode& status) const;
-#endif // U_HIDE_DRAFT_API
-
/**
* Gets the value for a keyword.
*
@@ -644,7 +635,6 @@ public:
*/
int32_t getKeywordValue(const char* keywordName, char *buffer, int32_t bufferCapacity, UErrorCode &status) const;
-#ifndef U_HIDE_DRAFT_API
/**
* Gets the value for a keyword.
*
@@ -656,7 +646,7 @@ public:
* @param keywordName name of the keyword for which we want the value.
* @param sink the sink to receive the keyword value.
* @param status error information if getting the value failed.
- * @draft ICU 63
+ * @stable ICU 63
*/
void getKeywordValue(StringPiece keywordName, ByteSink& sink, UErrorCode& status) const;
@@ -671,7 +661,7 @@ public:
* @param keywordName name of the keyword for which we want the value.
* @param status error information if getting the value failed.
* @return the keyword value.
- * @draft ICU 63
+ * @stable ICU 63
*/
template
inline StringClass getKeywordValue(StringPiece keywordName, UErrorCode& status) const;
@@ -687,7 +677,7 @@ public:
* @param keywordName name of the keyword for which we want the value.
* @param sink the sink to receive the keyword value.
* @param status error information if getting the value failed.
- * @draft ICU 63
+ * @stable ICU 63
*/
void getUnicodeKeywordValue(StringPiece keywordName, ByteSink& sink, UErrorCode& status) const;
@@ -702,11 +692,10 @@ public:
* @param keywordName name of the keyword for which we want the value.
* @param status error information if getting the value failed.
* @return the keyword value.
- * @draft ICU 63
+ * @stable ICU 63
*/
template
inline StringClass getUnicodeKeywordValue(StringPiece keywordName, UErrorCode& status) const;
-#endif // U_HIDE_DRAFT_API
/**
* Sets or removes the value for a keyword.
@@ -729,7 +718,6 @@ public:
*/
void setKeywordValue(const char* keywordName, const char* keywordValue, UErrorCode &status);
-#ifndef U_HIDE_DRAFT_API
/**
* Sets or removes the value for a keyword.
*
@@ -746,7 +734,7 @@ public:
* NULL, will result in the keyword being removed. No error is given if
* that keyword does not exist.
* @param status Returns any error information while performing this operation.
- * @draft ICU 63
+ * @stable ICU 63
*/
void setKeywordValue(StringPiece keywordName, StringPiece keywordValue, UErrorCode& status);
@@ -766,10 +754,9 @@ public:
* NULL, will result in the keyword being removed. No error is given if
* that keyword does not exist.
* @param status Returns any error information while performing this operation.
- * @draft ICU 63
+ * @stable ICU 63
*/
void setUnicodeKeywordValue(StringPiece keywordName, StringPiece keywordValue, UErrorCode& status);
-#endif // U_HIDE_DRAFT_API
/**
* returns the locale's three-letter language code, as specified
@@ -962,7 +949,7 @@ public:
* @return FALSE if it is a real locale, TRUE if it is a bogus locale
* @stable ICU 2.1
*/
- UBool isBogus(void) const;
+ inline UBool isBogus(void) const;
/**
* Returns a list of all installed locales.
@@ -1008,6 +995,104 @@ public:
*/
virtual UClassID getDynamicClassID() const;
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * A Locale iterator interface similar to a Java Iterator.
+ * @draft ICU 65
+ */
+ class U_COMMON_API Iterator /* not : public UObject because this is an interface/mixin class */ {
+ public:
+ /** @draft ICU 65 */
+ virtual ~Iterator();
+
+ /**
+ * @return TRUE if next() can be called again.
+ * @draft ICU 65
+ */
+ virtual UBool hasNext() const = 0;
+
+ /**
+ * @return the next locale.
+ * @draft ICU 65
+ */
+ virtual const Locale &next() = 0;
+ };
+
+ /**
+ * A generic Locale iterator implementation over Locale input iterators.
+ * @draft ICU 65
+ */
+ template
+ class RangeIterator : public Iterator, public UMemory {
+ public:
+ /**
+ * Constructs an iterator from a begin/end range.
+ * Each of the iterator parameter values must be an
+ * input iterator whose value is convertible to const Locale &.
+ *
+ * @param begin Start of range.
+ * @param end Exclusive end of range.
+ * @draft ICU 65
+ */
+ RangeIterator(Iter begin, Iter end) : it_(begin), end_(end) {}
+
+ /**
+ * @return TRUE if next() can be called again.
+ * @draft ICU 65
+ */
+ UBool hasNext() const override { return it_ != end_; }
+
+ /**
+ * @return the next locale.
+ * @draft ICU 65
+ */
+ const Locale &next() override { return *it_++; }
+
+ private:
+ Iter it_;
+ const Iter end_;
+ };
+
+ /**
+ * A generic Locale iterator implementation over Locale input iterators.
+ * Calls the converter to convert each *begin to a const Locale &.
+ * @draft ICU 65
+ */
+ template
+ class ConvertingIterator : public Iterator, public UMemory {
+ public:
+ /**
+ * Constructs an iterator from a begin/end range.
+ * Each of the iterator parameter values must be an
+ * input iterator whose value the converter converts to const Locale &.
+ *
+ * @param begin Start of range.
+ * @param end Exclusive end of range.
+ * @param converter Converter from *begin to const Locale & or compatible.
+ * @draft ICU 65
+ */
+ ConvertingIterator(Iter begin, Iter end, Conv converter) :
+ it_(begin), end_(end), converter_(converter) {}
+
+ /**
+ * @return TRUE if next() can be called again.
+ * @draft ICU 65
+ */
+ UBool hasNext() const override { return it_ != end_; }
+
+ /**
+ * @return the next locale.
+ * @draft ICU 65
+ */
+ const Locale &next() override { return converter_(*it_++); }
+
+ private:
+ Iter it_;
+ const Iter end_;
+ Conv converter_;
+ };
+#endif // U_HIDE_DRAFT_API
+
protected: /* only protected for testing purposes. DO NOT USE. */
#ifndef U_HIDE_INTERNAL_API
/**
@@ -1074,7 +1159,6 @@ Locale::operator!=(const Locale& other) const
return !operator==(other);
}
-#ifndef U_HIDE_DRAFT_API
template inline StringClass
Locale::toLanguageTag(UErrorCode& status) const
{
@@ -1083,7 +1167,6 @@ Locale::toLanguageTag(UErrorCode& status) const
toLanguageTag(sink, status);
return result;
}
-#endif // U_HIDE_DRAFT_API
inline const char *
Locale::getCountry() const
@@ -1115,13 +1198,11 @@ Locale::getName() const
return fullName;
}
-#ifndef U_HIDE_DRAFT_API
-
template inline void
Locale::getKeywords(OutputIterator iterator, UErrorCode& status) const
{
LocalPointer keys(createKeywords(status));
- if (U_FAILURE(status)) {
+ if (U_FAILURE(status) || keys.isNull()) {
return;
}
for (;;) {
@@ -1138,7 +1219,7 @@ template inline void
Locale::getUnicodeKeywords(OutputIterator iterator, UErrorCode& status) const
{
LocalPointer keys(createUnicodeKeywords(status));
- if (U_FAILURE(status)) {
+ if (U_FAILURE(status) || keys.isNull()) {
return;
}
for (;;) {
@@ -1169,8 +1250,6 @@ Locale::getUnicodeKeywordValue(StringPiece keywordName, UErrorCode& status) cons
return result;
}
-#endif // U_HIDE_DRAFT_API
-
inline UBool
Locale::isBogus(void) const {
return fIsBogus;
@@ -1178,4 +1257,6 @@ Locale::isBogus(void) const {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/messagepattern.h b/Build/source/libs/icu/icu-src/source/common/unicode/messagepattern.h
index 9f2a86551ca..04f00a8757d 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/messagepattern.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/messagepattern.h
@@ -24,6 +24,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
#if !UCONFIG_NO_FORMATTING
#include "unicode/parseerr.h"
@@ -942,4 +944,6 @@ U_NAMESPACE_END
#endif // !UCONFIG_NO_FORMATTING
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __MESSAGEPATTERN_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/normalizer2.h b/Build/source/libs/icu/icu-src/source/common/unicode/normalizer2.h
index 4caa0e31034..4aeb3bb3d82 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/normalizer2.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/normalizer2.h
@@ -26,6 +26,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
#if !UCONFIG_NO_NORMALIZATION
#include "unicode/stringpiece.h"
@@ -771,4 +773,7 @@ private:
U_NAMESPACE_END
#endif // !UCONFIG_NO_NORMALIZATION
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __NORMALIZER2_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/normlzr.h b/Build/source/libs/icu/icu-src/source/common/unicode/normlzr.h
index 0141058fb00..07a596bd11b 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/normlzr.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/normlzr.h
@@ -13,6 +13,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
/**
* \file
* \brief C++ API: Unicode Normalization
@@ -183,6 +185,7 @@ public:
Normalizer(const CharacterIterator& iter, UNormalizationMode mode);
#endif /* U_HIDE_DEPRECATED_API */
+#ifndef U_FORCE_HIDE_DEPRECATED_API
/**
* Copy constructor.
* @param copy The object to be copied.
@@ -195,7 +198,7 @@ public:
* @deprecated ICU 56 Use Normalizer2 instead.
*/
virtual ~Normalizer();
-
+#endif // U_FORCE_HIDE_DEPRECATED_API
//-------------------------------------------------------------------------
// Static utility methods
@@ -599,7 +602,7 @@ public:
* @return a pointer to a new Normalizer
* @deprecated ICU 56 Use Normalizer2 instead.
*/
- Normalizer* clone(void) const;
+ Normalizer* clone() const;
/**
* Generates a hash code for this iterator.
@@ -723,12 +726,14 @@ public:
static UClassID U_EXPORT2 getStaticClassID();
#endif /* U_HIDE_DEPRECATED_API */
+#ifndef U_FORCE_HIDE_DEPRECATED_API
/**
* ICU "poor man's RTTI", returns a UClassID for the actual class.
* @return a UClassID for the actual class.
* @deprecated ICU 56 Use Normalizer2 instead.
*/
virtual UClassID getDynamicClassID() const;
+#endif // U_FORCE_HIDE_DEPRECATED_API
private:
//-------------------------------------------------------------------------
@@ -807,3 +812,5 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_NORMALIZATION */
#endif // NORMLZR_H
+
+#endif /* U_SHOW_CPLUSPLUS_API */
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/parsepos.h b/Build/source/libs/icu/icu-src/source/common/unicode/parsepos.h
index bbebca7b571..909d288d48d 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/parsepos.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/parsepos.h
@@ -19,6 +19,9 @@
#define PARSEPOS_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
@@ -90,21 +93,21 @@ public:
* Assignment operator
* @stable ICU 2.0
*/
- ParsePosition& operator=(const ParsePosition& copy);
+ inline ParsePosition& operator=(const ParsePosition& copy);
/**
* Equality operator.
* @return TRUE if the two parse positions are equal, FALSE otherwise.
* @stable ICU 2.0
*/
- UBool operator==(const ParsePosition& that) const;
+ inline UBool operator==(const ParsePosition& that) const;
/**
* Equality operator.
* @return TRUE if the two parse positions are not equal, FALSE otherwise.
* @stable ICU 2.0
*/
- UBool operator!=(const ParsePosition& that) const;
+ inline UBool operator!=(const ParsePosition& that) const;
/**
* Clone this object.
@@ -126,14 +129,14 @@ public:
* @return the current index.
* @stable ICU 2.0
*/
- int32_t getIndex(void) const;
+ inline int32_t getIndex(void) const;
/**
* Set the current parse position.
* @param index the new index.
* @stable ICU 2.0
*/
- void setIndex(int32_t index);
+ inline void setIndex(int32_t index);
/**
* Set the index at which a parse error occurred. Formatters
@@ -142,14 +145,14 @@ public:
* set.
* @stable ICU 2.0
*/
- void setErrorIndex(int32_t ei);
+ inline void setErrorIndex(int32_t ei);
/**
* Retrieve the index at which an error occurred, or -1 if the
* error index has not been set.
* @stable ICU 2.0
*/
- int32_t getErrorIndex(void) const;
+ inline int32_t getErrorIndex(void) const;
/**
* ICU "poor man's RTTI", returns a UClassID for this class.
@@ -229,4 +232,6 @@ ParsePosition::setErrorIndex(int32_t ei)
}
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/platform.h b/Build/source/libs/icu/icu-src/source/common/unicode/platform.h
index a3623f5da6a..ad75b298a42 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/platform.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/platform.h
@@ -135,6 +135,14 @@
/** Fuchsia is a POSIX-ish platform. @internal */
#define U_PF_FUCHSIA 4100
/* Maximum value for Linux-based platform is 4499 */
+/**
+ * Emscripten is a C++ transpiler for the Web that can target asm.js or
+ * WebAssembly. It provides some POSIX-compatible wrappers and stubs and
+ * some Linux-like functionality, but is not fully compatible with
+ * either.
+ * @internal
+ */
+#define U_PF_EMSCRIPTEN 5010
/** z/OS is the successor to OS/390 which was the successor to MVS. @internal */
#define U_PF_OS390 9000
/** "IBM i" is the current name of what used to be i5/OS and earlier OS/400. @internal */
@@ -192,6 +200,8 @@
# define U_PLATFORM U_PF_OS390
#elif defined(__OS400__) || defined(__TOS_OS400__)
# define U_PLATFORM U_PF_OS400
+#elif defined(__EMSCRIPTEN__)
+# define U_PLATFORM U_PF_EMSCRIPTEN
#else
# define U_PLATFORM U_PF_UNKNOWN
#endif
@@ -414,26 +424,40 @@
#endif
/* Compatibility with compilers other than clang: http://clang.llvm.org/docs/LanguageExtensions.html */
-#ifndef __has_attribute
-# define __has_attribute(x) 0
+#ifdef __has_attribute
+# define UPRV_HAS_ATTRIBUTE(x) __has_attribute(x)
+#else
+# define UPRV_HAS_ATTRIBUTE(x) 0
#endif
-#ifndef __has_cpp_attribute
-# define __has_cpp_attribute(x) 0
+#ifdef __has_cpp_attribute
+# define UPRV_HAS_CPP_ATTRIBUTE(x) __has_cpp_attribute(x)
+#else
+# define UPRV_HAS_CPP_ATTRIBUTE(x) 0
#endif
-#ifndef __has_declspec_attribute
-# define __has_declspec_attribute(x) 0
+#ifdef __has_declspec_attribute
+# define UPRV_HAS_DECLSPEC_ATTRIBUTE(x) __has_declspec_attribute(x)
+#else
+# define UPRV_HAS_DECLSPEC_ATTRIBUTE(x) 0
#endif
-#ifndef __has_builtin
-# define __has_builtin(x) 0
+#ifdef __has_builtin
+# define UPRV_HAS_BUILTIN(x) __has_builtin(x)
+#else
+# define UPRV_HAS_BUILTIN(x) 0
#endif
-#ifndef __has_feature
-# define __has_feature(x) 0
+#ifdef __has_feature
+# define UPRV_HAS_FEATURE(x) __has_feature(x)
+#else
+# define UPRV_HAS_FEATURE(x) 0
#endif
-#ifndef __has_extension
-# define __has_extension(x) 0
+#ifdef __has_extension
+# define UPRV_HAS_EXTENSION(x) __has_extension(x)
+#else
+# define UPRV_HAS_EXTENSION(x) 0
#endif
-#ifndef __has_warning
-# define __has_warning(x) 0
+#ifdef __has_warning
+# define UPRV_HAS_WARNING(x) __has_warning(x)
+#else
+# define UPRV_HAS_WARNING(x) 0
#endif
/**
@@ -452,7 +476,9 @@
* Attribute to specify the size of the allocated buffer for malloc-like functions
* @internal
*/
-#if (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || __has_attribute(alloc_size)
+#if (defined(__GNUC__) && \
+ (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) || \
+ UPRV_HAS_ATTRIBUTE(alloc_size)
# define U_ALLOC_SIZE_ATTR(X) __attribute__ ((alloc_size(X)))
# define U_ALLOC_SIZE_ATTR2(X,Y) __attribute__ ((alloc_size(X,Y)))
#else
@@ -516,8 +542,9 @@ namespace std {
#elif defined(__clang__)
// Test for compiler vs. feature separately.
// Other compilers might choke on the feature test.
-# if __has_cpp_attribute(clang::fallthrough) || \
- (__has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough"))
+# if UPRV_HAS_CPP_ATTRIBUTE(clang::fallthrough) || \
+ (UPRV_HAS_FEATURE(cxx_attributes) && \
+ UPRV_HAS_WARNING("-Wimplicit-fallthrough"))
# define U_FALLTHROUGH [[clang::fallthrough]]
# endif
#elif defined(__GNUC__) && (__GNUC__ >= 7)
@@ -620,7 +647,8 @@ namespace std {
*/
#ifdef U_CHARSET_IS_UTF8
/* Use the predefined value. */
-#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED
+#elif U_PLATFORM_IS_LINUX_BASED || U_PLATFORM_IS_DARWIN_BASED || \
+ U_PLATFORM == U_PF_EMSCRIPTEN
# define U_CHARSET_IS_UTF8 1
#else
# define U_CHARSET_IS_UTF8 0
@@ -707,7 +735,7 @@ namespace std {
* narrow-character strings are in EBCDIC.
*/
# define U_SIZEOF_WCHAR_T 2
-#else
+# else
/*
* LOCALETYPE(*CLD) or LOCALETYPE(*LOCALE) is specified.
* Wide-character strings are in 16-bit EBCDIC,
@@ -786,7 +814,8 @@ namespace std {
/* Use the predefined value. */
#elif defined(U_STATIC_IMPLEMENTATION)
# define U_EXPORT
-#elif defined(_MSC_VER) || (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport))
+#elif defined(_MSC_VER) || (UPRV_HAS_DECLSPEC_ATTRIBUTE(dllexport) && \
+ UPRV_HAS_DECLSPEC_ATTRIBUTE(dllimport))
# define U_EXPORT __declspec(dllexport)
#elif defined(__GNUC__)
# define U_EXPORT __attribute__((visibility("default")))
@@ -810,7 +839,8 @@ namespace std {
#ifdef U_IMPORT
/* Use the predefined value. */
-#elif defined(_MSC_VER) || (__has_declspec_attribute(dllexport) && __has_declspec_attribute(dllimport))
+#elif defined(_MSC_VER) || (UPRV_HAS_DECLSPEC_ATTRIBUTE(dllexport) && \
+ UPRV_HAS_DECLSPEC_ATTRIBUTE(dllimport))
/* Windows needs to export/import data. */
# define U_IMPORT __declspec(dllimport)
#else
@@ -852,4 +882,4 @@ namespace std {
#endif
/* @} */
-#endif
+#endif // _PLATFORM_H
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/rbbi.h b/Build/source/libs/icu/icu-src/source/common/unicode/rbbi.h
index 47abd554eaf..7825f603a51 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/rbbi.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/rbbi.h
@@ -18,6 +18,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
/**
* \file
* \brief C++ API: Rule Based Break Iterator
@@ -107,7 +109,7 @@ private:
*
* If present, the special LanguageBreakEngine used for handling
* characters that are in the dictionary set, but not handled by any
- * LangugageBreakEngine.
+ * LanguageBreakEngine.
* @internal (private)
*/
UnhandledEngine *fUnhandledBreakEngine;
@@ -260,7 +262,7 @@ public:
* @return TRUE if both BreakIterators are not same.
* @stable ICU 2.0
*/
- UBool operator!=(const BreakIterator& that) const;
+ inline UBool operator!=(const BreakIterator& that) const;
/**
* Returns a newly-constructed RuleBasedBreakIterator with the same
@@ -272,7 +274,7 @@ public:
* @return a newly-constructed RuleBasedBreakIterator
* @stable ICU 2.0
*/
- virtual BreakIterator* clone() const;
+ virtual RuleBasedBreakIterator* clone() const;
/**
* Compute a hash code for this BreakIterator
@@ -536,6 +538,7 @@ public:
*/
static UClassID U_EXPORT2 getStaticClassID(void);
+#ifndef U_FORCE_HIDE_DEPRECATED_API
/**
* Deprecated functionality. Use clone() instead.
*
@@ -562,10 +565,10 @@ public:
* or if the stackBuffer was too small to hold the clone.
* @deprecated ICU 52. Use clone() instead.
*/
- virtual BreakIterator * createBufferClone(void *stackBuffer,
- int32_t &BufferSize,
- UErrorCode &status);
-
+ virtual RuleBasedBreakIterator *createBufferClone(void *stackBuffer,
+ int32_t &BufferSize,
+ UErrorCode &status);
+#endif // U_FORCE_HIDE_DEPRECATED_API
/**
* Return the binary form of compiled break rules,
@@ -696,4 +699,6 @@ U_NAMESPACE_END
#endif /* #if !UCONFIG_NO_BREAK_ITERATION */
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/rep.h b/Build/source/libs/icu/icu-src/source/common/unicode/rep.h
index 41fdc040497..6dd4530647e 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/rep.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/rep.h
@@ -16,6 +16,10 @@
#ifndef REP_H
#define REP_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -189,9 +193,6 @@ public:
* Clones can be used concurrently in multiple threads.
* If a subclass does not implement clone(), or if an error occurs,
* then NULL is returned.
- * The clone functions in all subclasses return a pointer to a Replaceable
- * because some compilers do not support covariant (same-as-this)
- * return types; cast to the appropriate subclass if necessary.
* The caller must delete the clone.
*
* @return a clone of this object
@@ -260,4 +261,6 @@ Replaceable::char32At(int32_t offset) const {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/resbund.h b/Build/source/libs/icu/icu-src/source/common/unicode/resbund.h
index ad5899003b3..28940675287 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/resbund.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/resbund.h
@@ -49,6 +49,9 @@
#define RESBUND_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
#include "unicode/ures.h"
#include "unicode/unistr.h"
@@ -489,4 +492,7 @@ private:
};
U_NAMESPACE_END
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/schriter.h b/Build/source/libs/icu/icu-src/source/common/unicode/schriter.h
index 42f02691e12..1ca5b70fca5 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/schriter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/schriter.h
@@ -21,6 +21,9 @@
#define SCHRITER_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/chariter.h"
#include "unicode/uchriter.h"
@@ -130,7 +133,7 @@ public:
* @return the newly cloned object.
* @stable ICU 2.0
*/
- virtual CharacterIterator* clone(void) const;
+ virtual StringCharacterIterator* clone() const;
/**
* Sets the iterator to iterate over the provided string.
@@ -186,4 +189,7 @@ protected:
};
U_NAMESPACE_END
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/simpleformatter.h b/Build/source/libs/icu/icu-src/source/common/unicode/simpleformatter.h
index 850949caaf5..9414bca3085 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/simpleformatter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/simpleformatter.h
@@ -17,6 +17,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/unistr.h"
U_NAMESPACE_BEGIN
@@ -265,8 +268,37 @@ public:
* @stable ICU 57
*/
UnicodeString getTextWithNoArguments() const {
- return getTextWithNoArguments(compiledPattern.getBuffer(), compiledPattern.length());
+ return getTextWithNoArguments(
+ compiledPattern.getBuffer(),
+ compiledPattern.length(),
+ nullptr,
+ 0);
+ }
+
+#ifndef U_HIDE_INTERNAL_API
+ /**
+ * Returns the pattern text with none of the arguments.
+ * Like formatting with all-empty string values.
+ *
+ * TODO(ICU-20406): Replace this with an Iterator interface.
+ *
+ * @param offsets offsets[i] receives the offset of where {i} was located
+ * before it was replaced by an empty string.
+ * For example, "a{0}b{1}" produces offset 1 for i=0 and 2 for i=1.
+ * Can be nullptr if offsetsLength==0.
+ * If there is no {i} in the pattern, then offsets[i] is set to -1.
+ * @param offsetsLength The length of the offsets array.
+ *
+ * @internal
+ */
+ UnicodeString getTextWithNoArguments(int32_t *offsets, int32_t offsetsLength) const {
+ return getTextWithNoArguments(
+ compiledPattern.getBuffer(),
+ compiledPattern.length(),
+ offsets,
+ offsetsLength);
}
+#endif // U_HIDE_INTERNAL_API
private:
/**
@@ -285,7 +317,11 @@ private:
return compiledPatternLength == 0 ? 0 : compiledPattern[0];
}
- static UnicodeString getTextWithNoArguments(const char16_t *compiledPattern, int32_t compiledPatternLength);
+ static UnicodeString getTextWithNoArguments(
+ const char16_t *compiledPattern,
+ int32_t compiledPatternLength,
+ int32_t *offsets,
+ int32_t offsetsLength);
static UnicodeString &format(
const char16_t *compiledPattern, int32_t compiledPatternLength,
@@ -300,4 +336,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __SIMPLEFORMATTER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/std_string.h b/Build/source/libs/icu/icu-src/source/common/unicode/std_string.h
index 729c5639950..bf87230167e 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/std_string.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/std_string.h
@@ -27,6 +27,8 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
// Workaround for a libstdc++ bug before libstdc++4.6 (2011).
// https://bugs.llvm.org/show_bug.cgi?id=13364
#if defined(__GLIBCXX__)
@@ -34,4 +36,6 @@ namespace std { class type_info; }
#endif
#include
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __STD_STRING_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/strenum.h b/Build/source/libs/icu/icu-src/source/common/unicode/strenum.h
index 61d514813b9..8601f1f7c40 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/strenum.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/strenum.h
@@ -12,6 +12,10 @@
#ifndef STRENUM_H
#define STRENUM_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
#include "unicode/unistr.h"
@@ -67,9 +71,6 @@ public:
* Clones can be used concurrently in multiple threads.
* If a subclass does not implement clone(), or if an error occurs,
* then NULL is returned.
- * The clone functions in all subclasses return a base class pointer
- * because some compilers do not support covariant (same-as-this)
- * return types; cast to the appropriate subclass if necessary.
* The caller must delete the clone.
*
* @return a clone of this object
@@ -274,5 +275,7 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
/* STRENUM_H */
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/stringpiece.h b/Build/source/libs/icu/icu-src/source/common/unicode/stringpiece.h
index b0887effa52..f581091f872 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/stringpiece.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/stringpiece.h
@@ -28,6 +28,12 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
+#include
+#include
+
#include "unicode/uobject.h"
#include "unicode/std_string.h"
@@ -74,6 +80,33 @@ class U_COMMON_API StringPiece : public UMemory {
*/
StringPiece(const std::string& str)
: ptr_(str.data()), length_(static_cast(str.size())) { }
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Constructs from some other implementation of a string piece class, from any
+ * C++ record type that has these two methods:
+ *
+ * \code{.cpp}
+ *
+ * struct OtherStringPieceClass {
+ * const char* data();
+ * size_t size();
+ * };
+ *
+ * \endcode
+ *
+ * The other string piece class will typically be std::string_view from C++17
+ * or absl::string_view from Abseil.
+ *
+ * @param str the other string piece
+ * @draft ICU 65
+ */
+ template ::value &&
+ std::is_same::value>::type>
+ StringPiece(T str)
+ : ptr_(str.data()), length_(static_cast(str.size())) {}
+#endif // U_HIDE_DRAFT_API
/**
* Constructs from a const char * pointer and a specified length.
* @param offset a const char * pointer (need not be terminated)
@@ -221,4 +254,6 @@ inline UBool operator!=(const StringPiece& x, const StringPiece& y) {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __STRINGPIECE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/stringtriebuilder.h b/Build/source/libs/icu/icu-src/source/common/unicode/stringtriebuilder.h
index fe99fdb41fd..2c47dd415b1 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/stringtriebuilder.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/stringtriebuilder.h
@@ -18,6 +18,9 @@
#define __STRINGTRIEBUILDER_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -418,4 +421,6 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __STRINGTRIEBUILDER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/symtable.h b/Build/source/libs/icu/icu-src/source/common/unicode/symtable.h
index 35e5f238a70..b64d877f974 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/symtable.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/symtable.h
@@ -13,6 +13,9 @@
#define SYMTABLE_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -111,4 +114,6 @@ public:
};
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uchar.h b/Build/source/libs/icu/icu-src/source/common/unicode/uchar.h
index 9e180db53b6..1b7ee099be7 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uchar.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uchar.h
@@ -60,7 +60,7 @@ U_CDECL_BEGIN
* @see u_getUnicodeVersion
* @stable ICU 2.0
*/
-#define U_UNICODE_VERSION "11.0"
+#define U_UNICODE_VERSION "12.1"
/**
* \file
@@ -1767,6 +1767,27 @@ enum UBlockCode {
/** @stable ICU 62 */
UBLOCK_SOGDIAN = 291, /*[10F30]*/
+ // New blocks in Unicode 12.0
+
+ /** @stable ICU 64 */
+ UBLOCK_EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS = 292, /*[13430]*/
+ /** @stable ICU 64 */
+ UBLOCK_ELYMAIC = 293, /*[10FE0]*/
+ /** @stable ICU 64 */
+ UBLOCK_NANDINAGARI = 294, /*[119A0]*/
+ /** @stable ICU 64 */
+ UBLOCK_NYIAKENG_PUACHUE_HMONG = 295, /*[1E100]*/
+ /** @stable ICU 64 */
+ UBLOCK_OTTOMAN_SIYAQ_NUMBERS = 296, /*[1ED00]*/
+ /** @stable ICU 64 */
+ UBLOCK_SMALL_KANA_EXTENSION = 297, /*[1B130]*/
+ /** @stable ICU 64 */
+ UBLOCK_SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A = 298, /*[1FA70]*/
+ /** @stable ICU 64 */
+ UBLOCK_TAMIL_SUPPLEMENT = 299, /*[11FC0]*/
+ /** @stable ICU 64 */
+ UBLOCK_WANCHO = 300, /*[1E2C0]*/
+
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UBlockCode value.
@@ -1774,7 +1795,7 @@ enum UBlockCode {
*
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
- UBLOCK_COUNT = 292,
+ UBLOCK_COUNT = 301,
#endif // U_HIDE_DEPRECATED_API
/** @stable ICU 2.0 */
@@ -2557,8 +2578,6 @@ typedef enum UVerticalOrientation {
U_STABLE UBool U_EXPORT2
u_hasBinaryProperty(UChar32 c, UProperty which);
-#ifndef U_HIDE_DRAFT_API
-
/**
* Returns a frozen USet for a binary property.
* The library retains ownership over the returned object.
@@ -2572,13 +2591,11 @@ u_hasBinaryProperty(UChar32 c, UProperty which);
* @see UProperty
* @see u_hasBinaryProperty
* @see Unicode::fromUSet
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI const USet * U_EXPORT2
u_getBinaryPropertySet(UProperty property, UErrorCode *pErrorCode);
-#endif // U_HIDE_DRAFT_API
-
/**
* Check if a code point has the Alphabetic Unicode property.
* Same as u_hasBinaryProperty(c, UCHAR_ALPHABETIC).
@@ -2736,8 +2753,6 @@ u_getIntPropertyMinValue(UProperty which);
U_STABLE int32_t U_EXPORT2
u_getIntPropertyMaxValue(UProperty which);
-#ifndef U_HIDE_DRAFT_API
-
/**
* Returns an immutable UCPMap for an enumerated/catalog/int-valued property.
* The library retains ownership over the returned object.
@@ -2751,13 +2766,11 @@ u_getIntPropertyMaxValue(UProperty which);
* @return the property as a map
* @see UProperty
* @see u_getIntPropertyValue
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI const UCPMap * U_EXPORT2
u_getIntPropertyMap(UProperty property, UErrorCode *pErrorCode);
-#endif // U_HIDE_DRAFT_API
-
/**
* Get the numeric value for a Unicode code point as defined in the
* Unicode Character Database.
@@ -3176,15 +3189,14 @@ U_STABLE UBool U_EXPORT2
u_isprint(UChar32 c);
/**
- * Determines whether the specified code point is a base character.
+ * Non-standard: Determines whether the specified code point is a base character.
* True for general categories "L" (letters), "N" (numbers),
* "Mc" (spacing combining marks), and "Me" (enclosing marks).
*
- * Note that this is different from the Unicode definition in
- * chapter 3.5, conformance clause D13,
- * which defines base characters to be all characters (not Cn)
- * that do not graphically combine with preceding characters (M)
- * and that are neither control (Cc) or format (Cf) characters.
+ * Note that this is different from the Unicode Standard definition in
+ * chapter 3.6, conformance clause D51 “Base character”,
+ * which defines base characters as the code points with general categories
+ * Letter (L), Number (N), Punctuation (P), Symbol (S), or Space Separator (Zs).
*
* @param c the code point to be tested
* @return TRUE if the code point is a base character according to this function
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ucharstrie.h b/Build/source/libs/icu/icu-src/source/common/unicode/ucharstrie.h
index dfc93f6d0ba..d5729d944ee 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ucharstrie.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ucharstrie.h
@@ -24,6 +24,9 @@
*/
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/unistr.h"
#include "unicode/uobject.h"
#include "unicode/ustringtrie.h"
@@ -94,6 +97,41 @@ public:
return *this;
}
+#ifndef U_HIDE_DRAFT_API
+ /**
+ * Returns the state of this trie as a 64-bit integer.
+ * The state value is never 0.
+ *
+ * @return opaque state value
+ * @see resetToState64
+ * @draft ICU 65
+ */
+ uint64_t getState64() const {
+ return (static_cast(remainingMatchLength_ + 2) << kState64RemainingShift) |
+ (uint64_t)(pos_ - uchars_);
+ }
+
+ /**
+ * Resets this trie to the saved state.
+ * Unlike resetToState(State), the 64-bit state value
+ * must be from getState64() from the same trie object or
+ * from one initialized the exact same way.
+ * Because of no validation, this method is faster.
+ *
+ * @param state The opaque trie state value from getState64().
+ * @return *this
+ * @see getState64
+ * @see resetToState
+ * @see reset
+ * @draft ICU 65
+ */
+ UCharsTrie &resetToState64(uint64_t state) {
+ remainingMatchLength_ = static_cast(state >> kState64RemainingShift) - 2;
+ pos_ = uchars_ + (state & kState64PosMask);
+ return *this;
+ }
+#endif /* U_HIDE_DRAFT_API */
+
/**
* UCharsTrie state object, for saving a trie's current state
* and resetting the trie back to this state later.
@@ -560,6 +598,13 @@ private:
static const int32_t kMaxTwoUnitDelta=((kThreeUnitDeltaLead-kMinTwoUnitDeltaLead)<<16)-1; // 0x03feffff
+ // For getState64():
+ // The remainingMatchLength_ is -1..14=(kMaxLinearMatchLength=0x10)-2
+ // so we need at least 5 bits for that.
+ // We add 2 to store it as a positive value 1..16=kMaxLinearMatchLength.
+ static constexpr int32_t kState64RemainingShift = 59;
+ static constexpr uint64_t kState64PosMask = (UINT64_C(1) << kState64RemainingShift) - 1;
+
char16_t *ownedArray_;
// Fixed value referencing the UCharsTrie words.
@@ -575,4 +620,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __UCHARSTRIE_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ucharstriebuilder.h b/Build/source/libs/icu/icu-src/source/common/unicode/ucharstriebuilder.h
index 2aa4757e52c..540dcc047fd 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ucharstriebuilder.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ucharstriebuilder.h
@@ -18,6 +18,9 @@
#define __UCHARSTRIEBUILDER_H__
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/stringtriebuilder.h"
#include "unicode/ucharstrie.h"
#include "unicode/unistr.h"
@@ -184,4 +187,6 @@ private:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif // __UCHARSTRIEBUILDER_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uchriter.h b/Build/source/libs/icu/icu-src/source/common/unicode/uchriter.h
index efcd263f8bc..a485259b808 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uchriter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uchriter.h
@@ -11,6 +11,9 @@
#define UCHRITER_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/chariter.h"
/**
@@ -132,7 +135,7 @@ public:
* @return the CharacterIterator newly created
* @stable ICU 2.0
*/
- virtual CharacterIterator* clone(void) const;
+ virtual UCharCharacterIterator* clone() const;
/**
* Sets the iterator to refer to the first code unit in its
@@ -384,4 +387,7 @@ protected:
};
U_NAMESPACE_END
+
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uconfig.h b/Build/source/libs/icu/icu-src/source/common/unicode/uconfig.h
index 857ed561357..bbc232d1ed8 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uconfig.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uconfig.h
@@ -369,6 +369,18 @@
# define UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE UMSGPAT_APOS_DOUBLE_OPTIONAL
#endif
+/**
+ * \def UCONFIG_USE_WINDOWS_LCID_MAPPING_API
+ * On platforms where U_PLATFORM_HAS_WIN32_API is true, this switch determines
+ * if the Windows platform APIs are used for LCID<->Locale Name conversions.
+ * Otherwise, only the built-in ICU tables are used.
+ *
+ * @internal ICU 64
+ */
+#ifndef UCONFIG_USE_WINDOWS_LCID_MAPPING_API
+# define UCONFIG_USE_WINDOWS_LCID_MAPPING_API 1
+#endif
+
/* i18n library switches ---------------------------------------------------- */
/**
@@ -441,4 +453,4 @@
# define UCONFIG_NO_FILTERED_BREAK_ITERATION 0
#endif
-#endif
+#endif // __UCONFIG_H__
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ucpmap.h b/Build/source/libs/icu/icu-src/source/common/unicode/ucpmap.h
index f2c42b6b7f4..31e1365cac8 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ucpmap.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ucpmap.h
@@ -9,8 +9,6 @@
#include "unicode/utypes.h"
-#ifndef U_HIDE_DRAFT_API
-
U_CDECL_BEGIN
/**
@@ -28,7 +26,7 @@ U_CDECL_BEGIN
*
* @see UCPTrie
* @see UMutableCPTrie
- * @draft ICU 63
+ * @stable ICU 63
*/
typedef struct UCPMap UCPMap;
@@ -39,13 +37,13 @@ typedef struct UCPMap UCPMap;
* @see ucpmap_getRange
* @see ucptrie_getRange
* @see umutablecptrie_getRange
- * @draft ICU 63
+ * @stable ICU 63
*/
enum UCPMapRangeOption {
/**
* ucpmap_getRange() enumerates all same-value ranges as stored in the map.
* Most users should use this option.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPMAP_RANGE_NORMAL,
/**
@@ -61,7 +59,7 @@ enum UCPMapRangeOption {
* special values optimized for UTF-16 string processing
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPMAP_RANGE_FIXED_LEAD_SURROGATES,
/**
@@ -77,7 +75,7 @@ enum UCPMapRangeOption {
* special values optimized for UTF-16 string processing
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPMAP_RANGE_FIXED_ALL_SURROGATES
};
@@ -93,7 +91,7 @@ typedef enum UCPMapRangeOption UCPMapRangeOption;
* @param c the code point
* @return the map value,
* or an implementation-defined error value if the code point is not in the range 0..U+10FFFF
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI uint32_t U_EXPORT2
ucpmap_get(const UCPMap *map, UChar32 c);
@@ -110,7 +108,7 @@ ucpmap_get(const UCPMap *map, UChar32 c);
* @param context an opaque pointer, as passed into the getRange function
* @param value a value from the map
* @return the modified value
- * @draft ICU 63
+ * @stable ICU 63
*/
typedef uint32_t U_CALLCONV
UCPMapValueFilter(const void *context, uint32_t value);
@@ -149,7 +147,7 @@ UCPMapValueFilter(const void *context, uint32_t value);
* may have been modified by filter(context, map value)
* if that function pointer is not NULL
* @return the range end code point, or -1 if start is not a valid code point
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UChar32 U_EXPORT2
ucpmap_getRange(const UCPMap *map, UChar32 start,
@@ -158,5 +156,4 @@ ucpmap_getRange(const UCPMap *map, UChar32 start,
U_CDECL_END
-#endif // U_HIDE_DRAFT_API
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ucptrie.h b/Build/source/libs/icu/icu-src/source/common/unicode/ucptrie.h
index 2718c984e43..be06a227928 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ucptrie.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ucptrie.h
@@ -9,8 +9,6 @@
#include "unicode/utypes.h"
-#ifndef U_HIDE_DRAFT_API
-
#include "unicode/localpointer.h"
#include "unicode/ucpmap.h"
#include "unicode/utf8.h"
@@ -55,7 +53,7 @@ typedef union UCPTrieData {
* The macros will return bogus values, or may crash, if used on the wrong type or value width.
*
* @see UMutableCPTrie
- * @draft ICU 63
+ * @stable ICU 63
*/
struct UCPTrie {
#ifndef U_IN_DOXYGEN
@@ -115,23 +113,23 @@ typedef struct UCPTrie UCPTrie;
* @see umutablecptrie_buildImmutable
* @see ucptrie_openFromBinary
* @see ucptrie_getType
- * @draft ICU 63
+ * @stable ICU 63
*/
enum UCPTrieType {
/**
* For ucptrie_openFromBinary() to accept any type.
* ucptrie_getType() will return the actual type.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_TYPE_ANY = -1,
/**
* Fast/simple/larger BMP data structure. Use functions and "fast" macros.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_TYPE_FAST,
/**
* Small/slower BMP data structure. Use functions and "small" macros.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_TYPE_SMALL
};
@@ -145,30 +143,30 @@ typedef enum UCPTrieType UCPTrieType;
* @see umutablecptrie_buildImmutable
* @see ucptrie_openFromBinary
* @see ucptrie_getValueWidth
- * @draft ICU 63
+ * @stable ICU 63
*/
enum UCPTrieValueWidth {
/**
* For ucptrie_openFromBinary() to accept any data value width.
* ucptrie_getValueWidth() will return the actual data value width.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_VALUE_BITS_ANY = -1,
/**
* The trie stores 16 bits per data value.
* It returns them as unsigned values 0..0xffff=65535.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_VALUE_BITS_16,
/**
* The trie stores 32 bits per data value.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_VALUE_BITS_32,
/**
* The trie stores 8 bits per data value.
* It returns them as unsigned values 0..0xff=255.
- * @draft ICU 63
+ * @stable ICU 63
*/
UCPTRIE_VALUE_BITS_8
};
@@ -200,7 +198,7 @@ typedef enum UCPTrieValueWidth UCPTrieValueWidth;
* @see umutablecptrie_open
* @see umutablecptrie_buildImmutable
* @see ucptrie_toBinary
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UCPTrie * U_EXPORT2
ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth,
@@ -211,30 +209,11 @@ ucptrie_openFromBinary(UCPTrieType type, UCPTrieValueWidth valueWidth,
* Closes a trie and releases associated memory.
*
* @param trie the trie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI void U_EXPORT2
ucptrie_close(UCPTrie *trie);
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUCPTriePointer
- * "Smart pointer" class, closes a UCPTrie via ucptrie_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @draft ICU 63
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close);
-
-U_NAMESPACE_END
-
-#endif
-
/**
* Returns the trie type.
*
@@ -242,7 +221,7 @@ U_NAMESPACE_END
* @return the trie type
* @see ucptrie_openFromBinary
* @see UCPTRIE_TYPE_ANY
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UCPTrieType U_EXPORT2
ucptrie_getType(const UCPTrie *trie);
@@ -254,7 +233,7 @@ ucptrie_getType(const UCPTrie *trie);
* @return the number of bits in a trie data value
* @see ucptrie_openFromBinary
* @see UCPTRIE_VALUE_BITS_ANY
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UCPTrieValueWidth U_EXPORT2
ucptrie_getValueWidth(const UCPTrie *trie);
@@ -271,7 +250,7 @@ ucptrie_getValueWidth(const UCPTrie *trie);
* @param c the code point
* @return the trie value,
* or the trie error value if the code point is not in the range 0..U+10FFFF
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI uint32_t U_EXPORT2
ucptrie_get(const UCPTrie *trie, UChar32 c);
@@ -310,7 +289,7 @@ ucptrie_get(const UCPTrie *trie, UChar32 c);
* may have been modified by filter(context, trie value)
* if that function pointer is not NULL
* @return the range end code point, or -1 if start is not a valid code point
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UChar32 U_EXPORT2
ucptrie_getRange(const UCPTrie *trie, UChar32 start,
@@ -330,7 +309,7 @@ ucptrie_getRange(const UCPTrie *trie, UChar32 start,
* @return the number of bytes written or (if buffer overflow) needed for the trie
*
* @see ucptrie_openFromBinary()
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI int32_t U_EXPORT2
ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *pErrorCode);
@@ -341,7 +320,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* Do not use this macro in any other way.
*
* @see UCPTRIE_VALUE_BITS_16
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_16(trie, i) ((trie)->data.ptr16[i])
@@ -351,7 +330,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* Do not use this macro in any other way.
*
* @see UCPTRIE_VALUE_BITS_32
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_32(trie, i) ((trie)->data.ptr32[i])
@@ -361,7 +340,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* Do not use this macro in any other way.
*
* @see UCPTRIE_VALUE_BITS_8
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_8(trie, i) ((trie)->data.ptr8[i])
@@ -373,7 +352,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width
* @param c (UChar32, in) the input code point
* @return The code point's trie value.
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_FAST_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_CP_INDEX(trie, 0xffff, c))
@@ -385,7 +364,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width
* @param c (UChar32, in) the input code point
* @return The code point's trie value.
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_SMALL_GET(trie, dataAccess, c) \
dataAccess(trie, _UCPTRIE_CP_INDEX(trie, UCPTRIE_SMALL_MAX, c))
@@ -401,9 +380,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param limit (const UChar *, in) the limit pointer for the text, or NULL if NUL-terminated
* @param c (UChar32, out) variable for the code point
* @param result (out) variable for the trie lookup result
- * @draft ICU 63
+ * @stable ICU 63
*/
-#define UCPTRIE_FAST_U16_NEXT(trie, dataAccess, src, limit, c, result) { \
+#define UCPTRIE_FAST_U16_NEXT(trie, dataAccess, src, limit, c, result) UPRV_BLOCK_MACRO_BEGIN { \
(c) = *(src)++; \
int32_t __index; \
if (!U16_IS_SURROGATE(c)) { \
@@ -419,7 +398,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
} \
} \
(result) = dataAccess(trie, __index); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* UTF-16: Reads the previous code point (UChar32 c, out), pre-decrements src,
@@ -432,9 +411,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param src (const UChar *, in/out) the source text pointer
* @param c (UChar32, out) variable for the code point
* @param result (out) variable for the trie lookup result
- * @draft ICU 63
+ * @stable ICU 63
*/
-#define UCPTRIE_FAST_U16_PREV(trie, dataAccess, start, src, c, result) { \
+#define UCPTRIE_FAST_U16_PREV(trie, dataAccess, start, src, c, result) UPRV_BLOCK_MACRO_BEGIN { \
(c) = *--(src); \
int32_t __index; \
if (!U16_IS_SURROGATE(c)) { \
@@ -450,7 +429,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
} \
} \
(result) = dataAccess(trie, __index); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* UTF-8: Post-increments src and gets a value from the trie.
@@ -466,9 +445,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param src (const char *, in/out) the source text pointer
* @param limit (const char *, in) the limit pointer for the text (must not be NULL)
* @param result (out) variable for the trie lookup result
- * @draft ICU 63
+ * @stable ICU 63
*/
-#define UCPTRIE_FAST_U8_NEXT(trie, dataAccess, src, limit, result) { \
+#define UCPTRIE_FAST_U8_NEXT(trie, dataAccess, src, limit, result) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __lead = (uint8_t)*(src)++; \
if (!U8_IS_SINGLE(__lead)) { \
uint8_t __t1, __t2, __t3; \
@@ -496,7 +475,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
} \
} \
(result) = dataAccess(trie, __lead); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* UTF-8: Pre-decrements src and gets a value from the trie.
@@ -512,9 +491,9 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param start (const char *, in) the start pointer for the text
* @param src (const char *, in/out) the source text pointer
* @param result (out) variable for the trie lookup result
- * @draft ICU 63
+ * @stable ICU 63
*/
-#define UCPTRIE_FAST_U8_PREV(trie, dataAccess, start, src, result) { \
+#define UCPTRIE_FAST_U8_PREV(trie, dataAccess, start, src, result) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __index = (uint8_t)*--(src); \
if (!U8_IS_SINGLE(__index)) { \
__index = ucptrie_internalU8PrevIndex((trie), __index, (const uint8_t *)(start), \
@@ -523,7 +502,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
__index >>= 3; \
} \
(result) = dataAccess(trie, __index); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Returns a trie value for an ASCII code point, without range checking.
@@ -532,7 +511,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width
* @param c (UChar32, in) the input code point; must be U+0000..U+007F
* @return The ASCII code point's trie value.
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_ASCII_GET(trie, dataAccess, c) dataAccess(trie, c)
@@ -545,7 +524,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width
* @param c (UChar32, in) the input code point, must be U+0000..U+FFFF
* @return The BMP code point's trie value.
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_FAST_BMP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_FAST_INDEX(trie, c))
@@ -557,7 +536,7 @@ ucptrie_toBinary(const UCPTrie *trie, void *data, int32_t capacity, UErrorCode *
* @param dataAccess UCPTRIE_16, UCPTRIE_32, or UCPTRIE_8 according to the trie’s value width
* @param c (UChar32, in) the input code point, must be U+10000..U+10FFFF
* @return The supplementary code point's trie value.
- * @draft ICU 63
+ * @stable ICU 63
*/
#define UCPTRIE_FAST_SUPP_GET(trie, dataAccess, c) dataAccess(trie, _UCPTRIE_SMALL_INDEX(trie, c))
@@ -642,5 +621,24 @@ ucptrie_internalU8PrevIndex(const UCPTrie *trie, UChar32 c,
U_CDECL_END
#endif // U_IN_DOXYGEN
-#endif // U_HIDE_DRAFT_API
+
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUCPTriePointer
+ * "Smart pointer" class, closes a UCPTrie via ucptrie_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 63
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUCPTriePointer, UCPTrie, ucptrie_close);
+
+U_NAMESPACE_END
+
+#endif // U_SHOW_CPLUSPLUS_API
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ucurr.h b/Build/source/libs/icu/icu-src/source/common/unicode/ucurr.h
index b219875de23..f91cc0df7c6 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ucurr.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ucurr.h
@@ -103,20 +103,17 @@ typedef enum UCurrNameStyle {
* currency, such as "US Dollar" for USD.
* @stable ICU 2.6
*/
- UCURR_LONG_NAME
+ UCURR_LONG_NAME,
-#ifndef U_HIDE_DRAFT_API
- ,
/**
* Selector for getName() indicating the narrow currency symbol.
* The narrow currency symbol is similar to the regular currency
* symbol, but it always takes the shortest form: for example,
* "$" instead of "US$" for USD in en-CA.
*
- * @draft ICU 61
+ * @stable ICU 61
*/
UCURR_NARROW_SYMBOL_NAME
-#endif // U_HIDE_DRAFT_API
} UCurrNameStyle;
#if !UCONFIG_NO_SERVICE
@@ -162,14 +159,14 @@ ucurr_unregister(UCurrRegistryKey key, UErrorCode* status);
* @param currency null-terminated 3-letter ISO 4217 code
* @param locale locale in which to display currency
* @param nameStyle selector for which kind of name to return
- * @param isChoiceFormat fill-in set to TRUE if the returned value
- * is a ChoiceFormat pattern; otherwise it is a static string
+ * @param isChoiceFormat always set to FALSE, or can be NULL;
+ * display names are static strings;
+ * since ICU 4.4, ChoiceFormat patterns are no longer supported
* @param len fill-in parameter to receive length of result
* @param ec error code
* @return pointer to display string of 'len' UChars. If the resource
* data contains no entry for 'currency', then 'currency' itself is
- * returned. If *isChoiceFormat is TRUE, then the result is a
- * ChoiceFormat pattern. Otherwise it is a static string.
+ * returned.
* @stable ICU 2.6
*/
U_STABLE const UChar* U_EXPORT2
@@ -186,14 +183,15 @@ ucurr_getName(const UChar* currency,
* currency object in the en_US locale is "US dollar" or "US dollars".
* @param currency null-terminated 3-letter ISO 4217 code
* @param locale locale in which to display currency
- * @param isChoiceFormat fill-in set to TRUE if the returned value
- * is a ChoiceFormat pattern; otherwise it is a static string
+ * @param isChoiceFormat always set to FALSE, or can be NULL;
+ * display names are static strings;
+ * since ICU 4.4, ChoiceFormat patterns are no longer supported
* @param pluralCount plural count
* @param len fill-in parameter to receive length of result
* @param ec error code
* @return pointer to display string of 'len' UChars. If the resource
* data contains no entry for 'currency', then 'currency' itself is
- * returned.
+ * returned.
* @stable ICU 4.2
*/
U_STABLE const UChar* U_EXPORT2
@@ -208,6 +206,13 @@ ucurr_getPluralName(const UChar* currency,
* Returns the number of the number of fraction digits that should
* be displayed for the given currency.
* This is equivalent to ucurr_getDefaultFractionDigitsForUsage(currency,UCURR_USAGE_STANDARD,ec);
+ *
+ * Important: The number of fraction digits for a given currency is NOT
+ * guaranteed to be constant across versions of ICU or CLDR. For example,
+ * do NOT use this value as a mechanism for deciding the magnitude used
+ * to store currency values in a database. You should use this value for
+ * display purposes only.
+ *
* @param currency null-terminated 3-letter ISO 4217 code
* @param ec input-output error code
* @return a non-negative number of fraction digits to be
@@ -221,6 +226,13 @@ ucurr_getDefaultFractionDigits(const UChar* currency,
/**
* Returns the number of the number of fraction digits that should
* be displayed for the given currency with usage.
+ *
+ * Important: The number of fraction digits for a given currency is NOT
+ * guaranteed to be constant across versions of ICU or CLDR. For example,
+ * do NOT use this value as a mechanism for deciding the magnitude used
+ * to store currency values in a database. You should use this value for
+ * display purposes only.
+ *
* @param currency null-terminated 3-letter ISO 4217 code
* @param usage enum usage for the currency
* @param ec input-output error code
@@ -309,7 +321,7 @@ typedef enum UCurrCurrencyType {
* Provides a UEnumeration object for listing ISO-4217 codes.
* @param currType You can use one of several UCurrCurrencyType values for this
* variable. You can also | (or) them together to get a specific list of
- * currencies. Most people will want to use the (UCURR_CURRENCY|UCURR_NON_DEPRECATED) value to
+ * currencies. Most people will want to use the (UCURR_COMMON|UCURR_NON_DEPRECATED) value to
* get a list of current currencies.
* @param pErrorCode Error code
* @stable ICU 3.2
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/udata.h b/Build/source/libs/icu/icu-src/source/common/unicode/udata.h
index a0286e1e420..325ffcf17db 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/udata.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/udata.h
@@ -264,25 +264,6 @@ udata_openChoice(const char *path, const char *type, const char *name,
U_STABLE void U_EXPORT2
udata_close(UDataMemory *pData);
-#if U_SHOW_CPLUSPLUS_API
-
-U_NAMESPACE_BEGIN
-
-/**
- * \class LocalUDataMemoryPointer
- * "Smart pointer" class, closes a UDataMemory via udata_close().
- * For most methods see the LocalPointerBase base class.
- *
- * @see LocalPointerBase
- * @see LocalPointer
- * @stable ICU 4.4
- */
-U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
-
-U_NAMESPACE_END
-
-#endif
-
/**
* Get the pointer to the actual data inside the data memory.
* The data is read-only.
@@ -434,4 +415,23 @@ udata_setFileAccess(UDataFileAccess access, UErrorCode *status);
U_CDECL_END
+#if U_SHOW_CPLUSPLUS_API
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class LocalUDataMemoryPointer
+ * "Smart pointer" class, closes a UDataMemory via udata_close().
+ * For most methods see the LocalPointerBase base class.
+ *
+ * @see LocalPointerBase
+ * @see LocalPointer
+ * @stable ICU 4.4
+ */
+U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
+
+U_NAMESPACE_END
+
+#endif // U_SHOW_CPLUSPLUS_API
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uloc.h b/Build/source/libs/icu/icu-src/source/common/unicode/uloc.h
index 23a54a9981c..c45edad9e09 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uloc.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uloc.h
@@ -742,12 +742,18 @@ uloc_getDisplayName(const char* localeID,
/**
- * Gets the specified locale from a list of all available locales.
- * The return value is a pointer to an item of
- * a locale name array. Both this array and the pointers
- * it contains are owned by ICU and should not be deleted or written through
- * by the caller. The locale name is terminated by a null pointer.
- * @param n the specific locale name index of the available locale list
+ * Gets the specified locale from a list of available locales.
+ *
+ * This method corresponds to uloc_openAvailableByType called with the
+ * ULOC_AVAILABLE_DEFAULT type argument.
+ *
+ * The return value is a pointer to an item of a locale name array. Both this
+ * array and the pointers it contains are owned by ICU and should not be
+ * deleted or written through by the caller. The locale name is terminated by
+ * a null pointer.
+ *
+ * @param n the specific locale name index of the available locale list;
+ * should not exceed the number returned by uloc_countAvailable.
* @return a specified locale name of all available locales
* @stable ICU 2.0
*/
@@ -762,6 +768,72 @@ uloc_getAvailable(int32_t n);
*/
U_STABLE int32_t U_EXPORT2 uloc_countAvailable(void);
+#ifndef U_HIDE_DRAFT_API
+
+/**
+ * Types for uloc_getAvailableByType and uloc_countAvailableByType.
+ *
+ * @draft ICU 65
+ */
+typedef enum ULocAvailableType {
+ /**
+ * Locales that return data when passed to ICU APIs,
+ * but not including legacy or alias locales.
+ *
+ * @draft ICU 65
+ */
+ ULOC_AVAILABLE_DEFAULT,
+
+ /**
+ * Legacy or alias locales that return data when passed to ICU APIs.
+ * Examples of supported legacy or alias locales:
+ *
+ * - iw (alias to he)
+ * - mo (alias to ro)
+ * - zh_CN (alias to zh_Hans_CN)
+ * - sr_BA (alias to sr_Cyrl_BA)
+ * - ars (alias to ar_SA)
+ *
+ * The locales in this set are disjoint from the ones in
+ * ULOC_AVAILABLE_DEFAULT. To get both sets at the same time, use
+ * ULOC_AVAILABLE_WITH_LEGACY_ALIASES.
+ *
+ * @draft ICU 65
+ */
+ ULOC_AVAILABLE_ONLY_LEGACY_ALIASES,
+
+ /**
+ * The union of the locales in ULOC_AVAILABLE_DEFAULT and
+ * ULOC_AVAILABLE_ONLY_LEGACY_ALIAS.
+ *
+ * @draft ICU 65
+ */
+ ULOC_AVAILABLE_WITH_LEGACY_ALIASES,
+
+#ifndef U_HIDE_INTERNAL_API
+ /**
+ * @internal
+ */
+ ULOC_AVAILABLE_COUNT
+#endif
+} ULocAvailableType;
+
+/**
+ * Gets a list of available locales according to the type argument, allowing
+ * the user to access different sets of supported locales in ICU.
+ *
+ * The returned UEnumeration must be closed by the caller.
+ *
+ * @param type Type choice from ULocAvailableType.
+ * @param status Set if an error occurred.
+ * @return a UEnumeration owned by the caller, or nullptr on failure.
+ * @draft ICU 65
+ */
+U_DRAFT UEnumeration* U_EXPORT2
+uloc_openAvailableByType(ULocAvailableType type, UErrorCode* status);
+
+#endif // U_HIDE_DRAFT_API
+
/**
*
* Gets a list of all available 2-letter language codes defined in ISO 639,
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/umachine.h b/Build/source/libs/icu/icu-src/source/common/unicode/umachine.h
index 0205da62eb4..c52984cef39 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/umachine.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/umachine.h
@@ -140,6 +140,42 @@
#define U_FINAL final
#endif
+// Before ICU 65, function-like, multi-statement ICU macros were just defined as
+// series of statements wrapped in { } blocks and the caller could choose to
+// either treat them as if they were actual functions and end the invocation
+// with a trailing ; creating an empty statement after the block or else omit
+// this trailing ; using the knowledge that the macro would expand to { }.
+//
+// But doing so doesn't work well with macros that look like functions and
+// compiler warnings about empty statements (ICU-20601) and ICU 65 therefore
+// switches to the standard solution of wrapping such macros in do { } while.
+//
+// This will however break existing code that depends on being able to invoke
+// these macros without a trailing ; so to be able to remain compatible with
+// such code the wrapper is itself defined as macros so that it's possible to
+// build ICU 65 and later with the old macro behaviour, like this:
+//
+// export CPPFLAGS='-DUPRV_BLOCK_MACRO_BEGIN="" -DUPRV_BLOCK_MACRO_END=""'
+// runConfigureICU ...
+//
+
+/**
+ * \def UPRV_BLOCK_MACRO_BEGIN
+ * Defined as the "do" keyword by default.
+ * @internal
+ */
+#ifndef UPRV_BLOCK_MACRO_BEGIN
+#define UPRV_BLOCK_MACRO_BEGIN do
+#endif
+
+/**
+ * \def UPRV_BLOCK_MACRO_END
+ * Defined as "while (FALSE)" by default.
+ * @internal
+ */
+#ifndef UPRV_BLOCK_MACRO_END
+#define UPRV_BLOCK_MACRO_END while (FALSE)
+#endif
/*==========================================================================*/
/* limits for int32_t etc., like in POSIX inttypes.h */
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/umutablecptrie.h b/Build/source/libs/icu/icu-src/source/common/unicode/umutablecptrie.h
index e75191a4495..13e71ef25e8 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/umutablecptrie.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/umutablecptrie.h
@@ -9,8 +9,6 @@
#include "unicode/utypes.h"
-#ifndef U_HIDE_DRAFT_API
-
#include "unicode/localpointer.h"
#include "unicode/ucpmap.h"
#include "unicode/ucptrie.h"
@@ -44,7 +42,7 @@ U_CDECL_BEGIN
*
* @see UCPTrie
* @see umutablecptrie_buildImmutable
- * @draft ICU 63
+ * @stable ICU 63
*/
typedef struct UMutableCPTrie UMutableCPTrie;
@@ -59,7 +57,7 @@ typedef struct UMutableCPTrie UMutableCPTrie;
* @param errorValue the value for out-of-range code points and ill-formed UTF-8/16
* @param pErrorCode an in/out ICU UErrorCode
* @return the trie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UMutableCPTrie * U_EXPORT2
umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErrorCode);
@@ -71,7 +69,7 @@ umutablecptrie_open(uint32_t initialValue, uint32_t errorValue, UErrorCode *pErr
* @param other the trie to clone
* @param pErrorCode an in/out ICU UErrorCode
* @return the trie clone
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UMutableCPTrie * U_EXPORT2
umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode);
@@ -80,7 +78,7 @@ umutablecptrie_clone(const UMutableCPTrie *other, UErrorCode *pErrorCode);
* Closes a mutable trie and releases associated memory.
*
* @param trie the trie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI void U_EXPORT2
umutablecptrie_close(UMutableCPTrie *trie);
@@ -96,7 +94,7 @@ U_NAMESPACE_BEGIN
*
* @see LocalPointerBase
* @see LocalPointer
- * @draft ICU 63
+ * @stable ICU 63
*/
U_DEFINE_LOCAL_OPEN_POINTER(LocalUMutableCPTriePointer, UMutableCPTrie, umutablecptrie_close);
@@ -111,7 +109,7 @@ U_NAMESPACE_END
* @param map the source map
* @param pErrorCode an in/out ICU UErrorCode
* @return the mutable trie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UMutableCPTrie * U_EXPORT2
umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode);
@@ -123,7 +121,7 @@ umutablecptrie_fromUCPMap(const UCPMap *map, UErrorCode *pErrorCode);
* @param trie the immutable trie
* @param pErrorCode an in/out ICU UErrorCode
* @return the mutable trie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UMutableCPTrie * U_EXPORT2
umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode);
@@ -134,7 +132,7 @@ umutablecptrie_fromUCPTrie(const UCPTrie *trie, UErrorCode *pErrorCode);
* @param trie the trie
* @param c the code point
* @return the value
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI uint32_t U_EXPORT2
umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c);
@@ -166,7 +164,7 @@ umutablecptrie_get(const UMutableCPTrie *trie, UChar32 c);
* may have been modified by filter(context, trie value)
* if that function pointer is not NULL
* @return the range end code point, or -1 if start is not a valid code point
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UChar32 U_EXPORT2
umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start,
@@ -180,7 +178,7 @@ umutablecptrie_getRange(const UMutableCPTrie *trie, UChar32 start,
* @param c the code point
* @param value the value
* @param pErrorCode an in/out ICU UErrorCode
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI void U_EXPORT2
umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *pErrorCode);
@@ -194,7 +192,7 @@ umutablecptrie_set(UMutableCPTrie *trie, UChar32 c, uint32_t value, UErrorCode *
* @param end the last code point to get the value (inclusive)
* @param value the value
* @param pErrorCode an in/out ICU UErrorCode
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI void U_EXPORT2
umutablecptrie_setRange(UMutableCPTrie *trie,
@@ -229,7 +227,7 @@ umutablecptrie_setRange(UMutableCPTrie *trie,
* @param pErrorCode an in/out ICU UErrorCode
*
* @see umutablecptrie_fromUCPTrie
- * @draft ICU 63
+ * @stable ICU 63
*/
U_CAPI UCPTrie * U_EXPORT2
umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieValueWidth valueWidth,
@@ -237,5 +235,4 @@ umutablecptrie_buildImmutable(UMutableCPTrie *trie, UCPTrieType type, UCPTrieVal
U_CDECL_END
-#endif // U_HIDE_DRAFT_API
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/unifilt.h b/Build/source/libs/icu/icu-src/source/common/unicode/unifilt.h
index e10527154b6..420e1a19056 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/unifilt.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/unifilt.h
@@ -12,6 +12,10 @@
#ifndef UNIFILT_H
#define UNIFILT_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/unifunct.h"
#include "unicode/unimatch.h"
@@ -67,6 +71,14 @@ public:
*/
virtual ~UnicodeFilter();
+ /**
+ * Clones this object polymorphically.
+ * The caller owns the result and should delete it when done.
+ * @return clone, or nullptr if an error occurred
+ * @stable ICU 2.4
+ */
+ virtual UnicodeFilter* clone() const = 0;
+
/**
* Returns true for characters that are in the selected
* subset. In other words, if a character is to be
@@ -119,4 +131,6 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/unifunct.h b/Build/source/libs/icu/icu-src/source/common/unicode/unifunct.h
index 1c507596861..7d31af7dafb 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/unifunct.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/unifunct.h
@@ -13,6 +13,9 @@
#define UNIFUNCT_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
/**
@@ -124,4 +127,6 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/unimatch.h b/Build/source/libs/icu/icu-src/source/common/unicode/unimatch.h
index ee4326f93c1..5a192b1b427 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/unimatch.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/unimatch.h
@@ -17,6 +17,7 @@
* \brief C++ API: Unicode Matcher
*/
+#if U_SHOW_CPLUSPLUS_API
U_NAMESPACE_BEGIN
@@ -162,4 +163,6 @@ public:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uniset.h b/Build/source/libs/icu/icu-src/source/common/unicode/uniset.h
index 0abc7542402..97423110035 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uniset.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uniset.h
@@ -13,6 +13,10 @@
#ifndef UNICODESET_H
#define UNICODESET_H
+#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/ucpmap.h"
#include "unicode/unifilt.h"
#include "unicode/unistr.h"
@@ -27,7 +31,6 @@ U_NAMESPACE_BEGIN
// Forward Declarations.
class BMPSet;
-class CharacterProperties;
class ParsePosition;
class RBBIRuleScanner;
class SymbolTable;
@@ -276,14 +279,23 @@ class RuleCharacterIterator;
* @stable ICU 2.0
*/
class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter {
+private:
+ /**
+ * Enough for sets with few ranges.
+ * For example, White_Space has 10 ranges, list length 21.
+ */
+ static constexpr int32_t INITIAL_CAPACITY = 25;
+ // fFlags constant
+ static constexpr uint8_t kIsBogus = 1; // This set is bogus (i.e. not valid)
+
+ UChar32* list = stackList; // MUST be terminated with HIGH
+ int32_t capacity = INITIAL_CAPACITY; // capacity of list
+ int32_t len = 1; // length of list used; 1 <= len <= capacity
+ uint8_t fFlags = 0; // Bit flag (see constants above)
- int32_t len; // length of list used; 0 <= len <= capacity
- int32_t capacity; // capacity of list
- UChar32* list; // MUST be terminated with HIGH
- BMPSet *bmpSet; // The set is frozen iff either bmpSet or stringSpan is not NULL.
- UChar32* buffer; // internal buffer, may be NULL
- int32_t bufferCapacity; // capacity of buffer
- int32_t patLen;
+ BMPSet *bmpSet = nullptr; // The set is frozen iff either bmpSet or stringSpan is not NULL.
+ UChar32* buffer = nullptr; // internal buffer, may be NULL
+ int32_t bufferCapacity = 0; // capacity of buffer
/**
* The pattern representation of this set. This may not be the
@@ -294,15 +306,19 @@ class U_COMMON_API UnicodeSet U_FINAL : public UnicodeFilter {
* indicating that toPattern() must generate a pattern
* representation from the inversion list.
*/
- char16_t *pat;
- UVector* strings; // maintained in sorted order
- UnicodeSetStringSpan *stringSpan;
+ char16_t *pat = nullptr;
+ int32_t patLen = 0;
+
+ UVector* strings = nullptr; // maintained in sorted order
+ UnicodeSetStringSpan *stringSpan = nullptr;
+
+ /**
+ * Initial list array.
+ * Avoids some heap allocations, and list is never nullptr.
+ * Increases the object size a bit.
+ */
+ UChar32 stackList[INITIAL_CAPACITY];
-private:
- enum { // constants
- kIsBogus = 1 // This set is bogus (i.e. not valid)
- };
- uint8_t fFlags; // Bit flag (see constants above)
public:
/**
* Determine if this object contains a valid set.
@@ -478,7 +494,7 @@ public:
* true if the specified set is not equal to this set.
* @stable ICU 2.0
*/
- UBool operator!=(const UnicodeSet& o) const;
+ inline UBool operator!=(const UnicodeSet& o) const;
/**
* Returns a copy of this object. All UnicodeFunctor objects have
@@ -489,7 +505,7 @@ public:
* @see cloneAsThawed
* @stable ICU 2.0
*/
- virtual UnicodeFunctor* clone() const;
+ virtual UnicodeSet* clone() const;
/**
* Returns the hash code value for this set.
@@ -567,7 +583,7 @@ public:
* @see cloneAsThawed
* @stable ICU 3.8
*/
- UnicodeFunctor *freeze();
+ UnicodeSet *freeze();
/**
* Clone the set and make the clone mutable.
@@ -577,7 +593,7 @@ public:
* @see isFrozen
* @stable ICU 3.8
*/
- UnicodeFunctor *cloneAsThawed() const;
+ UnicodeSet *cloneAsThawed() const;
//----------------------------------------------------------------
// Public API
@@ -1480,8 +1496,6 @@ private:
friend class USetAccess;
- int32_t getStringCount() const;
-
const UnicodeString* getString(int32_t index) const;
//----------------------------------------------------------------
@@ -1528,13 +1542,18 @@ private:
// Implementation: Utility methods
//----------------------------------------------------------------
- void ensureCapacity(int32_t newLen, UErrorCode& ec);
+ static int32_t nextCapacity(int32_t minCapacity);
+
+ bool ensureCapacity(int32_t newLen);
- void ensureBufferCapacity(int32_t newLen, UErrorCode& ec);
+ bool ensureBufferCapacity(int32_t newLen);
void swapBuffers(void);
UBool allocateStrings(UErrorCode &status);
+ UBool hasStrings() const;
+ int32_t stringsSize() const;
+ UBool stringsContains(const UnicodeString &s) const;
UnicodeString& _toPattern(UnicodeString& result,
UBool escapeUnprintable) const;
@@ -1614,7 +1633,6 @@ private:
UnicodeString& rebuiltPat,
UErrorCode& ec);
- friend class CharacterProperties;
static const UnicodeSet* getInclusions(int32_t src, UErrorCode &status);
/**
@@ -1637,16 +1655,18 @@ private:
const UnicodeSet* inclusions,
UErrorCode &status);
-#ifndef U_HIDE_DRAFT_API // Skipped: ucpmap.h is draft only.
+ // UCPMap is now stable ICU 63
void applyIntPropertyValue(const UCPMap *map,
UCPMapValueFilter *filter, const void *context,
UErrorCode &errorCode);
-#endif /* U_HIDE_DRAFT_API */
/**
* Set the new pattern to cache.
*/
- void setPattern(const UnicodeString& newPat);
+ void setPattern(const UnicodeString& newPat) {
+ setPattern(newPat.getBuffer(), newPat.length());
+ }
+ void setPattern(const char16_t *newPat, int32_t newPatLen);
/**
* Release existing cached pattern.
*/
@@ -1719,4 +1739,6 @@ inline int32_t UnicodeSet::spanBack(const UnicodeString &s, int32_t limit, USetS
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/unistr.h b/Build/source/libs/icu/icu-src/source/common/unicode/unistr.h
index bf954b5f1d8..da79053765a 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/unistr.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/unistr.h
@@ -28,8 +28,11 @@
* \brief C++ API: Unicode String
*/
-#include
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
+#include
#include "unicode/char16ptr.h"
#include "unicode/rep.h"
#include "unicode/std_string.h"
@@ -106,7 +109,7 @@ class UnicodeStringAppendable; // unicode/appendable.h
*
* The string parameter must be a C string literal.
* The length of the string, not including the terminating
- * NUL
, must be specified as a constant.
+ * `NUL`, must be specified as a constant.
* @stable ICU 2.0
*/
#if !U_CHAR16_IS_TYPEDEF
@@ -209,7 +212,9 @@ class UnicodeStringAppendable; // unicode/appendable.h
* similar functionality as the Java String and StringBuffer/StringBuilder classes.
* It is a concrete implementation of the abstract class Replaceable (for transliteration).
*
- * A UnicodeString may also "alias" an external array of characters
+ * The UnicodeString equivalent of std::string’s clear() is remove().
+ *
+ * A UnicodeString may "alias" an external array of characters
* (that is, point to it, rather than own the array)
* whose lifetime must then at least match the lifetime of the aliasing object.
* This aliasing may be preserved when returning a UnicodeString by value,
@@ -221,35 +226,35 @@ class UnicodeStringAppendable; // unicode/appendable.h
*
* The UnicodeString class is not suitable for subclassing.
*
- * For an overview of Unicode strings in C and C++ see the
- * User Guide Strings chapter.
+ * For an overview of Unicode strings in C and C++ see the
+ * [User Guide Strings chapter](http://userguide.icu-project.org/strings#TOC-Strings-in-C-C-).
*
- * In ICU, a Unicode string consists of 16-bit Unicode code units.
+ * In ICU, a Unicode string consists of 16-bit Unicode *code units*.
* A Unicode character may be stored with either one code unit
* (the most common case) or with a matched pair of special code units
* ("surrogates"). The data type for code units is char16_t.
- * For single-character handling, a Unicode character code point is a value
- * in the range 0..0x10ffff. ICU uses the UChar32 type for code points.
+ * For single-character handling, a Unicode character code *point* is a value
+ * in the range 0..0x10ffff. ICU uses the UChar32 type for code points.
*
- * Indexes and offsets into and lengths of strings always count code units, not code points.
+ * Indexes and offsets into and lengths of strings always count code units, not code points.
* This is the same as with multi-byte char* strings in traditional string handling.
* Operations on partial strings typically do not test for code point boundaries.
* If necessary, the user needs to take care of such boundaries by testing for the code unit
* values or by using functions like
* UnicodeString::getChar32Start() and UnicodeString::getChar32Limit()
- * (or, in C, the equivalent macros U16_SET_CP_START() and U16_SET_CP_LIMIT(), see utf.h).
+ * (or, in C, the equivalent macros U16_SET_CP_START() and U16_SET_CP_LIMIT(), see utf.h).
*
* UnicodeString methods are more lenient with regard to input parameter values
* than other ICU APIs. In particular:
* - If indexes are out of bounds for a UnicodeString object
- * (<0 or >length()) then they are "pinned" to the nearest boundary.
+ * (< 0 or > length()) then they are "pinned" to the nearest boundary.
* - If the buffer passed to an insert/append/replace operation is owned by the
* target object, e.g., calling str.append(str), an extra copy may take place
* to ensure safety.
* - If primitive string pointer values (e.g., const char16_t * or char *)
* for input strings are NULL, then those input string parameters are treated
* as if they pointed to an empty string.
- * However, this is not the case for char * parameters for charset names
+ * However, this is *not* the case for char * parameters for charset names
* or other IDs.
* - Most UnicodeString methods do not take a UErrorCode parameter because
* there are usually very few opportunities for failure other than a shortage
@@ -273,14 +278,14 @@ class UnicodeStringAppendable; // unicode/appendable.h
* This includes the const UnicodeString & parameters for
* copy construction, assignment, and cloning.
*
- * UnicodeString uses several storage methods.
+ * UnicodeString uses several storage methods.
* String contents can be stored inside the UnicodeString object itself,
* in an allocated and shared buffer, or in an outside buffer that is "aliased".
* Most of this is done transparently, but careful aliasing in particular provides
* significant performance improvements.
* Also, the internal buffer is accessible via special functions.
* For details see the
- * User Guide Strings chapter.
+ * [User Guide Strings chapter](http://userguide.icu-project.org/strings#TOC-Maximizing-Performance-with-the-UnicodeString-Storage-Model).
*
* @see utf.h
* @see CharacterIterator
@@ -315,7 +320,7 @@ public:
/**
* Equality operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
- * @return TRUE if text contains the same characters as this one,
+ * @return TRUE if `text` contains the same characters as this one,
* FALSE otherwise.
* @stable ICU 2.0
*/
@@ -324,7 +329,7 @@ public:
/**
* Inequality operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
- * @return FALSE if text contains the same characters as this one,
+ * @return FALSE if `text` contains the same characters as this one,
* TRUE otherwise.
* @stable ICU 2.0
*/
@@ -334,7 +339,7 @@ public:
* Greater than operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
* @return TRUE if the characters in this are bitwise
- * greater than the characters in text
, FALSE otherwise
+ * greater than the characters in `text`, FALSE otherwise
* @stable ICU 2.0
*/
inline UBool operator> (const UnicodeString& text) const;
@@ -343,7 +348,7 @@ public:
* Less than operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
* @return TRUE if the characters in this are bitwise
- * less than the characters in text
, FALSE otherwise
+ * less than the characters in `text`, FALSE otherwise
* @stable ICU 2.0
*/
inline UBool operator< (const UnicodeString& text) const;
@@ -352,7 +357,7 @@ public:
* Greater than or equal operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
* @return TRUE if the characters in this are bitwise
- * greater than or equal to the characters in text
, FALSE otherwise
+ * greater than or equal to the characters in `text`, FALSE otherwise
* @stable ICU 2.0
*/
inline UBool operator>= (const UnicodeString& text) const;
@@ -361,37 +366,37 @@ public:
* Less than or equal operator. Performs only bitwise comparison.
* @param text The UnicodeString to compare to this one.
* @return TRUE if the characters in this are bitwise
- * less than or equal to the characters in text
, FALSE otherwise
+ * less than or equal to the characters in `text`, FALSE otherwise
* @stable ICU 2.0
*/
inline UBool operator<= (const UnicodeString& text) const;
/**
* Compare the characters bitwise in this UnicodeString to
- * the characters in text
.
+ * the characters in `text`.
* @param text The UnicodeString to compare to this one.
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as text
, -1 if the characters in
- * this are bitwise less than the characters in text
, +1 if the
+ * contains the same characters as `text`, -1 if the characters in
+ * this are bitwise less than the characters in `text`, +1 if the
* characters in this are bitwise greater than the characters
- * in text
.
+ * in `text`.
* @stable ICU 2.0
*/
inline int8_t compare(const UnicodeString& text) const;
/**
* Compare the characters bitwise in the range
- * [start, start + length) with the characters
- * in the entire string text.
+ * [`start`, `start + length`) with the characters
+ * in the **entire string** `text`.
* (The parameters "start" and "length" are not applied to the other text "text".)
* @param start the offset at which the compare operation begins
* @param length the number of characters of text to compare.
* @param text the other text to be compared against this string.
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as text
, -1 if the characters in
- * this are bitwise less than the characters in text
, +1 if the
+ * contains the same characters as `text`, -1 if the characters in
+ * this are bitwise less than the characters in `text`, +1 if the
* characters in this are bitwise greater than the characters
- * in text
.
+ * in `text`.
* @stable ICU 2.0
*/
inline int8_t compare(int32_t start,
@@ -400,19 +405,19 @@ public:
/**
* Compare the characters bitwise in the range
- * [start, start + length) with the characters
- * in srcText in the range
- * [srcStart, srcStart + srcLength).
+ * [`start`, `start + length`) with the characters
+ * in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`).
* @param start the offset at which the compare operation begins
* @param length the number of characters in this to compare.
* @param srcText the text to be compared
- * @param srcStart the offset into srcText to start comparison
- * @param srcLength the number of characters in src to compare
+ * @param srcStart the offset into `srcText` to start comparison
+ * @param srcLength the number of characters in `src` to compare
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as srcText
, -1 if the characters in
- * this are bitwise less than the characters in srcText
, +1 if the
+ * contains the same characters as `srcText`, -1 if the characters in
+ * this are bitwise less than the characters in `srcText`, +1 if the
* characters in this are bitwise greater than the characters
- * in srcText
.
+ * in `srcText`.
* @stable ICU 2.0
*/
inline int8_t compare(int32_t start,
@@ -423,14 +428,14 @@ public:
/**
* Compare the characters bitwise in this UnicodeString with the first
- * srcLength characters in srcChars.
+ * `srcLength` characters in `srcChars`.
* @param srcChars The characters to compare to this UnicodeString.
- * @param srcLength the number of characters in srcChars to compare
+ * @param srcLength the number of characters in `srcChars` to compare
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as srcChars
, -1 if the characters in
- * this are bitwise less than the characters in srcChars
, +1 if the
+ * contains the same characters as `srcChars`, -1 if the characters in
+ * this are bitwise less than the characters in `srcChars`, +1 if the
* characters in this are bitwise greater than the characters
- * in srcChars
.
+ * in `srcChars`.
* @stable ICU 2.0
*/
inline int8_t compare(ConstChar16Ptr srcChars,
@@ -438,16 +443,16 @@ public:
/**
* Compare the characters bitwise in the range
- * [start, start + length) with the first
- * length characters in srcChars
+ * [`start`, `start + length`) with the first
+ * `length` characters in `srcChars`
* @param start the offset at which the compare operation begins
* @param length the number of characters to compare.
* @param srcChars the characters to be compared
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as srcChars
, -1 if the characters in
- * this are bitwise less than the characters in srcChars
, +1 if the
+ * contains the same characters as `srcChars`, -1 if the characters in
+ * this are bitwise less than the characters in `srcChars`, +1 if the
* characters in this are bitwise greater than the characters
- * in srcChars
.
+ * in `srcChars`.
* @stable ICU 2.0
*/
inline int8_t compare(int32_t start,
@@ -456,19 +461,19 @@ public:
/**
* Compare the characters bitwise in the range
- * [start, start + length) with the characters
- * in srcChars in the range
- * [srcStart, srcStart + srcLength).
+ * [`start`, `start + length`) with the characters
+ * in `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`).
* @param start the offset at which the compare operation begins
* @param length the number of characters in this to compare
* @param srcChars the characters to be compared
- * @param srcStart the offset into srcChars to start comparison
- * @param srcLength the number of characters in srcChars to compare
+ * @param srcStart the offset into `srcChars` to start comparison
+ * @param srcLength the number of characters in `srcChars` to compare
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as srcChars
, -1 if the characters in
- * this are bitwise less than the characters in srcChars
, +1 if the
+ * contains the same characters as `srcChars`, -1 if the characters in
+ * this are bitwise less than the characters in `srcChars`, +1 if the
* characters in this are bitwise greater than the characters
- * in srcChars
.
+ * in `srcChars`.
* @stable ICU 2.0
*/
inline int8_t compare(int32_t start,
@@ -479,19 +484,19 @@ public:
/**
* Compare the characters bitwise in the range
- * [start, limit) with the characters
- * in srcText in the range
- * [srcStart, srcLimit).
+ * [`start`, `limit`) with the characters
+ * in `srcText` in the range
+ * [`srcStart`, `srcLimit`).
* @param start the offset at which the compare operation begins
* @param limit the offset immediately following the compare operation
* @param srcText the text to be compared
- * @param srcStart the offset into srcText to start comparison
- * @param srcLimit the offset into srcText to limit comparison
+ * @param srcStart the offset into `srcText` to start comparison
+ * @param srcLimit the offset into `srcText` to limit comparison
* @return The result of bitwise character comparison: 0 if this
- * contains the same characters as srcText
, -1 if the characters in
- * this are bitwise less than the characters in srcText
, +1 if the
+ * contains the same characters as `srcText`, -1 if the characters in
+ * this are bitwise less than the characters in `srcText`, +1 if the
* characters in this are bitwise greater than the characters
- * in srcText
.
+ * in `srcText`.
* @stable ICU 2.0
*/
inline int8_t compareBetween(int32_t start,
@@ -848,21 +853,21 @@ public:
uint32_t options) const;
/**
- * Determine if this starts with the characters in text
+ * Determine if this starts with the characters in `text`
* @param text The text to match.
- * @return TRUE if this starts with the characters in text,
+ * @return TRUE if this starts with the characters in `text`,
* FALSE otherwise
* @stable ICU 2.0
*/
inline UBool startsWith(const UnicodeString& text) const;
/**
- * Determine if this starts with the characters in srcText
- * in the range [srcStart, srcStart + srcLength).
+ * Determine if this starts with the characters in `srcText`
+ * in the range [`srcStart`, `srcStart + srcLength`).
* @param srcText The text to match.
- * @param srcStart the offset into srcText to start matching
- * @param srcLength the number of characters in srcText to match
- * @return TRUE if this starts with the characters in text,
+ * @param srcStart the offset into `srcText` to start matching
+ * @param srcLength the number of characters in `srcText` to match
+ * @return TRUE if this starts with the characters in `text`,
* FALSE otherwise
* @stable ICU 2.0
*/
@@ -871,10 +876,10 @@ public:
int32_t srcLength) const;
/**
- * Determine if this starts with the characters in srcChars
+ * Determine if this starts with the characters in `srcChars`
* @param srcChars The characters to match.
- * @param srcLength the number of characters in srcChars
- * @return TRUE if this starts with the characters in srcChars,
+ * @param srcLength the number of characters in `srcChars`
+ * @return TRUE if this starts with the characters in `srcChars`,
* FALSE otherwise
* @stable ICU 2.0
*/
@@ -882,12 +887,12 @@ public:
int32_t srcLength) const;
/**
- * Determine if this ends with the characters in srcChars
- * in the range [srcStart, srcStart + srcLength).
+ * Determine if this ends with the characters in `srcChars`
+ * in the range [`srcStart`, `srcStart + srcLength`).
* @param srcChars The characters to match.
- * @param srcStart the offset into srcText to start matching
- * @param srcLength the number of characters in srcChars to match
- * @return TRUE if this ends with the characters in srcChars, FALSE otherwise
+ * @param srcStart the offset into `srcText` to start matching
+ * @param srcLength the number of characters in `srcChars` to match
+ * @return TRUE if this ends with the characters in `srcChars`, FALSE otherwise
* @stable ICU 2.0
*/
inline UBool startsWith(const char16_t *srcChars,
@@ -895,21 +900,21 @@ public:
int32_t srcLength) const;
/**
- * Determine if this ends with the characters in text
+ * Determine if this ends with the characters in `text`
* @param text The text to match.
- * @return TRUE if this ends with the characters in text,
+ * @return TRUE if this ends with the characters in `text`,
* FALSE otherwise
* @stable ICU 2.0
*/
inline UBool endsWith(const UnicodeString& text) const;
/**
- * Determine if this ends with the characters in srcText
- * in the range [srcStart, srcStart + srcLength).
+ * Determine if this ends with the characters in `srcText`
+ * in the range [`srcStart`, `srcStart + srcLength`).
* @param srcText The text to match.
- * @param srcStart the offset into srcText to start matching
- * @param srcLength the number of characters in srcText to match
- * @return TRUE if this ends with the characters in text,
+ * @param srcStart the offset into `srcText` to start matching
+ * @param srcLength the number of characters in `srcText` to match
+ * @return TRUE if this ends with the characters in `text`,
* FALSE otherwise
* @stable ICU 2.0
*/
@@ -918,10 +923,10 @@ public:
int32_t srcLength) const;
/**
- * Determine if this ends with the characters in srcChars
+ * Determine if this ends with the characters in `srcChars`
* @param srcChars The characters to match.
- * @param srcLength the number of characters in srcChars
- * @return TRUE if this ends with the characters in srcChars,
+ * @param srcLength the number of characters in `srcChars`
+ * @return TRUE if this ends with the characters in `srcChars`,
* FALSE otherwise
* @stable ICU 2.0
*/
@@ -929,12 +934,12 @@ public:
int32_t srcLength) const;
/**
- * Determine if this ends with the characters in srcChars
- * in the range [srcStart, srcStart + srcLength).
+ * Determine if this ends with the characters in `srcChars`
+ * in the range [`srcStart`, `srcStart + srcLength`).
* @param srcChars The characters to match.
- * @param srcStart the offset into srcText to start matching
- * @param srcLength the number of characters in srcChars to match
- * @return TRUE if this ends with the characters in srcChars,
+ * @param srcStart the offset into `srcText` to start matching
+ * @param srcLength the number of characters in `srcChars` to match
+ * @return TRUE if this ends with the characters in `srcChars`,
* FALSE otherwise
* @stable ICU 2.0
*/
@@ -946,21 +951,21 @@ public:
/* Searching - bitwise only */
/**
- * Locate in this the first occurrence of the characters in text,
+ * Locate in this the first occurrence of the characters in `text`,
* using bitwise comparison.
* @param text The text to search for.
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(const UnicodeString& text) const;
/**
- * Locate in this the first occurrence of the characters in text
- * starting at offset start, using bitwise comparison.
+ * Locate in this the first occurrence of the characters in `text`
+ * starting at offset `start`, using bitwise comparison.
* @param text The text to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -969,12 +974,12 @@ public:
/**
* Locate in this the first occurrence in the range
- * [start, start + length) of the characters
- * in text, using bitwise comparison.
+ * [`start`, `start + length`) of the characters
+ * in `text`, using bitwise comparison.
* @param text The text to search for.
* @param start The offset at which searching will start.
* @param length The number of characters to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -984,17 +989,17 @@ public:
/**
* Locate in this the first occurrence in the range
- * [start, start + length) of the characters
- * in srcText in the range
- * [srcStart, srcStart + srcLength),
+ * [`start`, `start + length`) of the characters
+ * in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`),
* using bitwise comparison.
* @param srcText The text to search for.
- * @param srcStart the offset into srcText at which
+ * @param srcStart the offset into `srcText` at which
* to start matching
- * @param srcLength the number of characters in srcText to match
+ * @param srcLength the number of characters in `srcText` to match
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1006,12 +1011,12 @@ public:
/**
* Locate in this the first occurrence of the characters in
- * srcChars
- * starting at offset start, using bitwise comparison.
+ * `srcChars`
+ * starting at offset `start`, using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcLength the number of characters in srcChars to match
+ * @param srcLength the number of characters in `srcChars` to match
* @param start the offset into this at which to start matching
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1021,13 +1026,13 @@ public:
/**
* Locate in this the first occurrence in the range
- * [start, start + length) of the characters
- * in srcChars, using bitwise comparison.
+ * [`start`, `start + length`) of the characters
+ * in `srcChars`, using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcLength the number of characters in srcChars
+ * @param srcLength the number of characters in `srcChars`
* @param start The offset at which searching will start.
* @param length The number of characters to search
- * @return The offset into this of the start of srcChars,
+ * @return The offset into this of the start of `srcChars`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1038,17 +1043,17 @@ public:
/**
* Locate in this the first occurrence in the range
- * [start, start + length) of the characters
- * in srcChars in the range
- * [srcStart, srcStart + srcLength),
+ * [`start`, `start + length`) of the characters
+ * in `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`),
* using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcStart the offset into srcChars at which
+ * @param srcStart the offset into `srcChars` at which
* to start matching
- * @param srcLength the number of characters in srcChars to match
+ * @param srcLength the number of characters in `srcChars` to match
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1059,55 +1064,55 @@ public:
int32_t length) const;
/**
- * Locate in this the first occurrence of the BMP code point c
,
+ * Locate in this the first occurrence of the BMP code point `c`,
* using bitwise comparison.
* @param c The code unit to search for.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(char16_t c) const;
/**
- * Locate in this the first occurrence of the code point c,
+ * Locate in this the first occurrence of the code point `c`,
* using bitwise comparison.
*
* @param c The code point to search for.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(UChar32 c) const;
/**
- * Locate in this the first occurrence of the BMP code point c
,
- * starting at offset start, using bitwise comparison.
+ * Locate in this the first occurrence of the BMP code point `c`,
+ * starting at offset `start`, using bitwise comparison.
* @param c The code unit to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(char16_t c,
int32_t start) const;
/**
- * Locate in this the first occurrence of the code point c
- * starting at offset start, using bitwise comparison.
+ * Locate in this the first occurrence of the code point `c`
+ * starting at offset `start`, using bitwise comparison.
*
* @param c The code point to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(UChar32 c,
int32_t start) const;
/**
- * Locate in this the first occurrence of the BMP code point c
- * in the range [start, start + length),
+ * Locate in this the first occurrence of the BMP code point `c`
+ * in the range [`start`, `start + length`),
* using bitwise comparison.
* @param c The code unit to search for.
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(char16_t c,
@@ -1115,14 +1120,14 @@ public:
int32_t length) const;
/**
- * Locate in this the first occurrence of the code point c
- * in the range [start, start + length),
+ * Locate in this the first occurrence of the code point `c`
+ * in the range [`start`, `start + length`),
* using bitwise comparison.
*
* @param c The code point to search for.
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t indexOf(UChar32 c,
@@ -1130,21 +1135,21 @@ public:
int32_t length) const;
/**
- * Locate in this the last occurrence of the characters in text,
+ * Locate in this the last occurrence of the characters in `text`,
* using bitwise comparison.
* @param text The text to search for.
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(const UnicodeString& text) const;
/**
- * Locate in this the last occurrence of the characters in text
- * starting at offset start, using bitwise comparison.
+ * Locate in this the last occurrence of the characters in `text`
+ * starting at offset `start`, using bitwise comparison.
* @param text The text to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1153,12 +1158,12 @@ public:
/**
* Locate in this the last occurrence in the range
- * [start, start + length) of the characters
- * in text, using bitwise comparison.
+ * [`start`, `start + length`) of the characters
+ * in `text`, using bitwise comparison.
* @param text The text to search for.
* @param start The offset at which searching will start.
* @param length The number of characters to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1168,17 +1173,17 @@ public:
/**
* Locate in this the last occurrence in the range
- * [start, start + length) of the characters
- * in srcText in the range
- * [srcStart, srcStart + srcLength),
+ * [`start`, `start + length`) of the characters
+ * in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`),
* using bitwise comparison.
* @param srcText The text to search for.
- * @param srcStart the offset into srcText at which
+ * @param srcStart the offset into `srcText` at which
* to start matching
- * @param srcLength the number of characters in srcText to match
+ * @param srcLength the number of characters in `srcText` to match
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1189,12 +1194,12 @@ public:
int32_t length) const;
/**
- * Locate in this the last occurrence of the characters in srcChars
- * starting at offset start, using bitwise comparison.
+ * Locate in this the last occurrence of the characters in `srcChars`
+ * starting at offset `start`, using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcLength the number of characters in srcChars to match
+ * @param srcLength the number of characters in `srcChars` to match
* @param start the offset into this at which to start matching
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1204,13 +1209,13 @@ public:
/**
* Locate in this the last occurrence in the range
- * [start, start + length) of the characters
- * in srcChars, using bitwise comparison.
+ * [`start`, `start + length`) of the characters
+ * in `srcChars`, using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcLength the number of characters in srcChars
+ * @param srcLength the number of characters in `srcChars`
* @param start The offset at which searching will start.
* @param length The number of characters to search
- * @return The offset into this of the start of srcChars,
+ * @return The offset into this of the start of `srcChars`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1221,17 +1226,17 @@ public:
/**
* Locate in this the last occurrence in the range
- * [start, start + length) of the characters
- * in srcChars in the range
- * [srcStart, srcStart + srcLength),
+ * [`start`, `start + length`) of the characters
+ * in `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`),
* using bitwise comparison.
* @param srcChars The text to search for.
- * @param srcStart the offset into srcChars at which
+ * @param srcStart the offset into `srcChars` at which
* to start matching
- * @param srcLength the number of characters in srcChars to match
+ * @param srcLength the number of characters in `srcChars` to match
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of the start of text,
+ * @return The offset into this of the start of `text`,
* or -1 if not found.
* @stable ICU 2.0
*/
@@ -1242,55 +1247,55 @@ public:
int32_t length) const;
/**
- * Locate in this the last occurrence of the BMP code point c
,
+ * Locate in this the last occurrence of the BMP code point `c`,
* using bitwise comparison.
* @param c The code unit to search for.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(char16_t c) const;
/**
- * Locate in this the last occurrence of the code point c,
+ * Locate in this the last occurrence of the code point `c`,
* using bitwise comparison.
*
* @param c The code point to search for.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(UChar32 c) const;
/**
- * Locate in this the last occurrence of the BMP code point c
- * starting at offset start, using bitwise comparison.
+ * Locate in this the last occurrence of the BMP code point `c`
+ * starting at offset `start`, using bitwise comparison.
* @param c The code unit to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(char16_t c,
int32_t start) const;
/**
- * Locate in this the last occurrence of the code point c
- * starting at offset start, using bitwise comparison.
+ * Locate in this the last occurrence of the code point `c`
+ * starting at offset `start`, using bitwise comparison.
*
* @param c The code point to search for.
* @param start The offset at which searching will start.
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(UChar32 c,
int32_t start) const;
/**
- * Locate in this the last occurrence of the BMP code point c
- * in the range [start, start + length),
+ * Locate in this the last occurrence of the BMP code point `c`
+ * in the range [`start`, `start + length`),
* using bitwise comparison.
* @param c The code unit to search for.
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(char16_t c,
@@ -1298,14 +1303,14 @@ public:
int32_t length) const;
/**
- * Locate in this the last occurrence of the code point c
- * in the range [start, start + length),
+ * Locate in this the last occurrence of the code point `c`
+ * in the range [`start`, `start + length`),
* using bitwise comparison.
*
* @param c The code point to search for.
* @param start the offset into this at which to start matching
* @param length the number of characters in this to search
- * @return The offset into this of c, or -1 if not found.
+ * @return The offset into this of `c`, or -1 if not found.
* @stable ICU 2.0
*/
inline int32_t lastIndexOf(UChar32 c,
@@ -1316,32 +1321,32 @@ public:
/* Character access */
/**
- * Return the code unit at offset offset.
+ * Return the code unit at offset `offset`.
* If the offset is not valid (0..length()-1) then U+ffff is returned.
* @param offset a valid offset into the text
- * @return the code unit at offset offset
+ * @return the code unit at offset `offset`
* or 0xffff if the offset is not valid for this string
* @stable ICU 2.0
*/
inline char16_t charAt(int32_t offset) const;
/**
- * Return the code unit at offset offset.
+ * Return the code unit at offset `offset`.
* If the offset is not valid (0..length()-1) then U+ffff is returned.
* @param offset a valid offset into the text
- * @return the code unit at offset offset
+ * @return the code unit at offset `offset`
* @stable ICU 2.0
*/
inline char16_t operator[] (int32_t offset) const;
/**
* Return the code point that contains the code unit
- * at offset offset.
+ * at offset `offset`.
* If the offset is not valid (0..length()-1) then U+ffff is returned.
* @param offset a valid offset into the text
* that indicates the text offset of any of the code units
* that will be assembled into a code point (21-bit value) and returned
- * @return the code point of text at offset
+ * @return the code point of text at `offset`
* or 0xffff if the offset is not valid for this string
* @stable ICU 2.0
*/
@@ -1398,33 +1403,33 @@ public:
* This behaves like CharacterIterator::move32(delta, kCurrent).
*
* Behavior for out-of-bounds indexes:
- * moveIndex32
pins the input index to 0..length(), i.e.,
+ * `moveIndex32` pins the input index to 0..length(), i.e.,
* if the input index<0 then it is pinned to 0;
* if it is index>length() then it is pinned to length().
- * Afterwards, the index is moved by delta
code points
+ * Afterwards, the index is moved by `delta` code points
* forward or backward,
* but no further backward than to 0 and no further forward than to length().
* The resulting index return value will be in between 0 and length(), inclusively.
*
* Examples:
- *
- * // s has code points 'a' U+10000 'b' U+10ffff U+2029
- * UnicodeString s=UNICODE_STRING("a\\U00010000b\\U0010ffff\\u2029", 31).unescape();
+ * \code
+ * // s has code points 'a' U+10000 'b' U+10ffff U+2029
+ * UnicodeString s(u"a\U00010000b\U0010ffff\u2029");
*
- * // initial index: position of U+10000
- * int32_t index=1;
+ * // initial index: position of U+10000
+ * int32_t index=1;
*
- * // the following examples will all result in index==4, position of U+10ffff
+ * // the following examples will all result in index==4, position of U+10ffff
*
- * // skip 2 code points from some position in the string
- * index=s.moveIndex32(index, 2); // skips U+10000 and 'b'
+ * // skip 2 code points from some position in the string
+ * index=s.moveIndex32(index, 2); // skips U+10000 and 'b'
*
- * // go to the 3rd code point from the start of s (0-based)
- * index=s.moveIndex32(0, 3); // skips 'a', U+10000, and 'b'
+ * // go to the 3rd code point from the start of s (0-based)
+ * index=s.moveIndex32(0, 3); // skips 'a', U+10000, and 'b'
*
- * // go to the next-to-last code point of s
- * index=s.moveIndex32(s.length(), -2); // backward-skips U+2029 and U+10ffff
- *
+ * // go to the next-to-last code point of s
+ * index=s.moveIndex32(s.length(), -2); // backward-skips U+2029 and U+10ffff
+ * \endcode
*
* @param index input code unit index
* @param delta (signed) code point count to move the index forward or backward
@@ -1438,16 +1443,16 @@ public:
/**
* Copy the characters in the range
- * [start, start + length) into the array dst,
- * beginning at dstStart.
- * If the string aliases to dst
itself as an external buffer,
+ * [`start`, `start + length`) into the array `dst`,
+ * beginning at `dstStart`.
+ * If the string aliases to `dst` itself as an external buffer,
* then extract() will not copy the contents.
*
* @param start offset of first character which will be copied into the array
* @param length the number of characters to extract
- * @param dst array in which to copy characters. The length of dst
- * must be at least (dstStart + length).
- * @param dstStart the offset in dst where the first character
+ * @param dst array in which to copy characters. The length of `dst`
+ * must be at least (`dstStart + length`).
+ * @param dstStart the offset in `dst` where the first character
* will be extracted
* @stable ICU 2.0
*/
@@ -1468,7 +1473,7 @@ public:
* If the string itself does not fit into dest
* (length()>destCapacity) then the error code is set to U_BUFFER_OVERFLOW_ERROR.
*
- * If the string aliases to dest
itself as an external buffer,
+ * If the string aliases to `dest` itself as an external buffer,
* then extract() will not copy the contents.
*
* @param dest Destination string buffer.
@@ -1483,12 +1488,11 @@ public:
/**
* Copy the characters in the range
- * [start, start + length) into the UnicodeString
- * target.
+ * [`start`, `start + length`) into the UnicodeString
+ * `target`.
* @param start offset of first character which will be copied
* @param length the number of characters to extract
* @param target UnicodeString into which to copy characters.
- * @return A reference to target
* @stable ICU 2.0
*/
inline void extract(int32_t start,
@@ -1496,13 +1500,13 @@ public:
UnicodeString& target) const;
/**
- * Copy the characters in the range [start, limit)
- * into the array dst, beginning at dstStart.
+ * Copy the characters in the range [`start`, `limit`)
+ * into the array `dst`, beginning at `dstStart`.
* @param start offset of first character which will be copied into the array
* @param limit offset immediately following the last character to be copied
- * @param dst array in which to copy characters. The length of dst
- * must be at least (dstStart + (limit - start)).
- * @param dstStart the offset in dst where the first character
+ * @param dst array in which to copy characters. The length of `dst`
+ * must be at least (`dstStart + (limit - start)`).
+ * @param dstStart the offset in `dst` where the first character
* will be extracted
* @stable ICU 2.0
*/
@@ -1512,12 +1516,11 @@ public:
int32_t dstStart = 0) const;
/**
- * Copy the characters in the range [start, limit)
- * into the UnicodeString target. Replaceable API.
+ * Copy the characters in the range [`start`, `limit`)
+ * into the UnicodeString `target`. Replaceable API.
* @param start offset of first character which will be copied
* @param limit offset immediately following the last character to be copied
* @param target UnicodeString into which to copy characters.
- * @return A reference to target
* @stable ICU 2.0
*/
virtual void extractBetween(int32_t start,
@@ -1526,11 +1529,11 @@ public:
/**
* Copy the characters in the range
- * [start, start + startLength) into an array of characters.
+ * [`start`, `start + startLength`) into an array of characters.
* All characters must be invariant (see utypes.h).
* Use US_INV as the last, signature-distinguishing parameter.
*
- * This function does not write any more than targetCapacity
+ * This function does not write any more than `targetCapacity`
* characters but returns the length of the entire output string
* so that one can allocate a larger buffer and call the function again
* if necessary.
@@ -1555,9 +1558,9 @@ public:
/**
* Copy the characters in the range
- * [start, start + length) into an array of characters
+ * [`start`, `start + length`) into an array of characters
* in the platform's default codepage.
- * This function does not write any more than targetLength
+ * This function does not write any more than `targetLength`
* characters but returns the length of the entire output string
* so that one can allocate a larger buffer and call the function again
* if necessary.
@@ -1567,8 +1570,8 @@ public:
* @param startLength the number of characters to extract
* @param target the target buffer for extraction
* @param targetLength the length of the target buffer
- * If target is NULL, then the number of bytes required for
- * target is returned.
+ * If `target` is NULL, then the number of bytes required for
+ * `target` is returned.
* @return the output string length, not including the terminating NUL
* @stable ICU 2.0
*/
@@ -1583,7 +1586,7 @@ public:
/**
* Copy the characters in the range
- * [start, start + length) into an array of characters
+ * [`start`, `start + length`) into an array of characters
* in a specified codepage.
* The output string is NUL-terminated.
*
@@ -1597,11 +1600,11 @@ public:
* @param target the target buffer for extraction
* @param codepage the desired codepage for the characters. 0 has
* the special meaning of the default codepage
- * If codepage
is an empty string (""
),
+ * If `codepage` is an empty string (`""`),
* then a simple conversion is performed on the codepage-invariant
* subset ("invariant characters") of the platform encoding. See utypes.h.
- * If target is NULL, then the number of bytes required for
- * target is returned. It is assumed that the target is big enough
+ * If `target` is NULL, then the number of bytes required for
+ * `target` is returned. It is assumed that the target is big enough
* to fit all of the characters.
* @return the output string length, not including the terminating NUL
* @stable ICU 2.0
@@ -1613,9 +1616,9 @@ public:
/**
* Copy the characters in the range
- * [start, start + length) into an array of characters
+ * [`start`, `start + length`) into an array of characters
* in a specified codepage.
- * This function does not write any more than targetLength
+ * This function does not write any more than `targetLength`
* characters but returns the length of the entire output string
* so that one can allocate a larger buffer and call the function again
* if necessary.
@@ -1632,11 +1635,11 @@ public:
* @param targetLength the length of the target buffer
* @param codepage the desired codepage for the characters. 0 has
* the special meaning of the default codepage
- * If codepage
is an empty string (""
),
+ * If `codepage` is an empty string (`""`),
* then a simple conversion is performed on the codepage-invariant
* subset ("invariant characters") of the platform encoding. See utypes.h.
- * If target is NULL, then the number of bytes required for
- * target is returned.
+ * If `target` is NULL, then the number of bytes required for
+ * `target` is returned.
* @return the output string length, not including the terminating NUL
* @stable ICU 2.0
*/
@@ -1849,7 +1852,7 @@ public:
/**
* Assignment operator. Replace the characters in this UnicodeString
- * with the characters from srcText.
+ * with the characters from `srcText`.
*
* Starting with ICU 2.4, the assignment operator and the copy constructor
* allocate a new buffer and copy the buffer contents even for readonly aliases.
@@ -1870,7 +1873,7 @@ public:
/**
* Almost the same as the assignment operator.
* Replace the characters in this UnicodeString
- * with the characters from srcText
.
+ * with the characters from `srcText`.
*
* This function works the same as the assignment operator
* for all strings except for ones that are readonly aliases.
@@ -1902,22 +1905,7 @@ public:
* @return *this
* @stable ICU 56
*/
- UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT {
- return moveFrom(src);
- }
-
- // do not use #ifndef U_HIDE_DRAFT_API for moveFrom, needed by non-draft API
- /**
- * Move assignment; might leave src in bogus state.
- * This string will have the same contents and state that the source string had.
- * The behavior is undefined if *this and src are the same object.
- *
- * Can be called explicitly, does not need C++11 support.
- * @param src source string
- * @return *this
- * @draft ICU 56
- */
- UnicodeString &moveFrom(UnicodeString &src) U_NOEXCEPT;
+ UnicodeString &operator=(UnicodeString &&src) U_NOEXCEPT;
/**
* Swap strings.
@@ -1932,14 +1920,14 @@ public:
* @param s2 will get s1's contents and state
* @stable ICU 56
*/
- friend U_COMMON_API inline void U_EXPORT2
+ friend inline void U_EXPORT2
swap(UnicodeString &s1, UnicodeString &s2) U_NOEXCEPT {
s1.swap(s2);
}
/**
* Assignment operator. Replace the characters in this UnicodeString
- * with the code unit ch.
+ * with the code unit `ch`.
* @param ch the code unit to replace
* @return a reference to this
* @stable ICU 2.0
@@ -1948,7 +1936,7 @@ public:
/**
* Assignment operator. Replace the characters in this UnicodeString
- * with the code point ch.
+ * with the code point `ch`.
* @param ch the code point to replace
* @return a reference to this
* @stable ICU 2.0
@@ -1957,11 +1945,11 @@ public:
/**
* Set the text in the UnicodeString object to the characters
- * in srcText in the range
- * [srcStart, srcText.length()).
- * srcText is not modified.
+ * in `srcText` in the range
+ * [`srcStart`, `srcText.length()`).
+ * `srcText` is not modified.
* @param srcText the source for the new characters
- * @param srcStart the offset into srcText where new characters
+ * @param srcStart the offset into `srcText` where new characters
* will be obtained
* @return a reference to this
* @stable ICU 2.2
@@ -1971,13 +1959,13 @@ public:
/**
* Set the text in the UnicodeString object to the characters
- * in srcText in the range
- * [srcStart, srcStart + srcLength).
- * srcText is not modified.
+ * in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`).
+ * `srcText` is not modified.
* @param srcText the source for the new characters
- * @param srcStart the offset into srcText where new characters
+ * @param srcStart the offset into `srcText` where new characters
* will be obtained
- * @param srcLength the number of characters in srcText in the
+ * @param srcLength the number of characters in `srcText` in the
* replace string.
* @return a reference to this
* @stable ICU 2.0
@@ -1988,8 +1976,8 @@ public:
/**
* Set the text in the UnicodeString object to the characters in
- * srcText.
- * srcText is not modified.
+ * `srcText`.
+ * `srcText` is not modified.
* @param srcText the source for the new characters
* @return a reference to this
* @stable ICU 2.0
@@ -1998,7 +1986,7 @@ public:
/**
* Set the characters in the UnicodeString object to the characters
- * in srcChars. srcChars is not modified.
+ * in `srcChars`. `srcChars` is not modified.
* @param srcChars the source for the new characters
* @param srcLength the number of Unicode characters in srcChars.
* @return a reference to this
@@ -2009,23 +1997,23 @@ public:
/**
* Set the characters in the UnicodeString object to the code unit
- * srcChar.
+ * `srcChar`.
* @param srcChar the code unit which becomes the UnicodeString's character
* content
* @return a reference to this
* @stable ICU 2.0
*/
- UnicodeString& setTo(char16_t srcChar);
+ inline UnicodeString& setTo(char16_t srcChar);
/**
* Set the characters in the UnicodeString object to the code point
- * srcChar.
+ * `srcChar`.
* @param srcChar the code point which becomes the UnicodeString's character
* content
* @return a reference to this
* @stable ICU 2.0
*/
- UnicodeString& setTo(UChar32 srcChar);
+ inline UnicodeString& setTo(UChar32 srcChar);
/**
* Aliasing setTo() function, analogous to the readonly-aliasing char16_t* constructor.
@@ -2041,12 +2029,12 @@ public:
* When using fastCopyFrom(), the text will be aliased again,
* so that both strings then alias the same readonly-text.
*
- * @param isTerminated specifies if text
is NUL
-terminated.
- * This must be true if textLength==-1
.
+ * @param isTerminated specifies if `text` is `NUL`-terminated.
+ * This must be true if `textLength==-1`.
* @param text The characters to alias for the UnicodeString.
- * @param textLength The number of Unicode characters in text
to alias.
+ * @param textLength The number of Unicode characters in `text` to alias.
* If -1, then this constructor will determine the length
- * by calling u_strlen()
.
+ * by calling `u_strlen()`.
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2068,8 +2056,8 @@ public:
* as the string buffer itself and will in this case not copy the contents.
*
* @param buffer The characters to alias for the UnicodeString.
- * @param buffLength The number of Unicode characters in buffer
to alias.
- * @param buffCapacity The size of buffer
in char16_ts.
+ * @param buffLength The number of Unicode characters in `buffer` to alias.
+ * @param buffCapacity The size of `buffer` in char16_ts.
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2109,8 +2097,7 @@ public:
* s.truncate(0); // set to an empty string (complete truncation), or
* s=UnicodeString(); // assign an empty string, or
* s.setTo((UChar32)-1); // set to a pseudo code point that is out of range, or
- * static const char16_t nul=0;
- * s.setTo(&nul, 0); // set to an empty C Unicode string
+ * s.setTo(u"", 0); // set to an empty C Unicode string
* }
* \endcode
*
@@ -2133,7 +2120,7 @@ public:
/* Append operations */
/**
- * Append operator. Append the code unit ch to the UnicodeString
+ * Append operator. Append the code unit `ch` to the UnicodeString
* object.
* @param ch the code unit to be appended
* @return a reference to this
@@ -2142,7 +2129,7 @@ public:
inline UnicodeString& operator+= (char16_t ch);
/**
- * Append operator. Append the code point ch to the UnicodeString
+ * Append operator. Append the code point `ch` to the UnicodeString
* object.
* @param ch the code point to be appended
* @return a reference to this
@@ -2151,8 +2138,8 @@ public:
inline UnicodeString& operator+= (UChar32 ch);
/**
- * Append operator. Append the characters in srcText to the
- * UnicodeString object. srcText is not modified.
+ * Append operator. Append the characters in `srcText` to the
+ * UnicodeString object. `srcText` is not modified.
* @param srcText the source for the new characters
* @return a reference to this
* @stable ICU 2.0
@@ -2161,14 +2148,14 @@ public:
/**
* Append the characters
- * in srcText in the range
- * [srcStart, srcStart + srcLength) to the
- * UnicodeString object at offset start. srcText
+ * in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`) to the
+ * UnicodeString object at offset `start`. `srcText`
* is not modified.
* @param srcText the source for the new characters
- * @param srcStart the offset into srcText where new characters
+ * @param srcStart the offset into `srcText` where new characters
* will be obtained
- * @param srcLength the number of characters in srcText in
+ * @param srcLength the number of characters in `srcText` in
* the append string
* @return a reference to this
* @stable ICU 2.0
@@ -2178,8 +2165,8 @@ public:
int32_t srcLength);
/**
- * Append the characters in srcText to the UnicodeString object.
- * srcText is not modified.
+ * Append the characters in `srcText` to the UnicodeString object.
+ * `srcText` is not modified.
* @param srcText the source for the new characters
* @return a reference to this
* @stable ICU 2.0
@@ -2187,15 +2174,15 @@ public:
inline UnicodeString& append(const UnicodeString& srcText);
/**
- * Append the characters in srcChars in the range
- * [srcStart, srcStart + srcLength) to the UnicodeString
+ * Append the characters in `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`) to the UnicodeString
* object at offset
- * start. srcChars is not modified.
+ * `start`. `srcChars` is not modified.
* @param srcChars the source for the new characters
- * @param srcStart the offset into srcChars where new characters
+ * @param srcStart the offset into `srcChars` where new characters
* will be obtained
- * @param srcLength the number of characters in srcChars in
- * the append string; can be -1 if srcChars is NUL-terminated
+ * @param srcLength the number of characters in `srcChars` in
+ * the append string; can be -1 if `srcChars` is NUL-terminated
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2204,11 +2191,11 @@ public:
int32_t srcLength);
/**
- * Append the characters in srcChars to the UnicodeString object
- * at offset start. srcChars is not modified.
+ * Append the characters in `srcChars` to the UnicodeString object
+ * at offset `start`. `srcChars` is not modified.
* @param srcChars the source for the new characters
- * @param srcLength the number of Unicode characters in srcChars;
- * can be -1 if srcChars is NUL-terminated
+ * @param srcLength the number of Unicode characters in `srcChars`;
+ * can be -1 if `srcChars` is NUL-terminated
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2216,7 +2203,7 @@ public:
int32_t srcLength);
/**
- * Append the code unit srcChar to the UnicodeString object.
+ * Append the code unit `srcChar` to the UnicodeString object.
* @param srcChar the code unit to append
* @return a reference to this
* @stable ICU 2.0
@@ -2224,7 +2211,7 @@ public:
inline UnicodeString& append(char16_t srcChar);
/**
- * Append the code point srcChar to the UnicodeString object.
+ * Append the code point `srcChar` to the UnicodeString object.
* @param srcChar the code point to append
* @return a reference to this
* @stable ICU 2.0
@@ -2235,14 +2222,14 @@ public:
/* Insert operations */
/**
- * Insert the characters in srcText in the range
- * [srcStart, srcStart + srcLength) into the UnicodeString
- * object at offset start. srcText is not modified.
+ * Insert the characters in `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`) into the UnicodeString
+ * object at offset `start`. `srcText` is not modified.
* @param start the offset where the insertion begins
* @param srcText the source for the new characters
- * @param srcStart the offset into srcText where new characters
+ * @param srcStart the offset into `srcText` where new characters
* will be obtained
- * @param srcLength the number of characters in srcText in
+ * @param srcLength the number of characters in `srcText` in
* the insert string
* @return a reference to this
* @stable ICU 2.0
@@ -2253,8 +2240,8 @@ public:
int32_t srcLength);
/**
- * Insert the characters in srcText into the UnicodeString object
- * at offset start. srcText is not modified.
+ * Insert the characters in `srcText` into the UnicodeString object
+ * at offset `start`. `srcText` is not modified.
* @param start the offset where the insertion begins
* @param srcText the source for the new characters
* @return a reference to this
@@ -2264,14 +2251,14 @@ public:
const UnicodeString& srcText);
/**
- * Insert the characters in srcChars in the range
- * [srcStart, srcStart + srcLength) into the UnicodeString
- * object at offset start. srcChars is not modified.
+ * Insert the characters in `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`) into the UnicodeString
+ * object at offset `start`. `srcChars` is not modified.
* @param start the offset at which the insertion begins
* @param srcChars the source for the new characters
- * @param srcStart the offset into srcChars where new characters
+ * @param srcStart the offset into `srcChars` where new characters
* will be obtained
- * @param srcLength the number of characters in srcChars
+ * @param srcLength the number of characters in `srcChars`
* in the insert string
* @return a reference to this
* @stable ICU 2.0
@@ -2282,8 +2269,8 @@ public:
int32_t srcLength);
/**
- * Insert the characters in srcChars into the UnicodeString object
- * at offset start. srcChars is not modified.
+ * Insert the characters in `srcChars` into the UnicodeString object
+ * at offset `start`. `srcChars` is not modified.
* @param start the offset where the insertion begins
* @param srcChars the source for the new characters
* @param srcLength the number of Unicode characters in srcChars.
@@ -2295,8 +2282,8 @@ public:
int32_t srcLength);
/**
- * Insert the code unit srcChar into the UnicodeString object at
- * offset start.
+ * Insert the code unit `srcChar` into the UnicodeString object at
+ * offset `start`.
* @param start the offset at which the insertion occurs
* @param srcChar the code unit to insert
* @return a reference to this
@@ -2306,8 +2293,8 @@ public:
char16_t srcChar);
/**
- * Insert the code point srcChar into the UnicodeString object at
- * offset start.
+ * Insert the code point `srcChar` into the UnicodeString object at
+ * offset `start`.
* @param start the offset at which the insertion occurs
* @param srcChar the code point to insert
* @return a reference to this
@@ -2321,22 +2308,22 @@ public:
/**
* Replace the characters in the range
- * [start, start + length) with the characters in
- * srcText in the range
- * [srcStart, srcStart + srcLength).
- * srcText is not modified.
+ * [`start`, `start + length`) with the characters in
+ * `srcText` in the range
+ * [`srcStart`, `srcStart + srcLength`).
+ * `srcText` is not modified.
* @param start the offset at which the replace operation begins
* @param length the number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcText the source for the new characters
- * @param srcStart the offset into srcText where new characters
+ * @param srcStart the offset into `srcText` where new characters
* will be obtained
- * @param srcLength the number of characters in srcText in
+ * @param srcLength the number of characters in `srcText` in
* the replace string
* @return a reference to this
* @stable ICU 2.0
*/
- UnicodeString& replace(int32_t start,
+ inline UnicodeString& replace(int32_t start,
int32_t length,
const UnicodeString& srcText,
int32_t srcStart,
@@ -2344,38 +2331,38 @@ public:
/**
* Replace the characters in the range
- * [start, start + length)
- * with the characters in srcText. srcText is
+ * [`start`, `start + length`)
+ * with the characters in `srcText`. `srcText` is
* not modified.
* @param start the offset at which the replace operation begins
* @param length the number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcText the source for the new characters
* @return a reference to this
* @stable ICU 2.0
*/
- UnicodeString& replace(int32_t start,
+ inline UnicodeString& replace(int32_t start,
int32_t length,
const UnicodeString& srcText);
/**
* Replace the characters in the range
- * [start, start + length) with the characters in
- * srcChars in the range
- * [srcStart, srcStart + srcLength). srcChars
+ * [`start`, `start + length`) with the characters in
+ * `srcChars` in the range
+ * [`srcStart`, `srcStart + srcLength`). `srcChars`
* is not modified.
* @param start the offset at which the replace operation begins
* @param length the number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcChars the source for the new characters
- * @param srcStart the offset into srcChars where new characters
+ * @param srcStart the offset into `srcChars` where new characters
* will be obtained
- * @param srcLength the number of characters in srcChars
+ * @param srcLength the number of characters in `srcChars`
* in the replace string
* @return a reference to this
* @stable ICU 2.0
*/
- UnicodeString& replace(int32_t start,
+ inline UnicodeString& replace(int32_t start,
int32_t length,
const char16_t *srcChars,
int32_t srcStart,
@@ -2383,11 +2370,11 @@ public:
/**
* Replace the characters in the range
- * [start, start + length) with the characters in
- * srcChars. srcChars is not modified.
+ * [`start`, `start + length`) with the characters in
+ * `srcChars`. `srcChars` is not modified.
* @param start the offset at which the replace operation begins
* @param length number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcChars the source for the new characters
* @param srcLength the number of Unicode characters in srcChars
* @return a reference to this
@@ -2400,11 +2387,11 @@ public:
/**
* Replace the characters in the range
- * [start, start + length) with the code unit
- * srcChar.
+ * [`start`, `start + length`) with the code unit
+ * `srcChar`.
* @param start the offset at which the replace operation begins
* @param length the number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcChar the new code unit
* @return a reference to this
* @stable ICU 2.0
@@ -2415,11 +2402,11 @@ public:
/**
* Replace the characters in the range
- * [start, start + length) with the code point
- * srcChar.
+ * [`start`, `start + length`) with the code point
+ * `srcChar`.
* @param start the offset at which the replace operation begins
* @param length the number of characters to replace. The character at
- * start + length is not modified.
+ * `start + length` is not modified.
* @param srcChar the new code point
* @return a reference to this
* @stable ICU 2.0
@@ -2427,8 +2414,8 @@ public:
UnicodeString& replace(int32_t start, int32_t length, UChar32 srcChar);
/**
- * Replace the characters in the range [start, limit)
- * with the characters in srcText. srcText is not modified.
+ * Replace the characters in the range [`start`, `limit`)
+ * with the characters in `srcText`. `srcText` is not modified.
* @param start the offset at which the replace operation begins
* @param limit the offset immediately following the replace range
* @param srcText the source for the new characters
@@ -2440,16 +2427,16 @@ public:
const UnicodeString& srcText);
/**
- * Replace the characters in the range [start, limit)
- * with the characters in srcText in the range
- * [srcStart, srcLimit). srcText is not modified.
+ * Replace the characters in the range [`start`, `limit`)
+ * with the characters in `srcText` in the range
+ * [`srcStart`, `srcLimit`). `srcText` is not modified.
* @param start the offset at which the replace operation begins
* @param limit the offset immediately following the replace range
* @param srcText the source for the new characters
- * @param srcStart the offset into srcChars where new characters
+ * @param srcStart the offset into `srcChars` where new characters
* will be obtained
* @param srcLimit the offset immediately following the range to copy
- * in srcText
+ * in `srcText`
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2461,12 +2448,9 @@ public:
/**
* Replace a substring of this object with the given text.
- * @param start the beginning index, inclusive; 0 <= start
- * <= limit
.
- * @param limit the ending index, exclusive; start <= limit
- * <= length()
.
- * @param text the text to replace characters start
- * to limit - 1
+ * @param start the beginning index, inclusive; `0 <= start <= limit`.
+ * @param limit the ending index, exclusive; `start <= limit <= length()`.
+ * @param text the text to replace characters `start` to `limit - 1`
* @stable ICU 2.0
*/
virtual void handleReplaceBetween(int32_t start,
@@ -2485,14 +2469,12 @@ public:
* information. This method is used to duplicate or reorder substrings.
* The destination index must not overlap the source range.
*
- * @param start the beginning index, inclusive; 0 <= start <=
- * limit
.
- * @param limit the ending index, exclusive; start <= limit <=
- * length()
.
+ * @param start the beginning index, inclusive; `0 <= start <= limit`.
+ * @param limit the ending index, exclusive; `start <= limit <= length()`.
* @param dest the destination index. The characters from
- * start..limit-1
will be copied to dest
.
- * Implementations of this method may assume that dest <= start ||
- * dest >= limit
.
+ * `start..limit-1` will be copied to `dest`.
+ * Implementations of this method may assume that `dest <= start ||
+ * dest >= limit`.
* @stable ICU 2.0
*/
virtual void copy(int32_t start, int32_t limit, int32_t dest);
@@ -2513,7 +2495,7 @@ public:
/**
* Replace all occurrences of characters in oldText with characters
* in newText
- * in the range [start, start + length).
+ * in the range [`start`, `start + length`).
* @param start the start of the range in which replace will performed
* @param length the length of the range in which replace will be performed
* @param oldText the text containing the search text
@@ -2528,18 +2510,18 @@ public:
/**
* Replace all occurrences of characters in oldText in the range
- * [oldStart, oldStart + oldLength) with the characters
+ * [`oldStart`, `oldStart + oldLength`) with the characters
* in newText in the range
- * [newStart, newStart + newLength)
- * in the range [start, start + length).
+ * [`newStart`, `newStart + newLength`)
+ * in the range [`start`, `start + length`).
* @param start the start of the range in which replace will performed
* @param length the length of the range in which replace will be performed
* @param oldText the text containing the search text
- * @param oldStart the start of the search range in oldText
- * @param oldLength the length of the search range in oldText
+ * @param oldStart the start of the search range in `oldText`
+ * @param oldLength the length of the search range in `oldText`
* @param newText the text containing the replacement text
- * @param newStart the start of the replacement range in newText
- * @param newLength the length of the replacement range in newText
+ * @param newStart the start of the replacement range in `newText`
+ * @param newLength the length of the replacement range in `newText`
* @return a reference to this
* @stable ICU 2.0
*/
@@ -2556,15 +2538,18 @@ public:
/* Remove operations */
/**
- * Remove all characters from the UnicodeString object.
+ * Removes all characters from the UnicodeString object and clears the bogus flag.
+ * This is the UnicodeString equivalent of std::string’s clear().
+ *
* @return a reference to this
+ * @see setToBogus
* @stable ICU 2.0
*/
- inline UnicodeString& remove(void);
+ inline UnicodeString& remove();
/**
* Remove the characters in the range
- * [start, start + length) from the UnicodeString object.
+ * [`start`, `start + length`) from the UnicodeString object.
* @param start the offset of the first character to remove
* @param length the number of characters to remove
* @return a reference to this
@@ -2575,7 +2560,7 @@ public:
/**
* Remove the characters in the range
- * [start, limit) from the UnicodeString object.
+ * [`start`, `limit`) from the UnicodeString object.
* @param start the offset of the first character to remove
* @param limit the offset immediately following the range to remove
* @return a reference to this
@@ -2586,8 +2571,8 @@ public:
/**
* Retain only the characters in the range
- * [start
, limit
) from the UnicodeString object.
- * Removes characters before start
and at and after limit
.
+ * [`start`, `limit`) from the UnicodeString object.
+ * Removes characters before `start` and at and after `limit`.
* @param start the offset of the first character to retain
* @param limit the offset immediately following the range to retain
* @return a reference to this
@@ -2598,7 +2583,7 @@ public:
/* Length operations */
/**
- * Pad the start of this UnicodeString with the character padChar.
+ * Pad the start of this UnicodeString with the character `padChar`.
* If the length of this UnicodeString is less than targetLength,
* length() - targetLength copies of padChar will be added to the
* beginning of this UnicodeString.
@@ -2612,7 +2597,7 @@ public:
char16_t padChar = 0x0020);
/**
- * Pad the end of this UnicodeString with the character padChar.
+ * Pad the end of this UnicodeString with the character `padChar`.
* If the length of this UnicodeString is less than targetLength,
* length() - targetLength copies of padChar will be added to the
* end of this UnicodeString.
@@ -2626,7 +2611,7 @@ public:
char16_t padChar = 0x0020);
/**
- * Truncate this UnicodeString to the targetLength.
+ * Truncate this UnicodeString to the `targetLength`.
* @param targetLength the desired length of this UnicodeString.
* @return TRUE if the text was truncated, FALSE otherwise
* @stable ICU 2.0
@@ -2651,7 +2636,7 @@ public:
inline UnicodeString& reverse(void);
/**
- * Reverse the range [start, start + length) in
+ * Reverse the range [`start`, `start + length`) in
* this UnicodeString.
* @param start the start of the range to reverse
* @param length the number of characters to to reverse
@@ -2836,7 +2821,7 @@ public:
* If the length() was greater than minCapacity, then any contents after minCapacity
* may be lost.
* The buffer contents is not NUL-terminated by getBuffer().
- * If length()(s.length().
+ * `(s.length() < s.getCapacity() && buffer[s.length()]==0)`.
* (See getTerminatedBuffer().)
*
* The buffer may reside in read-only memory. Its contents must not
@@ -2952,7 +2937,7 @@ public:
inline UnicodeString();
/**
- * Construct a UnicodeString with capacity to hold capacity char16_ts
+ * Construct a UnicodeString with capacity to hold `capacity` char16_ts
* @param capacity the number of char16_ts this UnicodeString should hold
* before a resize is necessary; if count is greater than 0 and count
* code points c take up more space than capacity, then capacity is adjusted
@@ -2968,7 +2953,7 @@ public:
* Single char16_t (code unit) constructor.
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_CHAR_EXPLICIT=explicit
+ * `-DUNISTR_FROM_CHAR_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param ch the character to place in the UnicodeString
* @stable ICU 2.0
@@ -2979,7 +2964,7 @@ public:
* Single UChar32 (code point) constructor.
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_CHAR_EXPLICIT=explicit
+ * `-DUNISTR_FROM_CHAR_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param ch the character to place in the UnicodeString
* @stable ICU 2.0
@@ -2990,9 +2975,9 @@ public:
* char16_t* constructor.
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_STRING_EXPLICIT=explicit
+ * `-DUNISTR_FROM_STRING_EXPLICIT=explicit`
* on the compiler command line or similar.
- * @param text The characters to place in the UnicodeString. text
+ * @param text The characters to place in the UnicodeString. `text`
* must be NULL (U+0000) terminated.
* @stable ICU 2.0
*/
@@ -3004,7 +2989,7 @@ public:
* Delegates to UnicodeString(const char16_t *).
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_STRING_EXPLICIT=explicit
+ * `-DUNISTR_FROM_STRING_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param text NUL-terminated UTF-16 string
* @stable ICU 59
@@ -3020,7 +3005,7 @@ public:
* Delegates to UnicodeString(const char16_t *).
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_STRING_EXPLICIT=explicit
+ * `-DUNISTR_FROM_STRING_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param text NUL-terminated UTF-16 string
* @stable ICU 59
@@ -3034,7 +3019,7 @@ public:
* Effectively the same as the default constructor, makes an empty string object.
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_STRING_EXPLICIT=explicit
+ * `-DUNISTR_FROM_STRING_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param text nullptr
* @stable ICU 59
@@ -3044,7 +3029,7 @@ public:
/**
* char16_t* constructor.
* @param text The characters to place in the UnicodeString.
- * @param textLength The number of Unicode characters in text
+ * @param textLength The number of Unicode characters in `text`
* to copy.
* @stable ICU 2.0
*/
@@ -3056,11 +3041,11 @@ public:
* uint16_t * constructor.
* Delegates to UnicodeString(const char16_t *, int32_t).
* @param text UTF-16 string
- * @param length string length
+ * @param textLength string length
* @stable ICU 59
*/
- UnicodeString(const uint16_t *text, int32_t length) :
- UnicodeString(ConstChar16Ptr(text), length) {}
+ UnicodeString(const uint16_t *text, int32_t textLength) :
+ UnicodeString(ConstChar16Ptr(text), textLength) {}
#endif
#if U_SIZEOF_WCHAR_T==2 || defined(U_IN_DOXYGEN)
@@ -3069,21 +3054,21 @@ public:
* (Only defined if U_SIZEOF_WCHAR_T==2.)
* Delegates to UnicodeString(const char16_t *, int32_t).
* @param text NUL-terminated UTF-16 string
- * @param length string length
+ * @param textLength string length
* @stable ICU 59
*/
- UnicodeString(const wchar_t *text, int32_t length) :
- UnicodeString(ConstChar16Ptr(text), length) {}
+ UnicodeString(const wchar_t *text, int32_t textLength) :
+ UnicodeString(ConstChar16Ptr(text), textLength) {}
#endif
/**
* nullptr_t constructor.
* Effectively the same as the default constructor, makes an empty string object.
* @param text nullptr
- * @param length ignored
+ * @param textLength ignored
* @stable ICU 59
*/
- inline UnicodeString(const std::nullptr_t text, int32_t length);
+ inline UnicodeString(const std::nullptr_t text, int32_t textLength);
/**
* Readonly-aliasing char16_t* constructor.
@@ -3099,12 +3084,12 @@ public:
* When using fastCopyFrom(), the text will be aliased again,
* so that both strings then alias the same readonly-text.
*
- * @param isTerminated specifies if text
is NUL
-terminated.
- * This must be true if textLength==-1
.
+ * @param isTerminated specifies if `text` is `NUL`-terminated.
+ * This must be true if `textLength==-1`.
* @param text The characters to alias for the UnicodeString.
- * @param textLength The number of Unicode characters in text
to alias.
+ * @param textLength The number of Unicode characters in `text` to alias.
* If -1, then this constructor will determine the length
- * by calling u_strlen()
.
+ * by calling `u_strlen()`.
* @stable ICU 2.0
*/
UnicodeString(UBool isTerminated,
@@ -3125,8 +3110,8 @@ public:
* as the string buffer itself and will in this case not copy the contents.
*
* @param buffer The characters to alias for the UnicodeString.
- * @param buffLength The number of Unicode characters in buffer
to alias.
- * @param buffCapacity The size of buffer
in char16_ts.
+ * @param buffLength The number of Unicode characters in `buffer` to alias.
+ * @param buffCapacity The size of `buffer` in char16_ts.
* @stable ICU 2.0
*/
UnicodeString(char16_t *buffer, int32_t buffLength, int32_t buffCapacity);
@@ -3181,7 +3166,7 @@ public:
* UNICODE_STRING_SIMPLE.
*
* It is recommended to mark this constructor "explicit" by
- * -DUNISTR_FROM_STRING_EXPLICIT=explicit
+ * `-DUNISTR_FROM_STRING_EXPLICIT=explicit`
* on the compiler command line or similar.
* @param codepageData an array of bytes, null-terminated,
* in the platform's default codepage.
@@ -3196,7 +3181,7 @@ public:
* Uses the default converter (and thus depends on the ICU conversion code)
* unless U_CHARSET_IS_UTF8 is set to 1.
* @param codepageData an array of bytes in the platform's default codepage.
- * @param dataLength The number of bytes in codepageData.
+ * @param dataLength The number of bytes in `codepageData`.
* @stable ICU 2.0
*/
UnicodeString(const char *codepageData, int32_t dataLength);
@@ -3208,11 +3193,11 @@ public:
/**
* char* constructor.
* @param codepageData an array of bytes, null-terminated
- * @param codepage the encoding of codepageData. The special
- * value 0 for codepage indicates that the text is in the
+ * @param codepage the encoding of `codepageData`. The special
+ * value 0 for `codepage` indicates that the text is in the
* platform's default codepage.
*
- * If codepage
is an empty string (""
),
+ * If `codepage` is an empty string (`""`),
* then a simple conversion is performed on the codepage-invariant
* subset ("invariant characters") of the platform encoding. See utypes.h.
* Recommendation: For invariant-character strings use the constructor
@@ -3227,11 +3212,11 @@ public:
/**
* char* constructor.
* @param codepageData an array of bytes.
- * @param dataLength The number of bytes in codepageData.
- * @param codepage the encoding of codepageData. The special
- * value 0 for codepage indicates that the text is in the
+ * @param dataLength The number of bytes in `codepageData`.
+ * @param codepage the encoding of `codepageData`. The special
+ * value 0 for `codepage` indicates that the text is in the
* platform's default codepage.
- * If codepage
is an empty string (""
),
+ * If `codepage` is an empty string (`""`),
* then a simple conversion is performed on the codepage-invariant
* subset ("invariant characters") of the platform encoding. See utypes.h.
* Recommendation: For invariant-character strings use the constructor
@@ -3282,20 +3267,19 @@ public:
*
* For example:
* \code
- * void fn(const char *s) {
- * UnicodeString ustr(s, -1, US_INV);
- * // use ustr ...
- * }
+ * void fn(const char *s) {
+ * UnicodeString ustr(s, -1, US_INV);
+ * // use ustr ...
+ * }
* \endcode
- *
* @param src String using only invariant characters.
- * @param length Length of src, or -1 if NUL-terminated.
+ * @param textLength Length of src, or -1 if NUL-terminated.
* @param inv Signature-distinguishing paramater, use US_INV.
*
* @see US_INV
* @stable ICU 3.2
*/
- UnicodeString(const char *src, int32_t length, enum EInvariant inv);
+ UnicodeString(const char *src, int32_t textLength, enum EInvariant inv);
/**
@@ -3327,7 +3311,7 @@ public:
/**
* 'Substring' constructor from tail of source string.
* @param src The UnicodeString object to copy.
- * @param srcStart The offset into src at which to start copying.
+ * @param srcStart The offset into `src` at which to start copying.
* @stable ICU 2.2
*/
UnicodeString(const UnicodeString& src, int32_t srcStart);
@@ -3335,8 +3319,8 @@ public:
/**
* 'Substring' constructor from subrange of source string.
* @param src The UnicodeString object to copy.
- * @param srcStart The offset into src at which to start copying.
- * @param srcLength The number of characters from src to copy.
+ * @param srcStart The offset into `src` at which to start copying.
+ * @param srcLength The number of characters from `src` to copy.
* @stable ICU 2.2
*/
UnicodeString(const UnicodeString& src, int32_t srcStart, int32_t srcLength);
@@ -3346,9 +3330,6 @@ public:
* Clones can be used concurrently in multiple threads.
* If a subclass does not implement clone(), or if an error occurs,
* then NULL is returned.
- * The clone functions in all subclasses return a pointer to a Replaceable
- * because some compilers do not support covariant (same-as-this)
- * return types; cast to the appropriate subclass if necessary.
* The caller must delete the clone.
*
* @return a clone of this object
@@ -3357,7 +3338,7 @@ public:
* @see getDynamicClassID
* @stable ICU 2.6
*/
- virtual Replaceable *clone() const;
+ virtual UnicodeString *clone() const;
/** Destructor.
* @stable ICU 2.0
@@ -3408,7 +3389,7 @@ public:
*
* \\a => U+0007, \\b => U+0008, \\t => U+0009, \\n => U+000A,
* \\v => U+000B, \\f => U+000C, \\r => U+000D, \\e => U+001B,
- * \\" => U+0022, \\' => U+0027, \\? => U+003F, \\\\ => U+005C
+ * \\" => U+0022, \\' => U+0027, \\? => U+003F, \\\\ => U+005C
*
* Anything else following a backslash is generically escaped. For
* example, "[a\\-z]" returns "[a-z]".
@@ -3656,9 +3637,9 @@ private:
* Real constructor for converting from codepage data.
* It assumes that it is called with !fRefCounted.
*
- * If codepage==0
, then the default converter
+ * If `codepage==0`, then the default converter
* is used for the platform encoding.
- * If codepage
is an empty string (""
),
+ * If `codepage` is an empty string (`""`),
* then a simple conversion is performed on the codepage-invariant
* subset ("invariant characters") of the platform encoding. See utypes.h.
*/
@@ -4771,4 +4752,6 @@ UnicodeString::reverse(int32_t start,
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/unorm.h b/Build/source/libs/icu/icu-src/source/common/unicode/unorm.h
index 3839de12957..09dd366a968 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/unorm.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/unorm.h
@@ -131,6 +131,8 @@
// Do not conditionalize the following enum with #ifndef U_HIDE_DEPRECATED_API,
// it is needed for layout of Normalizer object.
+#ifndef U_FORCE_HIDE_DEPRECATED_API
+
/**
* Constants for normalization modes.
* @deprecated ICU 56 Use unorm2.h instead.
@@ -155,6 +157,8 @@ typedef enum {
UNORM_MODE_COUNT
} UNormalizationMode;
+#endif // U_FORCE_HIDE_DEPRECATED_API
+
#ifndef U_HIDE_DEPRECATED_API
/**
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uobject.h b/Build/source/libs/icu/icu-src/source/common/unicode/uobject.h
index c42c720cc71..eeb331ce973 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uobject.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uobject.h
@@ -21,6 +21,10 @@
#include "unicode/utypes.h"
+#if U_SHOW_CPLUSPLUS_API
+
+#include "unicode/platform.h"
+
/**
* \file
* \brief C++ API: Common ICU base class UObject.
@@ -28,7 +32,9 @@
/**
* \def U_NO_THROW
- * Define this to define the throw() specification so
+ * Since ICU 64, use U_NOEXCEPT instead.
+ *
+ * Previously, define this to define the throw() specification so
* certain functions do not throw any exceptions
*
* UMemory operator new methods should have the throw() specification
@@ -37,10 +43,10 @@
* constructor is still called, and if the constructor references member
* data, (which it typically does), the result is a segmentation violation.
*
- * @stable ICU 4.2
+ * @stable ICU 4.2. Since ICU 64, Use U_NOEXCEPT instead. See ICU-20422.
*/
#ifndef U_NO_THROW
-#define U_NO_THROW throw()
+#define U_NO_THROW U_NOEXCEPT
#endif
/*===========================================================================*/
@@ -125,14 +131,14 @@ public:
* for ICU4C C++ classes
* @stable ICU 2.4
*/
- static void * U_EXPORT2 operator new(size_t size) U_NO_THROW;
+ static void * U_EXPORT2 operator new(size_t size) U_NOEXCEPT;
/**
* Override for ICU4C C++ memory management.
* See new().
* @stable ICU 2.4
*/
- static void * U_EXPORT2 operator new[](size_t size) U_NO_THROW;
+ static void * U_EXPORT2 operator new[](size_t size) U_NOEXCEPT;
/**
* Override for ICU4C C++ memory management.
@@ -142,14 +148,14 @@ public:
* for ICU4C C++ classes
* @stable ICU 2.4
*/
- static void U_EXPORT2 operator delete(void *p) U_NO_THROW;
+ static void U_EXPORT2 operator delete(void *p) U_NOEXCEPT;
/**
* Override for ICU4C C++ memory management.
* See delete().
* @stable ICU 2.4
*/
- static void U_EXPORT2 operator delete[](void *p) U_NO_THROW;
+ static void U_EXPORT2 operator delete[](void *p) U_NOEXCEPT;
#if U_HAVE_PLACEMENT_NEW
/**
@@ -157,14 +163,14 @@ public:
* See new().
* @stable ICU 2.6
*/
- static inline void * U_EXPORT2 operator new(size_t, void *ptr) U_NO_THROW { return ptr; }
+ static inline void * U_EXPORT2 operator new(size_t, void *ptr) U_NOEXCEPT { return ptr; }
/**
* Override for ICU4C C++ memory management for STL.
* See delete().
* @stable ICU 2.6
*/
- static inline void U_EXPORT2 operator delete(void *, void *) U_NO_THROW {}
+ static inline void U_EXPORT2 operator delete(void *, void *) U_NOEXCEPT {}
#endif /* U_HAVE_PLACEMENT_NEW */
#if U_HAVE_DEBUG_LOCATION_NEW
/**
@@ -174,7 +180,7 @@ public:
* @param file The file where the allocation was requested
* @param line The line where the allocation was requested
*/
- static void * U_EXPORT2 operator new(size_t size, const char* file, int line) U_NO_THROW;
+ static void * U_EXPORT2 operator new(size_t size, const char* file, int line) U_NOEXCEPT;
/**
* This method provides a matching delete for the MFC debug new
*
@@ -182,7 +188,7 @@ public:
* @param file The file where the allocation was requested
* @param line The line where the allocation was requested
*/
- static void U_EXPORT2 operator delete(void* p, const char* file, int line) U_NO_THROW;
+ static void U_EXPORT2 operator delete(void* p, const char* file, int line) U_NOEXCEPT;
#endif /* U_HAVE_DEBUG_LOCATION_NEW */
#endif /* U_OVERRIDE_CXX_ALLOCATION */
@@ -209,11 +215,8 @@ public:
* The clone() function is not available in UObject because it is not
* implemented by all ICU classes.
* Many ICU services provide a clone() function for their class trees,
- * defined on the service's C++ base class, and all subclasses within that
- * service class tree return a pointer to the service base class
+ * defined on the service's C++ base class
* (which itself is a subclass of UObject).
- * This is because some compilers do not support covariant (same-as-this)
- * return types; cast to the appropriate subclass if necessary.
*
* @stable ICU 2.2
*/
@@ -316,4 +319,6 @@ protected:
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/urename.h b/Build/source/libs/icu/icu-src/source/common/unicode/urename.h
index 5812173e39c..e302bf0976e 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/urename.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/urename.h
@@ -109,12 +109,13 @@
#define _UTF32LEData U_ICU_ENTRY_POINT_RENAME(_UTF32LEData)
#define _UTF7Data U_ICU_ENTRY_POINT_RENAME(_UTF7Data)
#define _UTF8Data U_ICU_ENTRY_POINT_RENAME(_UTF8Data)
+#define _isUnicodeLocaleTypeSubtag U_ICU_ENTRY_POINT_RENAME(_isUnicodeLocaleTypeSubtag)
#define allowedHourFormatsCleanup U_ICU_ENTRY_POINT_RENAME(allowedHourFormatsCleanup)
-#define checkImpl U_ICU_ENTRY_POINT_RENAME(checkImpl)
#define cmemory_cleanup U_ICU_ENTRY_POINT_RENAME(cmemory_cleanup)
#define dayPeriodRulesCleanup U_ICU_ENTRY_POINT_RENAME(dayPeriodRulesCleanup)
#define deleteAllowedHourFormats U_ICU_ENTRY_POINT_RENAME(deleteAllowedHourFormats)
#define gTimeZoneFilesInitOnce U_ICU_ENTRY_POINT_RENAME(gTimeZoneFilesInitOnce)
+#define initNumsysNames U_ICU_ENTRY_POINT_RENAME(initNumsysNames)
#define izrule_clone U_ICU_ENTRY_POINT_RENAME(izrule_clone)
#define izrule_close U_ICU_ENTRY_POINT_RENAME(izrule_close)
#define izrule_equals U_ICU_ENTRY_POINT_RENAME(izrule_equals)
@@ -133,6 +134,7 @@
#define locale_getKeywordsStart U_ICU_ENTRY_POINT_RENAME(locale_getKeywordsStart)
#define locale_get_default U_ICU_ENTRY_POINT_RENAME(locale_get_default)
#define locale_set_default U_ICU_ENTRY_POINT_RENAME(locale_set_default)
+#define numSysCleanup U_ICU_ENTRY_POINT_RENAME(numSysCleanup)
#define pl_addFontRun U_ICU_ENTRY_POINT_RENAME(pl_addFontRun)
#define pl_addLocaleRun U_ICU_ENTRY_POINT_RENAME(pl_addLocaleRun)
#define pl_addValueRun U_ICU_ENTRY_POINT_RENAME(pl_addValueRun)
@@ -191,10 +193,13 @@
#define res_getAlias U_ICU_ENTRY_POINT_RENAME(res_getAlias)
#define res_getArrayItem U_ICU_ENTRY_POINT_RENAME(res_getArrayItem)
#define res_getBinary U_ICU_ENTRY_POINT_RENAME(res_getBinary)
+#define res_getBinaryNoTrace U_ICU_ENTRY_POINT_RENAME(res_getBinaryNoTrace)
#define res_getIntVector U_ICU_ENTRY_POINT_RENAME(res_getIntVector)
+#define res_getIntVectorNoTrace U_ICU_ENTRY_POINT_RENAME(res_getIntVectorNoTrace)
#define res_getPublicType U_ICU_ENTRY_POINT_RENAME(res_getPublicType)
#define res_getResource U_ICU_ENTRY_POINT_RENAME(res_getResource)
#define res_getString U_ICU_ENTRY_POINT_RENAME(res_getString)
+#define res_getStringNoTrace U_ICU_ENTRY_POINT_RENAME(res_getStringNoTrace)
#define res_getTableItemByIndex U_ICU_ENTRY_POINT_RENAME(res_getTableItemByIndex)
#define res_getTableItemByKey U_ICU_ENTRY_POINT_RENAME(res_getTableItemByKey)
#define res_load U_ICU_ENTRY_POINT_RENAME(res_load)
@@ -521,6 +526,7 @@
#define ucal_getDefaultTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getDefaultTimeZone)
#define ucal_getFieldDifference U_ICU_ENTRY_POINT_RENAME(ucal_getFieldDifference)
#define ucal_getGregorianChange U_ICU_ENTRY_POINT_RENAME(ucal_getGregorianChange)
+#define ucal_getHostTimeZone U_ICU_ENTRY_POINT_RENAME(ucal_getHostTimeZone)
#define ucal_getKeywordValuesForLocale U_ICU_ENTRY_POINT_RENAME(ucal_getKeywordValuesForLocale)
#define ucal_getLimit U_ICU_ENTRY_POINT_RENAME(ucal_getLimit)
#define ucal_getLocaleByType U_ICU_ENTRY_POINT_RENAME(ucal_getLocaleByType)
@@ -573,7 +579,6 @@
#define ucasemap_getLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_getLocale)
#define ucasemap_getOptions U_ICU_ENTRY_POINT_RENAME(ucasemap_getOptions)
#define ucasemap_internalUTF8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_internalUTF8ToTitle)
-#define ucasemap_mapUTF8 U_ICU_ENTRY_POINT_RENAME(ucasemap_mapUTF8)
#define ucasemap_open U_ICU_ENTRY_POINT_RENAME(ucasemap_open)
#define ucasemap_setBreakIterator U_ICU_ENTRY_POINT_RENAME(ucasemap_setBreakIterator)
#define ucasemap_setLocale U_ICU_ENTRY_POINT_RENAME(ucasemap_setLocale)
@@ -583,6 +588,18 @@
#define ucasemap_utf8ToLower U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToLower)
#define ucasemap_utf8ToTitle U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToTitle)
#define ucasemap_utf8ToUpper U_ICU_ENTRY_POINT_RENAME(ucasemap_utf8ToUpper)
+#define ucfpos_close U_ICU_ENTRY_POINT_RENAME(ucfpos_close)
+#define ucfpos_constrainCategory U_ICU_ENTRY_POINT_RENAME(ucfpos_constrainCategory)
+#define ucfpos_constrainField U_ICU_ENTRY_POINT_RENAME(ucfpos_constrainField)
+#define ucfpos_getCategory U_ICU_ENTRY_POINT_RENAME(ucfpos_getCategory)
+#define ucfpos_getField U_ICU_ENTRY_POINT_RENAME(ucfpos_getField)
+#define ucfpos_getIndexes U_ICU_ENTRY_POINT_RENAME(ucfpos_getIndexes)
+#define ucfpos_getInt64IterationContext U_ICU_ENTRY_POINT_RENAME(ucfpos_getInt64IterationContext)
+#define ucfpos_matchesField U_ICU_ENTRY_POINT_RENAME(ucfpos_matchesField)
+#define ucfpos_open U_ICU_ENTRY_POINT_RENAME(ucfpos_open)
+#define ucfpos_reset U_ICU_ENTRY_POINT_RENAME(ucfpos_reset)
+#define ucfpos_setInt64IterationContext U_ICU_ENTRY_POINT_RENAME(ucfpos_setInt64IterationContext)
+#define ucfpos_setState U_ICU_ENTRY_POINT_RENAME(ucfpos_setState)
#define uchar_addPropertyStarts U_ICU_ENTRY_POINT_RENAME(uchar_addPropertyStarts)
#define uchar_swapNames U_ICU_ENTRY_POINT_RENAME(uchar_swapNames)
#define ucln_cleanupOne U_ICU_ENTRY_POINT_RENAME(ucln_cleanupOne)
@@ -897,8 +914,12 @@
#define udatpg_setDecimal U_ICU_ENTRY_POINT_RENAME(udatpg_setDecimal)
#define udict_swap U_ICU_ENTRY_POINT_RENAME(udict_swap)
#define udtitvfmt_close U_ICU_ENTRY_POINT_RENAME(udtitvfmt_close)
+#define udtitvfmt_closeResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_closeResult)
#define udtitvfmt_format U_ICU_ENTRY_POINT_RENAME(udtitvfmt_format)
+#define udtitvfmt_formatToResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_formatToResult)
#define udtitvfmt_open U_ICU_ENTRY_POINT_RENAME(udtitvfmt_open)
+#define udtitvfmt_openResult U_ICU_ENTRY_POINT_RENAME(udtitvfmt_openResult)
+#define udtitvfmt_resultAsValue U_ICU_ENTRY_POINT_RENAME(udtitvfmt_resultAsValue)
#define uenum_close U_ICU_ENTRY_POINT_RENAME(uenum_close)
#define uenum_count U_ICU_ENTRY_POINT_RENAME(uenum_count)
#define uenum_next U_ICU_ENTRY_POINT_RENAME(uenum_next)
@@ -912,16 +933,9 @@
#define ufieldpositer_close U_ICU_ENTRY_POINT_RENAME(ufieldpositer_close)
#define ufieldpositer_next U_ICU_ENTRY_POINT_RENAME(ufieldpositer_next)
#define ufieldpositer_open U_ICU_ENTRY_POINT_RENAME(ufieldpositer_open)
-#define ufile_close_translit U_ICU_ENTRY_POINT_RENAME(ufile_close_translit)
-#define ufile_fill_uchar_buffer U_ICU_ENTRY_POINT_RENAME(ufile_fill_uchar_buffer)
-#define ufile_flush_io U_ICU_ENTRY_POINT_RENAME(ufile_flush_io)
-#define ufile_flush_translit U_ICU_ENTRY_POINT_RENAME(ufile_flush_translit)
#define ufile_getch U_ICU_ENTRY_POINT_RENAME(ufile_getch)
#define ufile_getch32 U_ICU_ENTRY_POINT_RENAME(ufile_getch32)
-#define ufmt_64tou U_ICU_ENTRY_POINT_RENAME(ufmt_64tou)
#define ufmt_close U_ICU_ENTRY_POINT_RENAME(ufmt_close)
-#define ufmt_defaultCPToUnicode U_ICU_ENTRY_POINT_RENAME(ufmt_defaultCPToUnicode)
-#define ufmt_digitvalue U_ICU_ENTRY_POINT_RENAME(ufmt_digitvalue)
#define ufmt_getArrayItemByIndex U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayItemByIndex)
#define ufmt_getArrayLength U_ICU_ENTRY_POINT_RENAME(ufmt_getArrayLength)
#define ufmt_getDate U_ICU_ENTRY_POINT_RENAME(ufmt_getDate)
@@ -933,11 +947,9 @@
#define ufmt_getType U_ICU_ENTRY_POINT_RENAME(ufmt_getType)
#define ufmt_getUChars U_ICU_ENTRY_POINT_RENAME(ufmt_getUChars)
#define ufmt_isNumeric U_ICU_ENTRY_POINT_RENAME(ufmt_isNumeric)
-#define ufmt_isdigit U_ICU_ENTRY_POINT_RENAME(ufmt_isdigit)
#define ufmt_open U_ICU_ENTRY_POINT_RENAME(ufmt_open)
-#define ufmt_ptou U_ICU_ENTRY_POINT_RENAME(ufmt_ptou)
-#define ufmt_uto64 U_ICU_ENTRY_POINT_RENAME(ufmt_uto64)
-#define ufmt_utop U_ICU_ENTRY_POINT_RENAME(ufmt_utop)
+#define ufmtval_getString U_ICU_ENTRY_POINT_RENAME(ufmtval_getString)
+#define ufmtval_nextPosition U_ICU_ENTRY_POINT_RENAME(ufmtval_nextPosition)
#define ugender_getInstance U_ICU_ENTRY_POINT_RENAME(ugender_getInstance)
#define ugender_getListGender U_ICU_ENTRY_POINT_RENAME(ugender_getListGender)
#define uhash_close U_ICU_ENTRY_POINT_RENAME(uhash_close)
@@ -1040,8 +1052,12 @@
#define ulist_resetList U_ICU_ENTRY_POINT_RENAME(ulist_resetList)
#define ulist_reset_keyword_values_iterator U_ICU_ENTRY_POINT_RENAME(ulist_reset_keyword_values_iterator)
#define ulistfmt_close U_ICU_ENTRY_POINT_RENAME(ulistfmt_close)
+#define ulistfmt_closeResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_closeResult)
#define ulistfmt_format U_ICU_ENTRY_POINT_RENAME(ulistfmt_format)
+#define ulistfmt_formatStringsToResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_formatStringsToResult)
#define ulistfmt_open U_ICU_ENTRY_POINT_RENAME(ulistfmt_open)
+#define ulistfmt_openResult U_ICU_ENTRY_POINT_RENAME(ulistfmt_openResult)
+#define ulistfmt_resultAsValue U_ICU_ENTRY_POINT_RENAME(ulistfmt_resultAsValue)
#define uloc_acceptLanguage U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguage)
#define uloc_acceptLanguageFromHTTP U_ICU_ENTRY_POINT_RENAME(uloc_acceptLanguageFromHTTP)
#define uloc_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(uloc_addLikelySubtags)
@@ -1079,6 +1095,7 @@
#define uloc_getVariant U_ICU_ENTRY_POINT_RENAME(uloc_getVariant)
#define uloc_isRightToLeft U_ICU_ENTRY_POINT_RENAME(uloc_isRightToLeft)
#define uloc_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(uloc_minimizeSubtags)
+#define uloc_openAvailableByType U_ICU_ENTRY_POINT_RENAME(uloc_openAvailableByType)
#define uloc_openKeywordList U_ICU_ENTRY_POINT_RENAME(uloc_openKeywordList)
#define uloc_openKeywords U_ICU_ENTRY_POINT_RENAME(uloc_openKeywords)
#define uloc_setDefault U_ICU_ENTRY_POINT_RENAME(uloc_setDefault)
@@ -1099,17 +1116,30 @@
#define ulocdata_getPaperSize U_ICU_ENTRY_POINT_RENAME(ulocdata_getPaperSize)
#define ulocdata_open U_ICU_ENTRY_POINT_RENAME(ulocdata_open)
#define ulocdata_setNoSubstitute U_ICU_ENTRY_POINT_RENAME(ulocdata_setNoSubstitute)
+#define ulocimp_addLikelySubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_addLikelySubtags)
#define ulocimp_forLanguageTag U_ICU_ENTRY_POINT_RENAME(ulocimp_forLanguageTag)
#define ulocimp_getCountry U_ICU_ENTRY_POINT_RENAME(ulocimp_getCountry)
#define ulocimp_getLanguage U_ICU_ENTRY_POINT_RENAME(ulocimp_getLanguage)
#define ulocimp_getRegionForSupplementalData U_ICU_ENTRY_POINT_RENAME(ulocimp_getRegionForSupplementalData)
#define ulocimp_getScript U_ICU_ENTRY_POINT_RENAME(ulocimp_getScript)
+#define ulocimp_minimizeSubtags U_ICU_ENTRY_POINT_RENAME(ulocimp_minimizeSubtags)
#define ulocimp_toBcpKey U_ICU_ENTRY_POINT_RENAME(ulocimp_toBcpKey)
#define ulocimp_toBcpType U_ICU_ENTRY_POINT_RENAME(ulocimp_toBcpType)
+#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_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)
+#define ultag_isRegionSubtag U_ICU_ENTRY_POINT_RENAME(ultag_isRegionSubtag)
+#define ultag_isScriptSubtag U_ICU_ENTRY_POINT_RENAME(ultag_isScriptSubtag)
+#define ultag_isTransformedExtensionSubtags U_ICU_ENTRY_POINT_RENAME(ultag_isTransformedExtensionSubtags)
+#define ultag_isUnicodeExtensionSubtags U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeExtensionSubtags)
+#define ultag_isUnicodeLocaleAttribute U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleAttribute)
+#define ultag_isUnicodeLocaleAttributes U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleAttributes)
#define ultag_isUnicodeLocaleKey U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleKey)
#define ultag_isUnicodeLocaleType U_ICU_ENTRY_POINT_RENAME(ultag_isUnicodeLocaleType)
+#define ultag_isVariantSubtags U_ICU_ENTRY_POINT_RENAME(ultag_isVariantSubtags)
#define umsg_applyPattern U_ICU_ENTRY_POINT_RENAME(umsg_applyPattern)
#define umsg_autoQuoteApostrophe U_ICU_ENTRY_POINT_RENAME(umsg_autoQuoteApostrophe)
#define umsg_clone U_ICU_ENTRY_POINT_RENAME(umsg_clone)
@@ -1122,9 +1152,6 @@
#define umsg_toPattern U_ICU_ENTRY_POINT_RENAME(umsg_toPattern)
#define umsg_vformat U_ICU_ENTRY_POINT_RENAME(umsg_vformat)
#define umsg_vparse U_ICU_ENTRY_POINT_RENAME(umsg_vparse)
-#define umtx_condBroadcast U_ICU_ENTRY_POINT_RENAME(umtx_condBroadcast)
-#define umtx_condSignal U_ICU_ENTRY_POINT_RENAME(umtx_condSignal)
-#define umtx_condWait U_ICU_ENTRY_POINT_RENAME(umtx_condWait)
#define umtx_lock U_ICU_ENTRY_POINT_RENAME(umtx_lock)
#define umtx_unlock U_ICU_ENTRY_POINT_RENAME(umtx_unlock)
#define umutablecptrie_buildImmutable U_ICU_ENTRY_POINT_RENAME(umutablecptrie_buildImmutable)
@@ -1208,7 +1235,9 @@
#define unumf_formatDouble U_ICU_ENTRY_POINT_RENAME(unumf_formatDouble)
#define unumf_formatInt U_ICU_ENTRY_POINT_RENAME(unumf_formatInt)
#define unumf_openForSkeletonAndLocale U_ICU_ENTRY_POINT_RENAME(unumf_openForSkeletonAndLocale)
+#define unumf_openForSkeletonAndLocaleWithError U_ICU_ENTRY_POINT_RENAME(unumf_openForSkeletonAndLocaleWithError)
#define unumf_openResult U_ICU_ENTRY_POINT_RENAME(unumf_openResult)
+#define unumf_resultAsValue U_ICU_ENTRY_POINT_RENAME(unumf_resultAsValue)
#define unumf_resultGetAllFieldPositions U_ICU_ENTRY_POINT_RENAME(unumf_resultGetAllFieldPositions)
#define unumf_resultNextFieldPosition U_ICU_ENTRY_POINT_RENAME(unumf_resultNextFieldPosition)
#define unumf_resultToString U_ICU_ENTRY_POINT_RENAME(unumf_resultToString)
@@ -1225,6 +1254,7 @@
#define uplrules_open U_ICU_ENTRY_POINT_RENAME(uplrules_open)
#define uplrules_openForType U_ICU_ENTRY_POINT_RENAME(uplrules_openForType)
#define uplrules_select U_ICU_ENTRY_POINT_RENAME(uplrules_select)
+#define uplrules_selectFormatted U_ICU_ENTRY_POINT_RENAME(uplrules_selectFormatted)
#define uplrules_selectWithFormat U_ICU_ENTRY_POINT_RENAME(uplrules_selectWithFormat)
#define uplug_closeLibrary U_ICU_ENTRY_POINT_RENAME(uplug_closeLibrary)
#define uplug_findLibrary U_ICU_ENTRY_POINT_RENAME(uplug_findLibrary)
@@ -1287,7 +1317,6 @@
#define uprv_decNumberAbs U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAbs)
#define uprv_decNumberAdd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAdd)
#define uprv_decNumberAnd U_ICU_ENTRY_POINT_RENAME(uprv_decNumberAnd)
-#define uprv_decNumberClass U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClass)
#define uprv_decNumberClassToString U_ICU_ENTRY_POINT_RENAME(uprv_decNumberClassToString)
#define uprv_decNumberCompare U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompare)
#define uprv_decNumberCompareSignal U_ICU_ENTRY_POINT_RENAME(uprv_decNumberCompareSignal)
@@ -1353,6 +1382,7 @@
#define uprv_dlsym_func U_ICU_ENTRY_POINT_RENAME(uprv_dlsym_func)
#define uprv_eastrncpy U_ICU_ENTRY_POINT_RENAME(uprv_eastrncpy)
#define uprv_ebcdicFromAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicFromAscii)
+#define uprv_ebcdicToAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToAscii)
#define uprv_ebcdicToLowercaseAscii U_ICU_ENTRY_POINT_RENAME(uprv_ebcdicToLowercaseAscii)
#define uprv_ebcdictolower U_ICU_ENTRY_POINT_RENAME(uprv_ebcdictolower)
#define uprv_fabs U_ICU_ENTRY_POINT_RENAME(uprv_fabs)
@@ -1372,6 +1402,7 @@
#define uprv_getUTCtime U_ICU_ENTRY_POINT_RENAME(uprv_getUTCtime)
#define uprv_int32Comparator U_ICU_ENTRY_POINT_RENAME(uprv_int32Comparator)
#define uprv_isASCIILetter U_ICU_ENTRY_POINT_RENAME(uprv_isASCIILetter)
+#define uprv_isEbcdicAtSign U_ICU_ENTRY_POINT_RENAME(uprv_isEbcdicAtSign)
#define uprv_isInfinite U_ICU_ENTRY_POINT_RENAME(uprv_isInfinite)
#define uprv_isInvariantString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantString)
#define uprv_isInvariantUString U_ICU_ENTRY_POINT_RENAME(uprv_isInvariantUString)
@@ -1499,10 +1530,15 @@
#define uregion_getRegionFromNumericCode U_ICU_ENTRY_POINT_RENAME(uregion_getRegionFromNumericCode)
#define uregion_getType U_ICU_ENTRY_POINT_RENAME(uregion_getType)
#define ureldatefmt_close U_ICU_ENTRY_POINT_RENAME(ureldatefmt_close)
+#define ureldatefmt_closeResult U_ICU_ENTRY_POINT_RENAME(ureldatefmt_closeResult)
#define ureldatefmt_combineDateAndTime U_ICU_ENTRY_POINT_RENAME(ureldatefmt_combineDateAndTime)
#define ureldatefmt_format U_ICU_ENTRY_POINT_RENAME(ureldatefmt_format)
#define ureldatefmt_formatNumeric U_ICU_ENTRY_POINT_RENAME(ureldatefmt_formatNumeric)
+#define ureldatefmt_formatNumericToResult U_ICU_ENTRY_POINT_RENAME(ureldatefmt_formatNumericToResult)
+#define ureldatefmt_formatToResult U_ICU_ENTRY_POINT_RENAME(ureldatefmt_formatToResult)
#define ureldatefmt_open U_ICU_ENTRY_POINT_RENAME(ureldatefmt_open)
+#define ureldatefmt_openResult U_ICU_ENTRY_POINT_RENAME(ureldatefmt_openResult)
+#define ureldatefmt_resultAsValue U_ICU_ENTRY_POINT_RENAME(ureldatefmt_resultAsValue)
#define ures_close U_ICU_ENTRY_POINT_RENAME(ures_close)
#define ures_copyResb U_ICU_ENTRY_POINT_RENAME(ures_copyResb)
#define ures_countArrayItems U_ICU_ENTRY_POINT_RENAME(ures_countArrayItems)
@@ -1534,6 +1570,7 @@
#define ures_getUTF8String U_ICU_ENTRY_POINT_RENAME(ures_getUTF8String)
#define ures_getUTF8StringByIndex U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByIndex)
#define ures_getUTF8StringByKey U_ICU_ENTRY_POINT_RENAME(ures_getUTF8StringByKey)
+#define ures_getValueWithFallback U_ICU_ENTRY_POINT_RENAME(ures_getValueWithFallback)
#define ures_getVersion U_ICU_ENTRY_POINT_RENAME(ures_getVersion)
#define ures_getVersionByKey U_ICU_ENTRY_POINT_RENAME(ures_getVersionByKey)
#define ures_getVersionNumber U_ICU_ENTRY_POINT_RENAME(ures_getVersionNumber)
@@ -1543,6 +1580,7 @@
#define ures_open U_ICU_ENTRY_POINT_RENAME(ures_open)
#define ures_openAvailableLocales U_ICU_ENTRY_POINT_RENAME(ures_openAvailableLocales)
#define ures_openDirect U_ICU_ENTRY_POINT_RENAME(ures_openDirect)
+#define ures_openDirectFillIn U_ICU_ENTRY_POINT_RENAME(ures_openDirectFillIn)
#define ures_openFillIn U_ICU_ENTRY_POINT_RENAME(ures_openFillIn)
#define ures_openNoDefault U_ICU_ENTRY_POINT_RENAME(ures_openNoDefault)
#define ures_openU U_ICU_ENTRY_POINT_RENAME(ures_openU)
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/ures.h b/Build/source/libs/icu/icu-src/source/common/unicode/ures.h
index af0ce76f25b..839779fada8 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/ures.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/ures.h
@@ -333,19 +333,19 @@ ures_getLocaleByType(const UResourceBundle* resourceBundle,
#ifndef U_HIDE_INTERNAL_API
/**
- * Same as ures_open() but uses the fill-in parameter instead of allocating
- * a bundle, if r!=NULL.
+ * Same as ures_open() but uses the fill-in parameter instead of allocating a new bundle.
+ *
* TODO need to revisit usefulness of this function
* and usage model for fillIn parameters without knowing sizeof(UResourceBundle)
- * @param r The resourcebundle to open
+ * @param r The existing UResourceBundle to fill in. If NULL then status will be
+ * set to U_ILLEGAL_ARGUMENT_ERROR.
* @param packageName The packageName and locale together point to an ICU udata object,
* as defined by udata_open( packageName, "res", locale, err)
* or equivalent. Typically, packageName will refer to a (.dat) file, or to
* a package registered with udata_setAppData(). Using a full file or directory
* pathname for packageName is deprecated. If NULL, ICU data will be used.
* @param localeID specifies the locale for which we want to open the resource
- * @param status The error code
- * @return a newly allocated resource bundle or NULL if it doesn't exist.
+ * @param status The error code.
* @internal
*/
U_INTERNAL void U_EXPORT2
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uscript.h b/Build/source/libs/icu/icu-src/source/common/unicode/uscript.h
index faf9edf8ae2..c8babdf0306 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uscript.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uscript.h
@@ -466,6 +466,15 @@ typedef enum UScriptCode {
/** @stable ICU 62 */
USCRIPT_OLD_SOGDIAN = 184,/* Sogo */
+ /** @stable ICU 64 */
+ USCRIPT_ELYMAIC = 185,/* Elym */
+ /** @stable ICU 64 */
+ USCRIPT_NYIAKENG_PUACHUE_HMONG = 186,/* Hmnp */
+ /** @stable ICU 64 */
+ USCRIPT_NANDINAGARI = 187,/* Nand */
+ /** @stable ICU 64 */
+ USCRIPT_WANCHO = 188,/* Wcho */
+
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal UScriptCode value.
@@ -473,7 +482,7 @@ typedef enum UScriptCode {
*
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
- USCRIPT_CODE_LIMIT = 185
+ USCRIPT_CODE_LIMIT = 189
#endif // U_HIDE_DEPRECATED_API
} UScriptCode;
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/usetiter.h b/Build/source/libs/icu/icu-src/source/common/unicode/usetiter.h
index d0d99185b7c..c6396fd76c7 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/usetiter.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/usetiter.h
@@ -10,6 +10,9 @@
#define USETITER_H
#include "unicode/utypes.h"
+
+#if U_SHOW_CPLUSPLUS_API
+
#include "unicode/uobject.h"
#include "unicode/unistr.h"
@@ -317,4 +320,6 @@ inline UChar32 UnicodeSetIterator::getCodepointEnd() const {
U_NAMESPACE_END
+#endif /* U_SHOW_CPLUSPLUS_API */
+
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utext.h b/Build/source/libs/icu/icu-src/source/common/unicode/utext.h
index ad21d70a164..196056bfb89 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utext.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utext.h
@@ -766,12 +766,14 @@ utext_extract(UText *ut,
*
* @stable ICU 3.8
*/
-#define UTEXT_SETNATIVEINDEX(ut, ix) \
- { int64_t __offset = (ix) - (ut)->chunkNativeStart; \
- if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \
- (ut)->chunkOffset=(int32_t)__offset; \
- } else { \
- utext_setNativeIndex((ut), (ix)); } }
+#define UTEXT_SETNATIVEINDEX(ut, ix) UPRV_BLOCK_MACRO_BEGIN { \
+ int64_t __offset = (ix) - (ut)->chunkNativeStart; \
+ if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \
+ (ut)->chunkOffset=(int32_t)__offset; \
+ } else { \
+ utext_setNativeIndex((ut), (ix)); \
+ } \
+} UPRV_BLOCK_MACRO_END
@@ -1555,7 +1557,7 @@ struct UText {
U_STABLE UText * U_EXPORT2
utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status);
-#ifndef U_HIDE_INTERNAL_API
+// do not use #ifndef U_HIDE_INTERNAL_API around the following!
/**
* @internal
* Value used to help identify correctly initialized UText structs.
@@ -1564,7 +1566,6 @@ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status);
enum {
UTEXT_MAGIC = 0x345ad82c
};
-#endif /* U_HIDE_INTERNAL_API */
/**
* initializer to be used with local (stack) instances of a UText
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utf16.h b/Build/source/libs/icu/icu-src/source/common/unicode/utf16.h
index aca51b56a79..9fd7d5c8a77 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utf16.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utf16.h
@@ -163,7 +163,7 @@
* @see U16_GET
* @stable ICU 2.4
*/
-#define U16_GET_UNSAFE(s, i, c) { \
+#define U16_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(U16_IS_SURROGATE(c)) { \
if(U16_IS_SURROGATE_LEAD(c)) { \
@@ -172,7 +172,7 @@
(c)=U16_GET_SUPPLEMENTARY((s)[(i)-1], (c)); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a random-access offset,
@@ -197,7 +197,7 @@
* @see U16_GET_UNSAFE
* @stable ICU 2.4
*/
-#define U16_GET(s, start, i, length, c) { \
+#define U16_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(U16_IS_SURROGATE(c)) { \
uint16_t __c2; \
@@ -211,7 +211,7 @@
} \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a random-access offset,
@@ -236,7 +236,7 @@
* @see U16_GET_UNSAFE
* @stable ICU 60
*/
-#define U16_GET_OR_FFFD(s, start, i, length, c) { \
+#define U16_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(U16_IS_SURROGATE(c)) { \
uint16_t __c2; \
@@ -254,7 +254,7 @@
} \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* definitions with forward iteration --------------------------------------- */
@@ -277,12 +277,12 @@
* @see U16_NEXT
* @stable ICU 2.4
*/
-#define U16_NEXT_UNSAFE(s, i, c) { \
+#define U16_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(U16_IS_LEAD(c)) { \
(c)=U16_GET_SUPPLEMENTARY((c), (s)[(i)++]); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a code point boundary offset,
@@ -305,7 +305,7 @@
* @see U16_NEXT_UNSAFE
* @stable ICU 2.4
*/
-#define U16_NEXT(s, i, length, c) { \
+#define U16_NEXT(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(U16_IS_LEAD(c)) { \
uint16_t __c2; \
@@ -314,7 +314,7 @@
(c)=U16_GET_SUPPLEMENTARY((c), __c2); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a code point boundary offset,
@@ -337,7 +337,7 @@
* @see U16_NEXT_UNSAFE
* @stable ICU 60
*/
-#define U16_NEXT_OR_FFFD(s, i, length, c) { \
+#define U16_NEXT_OR_FFFD(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(U16_IS_SURROGATE(c)) { \
uint16_t __c2; \
@@ -348,7 +348,7 @@
(c)=0xfffd; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Append a code point to a string, overwriting 1 or 2 code units.
@@ -363,14 +363,14 @@
* @see U16_APPEND
* @stable ICU 2.4
*/
-#define U16_APPEND_UNSAFE(s, i, c) { \
+#define U16_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
} else { \
(s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \
(s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Append a code point to a string, overwriting 1 or 2 code units.
@@ -389,7 +389,7 @@
* @see U16_APPEND_UNSAFE
* @stable ICU 2.4
*/
-#define U16_APPEND(s, i, capacity, c, isError) { \
+#define U16_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
} else if((uint32_t)(c)<=0x10ffff && (i)+1<(capacity)) { \
@@ -398,7 +398,7 @@
} else /* c>0x10ffff or not enough space */ { \
(isError)=TRUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the next.
@@ -410,11 +410,11 @@
* @see U16_FWD_1
* @stable ICU 2.4
*/
-#define U16_FWD_1_UNSAFE(s, i) { \
+#define U16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)++])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the next.
@@ -429,11 +429,11 @@
* @see U16_FWD_1_UNSAFE
* @stable ICU 2.4
*/
-#define U16_FWD_1(s, i, length) { \
+#define U16_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)++]) && (i)!=(length) && U16_IS_TRAIL((s)[i])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the n-th next one,
@@ -447,13 +447,13 @@
* @see U16_FWD_N
* @stable ICU 2.4
*/
-#define U16_FWD_N_UNSAFE(s, i, n) { \
+#define U16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
U16_FWD_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the n-th next one,
@@ -470,13 +470,13 @@
* @see U16_FWD_N_UNSAFE
* @stable ICU 2.4
*/
-#define U16_FWD_N(s, i, length, n) { \
+#define U16_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \
U16_FWD_1(s, i, length); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary
@@ -491,11 +491,11 @@
* @see U16_SET_CP_START
* @stable ICU 2.4
*/
-#define U16_SET_CP_START_UNSAFE(s, i) { \
+#define U16_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[i])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary
@@ -511,11 +511,11 @@
* @see U16_SET_CP_START_UNSAFE
* @stable ICU 2.4
*/
-#define U16_SET_CP_START(s, start, i) { \
+#define U16_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[i]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* definitions with backward iteration -------------------------------------- */
@@ -539,12 +539,12 @@
* @see U16_PREV
* @stable ICU 2.4
*/
-#define U16_PREV_UNSAFE(s, i, c) { \
+#define U16_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(U16_IS_TRAIL(c)) { \
(c)=U16_GET_SUPPLEMENTARY((s)[--(i)], (c)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one
@@ -566,7 +566,7 @@
* @see U16_PREV_UNSAFE
* @stable ICU 2.4
*/
-#define U16_PREV(s, start, i, c) { \
+#define U16_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(U16_IS_TRAIL(c)) { \
uint16_t __c2; \
@@ -575,7 +575,7 @@
(c)=U16_GET_SUPPLEMENTARY(__c2, (c)); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one
@@ -597,7 +597,7 @@
* @see U16_PREV_UNSAFE
* @stable ICU 60
*/
-#define U16_PREV_OR_FFFD(s, start, i, c) { \
+#define U16_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(U16_IS_SURROGATE(c)) { \
uint16_t __c2; \
@@ -608,7 +608,7 @@
(c)=0xfffd; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one.
@@ -621,11 +621,11 @@
* @see U16_BACK_1
* @stable ICU 2.4
*/
-#define U16_BACK_1_UNSAFE(s, i) { \
+#define U16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[--(i)])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one.
@@ -639,11 +639,11 @@
* @see U16_BACK_1_UNSAFE
* @stable ICU 2.4
*/
-#define U16_BACK_1(s, start, i) { \
+#define U16_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_TRAIL((s)[--(i)]) && (i)>(start) && U16_IS_LEAD((s)[(i)-1])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the n-th one before it,
@@ -658,13 +658,13 @@
* @see U16_BACK_N
* @stable ICU 2.4
*/
-#define U16_BACK_N_UNSAFE(s, i, n) { \
+#define U16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
U16_BACK_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the n-th one before it,
@@ -680,13 +680,13 @@
* @see U16_BACK_N_UNSAFE
* @stable ICU 2.4
*/
-#define U16_BACK_N(s, start, i, n) { \
+#define U16_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0 && (i)>(start)) { \
U16_BACK_1(s, start, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary after a code point.
@@ -701,11 +701,11 @@
* @see U16_SET_CP_LIMIT
* @stable ICU 2.4
*/
-#define U16_SET_CP_LIMIT_UNSAFE(s, i) { \
+#define U16_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U16_IS_LEAD((s)[(i)-1])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary after a code point.
@@ -724,10 +724,10 @@
* @see U16_SET_CP_LIMIT_UNSAFE
* @stable ICU 2.4
*/
-#define U16_SET_CP_LIMIT(s, start, i, length) { \
+#define U16_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if((start)<(i) && ((i)<(length) || (length)<0) && U16_IS_LEAD((s)[(i)-1]) && U16_IS_TRAIL((s)[i])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utf8.h b/Build/source/libs/icu/icu-src/source/common/unicode/utf8.h
index 4bb063c5e36..4987a00e8e0 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utf8.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utf8.h
@@ -229,11 +229,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_GET
* @stable ICU 2.4
*/
-#define U8_GET_UNSAFE(s, i, c) { \
+#define U8_GET_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_unsafe_index=(int32_t)(i); \
U8_SET_CP_START_UNSAFE(s, _u8_get_unsafe_index); \
U8_NEXT_UNSAFE(s, _u8_get_unsafe_index, c); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a random-access offset,
@@ -256,11 +256,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_GET_UNSAFE
* @stable ICU 2.4
*/
-#define U8_GET(s, start, i, length, c) { \
+#define U8_GET(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_index=(i); \
U8_SET_CP_START(s, start, _u8_get_index); \
U8_NEXT(s, _u8_get_index, length, c); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a random-access offset,
@@ -287,11 +287,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_GET
* @stable ICU 51
*/
-#define U8_GET_OR_FFFD(s, start, i, length, c) { \
+#define U8_GET_OR_FFFD(s, start, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _u8_get_index=(i); \
U8_SET_CP_START(s, start, _u8_get_index); \
U8_NEXT_OR_FFFD(s, _u8_get_index, length, c); \
-}
+} UPRV_BLOCK_MACRO_END
/* definitions with forward iteration --------------------------------------- */
@@ -312,7 +312,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_NEXT
* @stable ICU 2.4
*/
-#define U8_NEXT_UNSAFE(s, i, c) { \
+#define U8_NEXT_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[(i)++]; \
if(!U8_IS_SINGLE(c)) { \
if((c)<0xe0) { \
@@ -326,7 +326,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
(i)+=3; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Get a code point from a string at a code point boundary offset,
@@ -377,7 +377,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
#define U8_NEXT_OR_FFFD(s, i, length, c) U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, 0xfffd)
/** @internal */
-#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) { \
+#define U8_INTERNAL_NEXT_OR_SUB(s, i, length, c, sub) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[(i)++]; \
if(!U8_IS_SINGLE(c)) { \
uint8_t __t = 0; \
@@ -403,7 +403,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
(c)=(sub); /* ill-formed*/ \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Append a code point to a string, overwriting 1 to 4 bytes.
@@ -418,7 +418,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_APPEND
* @stable ICU 2.4
*/
-#define U8_APPEND_UNSAFE(s, i, c) { \
+#define U8_APPEND_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
uint32_t __uc=(c); \
if(__uc<=0x7f) { \
(s)[(i)++]=(uint8_t)__uc; \
@@ -436,7 +436,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
} \
(s)[(i)++]=(uint8_t)((__uc&0x3f)|0x80); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Append a code point to a string, overwriting 1 to 4 bytes.
@@ -455,7 +455,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_APPEND_UNSAFE
* @stable ICU 2.4
*/
-#define U8_APPEND(s, i, capacity, c, isError) { \
+#define U8_APPEND(s, i, capacity, c, isError) UPRV_BLOCK_MACRO_BEGIN { \
uint32_t __uc=(c); \
if(__uc<=0x7f) { \
(s)[(i)++]=(uint8_t)__uc; \
@@ -474,7 +474,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
} else { \
(isError)=TRUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the next.
@@ -486,9 +486,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_FWD_1
* @stable ICU 2.4
*/
-#define U8_FWD_1_UNSAFE(s, i) { \
+#define U8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=1+U8_COUNT_TRAIL_BYTES_UNSAFE((s)[i]); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the next.
@@ -503,7 +503,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_FWD_1_UNSAFE
* @stable ICU 2.4
*/
-#define U8_FWD_1(s, i, length) { \
+#define U8_FWD_1(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
uint8_t __b=(s)[(i)++]; \
if(U8_IS_LEAD(__b) && (i)!=(length)) { \
uint8_t __t1=(s)[i]; \
@@ -524,7 +524,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
} \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the n-th next one,
@@ -538,13 +538,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_FWD_N
* @stable ICU 2.4
*/
-#define U8_FWD_N_UNSAFE(s, i, n) { \
+#define U8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
U8_FWD_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Advance the string offset from one code point boundary to the n-th next one,
@@ -561,13 +561,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_FWD_N_UNSAFE
* @stable ICU 2.4
*/
-#define U8_FWD_N(s, i, length, n) { \
+#define U8_FWD_N(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0 && ((i)<(length) || ((length)<0 && (s)[i]!=0))) { \
U8_FWD_1(s, i, length); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary
@@ -582,9 +582,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_SET_CP_START
* @stable ICU 2.4
*/
-#define U8_SET_CP_START_UNSAFE(s, i) { \
+#define U8_SET_CP_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(U8_IS_TRAIL((s)[i])) { --(i); } \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary
@@ -603,13 +603,12 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_TRUNCATE_IF_INCOMPLETE
* @stable ICU 2.4
*/
-#define U8_SET_CP_START(s, start, i) { \
+#define U8_SET_CP_START(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U8_IS_TRAIL((s)[(i)])) { \
(i)=utf8_back1SafeBody(s, start, (i)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
-#ifndef U_HIDE_DRAFT_API
/**
* If the string ends with a UTF-8 byte sequence that is valid so far
* but incomplete, then reduce the length of the string to end before
@@ -634,9 +633,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @param start int32_t starting string offset (usually 0)
* @param length int32_t string length (usually start<=length)
* @see U8_SET_CP_START
- * @draft ICU 61
+ * @stable ICU 61
*/
-#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) \
+#define U8_TRUNCATE_IF_INCOMPLETE(s, start, length) UPRV_BLOCK_MACRO_BEGIN { \
if((length)>(start)) { \
uint8_t __b1=s[(length)-1]; \
if(U8_IS_SINGLE(__b1)) { \
@@ -657,8 +656,8 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
} \
} \
} \
- }
-#endif // U_HIDE_DRAFT_API
+ } \
+} UPRV_BLOCK_MACRO_END
/* definitions with backward iteration -------------------------------------- */
@@ -681,7 +680,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_PREV
* @stable ICU 2.4
*/
-#define U8_PREV_UNSAFE(s, i, c) { \
+#define U8_PREV_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
if(U8_IS_TRAIL(c)) { \
uint8_t __b, __count=1, __shift=6; \
@@ -701,7 +700,7 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
} \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one
@@ -723,12 +722,12 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_PREV_UNSAFE
* @stable ICU 2.4
*/
-#define U8_PREV(s, start, i, c) { \
+#define U8_PREV(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
if(!U8_IS_SINGLE(c)) { \
(c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -1); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one
@@ -754,12 +753,12 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_PREV
* @stable ICU 51
*/
-#define U8_PREV_OR_FFFD(s, start, i, c) { \
+#define U8_PREV_OR_FFFD(s, start, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(uint8_t)(s)[--(i)]; \
if(!U8_IS_SINGLE(c)) { \
(c)=utf8_prevCharSafeBody((const uint8_t *)s, start, &(i), c, -3); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one.
@@ -772,9 +771,9 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_BACK_1
* @stable ICU 2.4
*/
-#define U8_BACK_1_UNSAFE(s, i) { \
+#define U8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(U8_IS_TRAIL((s)[--(i)])) {} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the previous one.
@@ -788,11 +787,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_BACK_1_UNSAFE
* @stable ICU 2.4
*/
-#define U8_BACK_1(s, start, i) { \
+#define U8_BACK_1(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
if(U8_IS_TRAIL((s)[--(i)])) { \
(i)=utf8_back1SafeBody(s, start, (i)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the n-th one before it,
@@ -807,13 +806,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_BACK_N
* @stable ICU 2.4
*/
-#define U8_BACK_N_UNSAFE(s, i, n) { \
+#define U8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
U8_BACK_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Move the string offset from one code point boundary to the n-th one before it,
@@ -829,13 +828,13 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_BACK_N_UNSAFE
* @stable ICU 2.4
*/
-#define U8_BACK_N(s, start, i, n) { \
+#define U8_BACK_N(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0 && (i)>(start)) { \
U8_BACK_1(s, start, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary after a code point.
@@ -850,10 +849,10 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_SET_CP_LIMIT
* @stable ICU 2.4
*/
-#define U8_SET_CP_LIMIT_UNSAFE(s, i) { \
+#define U8_SET_CP_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
U8_BACK_1_UNSAFE(s, i); \
U8_FWD_1_UNSAFE(s, i); \
-}
+} UPRV_BLOCK_MACRO_END
/**
* Adjust a random-access offset to a code point boundary after a code point.
@@ -872,11 +871,11 @@ utf8_back1SafeBody(const uint8_t *s, int32_t start, int32_t i);
* @see U8_SET_CP_LIMIT_UNSAFE
* @stable ICU 2.4
*/
-#define U8_SET_CP_LIMIT(s, start, i, length) { \
+#define U8_SET_CP_LIMIT(s, start, i, length) UPRV_BLOCK_MACRO_BEGIN { \
if((start)<(i) && ((i)<(length) || (length)<0)) { \
U8_BACK_1(s, start, i); \
U8_FWD_1(s, i, length); \
} \
-}
+} UPRV_BLOCK_MACRO_END
#endif
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utf_old.h b/Build/source/libs/icu/icu-src/source/common/unicode/utf_old.h
index 55c17c01df6..b2428e6b31e 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utf_old.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utf_old.h
@@ -19,9 +19,6 @@
/**
* \file
* \brief C API: Deprecated macros for Unicode string handling
- */
-
-/**
*
* The macros in utf_old.h are all deprecated and their use discouraged.
* Some of the design principles behind the set of UTF macros
@@ -139,12 +136,16 @@
*
*
*
- * @deprecated ICU 2.4. Use the macros in utf.h, utf16.h, utf8.h instead.
+ * Deprecated ICU 2.4. Use the macros in utf.h, utf16.h, utf8.h instead.
*/
#ifndef __UTF_OLD_H__
#define __UTF_OLD_H__
+#include "unicode/utf.h"
+#include "unicode/utf8.h"
+#include "unicode/utf16.h"
+
/**
* \def U_HIDE_OBSOLETE_UTF_OLD_H
*
@@ -162,10 +163,6 @@
#if !defined(U_HIDE_DEPRECATED_API) && !U_HIDE_OBSOLETE_UTF_OLD_H
-#include "unicode/utf.h"
-#include "unicode/utf8.h"
-#include "unicode/utf16.h"
-
/* Formerly utf.h, part 1 --------------------------------------------------- */
#ifdef U_USE_UTF_DEPRECATES
@@ -365,21 +362,21 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
#define UTF8_ARRAY_SIZE(size) ((5*(size))/2)
/** @deprecated ICU 2.4. Renamed to U8_GET_UNSAFE, see utf_old.h. */
-#define UTF8_GET_CHAR_UNSAFE(s, i, c) { \
+#define UTF8_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _utf8_get_char_unsafe_index=(int32_t)(i); \
UTF8_SET_CHAR_START_UNSAFE(s, _utf8_get_char_unsafe_index); \
UTF8_NEXT_CHAR_UNSAFE(s, _utf8_get_char_unsafe_index, c); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U8_GET instead, see utf_old.h. */
-#define UTF8_GET_CHAR_SAFE(s, start, i, length, c, strict) { \
+#define UTF8_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
int32_t _utf8_get_char_safe_index=(int32_t)(i); \
UTF8_SET_CHAR_START_SAFE(s, start, _utf8_get_char_safe_index); \
UTF8_NEXT_CHAR_SAFE(s, _utf8_get_char_safe_index, length, c, strict); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_NEXT_UNSAFE, see utf_old.h. */
-#define UTF8_NEXT_CHAR_UNSAFE(s, i, c) { \
+#define UTF8_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if((uint8_t)((c)-0xc0)<0x35) { \
uint8_t __count=UTF8_COUNT_TRAIL_BYTES(c); \
@@ -396,10 +393,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
break; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_APPEND_UNSAFE, see utf_old.h. */
-#define UTF8_APPEND_CHAR_UNSAFE(s, i, c) { \
+#define UTF8_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x7f) { \
(s)[(i)++]=(uint8_t)(c); \
} else { \
@@ -416,29 +413,29 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
(s)[(i)++]=(uint8_t)(((c)&0x3f)|0x80); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_FWD_1_UNSAFE, see utf_old.h. */
-#define UTF8_FWD_1_UNSAFE(s, i) { \
+#define UTF8_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=1+UTF8_COUNT_TRAIL_BYTES((s)[i]); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_FWD_N_UNSAFE, see utf_old.h. */
-#define UTF8_FWD_N_UNSAFE(s, i, n) { \
+#define UTF8_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
UTF8_FWD_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_SET_CP_START_UNSAFE, see utf_old.h. */
-#define UTF8_SET_CHAR_START_UNSAFE(s, i) { \
+#define UTF8_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(UTF8_IS_TRAIL((s)[i])) { --(i); } \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U8_NEXT instead, see utf_old.h. */
-#define UTF8_NEXT_CHAR_SAFE(s, i, length, c, strict) { \
+#define UTF8_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if((c)>=0x80) { \
if(UTF8_IS_LEAD(c)) { \
@@ -447,16 +444,16 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
(c)=UTF8_ERROR_VALUE_1; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U8_APPEND instead, see utf_old.h. */
-#define UTF8_APPEND_CHAR_SAFE(s, i, length, c) { \
+#define UTF8_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x7f) { \
(s)[(i)++]=(uint8_t)(c); \
} else { \
(i)=utf8_appendCharSafeBody(s, (int32_t)(i), (int32_t)(length), c, NULL); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_FWD_1, see utf_old.h. */
#define UTF8_FWD_1_SAFE(s, i, length) U8_FWD_1(s, i, length)
@@ -468,7 +465,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
#define UTF8_SET_CHAR_START_SAFE(s, start, i) U8_SET_CP_START(s, start, i)
/** @deprecated ICU 2.4. Renamed to U8_PREV_UNSAFE, see utf_old.h. */
-#define UTF8_PREV_CHAR_UNSAFE(s, i, c) { \
+#define UTF8_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF8_IS_TRAIL(c)) { \
uint8_t __b, __count=1, __shift=6; \
@@ -488,30 +485,30 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_BACK_1_UNSAFE, see utf_old.h. */
-#define UTF8_BACK_1_UNSAFE(s, i) { \
+#define UTF8_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
while(UTF8_IS_TRAIL((s)[--(i)])) {} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_BACK_N_UNSAFE, see utf_old.h. */
-#define UTF8_BACK_N_UNSAFE(s, i, n) { \
+#define UTF8_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
UTF8_BACK_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
-#define UTF8_SET_CHAR_LIMIT_UNSAFE(s, i) { \
+#define UTF8_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
UTF8_BACK_1_UNSAFE(s, i); \
UTF8_FWD_1_UNSAFE(s, i); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U8_PREV instead, see utf_old.h. */
-#define UTF8_PREV_CHAR_SAFE(s, start, i, c, strict) { \
+#define UTF8_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if((c)>=0x80) { \
if((c)<=0xbf) { \
@@ -520,7 +517,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
(c)=UTF8_ERROR_VALUE_1; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U8_BACK_1, see utf_old.h. */
#define UTF8_BACK_1_SAFE(s, start, i) U8_BACK_1(s, start, i)
@@ -593,7 +590,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
* UTF16_PREV_CHAR[_UNSAFE]() is more efficient for that.
* @deprecated ICU 2.4. Renamed to U16_GET_UNSAFE, see utf_old.h.
*/
-#define UTF16_GET_CHAR_UNSAFE(s, i, c) { \
+#define UTF16_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(UTF_IS_SURROGATE(c)) { \
if(UTF_IS_SURROGATE_FIRST(c)) { \
@@ -602,10 +599,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
(c)=UTF16_GET_PAIR_VALUE((s)[(i)-1], (c)); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U16_GET instead, see utf_old.h. */
-#define UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict) { \
+#define UTF16_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(UTF_IS_SURROGATE(c)) { \
uint16_t __c2; \
@@ -629,51 +626,51 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} else if((strict) && !UTF_IS_UNICODE_CHAR(c)) { \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_NEXT_UNSAFE, see utf_old.h. */
-#define UTF16_NEXT_CHAR_UNSAFE(s, i, c) { \
+#define UTF16_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(UTF_IS_FIRST_SURROGATE(c)) { \
(c)=UTF16_GET_PAIR_VALUE((c), (s)[(i)++]); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_APPEND_UNSAFE, see utf_old.h. */
-#define UTF16_APPEND_CHAR_UNSAFE(s, i, c) { \
+#define UTF16_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
} else { \
(s)[(i)++]=(uint16_t)(((c)>>10)+0xd7c0); \
(s)[(i)++]=(uint16_t)(((c)&0x3ff)|0xdc00); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_FWD_1_UNSAFE, see utf_old.h. */
-#define UTF16_FWD_1_UNSAFE(s, i) { \
+#define UTF16_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_FIRST_SURROGATE((s)[(i)++])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_FWD_N_UNSAFE, see utf_old.h. */
-#define UTF16_FWD_N_UNSAFE(s, i, n) { \
+#define UTF16_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
UTF16_FWD_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_SET_CP_START_UNSAFE, see utf_old.h. */
-#define UTF16_SET_CHAR_START_UNSAFE(s, i) { \
+#define UTF16_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_SECOND_SURROGATE((s)[i])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U16_NEXT instead, see utf_old.h. */
-#define UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict) { \
+#define UTF16_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(UTF_IS_FIRST_SURROGATE(c)) { \
uint16_t __c2; \
@@ -689,10 +686,10 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/* unmatched second surrogate or other non-character */ \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U16_APPEND instead, see utf_old.h. */
-#define UTF16_APPEND_CHAR_SAFE(s, i, length, c) { \
+#define UTF16_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0xffff) { \
(s)[(i)++]=(uint16_t)(c); \
} else if((uint32_t)(c)<=0x10ffff) { \
@@ -705,7 +702,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
} else /* c>0x10ffff, write error value */ { \
(s)[(i)++]=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_FWD_1, see utf_old.h. */
#define UTF16_FWD_1_SAFE(s, i, length) U16_FWD_1(s, i, length)
@@ -717,38 +714,38 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
#define UTF16_SET_CHAR_START_SAFE(s, start, i) U16_SET_CP_START(s, start, i)
/** @deprecated ICU 2.4. Renamed to U16_PREV_UNSAFE, see utf_old.h. */
-#define UTF16_PREV_CHAR_UNSAFE(s, i, c) { \
+#define UTF16_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF_IS_SECOND_SURROGATE(c)) { \
(c)=UTF16_GET_PAIR_VALUE((s)[--(i)], (c)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_BACK_1_UNSAFE, see utf_old.h. */
-#define UTF16_BACK_1_UNSAFE(s, i) { \
+#define UTF16_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_SECOND_SURROGATE((s)[--(i)])) { \
--(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_BACK_N_UNSAFE, see utf_old.h. */
-#define UTF16_BACK_N_UNSAFE(s, i, n) { \
+#define UTF16_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __N=(n); \
while(__N>0) { \
UTF16_BACK_1_UNSAFE(s, i); \
--__N; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_SET_CP_LIMIT_UNSAFE, see utf_old.h. */
-#define UTF16_SET_CHAR_LIMIT_UNSAFE(s, i) { \
+#define UTF16_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTF_IS_FIRST_SURROGATE((s)[(i)-1])) { \
++(i); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Use U16_PREV instead, see utf_old.h. */
-#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict) { \
+#define UTF16_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(UTF_IS_SECOND_SURROGATE(c)) { \
uint16_t __c2; \
@@ -764,7 +761,7 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
/* unmatched first surrogate or other non-character */ \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Renamed to U16_BACK_1, see utf_old.h. */
#define UTF16_BACK_1_SAFE(s, start, i) U16_BACK_1(s, start, i)
@@ -830,122 +827,122 @@ U_CFUNC U_IMPORT const uint8_t utf8_countTrailBytes[]; /* U_IMPORT2? */ /*U_I
#define UTF32_ARRAY_SIZE(size) (size)
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_GET_CHAR_UNSAFE(s, i, c) { \
+#define UTF32_GET_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict) { \
+#define UTF32_GET_CHAR_SAFE(s, start, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[i]; \
if(!UTF32_IS_SAFE(c, strict)) { \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* definitions with forward iteration --------------------------------------- */
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_NEXT_CHAR_UNSAFE(s, i, c) { \
+#define UTF32_NEXT_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_APPEND_CHAR_UNSAFE(s, i, c) { \
+#define UTF32_APPEND_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(s)[(i)++]=(c); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_FWD_1_UNSAFE(s, i) { \
+#define UTF32_FWD_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
++(i); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_FWD_N_UNSAFE(s, i, n) { \
+#define UTF32_FWD_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)+=(n); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_SET_CHAR_START_UNSAFE(s, i) { \
-}
+#define UTF32_SET_CHAR_START_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict) { \
+#define UTF32_NEXT_CHAR_SAFE(s, i, length, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[(i)++]; \
if(!UTF32_IS_SAFE(c, strict)) { \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_APPEND_CHAR_SAFE(s, i, length, c) { \
+#define UTF32_APPEND_CHAR_SAFE(s, i, length, c) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c)<=0x10ffff) { \
(s)[(i)++]=(c); \
} else /* c>0x10ffff, write 0xfffd */ { \
(s)[(i)++]=0xfffd; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_FWD_1_SAFE(s, i, length) { \
+#define UTF32_FWD_1_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
++(i); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_FWD_N_SAFE(s, i, length, n) { \
+#define UTF32_FWD_N_SAFE(s, i, length, n) UPRV_BLOCK_MACRO_BEGIN { \
if(((i)+=(n))>(length)) { \
(i)=(length); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_SET_CHAR_START_SAFE(s, start, i) { \
-}
+#define UTF32_SET_CHAR_START_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
+} UPRV_BLOCK_MACRO_END
/* definitions with backward iteration -------------------------------------- */
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_PREV_CHAR_UNSAFE(s, i, c) { \
+#define UTF32_PREV_CHAR_UNSAFE(s, i, c) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_BACK_1_UNSAFE(s, i) { \
+#define UTF32_BACK_1_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
--(i); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_BACK_N_UNSAFE(s, i, n) { \
+#define UTF32_BACK_N_UNSAFE(s, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)-=(n); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i) { \
-}
+#define UTF32_SET_CHAR_LIMIT_UNSAFE(s, i) UPRV_BLOCK_MACRO_BEGIN { \
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict) { \
+#define UTF32_PREV_CHAR_SAFE(s, start, i, c, strict) UPRV_BLOCK_MACRO_BEGIN { \
(c)=(s)[--(i)]; \
if(!UTF32_IS_SAFE(c, strict)) { \
(c)=UTF_ERROR_VALUE; \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_BACK_1_SAFE(s, start, i) { \
+#define UTF32_BACK_1_SAFE(s, start, i) UPRV_BLOCK_MACRO_BEGIN { \
--(i); \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_BACK_N_SAFE(s, start, i, n) { \
+#define UTF32_BACK_N_SAFE(s, start, i, n) UPRV_BLOCK_MACRO_BEGIN { \
(i)-=(n); \
if((i)<(start)) { \
(i)=(start); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** @deprecated ICU 2.4. Obsolete, see utf_old.h. */
-#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length) { \
-}
+#define UTF32_SET_CHAR_LIMIT_SAFE(s, i, length) UPRV_BLOCK_MACRO_BEGIN { \
+} UPRV_BLOCK_MACRO_END
/* Formerly utf.h, part 2 --------------------------------------------------- */
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utrace.h b/Build/source/libs/icu/icu-src/source/common/unicode/utrace.h
index 66269784dbc..5afcd9f4490 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utrace.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utrace.h
@@ -66,6 +66,7 @@ typedef enum UTraceFunctionNumber {
UTRACE_FUNCTION_START=0,
UTRACE_U_INIT=UTRACE_FUNCTION_START,
UTRACE_U_CLEANUP,
+
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal collation trace location.
@@ -83,6 +84,7 @@ typedef enum UTraceFunctionNumber {
UTRACE_UCNV_FLUSH_CACHE,
UTRACE_UCNV_LOAD,
UTRACE_UCNV_UNLOAD,
+
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal collation trace location.
@@ -101,13 +103,80 @@ typedef enum UTraceFunctionNumber {
UTRACE_UCOL_STRCOLLITER,
UTRACE_UCOL_OPEN_FROM_SHORT_STRING,
UTRACE_UCOL_STRCOLLUTF8, /**< @stable ICU 50 */
+
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal collation trace location.
* @deprecated ICU 58 The numeric value may change over time, see ICU ticket #12420.
*/
- UTRACE_COLLATION_LIMIT
+ UTRACE_COLLATION_LIMIT,
#endif // U_HIDE_DEPRECATED_API
+
+#ifndef U_HIDE_DRAFT_API
+
+ /**
+ * The lowest resource/data location.
+ * @draft ICU 65
+ */
+ UTRACE_UDATA_START=0x3000,
+
+ /**
+ * Indicates that a value was read from a resource bundle. Provides three
+ * C-style strings to UTraceData: type, file name, and resource path. The
+ * possible types are:
+ *
+ * - "string" (a string value was accessed)
+ * - "binary" (a binary value was accessed)
+ * - "intvector" (a integer vector value was accessed)
+ * - "int" (a signed integer value was accessed)
+ * - "uint" (a unsigned integer value was accessed)
+ * - "get" (a path was loaded, but the value was not accessed)
+ * - "getalias" (a path was loaded, and an alias was resolved)
+ *
+ * @draft ICU 65
+ */
+ UTRACE_UDATA_RESOURCE=UTRACE_UDATA_START,
+
+ /**
+ * Indicates that a resource bundle was opened.
+ *
+ * Provides one C-style string to UTraceData: file name.
+ * @draft ICU 65
+ */
+ UTRACE_UDATA_BUNDLE,
+
+ /**
+ * Indicates that a data file was opened, but not *.res files.
+ *
+ * Provides one C-style string to UTraceData: file name.
+ *
+ * @draft ICU 65
+ */
+ UTRACE_UDATA_DATA_FILE,
+
+ /**
+ * Indicates that a *.res file was opened.
+ *
+ * This differs from UTRACE_UDATA_BUNDLE because a res file is typically
+ * opened only once per application runtime, but the bundle corresponding
+ * to that res file may be opened many times.
+ *
+ * Provides one C-style string to UTraceData: file name.
+ *
+ * @draft ICU 65
+ */
+ UTRACE_UDATA_RES_FILE,
+
+#endif // U_HIDE_DRAFT_API
+
+#ifndef U_HIDE_INTERNAL_API
+ /**
+ * One more than the highest normal resource/data trace location.
+ * @internal The numeric value may change over time, see ICU ticket #12420.
+ */
+ UTRACE_RES_DATA_LIMIT,
+#endif // U_HIDE_INTERNAL_API
+
} UTraceFunctionNumber;
/**
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/utypes.h b/Build/source/libs/icu/icu-src/source/common/unicode/utypes.h
index 2baf519f7fb..8d8f54764e0 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/utypes.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/utypes.h
@@ -385,17 +385,31 @@ typedef double UDate;
/*===========================================================================*/
/**
- * Error code to replace exception handling, so that the code is compatible with all C++ compilers,
- * and to use the same mechanism for C and C++.
+ * Standard ICU4C error code type, a substitute for exceptions.
+ *
+ * Initialize the UErrorCode with U_ZERO_ERROR, and check for success or
+ * failure using U_SUCCESS() or U_FAILURE():
+ *
+ * UErrorCode errorCode = U_ZERO_ERROR;
+ * // call ICU API that needs an error code parameter.
+ * if (U_FAILURE(errorCode)) {
+ * // An error occurred. Handle it here.
+ * }
+ *
+ * C++ code should use icu::ErrorCode, available in unicode/errorcode.h, or a
+ * suitable subclass.
+ *
+ * For more information, see:
+ * http://icu-project.org/userguide/conventions
+ *
+ * Note: By convention, ICU functions that take a reference (C++) or a pointer
+ * (C) to a UErrorCode first test:
+ *
+ * if (U_FAILURE(errorCode)) { return immediately; }
*
- * \par
- * ICU functions that take a reference (C++) or a pointer (C) to a UErrorCode
- * first test if(U_FAILURE(errorCode)) { return immediately; }
* so that in a chain of such functions the first one that sets an error code
* causes the following ones to not perform any operations.
*
- * \par
- * Error codes should be tested using U_FAILURE() and U_SUCCESS().
* @stable ICU 2.0
*/
typedef enum UErrorCode {
@@ -544,12 +558,8 @@ typedef enum UErrorCode {
U_DEFAULT_KEYWORD_MISSING, /**< Missing DEFAULT rule in plural rules */
U_DECIMAL_NUMBER_SYNTAX_ERROR, /**< Decimal number syntax error */
U_FORMAT_INEXACT_ERROR, /**< Cannot format a number exactly and rounding mode is ROUND_UNNECESSARY @stable ICU 4.8 */
-#ifndef U_HIDE_DRAFT_API
- U_NUMBER_ARG_OUTOFBOUNDS_ERROR, /**< The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999. @draft ICU 61 */
-#endif // U_HIDE_DRAFT_API
-#ifndef U_HIDE_DRAFT_API
- U_NUMBER_SKELETON_SYNTAX_ERROR, /**< The number skeleton passed to C++ NumberFormatter or C UNumberFormatter was invalid or contained a syntax error. @draft ICU 62 */
-#endif // U_HIDE_DRAFT_API
+ U_NUMBER_ARG_OUTOFBOUNDS_ERROR, /**< The argument to a NumberFormatter helper method was out of bounds; the bounds are usually 0 to 999. @stable ICU 61 */
+ U_NUMBER_SKELETON_SYNTAX_ERROR, /**< The number skeleton passed to C++ NumberFormatter or C UNumberFormatter was invalid or contained a syntax error. @stable ICU 62 */
#ifndef U_HIDE_DEPRECATED_API
/**
* One more than the highest normal formatting API error code.
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uvernum.h b/Build/source/libs/icu/icu-src/source/common/unicode/uvernum.h
index 83d0b4ecd1c..0923c1d9189 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uvernum.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uvernum.h
@@ -60,7 +60,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
-#define U_ICU_VERSION_MAJOR_NUM 63
+#define U_ICU_VERSION_MAJOR_NUM 65
/** The current ICU minor version as an integer.
* This value will change in the subsequent releases of ICU
@@ -86,7 +86,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SUFFIX _63
+#define U_ICU_VERSION_SUFFIX _65
/**
* \def U_DEF2_ICU_ENTRY_POINT_RENAME
@@ -103,16 +103,34 @@
* \def U_ICU_ENTRY_POINT_RENAME
* @stable ICU 4.2
*/
+/**
+ * Disable the version suffix. Use the custom suffix if exists.
+ * \def U_DISABLE_VERSION_SUFFIX
+ * @internal
+ */
+#ifndef U_DISABLE_VERSION_SUFFIX
+#define U_DISABLE_VERSION_SUFFIX 0
+#endif
#ifndef U_ICU_ENTRY_POINT_RENAME
#ifdef U_HAVE_LIB_SUFFIX
-#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z
-#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z)
-#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME)
+# if !U_DISABLE_VERSION_SUFFIX
+# define U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z) x ## y ## z
+# define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y,z) U_DEF_ICU_ENTRY_POINT_RENAME(x,y,z)
+# define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX,U_LIB_SUFFIX_C_NAME)
+# else
+# define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
+# define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
+# define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_LIB_SUFFIX_C_NAME)
+# endif
#else
-#define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
-#define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
-#define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
+# if !U_DISABLE_VERSION_SUFFIX
+# define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
+# define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
+# define U_ICU_ENTRY_POINT_RENAME(x) U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
+# else
+# define U_ICU_ENTRY_POINT_RENAME(x) x
+# endif
#endif
#endif
@@ -121,7 +139,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
-#define U_ICU_VERSION "63.1"
+#define U_ICU_VERSION "65.1"
/**
* The current ICU library major version number as a string, for library name suffixes.
@@ -134,13 +152,13 @@
*
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_SHORT "63"
+#define U_ICU_VERSION_SHORT "65"
#ifndef U_HIDE_INTERNAL_API
/** Data version in ICU4C.
* @internal ICU 4.4 Internal Use Only
**/
-#define U_ICU_DATA_VERSION "63.1"
+#define U_ICU_DATA_VERSION "65.1"
#endif /* U_HIDE_INTERNAL_API */
/*===========================================================================
diff --git a/Build/source/libs/icu/icu-src/source/common/unicode/uversion.h b/Build/source/libs/icu/icu-src/source/common/unicode/uversion.h
index 4aaa8b4d606..5700f62cbff 100644
--- a/Build/source/libs/icu/icu-src/source/common/unicode/uversion.h
+++ b/Build/source/libs/icu/icu-src/source/common/unicode/uversion.h
@@ -62,26 +62,22 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
/* C++ namespace if supported. Versioned unless versioning is disabled. */
/*===========================================================================*/
+/* Define C++ namespace symbols. */
+#ifdef __cplusplus
+
/**
* \def U_NAMESPACE_BEGIN
- * This is used to begin a declaration of a public ICU C++ API.
- * When not compiling for C++, it does nothing.
- * When compiling for C++, it begins an extern "C++" linkage block (to protect
- * against cases in which an external client includes ICU header files inside
- * an extern "C" linkage block).
+ * This is used to begin a declaration of a public ICU C++ API within
+ * versioned-ICU-namespace block.
*
- * It also begins a versioned-ICU-namespace block.
* @stable ICU 2.4
*/
/**
* \def U_NAMESPACE_END
* This is used to end a declaration of a public ICU C++ API.
- * When not compiling for C++, it does nothing.
- * When compiling for C++, it ends the extern "C++" block begun by
- * U_NAMESPACE_BEGIN.
+ * It ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
*
- * It also ends the versioned-ICU-namespace block begun by U_NAMESPACE_BEGIN.
* @stable ICU 2.4
*/
@@ -89,9 +85,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
* \def U_NAMESPACE_USE
* This is used to specify that the rest of the code uses the
* public ICU C++ API namespace.
- * This is invoked by default; we recommend that you turn it off:
- * See the "Recommended Build Options" section of the ICU4C readme
- * (http://source.icu-project.org/repos/icu/icu/trunk/readme.html#RecBuild)
* @stable ICU 2.4
*/
@@ -105,8 +98,6 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
* @stable ICU 2.4
*/
-/* Define C++ namespace symbols. */
-#ifdef __cplusplus
# if U_DISABLE_RENAMING
# define U_ICU_NAMESPACE icu
namespace U_ICU_NAMESPACE { }
@@ -116,8 +107,8 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
namespace icu = U_ICU_NAMESPACE;
# endif
-# define U_NAMESPACE_BEGIN extern "C++" { namespace U_ICU_NAMESPACE {
-# define U_NAMESPACE_END } }
+# define U_NAMESPACE_BEGIN namespace U_ICU_NAMESPACE {
+# define U_NAMESPACE_END }
# define U_NAMESPACE_USE using namespace U_ICU_NAMESPACE;
# define U_NAMESPACE_QUALIFIER U_ICU_NAMESPACE::
@@ -133,12 +124,7 @@ typedef uint8_t UVersionInfo[U_MAX_VERSION_LENGTH];
# if U_USING_ICU_NAMESPACE
U_NAMESPACE_USE
# endif
-#else
-# define U_NAMESPACE_BEGIN
-# define U_NAMESPACE_END
-# define U_NAMESPACE_USE
-# define U_NAMESPACE_QUALIFIER
-#endif
+#endif /* __cplusplus */
/*===========================================================================*/
/* General version helper functions. Definitions in putil.c */
diff --git a/Build/source/libs/icu/icu-src/source/common/unifiedcache.cpp b/Build/source/libs/icu/icu-src/source/common/unifiedcache.cpp
index d33d8d2c01c..f2dd9165595 100644
--- a/Build/source/libs/icu/icu-src/source/common/unifiedcache.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/unifiedcache.cpp
@@ -13,16 +13,15 @@
#include "unifiedcache.h"
#include // For std::max()
+#include
-#include "mutex.h"
#include "uassert.h"
#include "uhash.h"
#include "ucln_cmn.h"
-#include "umutex.h"
static icu::UnifiedCache *gCache = NULL;
-static UMutex gCacheMutex = U_MUTEX_INITIALIZER;
-static UConditionVar gInProgressValueAddedCond = U_CONDITION_INITIALIZER;
+static std::mutex *gCacheMutex = nullptr;
+static std::condition_variable *gInProgressValueAddedCond;
static icu::UInitOnce gCacheInitOnce = U_INITONCE_INITIALIZER;
static const int32_t MAX_EVICT_ITERATIONS = 10;
@@ -33,10 +32,12 @@ static const int32_t DEFAULT_PERCENTAGE_OF_IN_USE = 100;
U_CDECL_BEGIN
static UBool U_CALLCONV unifiedcache_cleanup() {
gCacheInitOnce.reset();
- if (gCache) {
- delete gCache;
- gCache = NULL;
- }
+ delete gCache;
+ gCache = nullptr;
+ gCacheMutex->~mutex();
+ gCacheMutex = nullptr;
+ gInProgressValueAddedCond->~condition_variable();
+ gInProgressValueAddedCond = nullptr;
return TRUE;
}
U_CDECL_END
@@ -71,6 +72,8 @@ static void U_CALLCONV cacheInit(UErrorCode &status) {
ucln_common_registerCleanup(
UCLN_COMMON_UNIFIED_CACHE, unifiedcache_cleanup);
+ gCacheMutex = STATIC_NEW(std::mutex);
+ gInProgressValueAddedCond = STATIC_NEW(std::condition_variable);
gCache = new UnifiedCache(status);
if (gCache == NULL) {
status = U_MEMORY_ALLOCATION_ERROR;
@@ -132,28 +135,28 @@ void UnifiedCache::setEvictionPolicy(
status = U_ILLEGAL_ARGUMENT_ERROR;
return;
}
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
fMaxUnused = count;
fMaxPercentageOfInUse = percentageOfInUseItems;
}
int32_t UnifiedCache::unusedCount() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
return uhash_count(fHashtable) - fNumValuesInUse;
}
int64_t UnifiedCache::autoEvictedCount() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
return fAutoEvictedCount;
}
int32_t UnifiedCache::keyCount() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
return uhash_count(fHashtable);
}
void UnifiedCache::flush() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
// Use a loop in case cache items that are flushed held hard references to
// other cache items making those additional cache items eligible for
@@ -162,7 +165,7 @@ void UnifiedCache::flush() const {
}
void UnifiedCache::handleUnreferencedObject() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
--fNumValuesInUse;
_runEvictionSlice();
}
@@ -181,7 +184,7 @@ void UnifiedCache::dump() {
}
void UnifiedCache::dumpContents() const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
_dumpContents();
}
@@ -221,7 +224,7 @@ UnifiedCache::~UnifiedCache() {
// Now all that should be left in the cache are entries that refer to
// each other and entries with hard references from outside the cache.
// Nothing we can do about these so proceed to wipe out the cache.
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
_flush(TRUE);
}
uhash_close(fHashtable);
@@ -322,7 +325,7 @@ void UnifiedCache::_putIfAbsentAndGet(
const CacheKeyBase &key,
const SharedObject *&value,
UErrorCode &status) const {
- Mutex lock(&gCacheMutex);
+ std::lock_guard lock(*gCacheMutex);
const UHashElement *element = uhash_find(fHashtable, &key);
if (element != NULL && !_inProgress(element)) {
_fetch(element, value, status);
@@ -347,15 +350,15 @@ UBool UnifiedCache::_poll(
UErrorCode &status) const {
U_ASSERT(value == NULL);
U_ASSERT(status == U_ZERO_ERROR);
- Mutex lock(&gCacheMutex);
+ std::unique_lock lock(*gCacheMutex);
const UHashElement *element = uhash_find(fHashtable, &key);
// If the hash table contains an inProgress placeholder entry for this key,
// this means that another thread is currently constructing the value object.
// Loop, waiting for that construction to complete.
while (element != NULL && _inProgress(element)) {
- umtx_condWait(&gInProgressValueAddedCond, &gCacheMutex);
- element = uhash_find(fHashtable, &key);
+ gInProgressValueAddedCond->wait(lock);
+ element = uhash_find(fHashtable, &key);
}
// If the hash table contains an entry for the key,
@@ -427,7 +430,7 @@ void UnifiedCache::_put(
// Tell waiting threads that we replace in-progress status with
// an error.
- umtx_condBroadcast(&gInProgressValueAddedCond);
+ gInProgressValueAddedCond->notify_all();
}
void UnifiedCache::_fetch(
diff --git a/Build/source/libs/icu/icu-src/source/common/unifiedcache.h b/Build/source/libs/icu/icu-src/source/common/unifiedcache.h
index 4c9992be25e..d6c9945126c 100644
--- a/Build/source/libs/icu/icu-src/source/common/unifiedcache.h
+++ b/Build/source/libs/icu/icu-src/source/common/unifiedcache.h
@@ -137,7 +137,7 @@ class LocaleCacheKey : public CacheKey {
protected:
Locale fLoc;
public:
- LocaleCacheKey(const Locale &loc) : fLoc(loc) {};
+ LocaleCacheKey(const Locale &loc) : fLoc(loc) {}
LocaleCacheKey(const LocaleCacheKey &other)
: CacheKey(other), fLoc(other.fLoc) { }
virtual ~LocaleCacheKey() { }
diff --git a/Build/source/libs/icu/icu-src/source/common/uniset.cpp b/Build/source/libs/icu/icu-src/source/common/uniset.cpp
index e8378e0a223..b73d612f246 100644
--- a/Build/source/libs/icu/icu-src/source/common/uniset.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uniset.cpp
@@ -14,6 +14,7 @@
#include "unicode/parsepos.h"
#include "unicode/symtable.h"
#include "unicode/uniset.h"
+#include "unicode/ustring.h"
#include "unicode/utf8.h"
#include "unicode/utf16.h"
#include "ruleiter.h"
@@ -53,11 +54,8 @@
// LOW <= all valid values. ZERO for codepoints
#define UNICODESET_LOW 0x000000
-// initial storage. Must be >= 0
-#define START_EXTRA 16
-
-// extra amount for growth. Must be >= 0
-#define GROW_EXTRA START_EXTRA
+/** Max list [0, 1, 2, ..., max code point, HIGH] */
+constexpr int32_t MAX_LENGTH = UNICODESET_HIGH + 1;
U_NAMESPACE_BEGIN
@@ -137,6 +135,18 @@ static int8_t U_CALLCONV compareUnicodeString(UElement t1, UElement t2) {
return a.compare(b);
}
+UBool UnicodeSet::hasStrings() const {
+ return strings != nullptr && !strings->isEmpty();
+}
+
+int32_t UnicodeSet::stringsSize() const {
+ return strings == nullptr ? 0 : strings->size();
+}
+
+UBool UnicodeSet::stringsContains(const UnicodeString &s) const {
+ return strings != nullptr && strings->contains((void*) &s);
+}
+
//----------------------------------------------------------------
// Constructors &c
//----------------------------------------------------------------
@@ -144,24 +154,8 @@ static int8_t U_CALLCONV compareUnicodeString(UElement t1, UElement t2) {
/**
* Constructs an empty set.
*/
-UnicodeSet::UnicodeSet() :
- len(1), capacity(1 + START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- UErrorCode status = U_ZERO_ERROR;
- allocateStrings(status);
- if (U_FAILURE(status)) {
- setToBogus(); // If memory allocation failed, set to bogus state.
- return;
- }
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- if(list!=NULL){
- list[0] = UNICODESET_HIGH;
- } else { // If memory allocation failed, set to bogus state.
- setToBogus();
- return;
- }
+UnicodeSet::UnicodeSet() {
+ list[0] = UNICODESET_HIGH;
_dbgct(this);
}
@@ -172,89 +166,39 @@ UnicodeSet::UnicodeSet() :
* @param start first character, inclusive, of range
* @param end last character, inclusive, of range
*/
-UnicodeSet::UnicodeSet(UChar32 start, UChar32 end) :
- len(1), capacity(1 + START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- UErrorCode status = U_ZERO_ERROR;
- allocateStrings(status);
- if (U_FAILURE(status)) {
- setToBogus(); // If memory allocation failed, set to bogus state.
- return;
- }
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- if(list!=NULL){
- list[0] = UNICODESET_HIGH;
- complement(start, end);
- } else { // If memory allocation failed, set to bogus state.
- setToBogus();
- return;
- }
+UnicodeSet::UnicodeSet(UChar32 start, UChar32 end) {
+ list[0] = UNICODESET_HIGH;
+ add(start, end);
_dbgct(this);
}
/**
* Constructs a set that is identical to the given UnicodeSet.
*/
-UnicodeSet::UnicodeSet(const UnicodeSet& o) :
- UnicodeFilter(o),
- len(0), capacity(o.isFrozen() ? o.len : o.len + GROW_EXTRA), list(0),
- bmpSet(0),
- buffer(0), bufferCapacity(0),
- patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- UErrorCode status = U_ZERO_ERROR;
- allocateStrings(status);
- if (U_FAILURE(status)) {
- setToBogus(); // If memory allocation failed, set to bogus state.
- return;
- }
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- if(list!=NULL){
- *this = o;
- } else { // If memory allocation failed, set to bogus state.
- setToBogus();
- return;
- }
+UnicodeSet::UnicodeSet(const UnicodeSet& o) : UnicodeFilter(o) {
+ *this = o;
_dbgct(this);
}
// Copy-construct as thawed.
-UnicodeSet::UnicodeSet(const UnicodeSet& o, UBool /* asThawed */) :
- UnicodeFilter(o),
- len(0), capacity(o.len + GROW_EXTRA), list(0),
- bmpSet(0),
- buffer(0), bufferCapacity(0),
- patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- UErrorCode status = U_ZERO_ERROR;
- allocateStrings(status);
- if (U_FAILURE(status)) {
- setToBogus(); // If memory allocation failed, set to bogus state.
- return;
- }
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- if(list!=NULL){
+UnicodeSet::UnicodeSet(const UnicodeSet& o, UBool /* asThawed */) : UnicodeFilter(o) {
+ if (ensureCapacity(o.len)) {
// *this = o except for bmpSet and stringSpan
len = o.len;
uprv_memcpy(list, o.list, (size_t)len*sizeof(UChar32));
- if (strings != NULL && o.strings != NULL) {
- strings->assign(*o.strings, cloneUnicodeString, status);
- } else { // Invalid strings.
- setToBogus();
- return;
+ if (o.hasStrings()) {
+ UErrorCode status = U_ZERO_ERROR;
+ if (!allocateStrings(status) ||
+ (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
+ setToBogus();
+ return;
+ }
}
if (o.pat) {
- setPattern(UnicodeString(o.pat, o.patLen));
+ setPattern(o.pat, o.patLen);
}
- } else { // If memory allocation failed, set to bogus state.
- setToBogus();
- return;
+ _dbgct(this);
}
- _dbgct(this);
}
/**
@@ -262,9 +206,11 @@ UnicodeSet::UnicodeSet(const UnicodeSet& o, UBool /* asThawed */) :
*/
UnicodeSet::~UnicodeSet() {
_dbgdt(this); // first!
- uprv_free(list);
+ if (list != stackList) {
+ uprv_free(list);
+ }
delete bmpSet;
- if (buffer) {
+ if (buffer != stackList) {
uprv_free(buffer);
}
delete strings;
@@ -290,32 +236,30 @@ UnicodeSet& UnicodeSet::copyFrom(const UnicodeSet& o, UBool asThawed) {
setToBogus();
return *this;
}
- UErrorCode ec = U_ZERO_ERROR;
- ensureCapacity(o.len, ec);
- if (U_FAILURE(ec)) {
+ if (!ensureCapacity(o.len)) {
// ensureCapacity will mark the UnicodeSet as Bogus if OOM failure happens.
return *this;
}
len = o.len;
uprv_memcpy(list, o.list, (size_t)len*sizeof(UChar32));
- if (o.bmpSet == NULL || asThawed) {
- bmpSet = NULL;
- } else {
+ if (o.bmpSet != nullptr && !asThawed) {
bmpSet = new BMPSet(*o.bmpSet, list, len);
if (bmpSet == NULL) { // Check for memory allocation error.
setToBogus();
return *this;
}
}
- if (strings != NULL && o.strings != NULL) {
- strings->assign(*o.strings, cloneUnicodeString, ec);
- } else { // Invalid strings.
- setToBogus();
- return *this;
+ if (o.hasStrings()) {
+ UErrorCode status = U_ZERO_ERROR;
+ if ((strings == nullptr && !allocateStrings(status)) ||
+ (strings->assign(*o.strings, cloneUnicodeString, status), U_FAILURE(status))) {
+ setToBogus();
+ return *this;
+ }
+ } else if (hasStrings()) {
+ strings->removeAllElements();
}
- if (o.stringSpan == NULL || asThawed) {
- stringSpan = NULL;
- } else {
+ if (o.stringSpan != nullptr && !asThawed) {
stringSpan = new UnicodeSetStringSpan(*o.stringSpan, *strings);
if (stringSpan == NULL) { // Check for memory allocation error.
setToBogus();
@@ -324,7 +268,7 @@ UnicodeSet& UnicodeSet::copyFrom(const UnicodeSet& o, UBool asThawed) {
}
releasePattern();
if (o.pat) {
- setPattern(UnicodeString(o.pat, o.patLen));
+ setPattern(o.pat, o.patLen);
}
return *this;
}
@@ -334,11 +278,11 @@ UnicodeSet& UnicodeSet::copyFrom(const UnicodeSet& o, UBool asThawed) {
* to support cloning in order to allow classes using
* UnicodeMatchers, such as Transliterator, to implement cloning.
*/
-UnicodeFunctor* UnicodeSet::clone() const {
+UnicodeSet* UnicodeSet::clone() const {
return new UnicodeSet(*this);
}
-UnicodeFunctor *UnicodeSet::cloneAsThawed() const {
+UnicodeSet *UnicodeSet::cloneAsThawed() const {
return new UnicodeSet(*this, TRUE);
}
@@ -357,7 +301,8 @@ UBool UnicodeSet::operator==(const UnicodeSet& o) const {
for (int32_t i = 0; i < len; ++i) {
if (list[i] != o.list[i]) return FALSE;
}
- if (*strings != *o.strings) return FALSE;
+ if (hasStrings() != o.hasStrings()) { return FALSE; }
+ if (hasStrings() && *strings != *o.strings) return FALSE;
return TRUE;
}
@@ -393,7 +338,7 @@ int32_t UnicodeSet::size(void) const {
for (int32_t i = 0; i < count; ++i) {
n += getRangeEnd(i) - getRangeStart(i) + 1;
}
- return n + strings->size();
+ return n + stringsSize();
}
/**
@@ -402,7 +347,7 @@ int32_t UnicodeSet::size(void) const {
* @return true if this set contains no elements.
*/
UBool UnicodeSet::isEmpty(void) const {
- return len == 1 && strings->size() == 0;
+ return len == 1 && !hasStrings();
}
/**
@@ -502,7 +447,7 @@ UBool UnicodeSet::contains(const UnicodeString& s) const {
if (s.length() == 0) return FALSE;
int32_t cp = getSingleCP(s);
if (cp < 0) {
- return strings->contains((void*) &s);
+ return stringsContains(s);
} else {
return contains((UChar32) cp);
}
@@ -524,8 +469,7 @@ UBool UnicodeSet::containsAll(const UnicodeSet& c) const {
return FALSE;
}
}
- if (!strings->containsAll(*c.strings)) return FALSE;
- return TRUE;
+ return !c.hasStrings() || (strings != nullptr && strings->containsAll(*c.strings));
}
/**
@@ -571,8 +515,7 @@ UBool UnicodeSet::containsNone(const UnicodeSet& c) const {
return FALSE;
}
}
- if (!strings->containsNone(*c.strings)) return FALSE;
- return TRUE;
+ return strings == nullptr || !c.hasStrings() || strings->containsNone(*c.strings);
}
/**
@@ -613,7 +556,7 @@ UBool UnicodeSet::matchesIndexValue(uint8_t v) const {
return TRUE;
}
}
- if (strings->size() != 0) {
+ if (hasStrings()) {
for (i=0; isize(); ++i) {
const UnicodeString& s = *(const UnicodeString*)strings->elementAt(i);
//if (s.length() == 0) {
@@ -648,7 +591,7 @@ UMatchDegree UnicodeSet::matches(const Replaceable& text,
return U_MISMATCH;
}
} else {
- if (strings->size() != 0) { // try strings first
+ if (hasStrings()) { // try strings first
// might separate forward and backward loops later
// for now they are combined
@@ -849,7 +792,39 @@ UnicodeSet& UnicodeSet::set(UChar32 start, UChar32 end) {
*/
UnicodeSet& UnicodeSet::add(UChar32 start, UChar32 end) {
if (pinCodePoint(start) < pinCodePoint(end)) {
- UChar32 range[3] = { start, end+1, UNICODESET_HIGH };
+ UChar32 limit = end + 1;
+ // Fast path for adding a new range after the last one.
+ // Odd list length: [..., lastStart, lastLimit, HIGH]
+ if ((len & 1) != 0) {
+ // If the list is empty, set lastLimit low enough to not be adjacent to 0.
+ UChar32 lastLimit = len == 1 ? -2 : list[len - 2];
+ if (lastLimit <= start && !isFrozen() && !isBogus()) {
+ if (lastLimit == start) {
+ // Extend the last range.
+ list[len - 2] = limit;
+ if (limit == UNICODESET_HIGH) {
+ --len;
+ }
+ } else {
+ list[len - 1] = start;
+ if (limit < UNICODESET_HIGH) {
+ if (ensureCapacity(len + 2)) {
+ list[len++] = limit;
+ list[len++] = UNICODESET_HIGH;
+ }
+ } else { // limit == UNICODESET_HIGH
+ if (ensureCapacity(len + 1)) {
+ list[len++] = UNICODESET_HIGH;
+ }
+ }
+ }
+ releasePattern();
+ return *this;
+ }
+ }
+ // This is slow. Could be much faster using findCodePoint(start)
+ // and modifying the list, dealing with adjacent & overlapping ranges.
+ UChar32 range[3] = { start, limit, UNICODESET_HIGH };
add(range, 2, 0);
} else if (start == end) {
add(start);
@@ -918,9 +893,7 @@ UnicodeSet& UnicodeSet::add(UChar32 c) {
list[i] = c;
// if we touched the HIGH mark, then add a new one
if (c == (UNICODESET_HIGH - 1)) {
- UErrorCode status = U_ZERO_ERROR;
- ensureCapacity(len+1, status);
- if (U_FAILURE(status)) {
+ if (!ensureCapacity(len+1)) {
// ensureCapacity will mark the object as Bogus if OOM failure happens.
return *this;
}
@@ -964,21 +937,13 @@ UnicodeSet& UnicodeSet::add(UChar32 c) {
// ^
// list[i]
- UErrorCode status = U_ZERO_ERROR;
- ensureCapacity(len+2, status);
- if (U_FAILURE(status)) {
+ if (!ensureCapacity(len+2)) {
// ensureCapacity will mark the object as Bogus if OOM failure happens.
return *this;
}
- //for (int32_t k=len-1; k>=i; --k) {
- // list[k+2] = list[k];
- //}
- UChar32* src = list + len;
- UChar32* dst = src + 2;
- UChar32* srclimit = list + i;
- while (src > srclimit) *(--dst) = *(--src);
-
+ UChar32 *p = list + i;
+ uprv_memmove(p + 2, p, (len - i) * sizeof(*p));
list[i] = c;
list[i+1] = c+1;
len += 2;
@@ -1014,7 +979,7 @@ UnicodeSet& UnicodeSet::add(const UnicodeString& s) {
if (s.length() == 0 || isFrozen() || isBogus()) return *this;
int32_t cp = getSingleCP(s);
if (cp < 0) {
- if (!strings->contains((void*) &s)) {
+ if (!stringsContains(s)) {
_add(s);
releasePattern();
}
@@ -1033,12 +998,16 @@ void UnicodeSet::_add(const UnicodeString& s) {
if (isFrozen() || isBogus()) {
return;
}
+ UErrorCode ec = U_ZERO_ERROR;
+ if (strings == nullptr && !allocateStrings(ec)) {
+ setToBogus();
+ return;
+ }
UnicodeString* t = new UnicodeString(s);
if (t == NULL) { // Check for memory allocation error.
setToBogus();
return;
}
- UErrorCode ec = U_ZERO_ERROR;
strings->sortedInsert(t, compareUnicodeString, ec);
if (U_FAILURE(ec)) {
setToBogus();
@@ -1121,7 +1090,10 @@ UnicodeSet& UnicodeSet::removeAll(const UnicodeString& s) {
}
UnicodeSet& UnicodeSet::removeAllStrings() {
- strings->removeAllElements();
+ if (!isFrozen() && hasStrings()) {
+ strings->removeAllElements();
+ releasePattern();
+ }
return *this;
}
@@ -1217,8 +1189,9 @@ UnicodeSet& UnicodeSet::remove(const UnicodeString& s) {
if (s.length() == 0 || isFrozen() || isBogus()) return *this;
int32_t cp = getSingleCP(s);
if (cp < 0) {
- strings->removeElement((void*) &s);
- releasePattern();
+ if (strings != nullptr && strings->removeElement((void*) &s)) {
+ releasePattern();
+ }
} else {
remove((UChar32)cp, (UChar32)cp);
}
@@ -1260,24 +1233,17 @@ UnicodeSet& UnicodeSet::complement(void) {
if (isFrozen() || isBogus()) {
return *this;
}
- UErrorCode status = U_ZERO_ERROR;
if (list[0] == UNICODESET_LOW) {
- ensureBufferCapacity(len-1, status);
- if (U_FAILURE(status)) {
- return *this;
- }
- uprv_memcpy(buffer, list + 1, (size_t)(len-1)*sizeof(UChar32));
+ uprv_memmove(list, list + 1, (size_t)(len-1)*sizeof(UChar32));
--len;
} else {
- ensureBufferCapacity(len+1, status);
- if (U_FAILURE(status)) {
+ if (!ensureCapacity(len+1)) {
return *this;
}
- uprv_memcpy(buffer + 1, list, (size_t)len*sizeof(UChar32));
- buffer[0] = UNICODESET_LOW;
+ uprv_memmove(list + 1, list, (size_t)len*sizeof(UChar32));
+ list[0] = UNICODESET_LOW;
++len;
}
- swapBuffers();
releasePattern();
return *this;
}
@@ -1294,7 +1260,7 @@ UnicodeSet& UnicodeSet::complement(const UnicodeString& s) {
if (s.length() == 0 || isFrozen() || isBogus()) return *this;
int32_t cp = getSingleCP(s);
if (cp < 0) {
- if (strings->contains((void*) &s)) {
+ if (stringsContains(s)) {
strings->removeElement((void*) &s);
} else {
_add(s);
@@ -1325,7 +1291,7 @@ UnicodeSet& UnicodeSet::addAll(const UnicodeSet& c) {
if ( c.strings!=NULL ) {
for (int32_t i=0; isize(); ++i) {
const UnicodeString* s = (const UnicodeString*)c.strings->elementAt(i);
- if (!strings->contains((void*) s)) {
+ if (!stringsContains(*s)) {
_add(*s);
}
}
@@ -1347,7 +1313,13 @@ UnicodeSet& UnicodeSet::retainAll(const UnicodeSet& c) {
return *this;
}
retain(c.list, c.len, 0);
- strings->retainAll(*c.strings);
+ if (hasStrings()) {
+ if (!c.hasStrings()) {
+ strings->removeAllElements();
+ } else {
+ strings->retainAll(*c.strings);
+ }
+ }
return *this;
}
@@ -1365,7 +1337,9 @@ UnicodeSet& UnicodeSet::removeAll(const UnicodeSet& c) {
return *this;
}
retain(c.list, c.len, 2);
- strings->removeAll(*c.strings);
+ if (hasStrings() && c.hasStrings()) {
+ strings->removeAll(*c.strings);
+ }
return *this;
}
@@ -1383,10 +1357,12 @@ UnicodeSet& UnicodeSet::complementAll(const UnicodeSet& c) {
}
exclusiveOr(c.list, c.len, 0);
- for (int32_t i=0; isize(); ++i) {
- void* e = c.strings->elementAt(i);
- if (!strings->removeElement(e)) {
- _add(*(const UnicodeString*)e);
+ if (c.strings != nullptr) {
+ for (int32_t i=0; isize(); ++i) {
+ void* e = c.strings->elementAt(i);
+ if (strings == nullptr || !strings->removeElement(e)) {
+ _add(*(const UnicodeString*)e);
+ }
}
}
return *this;
@@ -1400,18 +1376,14 @@ UnicodeSet& UnicodeSet::clear(void) {
if (isFrozen()) {
return *this;
}
- if (list != NULL) {
- list[0] = UNICODESET_HIGH;
- }
+ list[0] = UNICODESET_HIGH;
len = 1;
releasePattern();
if (strings != NULL) {
strings->removeAllElements();
}
- if (list != NULL && strings != NULL) {
- // Remove bogus
- fFlags = 0;
- }
+ // Remove bogus
+ fFlags = 0;
return *this;
}
@@ -1445,10 +1417,6 @@ UChar32 UnicodeSet::getRangeEnd(int32_t index) const {
return list[index*2 + 1] - 1;
}
-int32_t UnicodeSet::getStringCount() const {
- return strings->size();
-}
-
const UnicodeString* UnicodeSet::getString(int32_t index) const {
return (const UnicodeString*) strings->elementAt(index);
}
@@ -1462,22 +1430,32 @@ UnicodeSet& UnicodeSet::compact() {
return *this;
}
// Delete buffer first to defragment memory less.
- if (buffer != NULL) {
+ if (buffer != stackList) {
uprv_free(buffer);
buffer = NULL;
- }
- if (len < capacity) {
- // Make the capacity equal to len or 1.
- // We don't want to realloc of 0 size.
- int32_t newCapacity = len + (len == 0);
- UChar32* temp = (UChar32*) uprv_realloc(list, sizeof(UChar32) * newCapacity);
+ bufferCapacity = 0;
+ }
+ if (list == stackList) {
+ // pass
+ } else if (len <= INITIAL_CAPACITY) {
+ uprv_memcpy(stackList, list, len * sizeof(UChar32));
+ uprv_free(list);
+ list = stackList;
+ capacity = INITIAL_CAPACITY;
+ } else if ((len + 7) < capacity) {
+ // If we have more than a little unused capacity, shrink it to len.
+ UChar32* temp = (UChar32*) uprv_realloc(list, sizeof(UChar32) * len);
if (temp) {
list = temp;
- capacity = newCapacity;
+ capacity = len;
}
// else what the heck happened?! We allocated less memory!
// Oh well. We'll keep our original array.
}
+ if (strings != nullptr && strings->isEmpty()) {
+ delete strings;
+ strings = nullptr;
+ }
return *this;
}
@@ -1488,10 +1466,8 @@ UnicodeSet& UnicodeSet::compact() {
/**
* Deserialize constructor.
*/
-UnicodeSet::UnicodeSet(const uint16_t data[], int32_t dataLen, ESerialization serialization, UErrorCode &ec)
- : len(1), capacity(1+START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0) {
+UnicodeSet::UnicodeSet(const uint16_t data[], int32_t dataLen, ESerialization serialization,
+ UErrorCode &ec) {
if(U_FAILURE(ec)) {
setToBogus();
@@ -1506,24 +1482,15 @@ UnicodeSet::UnicodeSet(const uint16_t data[], int32_t dataLen, ESerialization se
return;
}
- allocateStrings(ec);
- if (U_FAILURE(ec)) {
- setToBogus();
- return;
- }
-
// bmp?
int32_t headerSize = ((data[0]&0x8000)) ?2:1;
int32_t bmpLength = (headerSize==1)?data[0]:data[1];
- len = (((data[0]&0x7FFF)-bmpLength)/2)+bmpLength;
+ int32_t newLength = (((data[0]&0x7FFF)-bmpLength)/2)+bmpLength;
#ifdef DEBUG_SERIALIZE
- printf("dataLen %d headerSize %d bmpLen %d len %d. data[0]=%X/%X/%X/%X\n", dataLen,headerSize,bmpLength,len, data[0],data[1],data[2],data[3]);
+ printf("dataLen %d headerSize %d bmpLen %d len %d. data[0]=%X/%X/%X/%X\n", dataLen,headerSize,bmpLength,newLength, data[0],data[1],data[2],data[3]);
#endif
- capacity = len+1;
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- if(!list || U_FAILURE(ec)) {
- setToBogus();
+ if(!ensureCapacity(newLength + 1)) { // +1 for HIGH
return;
}
// copy bmp
@@ -1535,15 +1502,18 @@ UnicodeSet::UnicodeSet(const uint16_t data[], int32_t dataLen, ESerialization se
#endif
}
// copy smp
- for(i=bmpLength;i MAX_LENGTH) {
+ newCapacity = MAX_LENGTH;
+ }
+ return newCapacity;
+ }
+}
+
+bool UnicodeSet::ensureCapacity(int32_t newLen) {
+ if (newLen > MAX_LENGTH) {
+ newLen = MAX_LENGTH;
+ }
if (newLen <= capacity) {
- return;
+ return true;
}
- UChar32* temp = (UChar32*) uprv_realloc(list, sizeof(UChar32) * (newLen + GROW_EXTRA));
+ int32_t newCapacity = nextCapacity(newLen);
+ UChar32* temp = (UChar32*) uprv_malloc(newCapacity * sizeof(UChar32));
if (temp == NULL) {
- ec = U_MEMORY_ALLOCATION_ERROR;
setToBogus(); // set the object to bogus state if an OOM failure occurred.
- return;
+ return false;
+ }
+ // Copy only the actual contents.
+ uprv_memcpy(temp, list, len * sizeof(UChar32));
+ if (list != stackList) {
+ uprv_free(list);
}
list = temp;
- capacity = newLen + GROW_EXTRA;
- // else we keep the original contents on the memory failure.
+ capacity = newCapacity;
+ return true;
}
-void UnicodeSet::ensureBufferCapacity(int32_t newLen, UErrorCode& ec) {
- if (buffer != NULL && newLen <= bufferCapacity)
- return;
- UChar32* temp = (UChar32*) uprv_realloc(buffer, sizeof(UChar32) * (newLen + GROW_EXTRA));
+bool UnicodeSet::ensureBufferCapacity(int32_t newLen) {
+ if (newLen > MAX_LENGTH) {
+ newLen = MAX_LENGTH;
+ }
+ if (newLen <= bufferCapacity) {
+ return true;
+ }
+ int32_t newCapacity = nextCapacity(newLen);
+ UChar32* temp = (UChar32*) uprv_malloc(newCapacity * sizeof(UChar32));
if (temp == NULL) {
- ec = U_MEMORY_ALLOCATION_ERROR;
setToBogus();
- return;
+ return false;
+ }
+ // The buffer has no contents to be copied.
+ // It is always filled from scratch after this call.
+ if (buffer != stackList) {
+ uprv_free(buffer);
}
buffer = temp;
- bufferCapacity = newLen + GROW_EXTRA;
- // else we keep the original contents on the memory failure.
+ bufferCapacity = newCapacity;
+ return true;
}
/**
@@ -1727,9 +1729,7 @@ void UnicodeSet::exclusiveOr(const UChar32* other, int32_t otherLen, int8_t pola
if (isFrozen() || isBogus()) {
return;
}
- UErrorCode status = U_ZERO_ERROR;
- ensureBufferCapacity(len + otherLen, status);
- if (U_FAILURE(status)) {
+ if (!ensureBufferCapacity(len + otherLen)) {
return;
}
@@ -1777,9 +1777,7 @@ void UnicodeSet::add(const UChar32* other, int32_t otherLen, int8_t polarity) {
if (isFrozen() || isBogus() || other==NULL) {
return;
}
- UErrorCode status = U_ZERO_ERROR;
- ensureBufferCapacity(len + otherLen, status);
- if (U_FAILURE(status)) {
+ if (!ensureBufferCapacity(len + otherLen)) {
return;
}
@@ -1890,9 +1888,7 @@ void UnicodeSet::retain(const UChar32* other, int32_t otherLen, int8_t polarity)
if (isFrozen() || isBogus()) {
return;
}
- UErrorCode status = U_ZERO_ERROR;
- ensureBufferCapacity(len + otherLen, status);
- if (U_FAILURE(status)) {
+ if (!ensureBufferCapacity(len + otherLen)) {
return;
}
@@ -2138,12 +2134,14 @@ UnicodeString& UnicodeSet::_generatePattern(UnicodeString& result,
}
}
- for (int32_t i = 0; isize(); ++i) {
- result.append(OPEN_BRACE);
- _appendToPat(result,
- *(const UnicodeString*) strings->elementAt(i),
- escapeUnprintable);
- result.append(CLOSE_BRACE);
+ if (strings != nullptr) {
+ for (int32_t i = 0; isize(); ++i) {
+ result.append(OPEN_BRACE);
+ _appendToPat(result,
+ *(const UnicodeString*) strings->elementAt(i),
+ escapeUnprintable);
+ result.append(CLOSE_BRACE);
+ }
}
return result.append(SET_CLOSE);
}
@@ -2162,45 +2160,29 @@ void UnicodeSet::releasePattern() {
/**
* Set the new pattern to cache.
*/
-void UnicodeSet::setPattern(const UnicodeString& newPat) {
+void UnicodeSet::setPattern(const char16_t *newPat, int32_t newPatLen) {
releasePattern();
- int32_t newPatLen = newPat.length();
pat = (UChar *)uprv_malloc((newPatLen + 1) * sizeof(UChar));
if (pat) {
patLen = newPatLen;
- newPat.extractBetween(0, patLen, pat);
+ u_memcpy(pat, newPat, patLen);
pat[patLen] = 0;
}
// else we don't care if malloc failed. This was just a nice cache.
// We can regenerate an equivalent pattern later when requested.
}
-UnicodeFunctor *UnicodeSet::freeze() {
+UnicodeSet *UnicodeSet::freeze() {
if(!isFrozen() && !isBogus()) {
- // Do most of what compact() does before freezing because
- // compact() will not work when the set is frozen.
- // Small modification: Don't shrink if the savings would be tiny (<=GROW_EXTRA).
-
- // Delete buffer first to defragment memory less.
- if (buffer != NULL) {
- uprv_free(buffer);
- buffer = NULL;
- }
- if (capacity > (len + GROW_EXTRA)) {
- // Make the capacity equal to len or 1.
- // We don't want to realloc of 0 size.
- capacity = len + (len == 0);
- list = (UChar32*) uprv_realloc(list, sizeof(UChar32) * capacity);
- if (list == NULL) { // Check for memory allocation error.
- setToBogus();
- return this;
- }
- }
+ compact();
// Optimize contains() and span() and similar functions.
- if (!strings->isEmpty()) {
+ if (hasStrings()) {
stringSpan = new UnicodeSetStringSpan(*this, *strings, UnicodeSetStringSpan::ALL);
- if (stringSpan != NULL && !stringSpan->needsStringSpanUTF16()) {
+ if (stringSpan == nullptr) {
+ setToBogus();
+ return this;
+ } else if (!stringSpan->needsStringSpanUTF16()) {
// All strings are irrelevant for span() etc. because
// all of each string's code points are contained in this set.
// Do not check needsStringSpanUTF8() because UTF-8 has at most as
@@ -2233,7 +2215,7 @@ int32_t UnicodeSet::span(const UChar *s, int32_t length, USetSpanCondition spanC
}
if(stringSpan!=NULL) {
return stringSpan->span(s, length, spanCondition);
- } else if(!strings->isEmpty()) {
+ } else if(hasStrings()) {
uint32_t which= spanCondition==USET_SPAN_NOT_CONTAINED ?
UnicodeSetStringSpan::FWD_UTF16_NOT_CONTAINED :
UnicodeSetStringSpan::FWD_UTF16_CONTAINED;
@@ -2270,7 +2252,7 @@ int32_t UnicodeSet::spanBack(const UChar *s, int32_t length, USetSpanCondition s
}
if(stringSpan!=NULL) {
return stringSpan->spanBack(s, length, spanCondition);
- } else if(!strings->isEmpty()) {
+ } else if(hasStrings()) {
uint32_t which= spanCondition==USET_SPAN_NOT_CONTAINED ?
UnicodeSetStringSpan::BACK_UTF16_NOT_CONTAINED :
UnicodeSetStringSpan::BACK_UTF16_CONTAINED;
@@ -2308,7 +2290,7 @@ int32_t UnicodeSet::spanUTF8(const char *s, int32_t length, USetSpanCondition sp
}
if(stringSpan!=NULL) {
return stringSpan->spanUTF8((const uint8_t *)s, length, spanCondition);
- } else if(!strings->isEmpty()) {
+ } else if(hasStrings()) {
uint32_t which= spanCondition==USET_SPAN_NOT_CONTAINED ?
UnicodeSetStringSpan::FWD_UTF8_NOT_CONTAINED :
UnicodeSetStringSpan::FWD_UTF8_CONTAINED;
@@ -2346,7 +2328,7 @@ int32_t UnicodeSet::spanBackUTF8(const char *s, int32_t length, USetSpanConditio
}
if(stringSpan!=NULL) {
return stringSpan->spanBackUTF8((const uint8_t *)s, length, spanCondition);
- } else if(!strings->isEmpty()) {
+ } else if(hasStrings()) {
uint32_t which= spanCondition==USET_SPAN_NOT_CONTAINED ?
UnicodeSetStringSpan::BACK_UTF8_NOT_CONTAINED :
UnicodeSetStringSpan::BACK_UTF8_CONTAINED;
diff --git a/Build/source/libs/icu/icu-src/source/common/uniset_closure.cpp b/Build/source/libs/icu/icu-src/source/common/uniset_closure.cpp
index 0b7da796826..882231ba1a5 100644
--- a/Build/source/libs/icu/icu-src/source/common/uniset_closure.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uniset_closure.cpp
@@ -31,10 +31,6 @@
#include "util.h"
#include "uvector.h"
-// initial storage. Must be >= 0
-// *** same as in uniset.cpp ! ***
-#define START_EXTRA 16
-
U_NAMESPACE_BEGIN
// TODO memory debugging provided inside uniset.cpp
@@ -49,42 +45,16 @@ U_NAMESPACE_BEGIN
UnicodeSet::UnicodeSet(const UnicodeString& pattern,
uint32_t options,
const SymbolTable* symbols,
- UErrorCode& status) :
- len(0), capacity(START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- if(U_SUCCESS(status)){
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- /* test for NULL */
- if(list == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
- }else{
- allocateStrings(status);
- applyPattern(pattern, options, symbols, status);
- }
- }
+ UErrorCode& status) {
+ applyPattern(pattern, options, symbols, status);
_dbgct(this);
}
UnicodeSet::UnicodeSet(const UnicodeString& pattern, ParsePosition& pos,
uint32_t options,
const SymbolTable* symbols,
- UErrorCode& status) :
- len(0), capacity(START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- if(U_SUCCESS(status)){
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- /* test for NULL */
- if(list == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
- }else{
- allocateStrings(status);
- applyPattern(pattern, pos, options, symbols, status);
- }
- }
+ UErrorCode& status) {
+ applyPattern(pattern, pos, options, symbols, status);
_dbgct(this);
}
@@ -199,7 +169,7 @@ UnicodeSet& UnicodeSet::closeOver(int32_t attribute) {
// start with input set to guarantee inclusion
// USET_CASE: remove strings because the strings will actually be reduced (folded);
// therefore, start with no strings and add only those needed
- if (attribute & USET_CASE_INSENSITIVE) {
+ if ((attribute & USET_CASE_INSENSITIVE) && foldSet.hasStrings()) {
foldSet.strings->removeAllElements();
}
@@ -234,7 +204,7 @@ UnicodeSet& UnicodeSet::closeOver(int32_t attribute) {
}
}
}
- if (strings != NULL && strings->size() > 0) {
+ if (hasStrings()) {
if (attribute & USET_CASE_INSENSITIVE) {
for (int32_t j=0; jsize(); ++j) {
str = *(const UnicodeString *) strings->elementAt(j);
diff --git a/Build/source/libs/icu/icu-src/source/common/uniset_props.cpp b/Build/source/libs/icu/icu-src/source/common/uniset_props.cpp
index 6cfd80a705b..37277fcb751 100644
--- a/Build/source/libs/icu/icu-src/source/common/uniset_props.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uniset_props.cpp
@@ -47,10 +47,6 @@
U_NAMESPACE_USE
-// initial storage. Must be >= 0
-// *** same as in uniset.cpp ! ***
-#define START_EXTRA 16
-
// Define UChar constants using hex for EBCDIC compatibility
// Used #define to reduce private static exports and memory access time.
#define SET_OPEN ((UChar)0x005B) /*[*/
@@ -185,21 +181,8 @@ isPOSIXClose(const UnicodeString &pattern, int32_t pos) {
* @param pattern a string specifying what characters are in the set
*/
UnicodeSet::UnicodeSet(const UnicodeString& pattern,
- UErrorCode& status) :
- len(0), capacity(START_EXTRA), list(0), bmpSet(0), buffer(0),
- bufferCapacity(0), patLen(0), pat(NULL), strings(NULL), stringSpan(NULL),
- fFlags(0)
-{
- if(U_SUCCESS(status)){
- list = (UChar32*) uprv_malloc(sizeof(UChar32) * capacity);
- /* test for NULL */
- if(list == NULL) {
- status = U_MEMORY_ALLOCATION_ERROR;
- }else{
- allocateStrings(status);
- applyPattern(pattern, status);
- }
- }
+ UErrorCode& status) {
+ applyPattern(pattern, status);
_dbgct(this);
}
@@ -713,6 +696,11 @@ static UBool numericValueFilter(UChar32 ch, void* context) {
return u_getNumericValue(ch) == *(double*)context;
}
+static UBool generalCategoryMaskFilter(UChar32 ch, void* context) {
+ int32_t value = *(int32_t*)context;
+ return (U_GET_GC_MASK((UChar32) ch) & value) != 0;
+}
+
static UBool versionFilter(UChar32 ch, void* context) {
static const UVersionInfo none = { 0, 0, 0, 0 };
UVersionInfo v;
@@ -721,6 +709,16 @@ static UBool versionFilter(UChar32 ch, void* context) {
return uprv_memcmp(&v, &none, sizeof(v)) > 0 && uprv_memcmp(&v, version, sizeof(v)) <= 0;
}
+typedef struct {
+ UProperty prop;
+ int32_t value;
+} IntPropertyContext;
+
+static UBool intPropertyFilter(UChar32 ch, void* context) {
+ IntPropertyContext* c = (IntPropertyContext*)context;
+ return u_getIntPropertyValue((UChar32) ch, c->prop) == c->value;
+}
+
static UBool scriptExtensionsFilter(UChar32 ch, void* context) {
return uscript_hasScript(ch, *(UScriptCode*)context);
}
@@ -781,43 +779,6 @@ void UnicodeSet::applyFilter(UnicodeSet::Filter filter,
namespace {
-/** Maps map values to 1 if the mask contains their value'th bit, all others to 0. */
-uint32_t U_CALLCONV generalCategoryMaskFilter(const void *context, uint32_t value) {
- uint32_t mask = *(const uint32_t *)context;
- value = U_MASK(value) & mask;
- if (value != 0) { value = 1; }
- return value;
-}
-
-/** Maps one map value to 1, all others to 0. */
-uint32_t U_CALLCONV intValueFilter(const void *context, uint32_t value) {
- uint32_t v = *(const uint32_t *)context;
- return value == v ? 1 : 0;
-}
-
-} // namespace
-
-void UnicodeSet::applyIntPropertyValue(const UCPMap *map,
- UCPMapValueFilter *filter, const void *context,
- UErrorCode &errorCode) {
- if (U_FAILURE(errorCode)) { return; }
- clear();
- UChar32 start = 0, end;
- uint32_t value;
- while ((end = ucpmap_getRange(map, start, UCPMAP_RANGE_NORMAL, 0,
- filter, context, &value)) >= 0) {
- if (value != 0) {
- add(start, end);
- }
- start = end + 1;
- }
- if (isBogus()) {
- errorCode = U_MEMORY_ALLOCATION_ERROR;
- }
-}
-
-namespace {
-
static UBool mungeCharName(char* dst, const char* src, int32_t dstCapacity) {
/* Note: we use ' ' in compiler code page */
int32_t j = 0;
@@ -841,15 +802,17 @@ static UBool mungeCharName(char* dst, const char* src, int32_t dstCapacity) {
// Property set API
//----------------------------------------------------------------
-#define FAIL(ec) {ec=U_ILLEGAL_ARGUMENT_ERROR; return *this;}
+#define FAIL(ec) UPRV_BLOCK_MACRO_BEGIN { \
+ ec=U_ILLEGAL_ARGUMENT_ERROR; \
+ return *this; \
+} UPRV_BLOCK_MACRO_END
UnicodeSet&
UnicodeSet::applyIntPropertyValue(UProperty prop, int32_t value, UErrorCode& ec) {
- if (U_FAILURE(ec)) { return *this; }
- // All of the following check isFrozen() before modifying this set.
+ if (U_FAILURE(ec) || isFrozen()) { return *this; }
if (prop == UCHAR_GENERAL_CATEGORY_MASK) {
- const UCPMap *map = u_getIntPropertyMap(UCHAR_GENERAL_CATEGORY, &ec);
- applyIntPropertyValue(map, generalCategoryMaskFilter, &value, ec);
+ const UnicodeSet* inclusions = CharacterProperties::getInclusionsForProperty(prop, ec);
+ applyFilter(generalCategoryMaskFilter, &value, inclusions, ec);
} else if (prop == UCHAR_SCRIPT_EXTENSIONS) {
const UnicodeSet* inclusions = CharacterProperties::getInclusionsForProperty(prop, ec);
UScriptCode script = (UScriptCode)value;
@@ -866,14 +829,11 @@ UnicodeSet::applyIntPropertyValue(UProperty prop, int32_t value, UErrorCode& ec)
clear();
}
} else if (UCHAR_INT_START <= prop && prop < UCHAR_INT_LIMIT) {
- const UCPMap *map = u_getIntPropertyMap(prop, &ec);
- applyIntPropertyValue(map, intValueFilter, &value, ec);
+ const UnicodeSet* inclusions = CharacterProperties::getInclusionsForProperty(prop, ec);
+ IntPropertyContext c = {prop, value};
+ applyFilter(intPropertyFilter, &c, inclusions, ec);
} else {
- // This code used to always call getInclusions(property source)
- // which sets an error for an unsupported property.
ec = U_ILLEGAL_ARGUMENT_ERROR;
- // Otherwise we would just clear() this set because
- // getIntPropertyValue(c, prop) returns 0 for all code points.
}
return *this;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/unisetspan.cpp b/Build/source/libs/icu/icu-src/source/common/unisetspan.cpp
index 0a8893472f9..68e44d91ee7 100644
--- a/Build/source/libs/icu/icu-src/source/common/unisetspan.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/unisetspan.cpp
@@ -400,7 +400,7 @@ UnicodeSetStringSpan::UnicodeSetStringSpan(const UnicodeSetStringSpan &otherStri
if(otherStringSpan.pSpanNotSet==&otherStringSpan.spanSet) {
pSpanNotSet=&spanSet;
} else {
- pSpanNotSet=(UnicodeSet *)otherStringSpan.pSpanNotSet->clone();
+ pSpanNotSet=otherStringSpan.pSpanNotSet->clone();
}
// Allocate a block of meta data.
@@ -436,7 +436,7 @@ void UnicodeSetStringSpan::addToSpanNotSet(UChar32 c) {
if(spanSet.contains(c)) {
return; // Nothing to do.
}
- UnicodeSet *newSet=(UnicodeSet *)spanSet.cloneAsThawed();
+ UnicodeSet *newSet=spanSet.cloneAsThawed();
if(newSet==NULL) {
return; // Out of memory.
} else {
diff --git a/Build/source/libs/icu/icu-src/source/common/unistr.cpp b/Build/source/libs/icu/icu-src/source/common/unistr.cpp
index c8b6c0a3a46..901bb3358ba 100644
--- a/Build/source/libs/icu/icu-src/source/common/unistr.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/unistr.cpp
@@ -309,8 +309,7 @@ UnicodeString::UnicodeString(const UnicodeString& that) {
}
UnicodeString::UnicodeString(UnicodeString &&src) U_NOEXCEPT {
- fUnion.fFields.fLengthAndFlags = kShortString;
- moveFrom(src);
+ copyFieldsFrom(src, TRUE);
}
UnicodeString::UnicodeString(const UnicodeString& that,
@@ -333,7 +332,7 @@ Replaceable::clone() const {
}
// UnicodeString overrides clone() with a real implementation
-Replaceable *
+UnicodeString *
UnicodeString::clone() const {
return new UnicodeString(*this);
}
@@ -572,7 +571,7 @@ UnicodeString::copyFrom(const UnicodeString &src, UBool fastCopy) {
return *this;
}
-UnicodeString &UnicodeString::moveFrom(UnicodeString &src) U_NOEXCEPT {
+UnicodeString &UnicodeString::operator=(UnicodeString &&src) U_NOEXCEPT {
// No explicit check for self move assignment, consistent with standard library.
// Self move assignment causes no crash nor leak but might make the object bogus.
releaseArray();
@@ -580,7 +579,7 @@ UnicodeString &UnicodeString::moveFrom(UnicodeString &src) U_NOEXCEPT {
return *this;
}
-// Same as moveFrom() except without memory management.
+// Same as move assignment except without memory management.
void UnicodeString::copyFieldsFrom(UnicodeString &src, UBool setSrcToBogus) U_NOEXCEPT {
int16_t lengthAndFlags = fUnion.fFields.fLengthAndFlags = src.fUnion.fFields.fLengthAndFlags;
if(lengthAndFlags & kUsingStackBuffer) {
diff --git a/Build/source/libs/icu/icu-src/source/common/uobject.cpp b/Build/source/libs/icu/icu-src/source/common/uobject.cpp
index 1133dd9b67a..e222b2ce9b9 100644
--- a/Build/source/libs/icu/icu-src/source/common/uobject.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uobject.cpp
@@ -58,32 +58,32 @@ U_NAMESPACE_BEGIN
* and replace with uprv_malloc/uprv_free.
*/
-void * U_EXPORT2 UMemory::operator new(size_t size) U_NO_THROW {
+void * U_EXPORT2 UMemory::operator new(size_t size) U_NOEXCEPT {
return uprv_malloc(size);
}
-void U_EXPORT2 UMemory::operator delete(void *p) U_NO_THROW {
+void U_EXPORT2 UMemory::operator delete(void *p) U_NOEXCEPT {
if(p!=NULL) {
uprv_free(p);
}
}
-void * U_EXPORT2 UMemory::operator new[](size_t size) U_NO_THROW {
+void * U_EXPORT2 UMemory::operator new[](size_t size) U_NOEXCEPT {
return uprv_malloc(size);
}
-void U_EXPORT2 UMemory::operator delete[](void *p) U_NO_THROW {
+void U_EXPORT2 UMemory::operator delete[](void *p) U_NOEXCEPT {
if(p!=NULL) {
uprv_free(p);
}
}
#if U_HAVE_DEBUG_LOCATION_NEW
-void * U_EXPORT2 UMemory::operator new(size_t size, const char* /*file*/, int /*line*/) U_NO_THROW {
+void * U_EXPORT2 UMemory::operator new(size_t size, const char* /*file*/, int /*line*/) U_NOEXCEPT {
return UMemory::operator new(size);
}
-void U_EXPORT2 UMemory::operator delete(void* p, const char* /*file*/, int /*line*/) U_NO_THROW {
+void U_EXPORT2 UMemory::operator delete(void* p, const char* /*file*/, int /*line*/) U_NOEXCEPT {
UMemory::operator delete(p);
}
#endif /* U_HAVE_DEBUG_LOCATION_NEW */
diff --git a/Build/source/libs/icu/icu-src/source/common/uprops.cpp b/Build/source/libs/icu/icu-src/source/common/uprops.cpp
index 2421c15d2bd..7d99675220e 100644
--- a/Build/source/libs/icu/icu-src/source/common/uprops.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uprops.cpp
@@ -26,23 +26,131 @@
#include "unicode/utypes.h"
#include "unicode/uchar.h"
#include "unicode/ucptrie.h"
+#include "unicode/udata.h"
#include "unicode/unorm2.h"
#include "unicode/uscript.h"
#include "unicode/ustring.h"
#include "cstring.h"
+#include "mutex.h"
#include "normalizer2impl.h"
#include "umutex.h"
#include "ubidi_props.h"
#include "uprops.h"
#include "ucase.h"
+#include "ucln_cmn.h"
+#include "ulayout_props.h"
#include "ustr_imp.h"
-// ulayout_props_data.h is machine-generated by genprops
-#define INCLUDED_FROM_UPROPS_CPP
-#include "ulayout_props_data.h"
-
U_NAMESPACE_USE
+// Unicode text layout properties data -----------------------------------------
+
+namespace {
+
+icu::UInitOnce gLayoutInitOnce = U_INITONCE_INITIALIZER;
+UDataMemory *gLayoutMemory = nullptr;
+
+UCPTrie *gInpcTrie = nullptr; // Indic_Positional_Category
+UCPTrie *gInscTrie = nullptr; // Indic_Syllabic_Category
+UCPTrie *gVoTrie = nullptr; // Vertical_Orientation
+
+int32_t gMaxInpcValue = 0;
+int32_t gMaxInscValue = 0;
+int32_t gMaxVoValue = 0;
+
+UBool U_CALLCONV uprops_cleanup() {
+ udata_close(gLayoutMemory);
+ gLayoutMemory = nullptr;
+
+ ucptrie_close(gInpcTrie);
+ gInpcTrie = nullptr;
+ ucptrie_close(gInscTrie);
+ gInscTrie = nullptr;
+ ucptrie_close(gVoTrie);
+ gVoTrie = nullptr;
+
+ gMaxInpcValue = 0;
+ gMaxInscValue = 0;
+ gMaxVoValue = 0;
+
+ gLayoutInitOnce.reset();
+ return TRUE;
+}
+
+UBool U_CALLCONV
+ulayout_isAcceptable(void * /*context*/,
+ const char * /* type */, const char * /*name*/,
+ const UDataInfo *pInfo) {
+ return pInfo->size >= 20 &&
+ pInfo->isBigEndian == U_IS_BIG_ENDIAN &&
+ pInfo->charsetFamily == U_CHARSET_FAMILY &&
+ pInfo->dataFormat[0] == ULAYOUT_FMT_0 &&
+ pInfo->dataFormat[1] == ULAYOUT_FMT_1 &&
+ pInfo->dataFormat[2] == ULAYOUT_FMT_2 &&
+ pInfo->dataFormat[3] == ULAYOUT_FMT_3 &&
+ pInfo->formatVersion[0] == 1;
+}
+
+// UInitOnce singleton initialization function
+void U_CALLCONV ulayout_load(UErrorCode &errorCode) {
+ gLayoutMemory = udata_openChoice(
+ nullptr, ULAYOUT_DATA_TYPE, ULAYOUT_DATA_NAME,
+ ulayout_isAcceptable, nullptr, &errorCode);
+ if (U_FAILURE(errorCode)) { return; }
+
+ const uint8_t *inBytes = (const uint8_t *)udata_getMemory(gLayoutMemory);
+ const int32_t *inIndexes = (const int32_t *)inBytes;
+ int32_t indexesLength = inIndexes[ULAYOUT_IX_INDEXES_LENGTH];
+ if (indexesLength < 12) {
+ errorCode = U_INVALID_FORMAT_ERROR; // Not enough indexes.
+ return;
+ }
+ int32_t offset = indexesLength * 4;
+ int32_t top = inIndexes[ULAYOUT_IX_INPC_TRIE_TOP];
+ int32_t trieSize = top - offset;
+ if (trieSize >= 16) {
+ gInpcTrie = ucptrie_openFromBinary(
+ UCPTRIE_TYPE_ANY, UCPTRIE_VALUE_BITS_ANY,
+ inBytes + offset, trieSize, nullptr, &errorCode);
+ }
+ offset = top;
+ top = inIndexes[ULAYOUT_IX_INSC_TRIE_TOP];
+ trieSize = top - offset;
+ if (trieSize >= 16) {
+ gInscTrie = ucptrie_openFromBinary(
+ UCPTRIE_TYPE_ANY, UCPTRIE_VALUE_BITS_ANY,
+ inBytes + offset, trieSize, nullptr, &errorCode);
+ }
+ offset = top;
+ top = inIndexes[ULAYOUT_IX_VO_TRIE_TOP];
+ trieSize = top - offset;
+ if (trieSize >= 16) {
+ gVoTrie = ucptrie_openFromBinary(
+ UCPTRIE_TYPE_ANY, UCPTRIE_VALUE_BITS_ANY,
+ inBytes + offset, trieSize, nullptr, &errorCode);
+ }
+
+ uint32_t maxValues = inIndexes[ULAYOUT_IX_MAX_VALUES];
+ gMaxInpcValue = maxValues >> ULAYOUT_MAX_INPC_SHIFT;
+ gMaxInscValue = (maxValues >> ULAYOUT_MAX_INSC_SHIFT) & 0xff;
+ gMaxVoValue = (maxValues >> ULAYOUT_MAX_VO_SHIFT) & 0xff;
+
+ ucln_common_registerCleanup(UCLN_COMMON_UPROPS, uprops_cleanup);
+}
+
+UBool ulayout_ensureData(UErrorCode &errorCode) {
+ if (U_FAILURE(errorCode)) { return FALSE; }
+ umtx_initOnce(gLayoutInitOnce, &ulayout_load, errorCode);
+ return U_SUCCESS(errorCode);
+}
+
+UBool ulayout_ensureData() {
+ UErrorCode errorCode = U_ZERO_ERROR;
+ return ulayout_ensureData(errorCode);
+}
+
+} // namespace
+
/* general properties API functions ----------------------------------------- */
struct BinaryProperty;
@@ -434,15 +542,29 @@ static int32_t getTrailCombiningClass(const IntProperty &/*prop*/, UChar32 c, UP
#endif
static int32_t getInPC(const IntProperty &, UChar32 c, UProperty) {
- return ucptrie_get(&inpc_trie, c);
+ return ulayout_ensureData() && gInpcTrie != nullptr ? ucptrie_get(gInpcTrie, c) : 0;
}
static int32_t getInSC(const IntProperty &, UChar32 c, UProperty) {
- return ucptrie_get(&insc_trie, c);
+ return ulayout_ensureData() && gInscTrie != nullptr ? ucptrie_get(gInscTrie, c) : 0;
}
static int32_t getVo(const IntProperty &, UChar32 c, UProperty) {
- return ucptrie_get(&vo_trie, c);
+ return ulayout_ensureData() && gVoTrie != nullptr ? ucptrie_get(gVoTrie, c) : 0;
+}
+
+static int32_t layoutGetMaxValue(const IntProperty &/*prop*/, UProperty which) {
+ if (!ulayout_ensureData()) { return 0; }
+ switch (which) {
+ case UCHAR_INDIC_POSITIONAL_CATEGORY:
+ return gMaxInpcValue;
+ case UCHAR_INDIC_SYLLABIC_CATEGORY:
+ return gMaxInscValue;
+ case UCHAR_VERTICAL_ORIENTATION:
+ return gMaxVoValue;
+ default:
+ return 0;
+ }
}
static const IntProperty intProps[UCHAR_INT_LIMIT-UCHAR_INT_START]={
@@ -480,9 +602,9 @@ static const IntProperty intProps[UCHAR_INT_LIMIT-UCHAR_INT_START]={
{ 2, UPROPS_SB_MASK, UPROPS_SB_SHIFT, defaultGetValue, defaultGetMaxValue },
{ 2, UPROPS_WB_MASK, UPROPS_WB_SHIFT, defaultGetValue, defaultGetMaxValue },
{ UPROPS_SRC_BIDI, 0, 0, getBiDiPairedBracketType, biDiGetMaxValue },
- { UPROPS_SRC_INPC, 0, maxInPCValue, getInPC, getMaxValueFromShift },
- { UPROPS_SRC_INSC, 0, maxInSCValue, getInSC, getMaxValueFromShift },
- { UPROPS_SRC_VO, 0, maxVoValue, getVo, getMaxValueFromShift },
+ { UPROPS_SRC_INPC, 0, 0, getInPC, layoutGetMaxValue },
+ { UPROPS_SRC_INSC, 0, 0, getInSC, layoutGetMaxValue },
+ { UPROPS_SRC_VO, 0, 0, getVo, layoutGetMaxValue },
};
U_CAPI int32_t U_EXPORT2
@@ -586,23 +708,28 @@ uprops_getSource(UProperty which) {
U_CFUNC void U_EXPORT2
uprops_addPropertyStarts(UPropertySource src, const USetAdder *sa, UErrorCode *pErrorCode) {
- if (U_FAILURE(*pErrorCode)) { return; }
+ if (!ulayout_ensureData(*pErrorCode)) { return; }
const UCPTrie *trie;
switch (src) {
case UPROPS_SRC_INPC:
- trie = &inpc_trie;
+ trie = gInpcTrie;
break;
case UPROPS_SRC_INSC:
- trie = &insc_trie;
+ trie = gInscTrie;
break;
case UPROPS_SRC_VO:
- trie = &vo_trie;
+ trie = gVoTrie;
break;
default:
*pErrorCode = U_ILLEGAL_ARGUMENT_ERROR;
return;
}
+ if (trie == nullptr) {
+ *pErrorCode = U_MISSING_RESOURCE_ERROR;
+ return;
+ }
+
// Add the start code point of each same-value range of the trie.
UChar32 start = 0, end;
while ((end = ucptrie_getRange(trie, start, UCPMAP_RANGE_NORMAL, 0,
diff --git a/Build/source/libs/icu/icu-src/source/common/uprops.h b/Build/source/libs/icu/icu-src/source/common/uprops.h
index 1a8e4e84f74..c7d648694ee 100644
--- a/Build/source/libs/icu/icu-src/source/common/uprops.h
+++ b/Build/source/libs/icu/icu-src/source/common/uprops.h
@@ -95,8 +95,15 @@ enum {
* denominator: den = 20<<(frac20>>2)
*/
UPROPS_NTV_FRACTION20_START=UPROPS_NTV_BASE60_START+36, // 0x300+9*4=0x324
+ /**
+ * Fraction-32 values:
+ * frac32 = ntv-0x34c = 0..15 -> 1|3|5|7 / 32|64|128|256
+ * numerator: num = 2*(frac32&3)+1
+ * denominator: den = 32<<(frac32>>2)
+ */
+ UPROPS_NTV_FRACTION32_START=UPROPS_NTV_FRACTION20_START+24, // 0x324+6*4=0x34c
/** No numeric value (yet). */
- UPROPS_NTV_RESERVED_START=UPROPS_NTV_FRACTION20_START+24, // 0x324+6*4=0x34c
+ UPROPS_NTV_RESERVED_START=UPROPS_NTV_FRACTION32_START+16, // 0x34c+4*4=0x35c
UPROPS_NTV_MAX_SMALL_INT=UPROPS_NTV_FRACTION_START-UPROPS_NTV_NUMERIC_START-1
};
@@ -462,7 +469,6 @@ class UnicodeSet;
class CharacterProperties {
public:
CharacterProperties() = delete;
- static void U_CALLCONV initInclusion(UPropertySource src, UErrorCode &errorCode);
static const UnicodeSet *getInclusionsForProperty(UProperty prop, UErrorCode &errorCode);
};
diff --git a/Build/source/libs/icu/icu-src/source/common/uresbund.cpp b/Build/source/libs/icu/icu-src/source/common/uresbund.cpp
index 656eeb7b442..6c0e760389d 100644
--- a/Build/source/libs/icu/icu-src/source/common/uresbund.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uresbund.cpp
@@ -21,6 +21,7 @@
******************************************************************************
*/
+#include "unicode/ures.h"
#include "unicode/ustring.h"
#include "unicode/ucnv.h"
#include "charstr.h"
@@ -30,6 +31,7 @@
#include "ucln_cmn.h"
#include "cmemory.h"
#include "cstring.h"
+#include "mutex.h"
#include "uhash.h"
#include "unicode/uenum.h"
#include "uenumimp.h"
@@ -37,6 +39,7 @@
#include "umutex.h"
#include "putilimp.h"
#include "uassert.h"
+#include "uresdata.h"
using namespace icu;
@@ -46,9 +49,9 @@ TODO: This cache should probably be removed when the deprecated code is
completely removed.
*/
static UHashtable *cache = NULL;
-static icu::UInitOnce gCacheInitOnce;
+static icu::UInitOnce gCacheInitOnce = U_INITONCE_INITIALIZER;
-static UMutex resbMutex = U_MUTEX_INITIALIZER;
+static UMutex resbMutex;
/* INTERNAL: hashes an entry */
static int32_t U_CALLCONV hashEntry(const UHashTok parm) {
@@ -92,13 +95,12 @@ static UBool chopLocale(char *name) {
* Internal function
*/
static void entryIncrease(UResourceDataEntry *entry) {
- umtx_lock(&resbMutex);
+ Mutex lock(&resbMutex);
entry->fCountExisting++;
while(entry->fParent != NULL) {
entry = entry->fParent;
entry->fCountExisting++;
}
- umtx_unlock(&resbMutex);
}
/**
@@ -180,9 +182,8 @@ static int32_t ures_flushCache()
/*if shared data hasn't even been lazy evaluated yet
* return 0
*/
- umtx_lock(&resbMutex);
+ Mutex lock(&resbMutex);
if (cache == NULL) {
- umtx_unlock(&resbMutex);
return 0;
}
@@ -214,7 +215,6 @@ static int32_t ures_flushCache()
* got decremented by free_entry().
*/
} while(deletedMore);
- umtx_unlock(&resbMutex);
return rbDeletedNum;
}
@@ -228,9 +228,8 @@ U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) {
const UHashElement *e;
UResourceDataEntry *resB;
- umtx_lock(&resbMutex);
+ Mutex lock(&resbMutex);
if (cache == NULL) {
- umtx_unlock(&resbMutex);
fprintf(stderr,"%s:%d: RB Cache is NULL.\n", __FILE__, __LINE__);
return FALSE;
}
@@ -249,9 +248,6 @@ U_CAPI UBool U_EXPORT2 ures_dumpCacheContents(void) {
}
fprintf(stderr,"%s:%d: RB Cache still contains %d items.\n", __FILE__, __LINE__, uhash_count(cache));
-
- umtx_unlock(&resbMutex);
-
return cacheNotEmpty;
}
@@ -397,7 +393,8 @@ static UResourceDataEntry *init_entry(const char *localeID, const char *path, UE
/* We'll try to get alias string from the bundle */
aliasres = res_getResource(&(r->fData), "%%ALIAS");
if (aliasres != RES_BOGUS) {
- const UChar *alias = res_getString(&(r->fData), aliasres, &aliasLen);
+ // No tracing: called during initial data loading
+ const UChar *alias = res_getStringNoTrace(&(r->fData), aliasres, &aliasLen);
if(alias != NULL && aliasLen > 0) { /* if there is actual alias - unload and load new data */
u_UCharsToChars(alias, aliasName, aliasLen+1);
r->fAlias = init_entry(aliasName, path, status);
@@ -488,6 +485,9 @@ findFirstExisting(const char* path, char* name,
/*Fallback data stuff*/
*hasChopped = chopLocale(name);
+ if (*hasChopped && *name == '\0') {
+ uprv_strcpy(name, "und");
+ }
}
return r;
}
@@ -512,6 +512,18 @@ U_CFUNC void ures_initStackObject(UResourceBundle* resB) {
ures_setIsStackObject(resB, TRUE);
}
+U_NAMESPACE_BEGIN
+
+StackUResourceBundle::StackUResourceBundle() {
+ ures_initStackObject(&bundle);
+}
+
+StackUResourceBundle::~StackUResourceBundle() {
+ ures_close(&bundle);
+}
+
+U_NAMESPACE_END
+
static UBool // returns U_SUCCESS(*status)
loadParentsExceptRoot(UResourceDataEntry *&t1,
char name[], int32_t nameCapacity,
@@ -523,7 +535,8 @@ loadParentsExceptRoot(UResourceDataEntry *&t1,
Resource parentRes = res_getResource(&t1->fData, "%%Parent");
if (parentRes != RES_BOGUS) { // An explicit parent was found.
int32_t parentLocaleLen = 0;
- const UChar *parentLocaleName = res_getString(&(t1->fData), parentRes, &parentLocaleLen);
+ // No tracing: called during initial data loading
+ const UChar *parentLocaleName = res_getStringNoTrace(&(t1->fData), parentRes, &parentLocaleLen);
if(parentLocaleName != NULL && 0 < parentLocaleLen && parentLocaleLen < nameCapacity) {
u_UCharsToChars(parentLocaleName, name, parentLocaleLen + 1);
if (uprv_strcmp(name, kRootLocaleName) == 0) {
@@ -647,107 +660,105 @@ static UResourceDataEntry *entryOpen(const char* path, const char* localeID,
}
}
- umtx_lock(&resbMutex);
- { /* umtx_lock */
- /* We're going to skip all the locales that do not have any data */
- r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
+ Mutex lock(&resbMutex); // Lock resbMutex until the end of this function.
+
+ /* We're going to skip all the locales that do not have any data */
+ r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
+
+ // If we failed due to out-of-memory, report the failure and exit early.
+ if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
+ *status = intStatus;
+ goto finish;
+ }
+
+ if(r != NULL) { /* if there is one real locale, we can look for parents. */
+ t1 = r;
+ hasRealData = TRUE;
+ if ( usingUSRData ) { /* This code inserts user override data into the inheritance chain */
+ UErrorCode usrStatus = U_ZERO_ERROR;
+ UResourceDataEntry *u1 = init_entry(t1->fName, usrDataPath, &usrStatus);
+ // If we failed due to out-of-memory, report the failure and exit early.
+ if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
+ *status = intStatus;
+ goto finish;
+ }
+ if ( u1 != NULL ) {
+ if(u1->fBogus == U_ZERO_ERROR) {
+ u1->fParent = t1;
+ r = u1;
+ } else {
+ /* the USR override data wasn't found, set it to be deleted */
+ u1->fCountExisting = 0;
+ }
+ }
+ }
+ if (hasChopped && !isRoot) {
+ if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) {
+ goto finish;
+ }
+ }
+ }
+ /* we could have reached this point without having any real data */
+ /* if that is the case, we need to chain in the default locale */
+ if(r==NULL && openType == URES_OPEN_LOCALE_DEFAULT_ROOT && !isDefault && !isRoot) {
+ /* insert default locale */
+ uprv_strcpy(name, uloc_getDefault());
+ r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
// If we failed due to out-of-memory, report the failure and exit early.
if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
*status = intStatus;
- goto finishUnlock;
+ goto finish;
}
-
- if(r != NULL) { /* if there is one real locale, we can look for parents. */
+ intStatus = U_USING_DEFAULT_WARNING;
+ if(r != NULL) { /* the default locale exists */
t1 = r;
hasRealData = TRUE;
- if ( usingUSRData ) { /* This code inserts user override data into the inheritance chain */
- UErrorCode usrStatus = U_ZERO_ERROR;
- UResourceDataEntry *u1 = init_entry(t1->fName, usrDataPath, &usrStatus);
- // If we failed due to out-of-memory, report the failure and exit early.
- if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
- *status = intStatus;
- goto finishUnlock;
- }
- if ( u1 != NULL ) {
- if(u1->fBogus == U_ZERO_ERROR) {
- u1->fParent = t1;
- r = u1;
- } else {
- /* the USR override data wasn't found, set it to be deleted */
- u1->fCountExisting = 0;
- }
- }
- }
+ isDefault = TRUE;
+ // TODO: Why not if (usingUSRData) { ... } like in the non-default-locale code path?
if (hasChopped && !isRoot) {
if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) {
- goto finishUnlock;
+ goto finish;
}
}
}
+ }
- /* we could have reached this point without having any real data */
- /* if that is the case, we need to chain in the default locale */
- if(r==NULL && openType == URES_OPEN_LOCALE_DEFAULT_ROOT && !isDefault && !isRoot) {
- /* insert default locale */
- uprv_strcpy(name, uloc_getDefault());
- r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
- // If we failed due to out-of-memory, report the failure and exit early.
- if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
- *status = intStatus;
- goto finishUnlock;
- }
+ /* we could still have r == NULL at this point - maybe even default locale is not */
+ /* present */
+ if(r == NULL) {
+ uprv_strcpy(name, kRootLocaleName);
+ r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
+ // If we failed due to out-of-memory, report the failure and exit early.
+ if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
+ *status = intStatus;
+ goto finish;
+ }
+ if(r != NULL) {
+ t1 = r;
intStatus = U_USING_DEFAULT_WARNING;
- if(r != NULL) { /* the default locale exists */
- t1 = r;
- hasRealData = TRUE;
- isDefault = TRUE;
- // TODO: Why not if (usingUSRData) { ... } like in the non-default-locale code path?
- if (hasChopped && !isRoot) {
- if (!loadParentsExceptRoot(t1, name, UPRV_LENGTHOF(name), usingUSRData, usrDataPath, status)) {
- goto finishUnlock;
- }
- }
- }
+ hasRealData = TRUE;
+ } else { /* we don't even have the root locale */
+ *status = U_MISSING_RESOURCE_ERROR;
+ goto finish;
}
-
- /* we could still have r == NULL at this point - maybe even default locale is not */
- /* present */
- if(r == NULL) {
- uprv_strcpy(name, kRootLocaleName);
- r = findFirstExisting(path, name, &isRoot, &hasChopped, &isDefault, &intStatus);
- // If we failed due to out-of-memory, report the failure and exit early.
- if (intStatus == U_MEMORY_ALLOCATION_ERROR) {
- *status = intStatus;
- goto finishUnlock;
- }
- if(r != NULL) {
- t1 = r;
- intStatus = U_USING_DEFAULT_WARNING;
- hasRealData = TRUE;
- } else { /* we don't even have the root locale */
- *status = U_MISSING_RESOURCE_ERROR;
- goto finishUnlock;
- }
- } else if(!isRoot && uprv_strcmp(t1->fName, kRootLocaleName) != 0 &&
- t1->fParent == NULL && !r->fData.noFallback) {
- if (!insertRootBundle(t1, status)) {
- goto finishUnlock;
- }
- if(!hasRealData) {
- r->fBogus = U_USING_DEFAULT_WARNING;
- }
+ } else if(!isRoot && uprv_strcmp(t1->fName, kRootLocaleName) != 0 &&
+ t1->fParent == NULL && !r->fData.noFallback) {
+ if (!insertRootBundle(t1, status)) {
+ goto finish;
}
-
- // TODO: Does this ever loop?
- while(r != NULL && !isRoot && t1->fParent != NULL) {
- t1->fParent->fCountExisting++;
- t1 = t1->fParent;
+ if(!hasRealData) {
+ r->fBogus = U_USING_DEFAULT_WARNING;
}
- } /* umtx_lock */
-finishUnlock:
- umtx_unlock(&resbMutex);
+ }
+
+ // TODO: Does this ever loop?
+ while(r != NULL && !isRoot && t1->fParent != NULL) {
+ t1->fParent->fCountExisting++;
+ t1 = t1->fParent;
+ }
+finish:
if(U_SUCCESS(*status)) {
if(intStatus != U_ZERO_ERROR) {
*status = intStatus;
@@ -771,7 +782,7 @@ entryOpenDirect(const char* path, const char* localeID, UErrorCode* status) {
return NULL;
}
- umtx_lock(&resbMutex);
+ Mutex lock(&resbMutex);
// findFirstExisting() without fallbacks.
UResourceDataEntry *r = init_entry(localeID, path, status);
if(U_SUCCESS(*status)) {
@@ -809,7 +820,6 @@ entryOpenDirect(const char* path, const char* localeID, UErrorCode* status) {
t1 = t1->fParent;
}
}
- umtx_unlock(&resbMutex);
return r;
}
@@ -852,9 +862,8 @@ static void entryCloseInt(UResourceDataEntry *resB) {
*/
static void entryClose(UResourceDataEntry *resB) {
- umtx_lock(&resbMutex);
+ Mutex lock(&resbMutex);
entryCloseInt(resB);
- umtx_unlock(&resbMutex);
}
/*
@@ -1110,7 +1119,7 @@ static UResourceBundle *init_resb_result(const ResourceData *rdata, Resource r,
UResourceDataEntry *dataEntry = mainRes->fData;
char stackPath[URES_MAX_BUFFER_SIZE];
char *pathBuf = stackPath, *myPath = pathBuf;
- if(uprv_strlen(keyPath) > URES_MAX_BUFFER_SIZE) {
+ if(uprv_strlen(keyPath) >= UPRV_LENGTHOF(stackPath)) {
pathBuf = (char *)uprv_malloc((uprv_strlen(keyPath)+1)*sizeof(char));
if(pathBuf == NULL) {
*status = U_MEMORY_ALLOCATION_ERROR;
@@ -1158,6 +1167,7 @@ static UResourceBundle *init_resb_result(const ResourceData *rdata, Resource r,
if(mainRes != result) {
ures_close(mainRes);
}
+ ResourceTracer(resB).maybeTrace("getalias");
return result;
}
} else {
@@ -1237,6 +1247,7 @@ static UResourceBundle *init_resb_result(const ResourceData *rdata, Resource r,
/*resB->fParent = parent->fRes;*/
uprv_memmove(&resB->fResData, rdata, sizeof(ResourceData));
resB->fSize = res_countArrayItems(&(resB->fResData), resB->fRes);
+ ResourceTracer(resB).trace("get");
return resB;
}
@@ -1285,7 +1296,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getString(const UResourceBundle* resB, int32_
*status = U_ILLEGAL_ARGUMENT_ERROR;
return NULL;
}
- s = res_getString(&(resB->fResData), resB->fRes, len);
+ s = res_getString({resB}, &(resB->fResData), resB->fRes, len);
if (s == NULL) {
*status = U_RESOURCE_TYPE_MISMATCH;
}
@@ -1374,7 +1385,7 @@ U_CAPI const uint8_t* U_EXPORT2 ures_getBinary(const UResourceBundle* resB, int3
*status = U_ILLEGAL_ARGUMENT_ERROR;
return NULL;
}
- p = res_getBinary(&(resB->fResData), resB->fRes, len);
+ p = res_getBinary({resB}, &(resB->fResData), resB->fRes, len);
if (p == NULL) {
*status = U_RESOURCE_TYPE_MISMATCH;
}
@@ -1391,7 +1402,7 @@ U_CAPI const int32_t* U_EXPORT2 ures_getIntVector(const UResourceBundle* resB, i
*status = U_ILLEGAL_ARGUMENT_ERROR;
return NULL;
}
- p = res_getIntVector(&(resB->fResData), resB->fRes, len);
+ p = res_getIntVector({resB}, &(resB->fResData), resB->fRes, len);
if (p == NULL) {
*status = U_RESOURCE_TYPE_MISMATCH;
}
@@ -1412,7 +1423,7 @@ U_CAPI int32_t U_EXPORT2 ures_getInt(const UResourceBundle* resB, UErrorCode *st
*status = U_RESOURCE_TYPE_MISMATCH;
return 0xffffffff;
}
- return RES_GET_INT(resB->fRes);
+ return res_getInt({resB}, resB->fRes);
}
U_CAPI uint32_t U_EXPORT2 ures_getUInt(const UResourceBundle* resB, UErrorCode *status) {
@@ -1427,7 +1438,7 @@ U_CAPI uint32_t U_EXPORT2 ures_getUInt(const UResourceBundle* resB, UErrorCode *
*status = U_RESOURCE_TYPE_MISMATCH;
return 0xffffffff;
}
- return RES_GET_UINT(resB->fRes);
+ return res_getUInt({resB}, resB->fRes);
}
U_CAPI UResType U_EXPORT2 ures_getType(const UResourceBundle *resB) {
@@ -1438,10 +1449,18 @@ U_CAPI UResType U_EXPORT2 ures_getType(const UResourceBundle *resB) {
}
U_CAPI const char * U_EXPORT2 ures_getKey(const UResourceBundle *resB) {
+ //
+ // TODO: Trace ures_getKey? I guess not usually.
+ //
+ // We usually get the key string to decide whether we want the value, or to
+ // make a key-value pair. Tracing the value should suffice.
+ //
+ // However, I believe we have some data (e.g., in res_index) where the key
+ // strings are the data. Tracing the enclosing table should suffice.
+ //
if(resB == NULL) {
return NULL;
}
-
return(resB->fKey);
}
@@ -1461,7 +1480,7 @@ static const UChar* ures_getStringWithAlias(const UResourceBundle *resB, Resourc
ures_close(tempRes);
return result;
} else {
- return res_getString(&(resB->fResData), r, len);
+ return res_getString({resB, sIndex}, &(resB->fResData), r, len);
}
}
@@ -1497,7 +1516,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getNextString(UResourceBundle *resB, int32_t*
switch(RES_GET_TYPE(resB->fRes)) {
case URES_STRING:
case URES_STRING_V2:
- return res_getString(&(resB->fResData), resB->fRes, len);
+ return res_getString({resB}, &(resB->fResData), resB->fRes, len);
case URES_TABLE:
case URES_TABLE16:
case URES_TABLE32:
@@ -1642,7 +1661,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByIndex(const UResourceBundle *resB,
switch(RES_GET_TYPE(resB->fRes)) {
case URES_STRING:
case URES_STRING_V2:
- return res_getString(&(resB->fResData), resB->fRes, len);
+ return res_getString({resB}, &(resB->fResData), resB->fRes, len);
case URES_TABLE:
case URES_TABLE16:
case URES_TABLE32:
@@ -1934,10 +1953,10 @@ void getAllItemsWithFallback(
// When the sink sees the no-fallback/no-inheritance marker,
// then it would remove the parent's item.
// We would deserialize parent values even though they are overridden in a child bundle.
- value.pResData = &bundle->fResData;
+ value.setData(&bundle->fResData);
UResourceDataEntry *parentEntry = bundle->fData->fParent;
UBool hasParent = parentEntry != NULL && U_SUCCESS(parentEntry->fBogus);
- value.setResource(bundle->fRes);
+ value.setResource(bundle->fRes, ResourceTracer(bundle));
sink.put(bundle->fKey, value, !hasParent, errorCode);
if (hasParent) {
// We might try to query the sink whether
@@ -1982,31 +2001,60 @@ void getAllItemsWithFallback(
} // namespace
+// Requires a ResourceDataValue fill-in, so that we need not cast from a ResourceValue.
+// Unfortunately, the caller must know which subclass to make and pass in.
+// Alternatively, we could make it as polymorphic as in Java by
+// returning a ResourceValue pointer (possibly wrapped into a LocalPointer)
+// that the caller then owns.
+//
+// Also requires a UResourceBundle fill-in, so that the value's ResourceTracer
+// can point to a non-local bundle.
+// Without tracing, the child bundle could be a function-local object.
+U_CAPI void U_EXPORT2
+ures_getValueWithFallback(const UResourceBundle *bundle, const char *path,
+ UResourceBundle *tempFillIn,
+ ResourceDataValue &value, UErrorCode &errorCode) {
+ if (U_FAILURE(errorCode)) { return; }
+ if (path == nullptr) {
+ errorCode = U_ILLEGAL_ARGUMENT_ERROR;
+ return;
+ }
+ const UResourceBundle *rb;
+ if (*path == 0) {
+ // empty path
+ rb = bundle;
+ } else {
+ rb = ures_getByKeyWithFallback(bundle, path, tempFillIn, &errorCode);
+ if (U_FAILURE(errorCode)) {
+ return;
+ }
+ }
+ value.setData(&rb->fResData);
+ value.setResource(rb->fRes, ResourceTracer(rb));
+}
+
U_CAPI void U_EXPORT2
ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char *path,
icu::ResourceSink &sink, UErrorCode &errorCode) {
if (U_FAILURE(errorCode)) { return; }
- if (path == NULL) {
+ if (path == nullptr) {
errorCode = U_ILLEGAL_ARGUMENT_ERROR;
return;
}
- UResourceBundle stackBundle;
- ures_initStackObject(&stackBundle);
+ StackUResourceBundle stackBundle;
const UResourceBundle *rb;
if (*path == 0) {
// empty path
rb = bundle;
} else {
- rb = ures_getByKeyWithFallback(bundle, path, &stackBundle, &errorCode);
+ rb = ures_getByKeyWithFallback(bundle, path, stackBundle.getAlias(), &errorCode);
if (U_FAILURE(errorCode)) {
- ures_close(&stackBundle);
return;
}
}
// Get all table items with fallback.
ResourceDataValue value;
getAllItemsWithFallback(rb, value, sink, errorCode);
- ures_close(&stackBundle);
}
U_CAPI UResourceBundle* U_EXPORT2 ures_getByKey(const UResourceBundle *resB, const char* inKey, UResourceBundle *fillIn, UErrorCode *status) {
@@ -2089,7 +2137,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c
switch (RES_GET_TYPE(res)) {
case URES_STRING:
case URES_STRING_V2:
- return res_getString(rd, res, len);
+ return res_getString({resB, key}, rd, res, len);
case URES_ALIAS:
{
const UChar* result = 0;
@@ -2111,7 +2159,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c
switch (RES_GET_TYPE(res)) {
case URES_STRING:
case URES_STRING_V2:
- return res_getString(&(resB->fResData), res, len);
+ return res_getString({resB, key}, &(resB->fResData), res, len);
case URES_ALIAS:
{
const UChar* result = 0;
@@ -2132,6 +2180,7 @@ U_CAPI const UChar* U_EXPORT2 ures_getStringByKey(const UResourceBundle *resB, c
/* here should go a first attempt to locate the key using index table */
const ResourceData *rd = getFallbackData(resB, &key, &realData, &res, status);
if(U_SUCCESS(*status)) {
+ // TODO: Tracing
return res_getString(rd, res, len);
} else {
*status = U_MISSING_RESOURCE_ERROR;
@@ -2277,6 +2326,8 @@ ures_openWithType(UResourceBundle *r, const char* path, const char* localeID,
r->fSize = res_countArrayItems(&(r->fResData), r->fRes);
r->fIndex = -1;
+ ResourceTracer(r).traceOpen();
+
return r;
}
@@ -2300,11 +2351,13 @@ ures_openDirect(const char* path, const char* localeID, UErrorCode* status) {
}
/**
- * API: This function is used to open a resource bundle
+ * Internal API: This function is used to open a resource bundle
* proper fallback chaining is executed while initialization.
* The result is stored in cache for later fallback search.
+ *
+ * Same as ures_open(), but uses the fill-in parameter and does not allocate a new bundle.
*/
-U_CAPI void U_EXPORT2
+U_INTERNAL void U_EXPORT2
ures_openFillIn(UResourceBundle *r, const char* path,
const char* localeID, UErrorCode* status) {
if(U_SUCCESS(*status) && r == NULL) {
@@ -2314,6 +2367,18 @@ ures_openFillIn(UResourceBundle *r, const char* path,
ures_openWithType(r, path, localeID, URES_OPEN_LOCALE_DEFAULT_ROOT, status);
}
+/**
+ * Same as ures_openDirect(), but uses the fill-in parameter and does not allocate a new bundle.
+ */
+U_INTERNAL void U_EXPORT2
+ures_openDirectFillIn(UResourceBundle *r, const char* path, const char* localeID, UErrorCode* status) {
+ if(U_SUCCESS(*status) && r == NULL) {
+ *status = U_ILLEGAL_ARGUMENT_ERROR;
+ return;
+ }
+ ures_openWithType(r, path, localeID, URES_OPEN_DIRECT, status);
+}
+
/**
* API: Counts members. For arrays and tables, returns number of resources.
* For strings, returns 1.
diff --git a/Build/source/libs/icu/icu-src/source/common/uresdata.cpp b/Build/source/libs/icu/icu-src/source/common/uresdata.cpp
index 8bcb9ab8b88..b3c2e2e27cc 100644
--- a/Build/source/libs/icu/icu-src/source/common/uresdata.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uresdata.cpp
@@ -33,6 +33,7 @@
#include "uinvchar.h"
#include "uresdata.h"
#include "uresimp.h"
+#include "utracimp.h"
/*
* Resource access helpers
@@ -307,7 +308,7 @@ res_getPublicType(Resource res) {
}
U_CAPI const UChar * U_EXPORT2
-res_getString(const ResourceData *pResData, Resource res, int32_t *pLength) {
+res_getStringNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) {
const UChar *p;
uint32_t offset=RES_GET_OFFSET(res);
int32_t length;
@@ -402,7 +403,8 @@ int32_t getStringArray(const ResourceData *pResData, const icu::ResourceArray &a
}
for(int32_t i = 0; i < length; ++i) {
int32_t sLength;
- const UChar *s = res_getString(pResData, array.internalGetResource(pResData, i), &sLength);
+ // No tracing: handled by the caller
+ const UChar *s = res_getStringNoTrace(pResData, array.internalGetResource(pResData, i), &sLength);
if(s == NULL) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
return 0;
@@ -434,7 +436,7 @@ res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength) {
}
U_CAPI const uint8_t * U_EXPORT2
-res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) {
+res_getBinaryNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) {
const uint8_t *p;
uint32_t offset=RES_GET_OFFSET(res);
int32_t length;
@@ -454,7 +456,7 @@ res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength) {
U_CAPI const int32_t * U_EXPORT2
-res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength) {
+res_getIntVectorNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength) {
const int32_t *p;
uint32_t offset=RES_GET_OFFSET(res);
int32_t length;
@@ -507,7 +509,7 @@ const UChar *ResourceDataValue::getString(int32_t &length, UErrorCode &errorCode
if(U_FAILURE(errorCode)) {
return NULL;
}
- const UChar *s = res_getString(pResData, res, &length);
+ const UChar *s = res_getString(fTraceInfo, &getData(), res, &length);
if(s == NULL) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
@@ -518,7 +520,7 @@ const UChar *ResourceDataValue::getAliasString(int32_t &length, UErrorCode &erro
if(U_FAILURE(errorCode)) {
return NULL;
}
- const UChar *s = res_getAlias(pResData, res, &length);
+ const UChar *s = res_getAlias(&getData(), res, &length);
if(s == NULL) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
@@ -532,7 +534,7 @@ int32_t ResourceDataValue::getInt(UErrorCode &errorCode) const {
if(RES_GET_TYPE(res) != URES_INT) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
- return RES_GET_INT(res);
+ return res_getInt(fTraceInfo, res);
}
uint32_t ResourceDataValue::getUInt(UErrorCode &errorCode) const {
@@ -542,14 +544,14 @@ uint32_t ResourceDataValue::getUInt(UErrorCode &errorCode) const {
if(RES_GET_TYPE(res) != URES_INT) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
- return RES_GET_UINT(res);
+ return res_getUInt(fTraceInfo, res);
}
const int32_t *ResourceDataValue::getIntVector(int32_t &length, UErrorCode &errorCode) const {
if(U_FAILURE(errorCode)) {
return NULL;
}
- const int32_t *iv = res_getIntVector(pResData, res, &length);
+ const int32_t *iv = res_getIntVector(fTraceInfo, &getData(), res, &length);
if(iv == NULL) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
@@ -560,7 +562,7 @@ const uint8_t *ResourceDataValue::getBinary(int32_t &length, UErrorCode &errorCo
if(U_FAILURE(errorCode)) {
return NULL;
}
- const uint8_t *b = res_getBinary(pResData, res, &length);
+ const uint8_t *b = res_getBinary(fTraceInfo, &getData(), res, &length);
if(b == NULL) {
errorCode = U_RESOURCE_TYPE_MISMATCH;
}
@@ -578,19 +580,19 @@ ResourceArray ResourceDataValue::getArray(UErrorCode &errorCode) const {
switch(RES_GET_TYPE(res)) {
case URES_ARRAY:
if (offset!=0) { // empty if offset==0
- items32 = (const Resource *)pResData->pRoot+offset;
+ items32 = (const Resource *)getData().pRoot+offset;
length = *items32++;
}
break;
case URES_ARRAY16:
- items16 = pResData->p16BitUnits+offset;
+ items16 = getData().p16BitUnits+offset;
length = *items16++;
break;
default:
errorCode = U_RESOURCE_TYPE_MISMATCH;
return ResourceArray();
}
- return ResourceArray(items16, items32, length);
+ return ResourceArray(items16, items32, length, fTraceInfo);
}
ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const {
@@ -606,19 +608,19 @@ ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const {
switch(RES_GET_TYPE(res)) {
case URES_TABLE:
if (offset != 0) { // empty if offset==0
- keys16 = (const uint16_t *)(pResData->pRoot+offset);
+ keys16 = (const uint16_t *)(getData().pRoot+offset);
length = *keys16++;
items32 = (const Resource *)(keys16+length+(~length&1));
}
break;
case URES_TABLE16:
- keys16 = pResData->p16BitUnits+offset;
+ keys16 = getData().p16BitUnits+offset;
length = *keys16++;
items16 = keys16 + length;
break;
case URES_TABLE32:
if (offset != 0) { // empty if offset==0
- keys32 = pResData->pRoot+offset;
+ keys32 = getData().pRoot+offset;
length = *keys32++;
items32 = (const Resource *)keys32 + length;
}
@@ -627,22 +629,22 @@ ResourceTable ResourceDataValue::getTable(UErrorCode &errorCode) const {
errorCode = U_RESOURCE_TYPE_MISMATCH;
return ResourceTable();
}
- return ResourceTable(keys16, keys32, items16, items32, length);
+ return ResourceTable(keys16, keys32, items16, items32, length, fTraceInfo);
}
UBool ResourceDataValue::isNoInheritanceMarker() const {
- return ::isNoInheritanceMarker(pResData, res);
+ return ::isNoInheritanceMarker(&getData(), res);
}
int32_t ResourceDataValue::getStringArray(UnicodeString *dest, int32_t capacity,
UErrorCode &errorCode) const {
- return ::getStringArray(pResData, getArray(errorCode), dest, capacity, errorCode);
+ return ::getStringArray(&getData(), getArray(errorCode), dest, capacity, errorCode);
}
int32_t ResourceDataValue::getStringArrayOrStringAsArray(UnicodeString *dest, int32_t capacity,
UErrorCode &errorCode) const {
if(URES_IS_ARRAY(res)) {
- return ::getStringArray(pResData, getArray(errorCode), dest, capacity, errorCode);
+ return ::getStringArray(&getData(), getArray(errorCode), dest, capacity, errorCode);
}
if(U_FAILURE(errorCode)) {
return 0;
@@ -656,7 +658,7 @@ int32_t ResourceDataValue::getStringArrayOrStringAsArray(UnicodeString *dest, in
return 1;
}
int32_t sLength;
- const UChar *s = res_getString(pResData, res, &sLength);
+ const UChar *s = res_getString(fTraceInfo, &getData(), res, &sLength);
if(s != NULL) {
dest[0].setTo(TRUE, s, sLength);
return 1;
@@ -671,7 +673,7 @@ UnicodeString ResourceDataValue::getStringOrFirstOfArray(UErrorCode &errorCode)
return us;
}
int32_t sLength;
- const UChar *s = res_getString(pResData, res, &sLength);
+ const UChar *s = res_getString(fTraceInfo, &getData(), res, &sLength);
if(s != NULL) {
us.setTo(TRUE, s, sLength);
return us;
@@ -681,7 +683,8 @@ UnicodeString ResourceDataValue::getStringOrFirstOfArray(UErrorCode &errorCode)
return us;
}
if(array.getSize() > 0) {
- s = res_getString(pResData, array.internalGetResource(pResData, 0), &sLength);
+ // Tracing is already performed above (unimportant for trace that this is an array)
+ s = res_getStringNoTrace(&getData(), array.internalGetResource(&getData(), 0), &sLength);
if(s != NULL) {
us.setTo(TRUE, s, sLength);
return us;
@@ -818,18 +821,45 @@ UBool icu::ResourceTable::getKeyAndValue(int32_t i,
const char *&key, icu::ResourceValue &value) const {
if(0 <= i && i < length) {
icu::ResourceDataValue &rdValue = static_cast(value);
- if (keys16 != NULL) {
- key = RES_GET_KEY16(rdValue.pResData, keys16[i]);
+ if (keys16 != nullptr) {
+ key = RES_GET_KEY16(&rdValue.getData(), keys16[i]);
} else {
- key = RES_GET_KEY32(rdValue.pResData, keys32[i]);
+ key = RES_GET_KEY32(&rdValue.getData(), keys32[i]);
}
Resource res;
- if (items16 != NULL) {
- res = makeResourceFrom16(rdValue.pResData, items16[i]);
+ if (items16 != nullptr) {
+ res = makeResourceFrom16(&rdValue.getData(), items16[i]);
} else {
res = items32[i];
}
- rdValue.setResource(res);
+ // Note: the ResourceTracer keeps a reference to the field of this
+ // ResourceTable. This is OK because the ResourceTable should remain
+ // alive for the duration that fields are being read from it
+ // (including nested fields).
+ rdValue.setResource(res, ResourceTracer(fTraceInfo, key));
+ return TRUE;
+ }
+ return FALSE;
+}
+
+UBool icu::ResourceTable::findValue(const char *key, ResourceValue &value) const {
+ icu::ResourceDataValue &rdValue = static_cast(value);
+ const char *realKey = nullptr;
+ int32_t i;
+ if (keys16 != nullptr) {
+ i = _res_findTableItem(&rdValue.getData(), keys16, length, key, &realKey);
+ } else {
+ i = _res_findTable32Item(&rdValue.getData(), keys32, length, key, &realKey);
+ }
+ if (i >= 0) {
+ Resource res;
+ if (items16 != nullptr) {
+ res = makeResourceFrom16(&rdValue.getData(), items16[i]);
+ } else {
+ res = items32[i];
+ }
+ // Same note about lifetime as in getKeyAndValue().
+ rdValue.setResource(res, ResourceTracer(fTraceInfo, key));
return TRUE;
}
return FALSE;
@@ -875,7 +905,13 @@ uint32_t icu::ResourceArray::internalGetResource(const ResourceData *pResData, i
UBool icu::ResourceArray::getValue(int32_t i, icu::ResourceValue &value) const {
if(0 <= i && i < length) {
icu::ResourceDataValue &rdValue = static_cast(value);
- rdValue.setResource(internalGetResource(rdValue.pResData, i));
+ // Note: the ResourceTracer keeps a reference to the field of this
+ // ResourceArray. This is OK because the ResourceArray should remain
+ // alive for the duration that fields are being read from it
+ // (including nested fields).
+ rdValue.setResource(
+ internalGetResource(&rdValue.getData(), i),
+ ResourceTracer(fTraceInfo, i));
return TRUE;
}
return FALSE;
diff --git a/Build/source/libs/icu/icu-src/source/common/uresdata.h b/Build/source/libs/icu/icu-src/source/common/uresdata.h
index 4e28ddccf63..d1b67babf29 100644
--- a/Build/source/libs/icu/icu-src/source/common/uresdata.h
+++ b/Build/source/libs/icu/icu-src/source/common/uresdata.h
@@ -69,14 +69,16 @@ typedef uint32_t Resource;
#define RES_GET_OFFSET(res) ((res)&0x0fffffff)
#define RES_GET_POINTER(pRoot, res) ((pRoot)+RES_GET_OFFSET(res))
-/* get signed and unsigned integer values directly from the Resource handle */
+/* get signed and unsigned integer values directly from the Resource handle
+ * NOTE: For proper logging, please use the res_getInt() constexpr
+ */
#if U_SIGNED_RIGHT_SHIFT_IS_ARITHMETIC
-# define RES_GET_INT(res) (((int32_t)((res)<<4L))>>4L)
+# define RES_GET_INT_NO_TRACE(res) (((int32_t)((res)<<4L))>>4L)
#else
-# define RES_GET_INT(res) (int32_t)(((res)&0x08000000) ? (res)|0xf0000000 : (res)&0x07ffffff)
+# define RES_GET_INT_NO_TRACE(res) (int32_t)(((res)&0x08000000) ? (res)|0xf0000000 : (res)&0x07ffffff)
#endif
-#define RES_GET_UINT(res) ((res)&0x0fffffff)
+#define RES_GET_UINT_NO_TRACE(res) ((res)&0x0fffffff)
#define URES_IS_ARRAY(type) ((int32_t)(type)==URES_ARRAY || (int32_t)(type)==URES_ARRAY16)
#define URES_IS_TABLE(type) ((int32_t)(type)==URES_TABLE || (int32_t)(type)==URES_TABLE16 || (int32_t)(type)==URES_TABLE32)
@@ -423,22 +425,26 @@ res_unload(ResourceData *pResData);
U_INTERNAL UResType U_EXPORT2
res_getPublicType(Resource res);
+///////////////////////////////////////////////////////////////////////////
+// To enable tracing, use the inline versions of the res_get* functions. //
+///////////////////////////////////////////////////////////////////////////
+
/*
* Return a pointer to a zero-terminated, const UChar* string
* and set its length in *pLength.
* Returns NULL if not found.
*/
U_INTERNAL const UChar * U_EXPORT2
-res_getString(const ResourceData *pResData, Resource res, int32_t *pLength);
-
-U_INTERNAL const UChar * U_EXPORT2
-res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength);
+res_getStringNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength);
U_INTERNAL const uint8_t * U_EXPORT2
-res_getBinary(const ResourceData *pResData, Resource res, int32_t *pLength);
+res_getBinaryNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength);
U_INTERNAL const int32_t * U_EXPORT2
-res_getIntVector(const ResourceData *pResData, Resource res, int32_t *pLength);
+res_getIntVectorNoTrace(const ResourceData *pResData, Resource res, int32_t *pLength);
+
+U_INTERNAL const UChar * U_EXPORT2
+res_getAlias(const ResourceData *pResData, Resource res, int32_t *pLength);
U_INTERNAL Resource U_EXPORT2
res_getResource(const ResourceData *pResData, const char *key);
@@ -470,17 +476,55 @@ U_CFUNC Resource res_findResource(const ResourceData *pResData, Resource r,
#ifdef __cplusplus
#include "resource.h"
+#include "restrace.h"
U_NAMESPACE_BEGIN
+inline const UChar* res_getString(const ResourceTracer& traceInfo,
+ const ResourceData *pResData, Resource res, int32_t *pLength) {
+ traceInfo.trace("string");
+ return res_getStringNoTrace(pResData, res, pLength);
+}
+
+inline const uint8_t* res_getBinary(const ResourceTracer& traceInfo,
+ const ResourceData *pResData, Resource res, int32_t *pLength) {
+ traceInfo.trace("binary");
+ return res_getBinaryNoTrace(pResData, res, pLength);
+}
+
+inline const int32_t* res_getIntVector(const ResourceTracer& traceInfo,
+ const ResourceData *pResData, Resource res, int32_t *pLength) {
+ traceInfo.trace("intvector");
+ return res_getIntVectorNoTrace(pResData, res, pLength);
+}
+
+inline int32_t res_getInt(const ResourceTracer& traceInfo, Resource res) {
+ traceInfo.trace("int");
+ return RES_GET_INT_NO_TRACE(res);
+}
+
+inline uint32_t res_getUInt(const ResourceTracer& traceInfo, Resource res) {
+ traceInfo.trace("uint");
+ return RES_GET_UINT_NO_TRACE(res);
+}
+
class ResourceDataValue : public ResourceValue {
public:
- ResourceDataValue() : pResData(NULL), res(static_cast(URES_NONE)) {}
+ ResourceDataValue() :
+ res(static_cast(URES_NONE)),
+ fTraceInfo() {}
virtual ~ResourceDataValue();
- void setData(const ResourceData *data) { pResData = data; }
- void setResource(Resource r) { res = r; }
+ void setData(const ResourceData *data) {
+ resData = *data;
+ }
+ void setResource(Resource r, ResourceTracer&& traceInfo) {
+ res = r;
+ fTraceInfo = traceInfo;
+ }
+
+ const ResourceData &getData() const { return resData; }
virtual UResType getType() const;
virtual const UChar *getString(int32_t &length, UErrorCode &errorCode) const;
virtual const UChar *getAliasString(int32_t &length, UErrorCode &errorCode) const;
@@ -497,10 +541,12 @@ public:
UErrorCode &errorCode) const;
virtual UnicodeString getStringOrFirstOfArray(UErrorCode &errorCode) const;
- const ResourceData *pResData;
-
private:
+ // TODO(ICU-20769): If UResourceBundle.fResData becomes a pointer,
+ // then remove this value field again and just store a pResData pointer.
+ ResourceData resData;
Resource res;
+ ResourceTracer fTraceInfo;
};
U_NAMESPACE_END
diff --git a/Build/source/libs/icu/icu-src/source/common/uresimp.h b/Build/source/libs/icu/icu-src/source/common/uresimp.h
index e7fa3e1e36b..f453ddc004a 100644
--- a/Build/source/libs/icu/icu-src/source/common/uresimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/uresimp.h
@@ -11,6 +11,7 @@
#define URESIMP_H
#include "unicode/ures.h"
+#include "unicode/utypes.h"
#include "uresdata.h"
@@ -66,6 +67,9 @@ struct UResourceBundle {
char *fVersion;
UResourceDataEntry *fTopLevelData; /* for getting the valid locale */
char *fResPath; /* full path to the resource: "zh_TW/CollationElements/Sequence" */
+ // TODO(ICU-20769): Try to change the by-value fResData into a pointer,
+ // with the struct in only one place for each bundle.
+ // Also replace class ResourceDataValue.resData with a pResData pointer again.
ResourceData fResData;
char fResBuf[RES_BUFSIZE];
int32_t fResPathLen;
@@ -82,6 +86,60 @@ struct UResourceBundle {
U_CAPI void U_EXPORT2 ures_initStackObject(UResourceBundle* resB);
+#ifdef __cplusplus
+
+U_NAMESPACE_BEGIN
+
+/**
+ * \class StackUResourceBundle
+ * "Smart pointer" like class, closes a UResourceBundle via ures_close().
+ *
+ * This code:
+ *
+ * StackUResourceBundle bundle;
+ * foo(bundle.getAlias());
+ *
+ * Is equivalent to this code:
+ *
+ * UResourceBundle bundle;
+ * ures_initStackObject(&bundle);
+ * foo(&bundle);
+ * ures_close(&bundle);
+ *
+ * @see LocalUResourceBundlePointer
+ * @internal
+ */
+class U_COMMON_API StackUResourceBundle {
+public:
+ // No heap allocation. Use only on the stack.
+ static void* U_EXPORT2 operator new(size_t) U_NOEXCEPT = delete;
+ static void* U_EXPORT2 operator new[](size_t) U_NOEXCEPT = delete;
+#if U_HAVE_PLACEMENT_NEW
+ static void* U_EXPORT2 operator new(size_t, void*) U_NOEXCEPT = delete;
+#endif
+
+ StackUResourceBundle();
+ ~StackUResourceBundle();
+
+ UResourceBundle* getAlias() { return &bundle; }
+
+ UResourceBundle& ref() { return bundle; }
+ const UResourceBundle& ref() const { return bundle; }
+
+ StackUResourceBundle(const StackUResourceBundle&) = delete;
+ StackUResourceBundle& operator=(const StackUResourceBundle&) = delete;
+
+ StackUResourceBundle(StackUResourceBundle&&) = delete;
+ StackUResourceBundle& operator=(StackUResourceBundle&&) = delete;
+
+private:
+ UResourceBundle bundle;
+};
+
+U_NAMESPACE_END
+
+#endif /* __cplusplus */
+
/**
* Opens a resource bundle for the locale;
* if there is not even a base language bundle, then loads the root bundle;
@@ -226,6 +284,11 @@ ures_getStringByKeyWithFallback(const UResourceBundle *resB,
#ifdef __cplusplus
+U_CAPI void U_EXPORT2
+ures_getValueWithFallback(const UResourceBundle *bundle, const char *path,
+ UResourceBundle *tempFillIn,
+ icu::ResourceDataValue &value, UErrorCode &errorCode);
+
U_CAPI void U_EXPORT2
ures_getAllItemsWithFallback(const UResourceBundle *bundle, const char *path,
icu::ResourceSink &sink, UErrorCode &errorCode);
@@ -275,4 +338,27 @@ U_CAPI const char* U_EXPORT2
ures_getLocaleInternal(const UResourceBundle* resourceBundle,
UErrorCode* status);
+/**
+ * Same as ures_openDirect() but uses the fill-in parameter instead of allocating a new bundle.
+ *
+ * @param r The existing UResourceBundle to fill in. If NULL then status will be
+ * set to U_ILLEGAL_ARGUMENT_ERROR.
+ * @param packageName The packageName and locale together point to an ICU udata object,
+ * as defined by udata_open( packageName, "res", locale, err)
+ * or equivalent. Typically, packageName will refer to a (.dat) file, or to
+ * a package registered with udata_setAppData(). Using a full file or directory
+ * pathname for packageName is deprecated. If NULL, ICU data will be used.
+ * @param locale specifies the locale for which we want to open the resource
+ * if NULL, the default locale will be used. If strlen(locale) == 0
+ * root locale will be used.
+ * @param status The error code.
+ * @see ures_openDirect
+ * @internal
+ */
+U_CAPI void U_EXPORT2
+ures_openDirectFillIn(UResourceBundle *r,
+ const char *packageName,
+ const char *locale,
+ UErrorCode *status);
+
#endif /*URESIMP_H*/
diff --git a/Build/source/libs/icu/icu-src/source/common/uscript.cpp b/Build/source/libs/icu/icu-src/source/common/uscript.cpp
index 83b5f7ef168..98528c158b4 100644
--- a/Build/source/libs/icu/icu-src/source/common/uscript.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uscript.cpp
@@ -18,8 +18,11 @@
#include "unicode/uchar.h"
#include "unicode/uscript.h"
#include "unicode/uloc.h"
+#include "bytesinkutil.h"
+#include "charstr.h"
#include "cmemory.h"
#include "cstring.h"
+#include "ulocimp.h"
static const UScriptCode JAPANESE[3] = { USCRIPT_KATAKANA, USCRIPT_HIRAGANA, USCRIPT_HAN };
static const UScriptCode KOREAN[2] = { USCRIPT_HANGUL, USCRIPT_HAN };
@@ -98,7 +101,6 @@ uscript_getCode(const char* nameOrAbbrOrLocale,
int32_t capacity,
UErrorCode* err){
UBool triedCode;
- char likely[ULOC_FULLNAME_CAPACITY];
UErrorCode internalErrorCode;
int32_t length;
@@ -125,10 +127,13 @@ uscript_getCode(const char* nameOrAbbrOrLocale,
if(U_FAILURE(*err) || length != 0) {
return length;
}
- (void)uloc_addLikelySubtags(nameOrAbbrOrLocale,
- likely, UPRV_LENGTHOF(likely), &internalErrorCode);
+ icu::CharString likely;
+ {
+ icu::CharStringByteSink sink(&likely);
+ ulocimp_addLikelySubtags(nameOrAbbrOrLocale, sink, &internalErrorCode);
+ }
if(U_SUCCESS(internalErrorCode) && internalErrorCode != U_STRING_NOT_TERMINATED_WARNING) {
- length = getCodesFromLocale(likely, fillIn, capacity, err);
+ length = getCodesFromLocale(likely.data(), fillIn, capacity, err);
if(U_FAILURE(*err) || length != 0) {
return length;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/uscript_props.cpp b/Build/source/libs/icu/icu-src/source/common/uscript_props.cpp
index bfdb68c7a9c..ee120b4ca1d 100644
--- a/Build/source/libs/icu/icu-src/source/common/uscript_props.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uscript_props.cpp
@@ -229,6 +229,10 @@ const int32_t SCRIPT_PROPS[] = {
0x10D12 | LIMITED_USE | RTL, // Rohg
0x10F42 | EXCLUSION | RTL, // Sogd
0x10F19 | EXCLUSION | RTL, // Sogo
+ 0x10FF1 | EXCLUSION | RTL, // Elym
+ 0x1E108 | LIMITED_USE, // Hmnp
+ 0x119CE | EXCLUSION, // Nand
+ 0x1E2E1 | LIMITED_USE, // Wcho
// End copy-paste from parsescriptmetadata.py
};
diff --git a/Build/source/libs/icu/icu-src/source/common/uset.cpp b/Build/source/libs/icu/icu-src/source/common/uset.cpp
index 39ad0a340c4..eae7981d52f 100644
--- a/Build/source/libs/icu/icu-src/source/common/uset.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/uset.cpp
@@ -249,7 +249,7 @@ class USetAccess /* not : public UObject because all methods are static */ {
public:
/* Try to have the compiler inline these*/
inline static int32_t getStringCount(const UnicodeSet& set) {
- return set.getStringCount();
+ return set.stringsSize();
}
inline static const UnicodeString* getString(const UnicodeSet& set,
int32_t i) {
diff --git a/Build/source/libs/icu/icu-src/source/common/usetiter.cpp b/Build/source/libs/icu/icu-src/source/common/usetiter.cpp
index 93048ba2a08..79151690494 100644
--- a/Build/source/libs/icu/icu-src/source/common/usetiter.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/usetiter.cpp
@@ -116,7 +116,7 @@ void UnicodeSetIterator::reset() {
stringCount = 0;
} else {
endRange = set->getRangeCount() - 1;
- stringCount = set->strings->size();
+ stringCount = set->stringsSize();
}
range = 0;
endElement = -1;
diff --git a/Build/source/libs/icu/icu-src/source/common/usprep.cpp b/Build/source/libs/icu/icu-src/source/common/usprep.cpp
index 01238b35f5b..8351a773706 100644
--- a/Build/source/libs/icu/icu-src/source/common/usprep.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/usprep.cpp
@@ -45,10 +45,9 @@ U_CDECL_BEGIN
Static cache for already opened StringPrep profiles
*/
static UHashtable *SHARED_DATA_HASHTABLE = NULL;
-static icu::UInitOnce gSharedDataInitOnce;
-
-static UMutex usprepMutex = U_MUTEX_INITIALIZER;
+static icu::UInitOnce gSharedDataInitOnce = U_INITONCE_INITIALIZER;
+static UMutex usprepMutex;
/* format version of spp file */
//static uint8_t formatVersion[4]={ 0, 0, 0, 0 };
diff --git a/Build/source/libs/icu/icu-src/source/common/ustr_cnv.cpp b/Build/source/libs/icu/icu-src/source/common/ustr_cnv.cpp
index 97c78bfaca9..9a25a9905a2 100644
--- a/Build/source/libs/icu/icu-src/source/common/ustr_cnv.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ustr_cnv.cpp
@@ -40,14 +40,14 @@ u_getDefaultConverter(UErrorCode *status)
UConverter *converter = NULL;
if (gDefaultConverter != NULL) {
- umtx_lock(NULL);
+ icu::umtx_lock(NULL);
/* need to check to make sure it wasn't taken out from under us */
if (gDefaultConverter != NULL) {
converter = gDefaultConverter;
gDefaultConverter = NULL;
}
- umtx_unlock(NULL);
+ icu::umtx_unlock(NULL);
}
/* if the cache was empty, create a converter */
@@ -70,12 +70,12 @@ u_releaseDefaultConverter(UConverter *converter)
ucnv_reset(converter);
}
ucnv_enableCleanup();
- umtx_lock(NULL);
+ icu::umtx_lock(NULL);
if(gDefaultConverter == NULL) {
gDefaultConverter = converter;
converter = NULL;
}
- umtx_unlock(NULL);
+ icu::umtx_unlock(NULL);
}
if(converter != NULL) {
@@ -89,14 +89,14 @@ u_flushDefaultConverter()
UConverter *converter = NULL;
if (gDefaultConverter != NULL) {
- umtx_lock(NULL);
+ icu::umtx_lock(NULL);
/* need to check to make sure it wasn't taken out from under us */
if (gDefaultConverter != NULL) {
converter = gDefaultConverter;
gDefaultConverter = NULL;
}
- umtx_unlock(NULL);
+ icu::umtx_unlock(NULL);
}
/* if the cache was populated, flush it */
diff --git a/Build/source/libs/icu/icu-src/source/common/ustr_titlecase_brkiter.cpp b/Build/source/libs/icu/icu-src/source/common/ustr_titlecase_brkiter.cpp
index 89888cf336b..457905eb60d 100644
--- a/Build/source/libs/icu/icu-src/source/common/ustr_titlecase_brkiter.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ustr_titlecase_brkiter.cpp
@@ -45,7 +45,7 @@ public:
WholeStringBreakIterator() : BreakIterator(), length(0) {}
~WholeStringBreakIterator() U_OVERRIDE;
UBool operator==(const BreakIterator&) const U_OVERRIDE;
- BreakIterator *clone() const U_OVERRIDE;
+ WholeStringBreakIterator *clone() const U_OVERRIDE;
static UClassID U_EXPORT2 getStaticClassID();
UClassID getDynamicClassID() const U_OVERRIDE;
CharacterIterator &getText() const U_OVERRIDE;
@@ -62,9 +62,9 @@ public:
int32_t preceding(int32_t offset) U_OVERRIDE;
UBool isBoundary(int32_t offset) U_OVERRIDE;
int32_t next(int32_t n) U_OVERRIDE;
- BreakIterator *createBufferClone(void *stackBuffer, int32_t &BufferSize,
- UErrorCode &errorCode) U_OVERRIDE;
- BreakIterator &refreshInputText(UText *input, UErrorCode &errorCode) U_OVERRIDE;
+ WholeStringBreakIterator *createBufferClone(void *stackBuffer, int32_t &BufferSize,
+ UErrorCode &errorCode) U_OVERRIDE;
+ WholeStringBreakIterator &refreshInputText(UText *input, UErrorCode &errorCode) U_OVERRIDE;
private:
int32_t length;
@@ -74,16 +74,10 @@ UOBJECT_DEFINE_RTTI_IMPLEMENTATION(WholeStringBreakIterator)
WholeStringBreakIterator::~WholeStringBreakIterator() {}
UBool WholeStringBreakIterator::operator==(const BreakIterator&) const { return FALSE; }
-BreakIterator *WholeStringBreakIterator::clone() const { return nullptr; }
+WholeStringBreakIterator *WholeStringBreakIterator::clone() const { return nullptr; }
CharacterIterator &WholeStringBreakIterator::getText() const {
- U_ASSERT(FALSE); // really should not be called
- // Returns a null reference.
- // Otherwise we would have to define a dummy CharacterIterator,
- // and either have it as a field and const_cast it to a non-const reference,
- // or have it via a pointer and return a reference to that.
- CharacterIterator *none = nullptr;
- return *none;
+ UPRV_UNREACHABLE; // really should not be called
}
UText *WholeStringBreakIterator::getUText(UText * /*fillIn*/, UErrorCode &errorCode) const {
if (U_SUCCESS(errorCode)) {
@@ -105,10 +99,8 @@ void WholeStringBreakIterator::setText(UText *text, UErrorCode &errorCode) {
}
}
}
-void WholeStringBreakIterator::adoptText(CharacterIterator* it) {
- U_ASSERT(FALSE); // should not be called
- length = it->getLength();
- delete it;
+void WholeStringBreakIterator::adoptText(CharacterIterator*) {
+ UPRV_UNREACHABLE; // should not be called
}
int32_t WholeStringBreakIterator::first() { return 0; }
@@ -121,14 +113,14 @@ int32_t WholeStringBreakIterator::preceding(int32_t /*offset*/) { return 0; }
UBool WholeStringBreakIterator::isBoundary(int32_t /*offset*/) { return FALSE; }
int32_t WholeStringBreakIterator::next(int32_t /*n*/) { return length; }
-BreakIterator *WholeStringBreakIterator::createBufferClone(
+WholeStringBreakIterator *WholeStringBreakIterator::createBufferClone(
void * /*stackBuffer*/, int32_t & /*BufferSize*/, UErrorCode &errorCode) {
if (U_SUCCESS(errorCode)) {
errorCode = U_UNSUPPORTED_ERROR;
}
return nullptr;
}
-BreakIterator &WholeStringBreakIterator::refreshInputText(
+WholeStringBreakIterator &WholeStringBreakIterator::refreshInputText(
UText * /*input*/, UErrorCode &errorCode) {
if (U_SUCCESS(errorCode)) {
errorCode = U_UNSUPPORTED_ERROR;
diff --git a/Build/source/libs/icu/icu-src/source/common/ustring.cpp b/Build/source/libs/icu/icu-src/source/common/ustring.cpp
index 6450ea2bc64..67cb4544b9a 100644
--- a/Build/source/libs/icu/icu-src/source/common/ustring.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/ustring.cpp
@@ -1428,7 +1428,7 @@ u_unescape(const char *src, UChar *dest, int32_t destCapacity) {
* NUL-terminate a string no matter what its type.
* Set warning and error codes accordingly.
*/
-#define __TERMINATE_STRING(dest, destCapacity, length, pErrorCode) \
+#define __TERMINATE_STRING(dest, destCapacity, length, pErrorCode) UPRV_BLOCK_MACRO_BEGIN { \
if(pErrorCode!=NULL && U_SUCCESS(*pErrorCode)) { \
/* not a public function, so no complete argument checking */ \
\
@@ -1448,7 +1448,8 @@ u_unescape(const char *src, UChar *dest, int32_t destCapacity) {
/* even the string itself did not fit - set an error code */ \
*pErrorCode=U_BUFFER_OVERFLOW_ERROR; \
} \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
U_CAPI int32_t U_EXPORT2
u_terminateUChars(UChar *dest, int32_t destCapacity, int32_t length, UErrorCode *pErrorCode) {
@@ -1488,7 +1489,7 @@ u_terminateWChars(wchar_t *dest, int32_t destCapacity, int32_t length, UErrorCod
the output range. [LIU]
*/
-#define STRING_HASH(TYPE, STR, STRLEN, DEREF) \
+#define STRING_HASH(TYPE, STR, STRLEN, DEREF) UPRV_BLOCK_MACRO_BEGIN { \
uint32_t hash = 0; \
const TYPE *p = (const TYPE*) STR; \
if (p != NULL) { \
@@ -1500,7 +1501,8 @@ u_terminateWChars(wchar_t *dest, int32_t destCapacity, int32_t length, UErrorCod
p += inc; \
} \
} \
- return static_cast(hash)
+ return static_cast(hash); \
+} UPRV_BLOCK_MACRO_END
/* Used by UnicodeString to compute its hashcode - Not public API. */
U_CAPI int32_t U_EXPORT2
diff --git a/Build/source/libs/icu/icu-src/source/common/utext.cpp b/Build/source/libs/icu/icu-src/source/common/utext.cpp
index 6f579bd4f27..9a77228cfc6 100644
--- a/Build/source/libs/icu/icu-src/source/common/utext.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/utext.cpp
@@ -567,7 +567,7 @@ enum {
struct ExtendedUText {
UText ut;
- UAlignedMemory extension;
+ max_align_t extension;
};
static const UText emptyText = UTEXT_INITIALIZER;
@@ -582,7 +582,7 @@ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status) {
// We need to heap-allocate storage for the new UText
int32_t spaceRequired = sizeof(UText);
if (extraSpace > 0) {
- spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(UAlignedMemory);
+ spaceRequired = sizeof(ExtendedUText) + extraSpace - sizeof(max_align_t);
}
ut = (UText *)uprv_malloc(spaceRequired);
if (ut == NULL) {
diff --git a/Build/source/libs/icu/icu-src/source/common/util.cpp b/Build/source/libs/icu/icu-src/source/common/util.cpp
index a762cc48716..86e5c791bad 100644
--- a/Build/source/libs/icu/icu-src/source/common/util.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/util.cpp
@@ -276,6 +276,16 @@ int32_t ICU_Utility::parsePattern(const UnicodeString& pat,
return -1; // text ended before end of pat
}
+int32_t ICU_Utility::parseAsciiInteger(const UnicodeString& str, int32_t& pos) {
+ int32_t result = 0;
+ UChar c;
+ while (pos < str.length() && (c = str.charAt(pos)) >= u'0' && c <= u'9') {
+ result = result * 10 + (c - u'0');
+ pos++;
+ }
+ return result;
+}
+
/**
* Append a character to a rule that is being built up. To flush
* the quoteBuf to rule, make one final call with isLiteral == TRUE.
diff --git a/Build/source/libs/icu/icu-src/source/common/util.h b/Build/source/libs/icu/icu-src/source/common/util.h
index e197cab7882..f3f71dce458 100644
--- a/Build/source/libs/icu/icu-src/source/common/util.h
+++ b/Build/source/libs/icu/icu-src/source/common/util.h
@@ -179,12 +179,21 @@ class U_COMMON_API ICU_Utility /* not : public UObject because all methods are s
* Parse an integer at pos, either of the form \d+ or of the form
* 0x[0-9A-Fa-f]+ or 0[0-7]+, that is, in standard decimal, hex,
* or octal format.
- * @param pos INPUT-OUTPUT parameter. On input, the first
- * character to parse. On output, the character after the last
- * parsed character.
+ * @param pos INPUT-OUTPUT parameter. On input, the index of the first
+ * character to parse. On output, the index of the character after the
+ * last parsed character.
*/
static int32_t parseInteger(const UnicodeString& rule, int32_t& pos, int32_t limit);
+ /**
+ * Parse an integer at pos using only ASCII digits.
+ * Base 10 only.
+ * @param pos INPUT-OUTPUT parameter. On input, the index of the first
+ * character to parse. On output, the index of the character after the
+ * last parsed character.
+ */
+ static int32_t parseAsciiInteger(const UnicodeString& str, int32_t& pos);
+
/**
* Parse a Unicode identifier from the given string at the given
* position. Return the identifier, or an empty string if there
diff --git a/Build/source/libs/icu/icu-src/source/common/utrace.cpp b/Build/source/libs/icu/icu-src/source/common/utrace.cpp
index dad1ef8b644..c9815465947 100644
--- a/Build/source/libs/icu/icu-src/source/common/utrace.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/utrace.cpp
@@ -67,8 +67,7 @@ utrace_exit(int32_t fnNumber, int32_t returnType, ...) {
fmt = gExitFmtPtrStatus;
break;
default:
- U_ASSERT(FALSE);
- fmt = gExitFmt;
+ UPRV_UNREACHABLE;
}
va_start(args, returnType);
@@ -477,6 +476,16 @@ trCollNames[] = {
NULL
};
+
+static const char* const
+trResDataNames[] = {
+ "resc",
+ "bundle-open",
+ "file-open",
+ "res-open",
+ NULL
+};
+
U_CAPI const char * U_EXPORT2
utrace_functionName(int32_t fnNumber) {
@@ -486,6 +495,8 @@ utrace_functionName(int32_t fnNumber) {
return trConvNames[fnNumber - UTRACE_CONVERSION_START];
} else if(UTRACE_COLLATION_START <= fnNumber && fnNumber < UTRACE_COLLATION_LIMIT){
return trCollNames[fnNumber - UTRACE_COLLATION_START];
+ } else if(UTRACE_UDATA_START <= fnNumber && fnNumber < UTRACE_RES_DATA_LIMIT){
+ return trResDataNames[fnNumber - UTRACE_UDATA_START];
} else {
return "[BOGUS Trace Function Number]";
}
diff --git a/Build/source/libs/icu/icu-src/source/common/utracimp.h b/Build/source/libs/icu/icu-src/source/common/utracimp.h
index e8ee53fcd61..f32fe1db394 100644
--- a/Build/source/libs/icu/icu-src/source/common/utracimp.h
+++ b/Build/source/libs/icu/icu-src/source/common/utracimp.h
@@ -144,10 +144,12 @@ U_CDECL_END
*/
#define UTRACE_ENTRY(fnNumber) \
int32_t utraceFnNumber=(fnNumber); \
+UPRV_BLOCK_MACRO_BEGIN { \
if(utrace_getLevel()>=UTRACE_INFO) { \
utrace_entry(fnNumber); \
utraceFnNumber |= UTRACE_TRACED_ENTRY; \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
@@ -162,10 +164,12 @@ U_CDECL_END
*/
#define UTRACE_ENTRY_OC(fnNumber) \
int32_t utraceFnNumber=(fnNumber); \
+UPRV_BLOCK_MACRO_BEGIN { \
if(utrace_getLevel()>=UTRACE_OPEN_CLOSE) { \
utrace_entry(fnNumber); \
utraceFnNumber |= UTRACE_TRACED_ENTRY; \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement for each exit point of a function that has a UTRACE_ENTRY()
@@ -179,10 +183,11 @@ U_CDECL_END
*
* @internal
*/
-#define UTRACE_EXIT() \
- {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
+#define UTRACE_EXIT() UPRV_BLOCK_MACRO_BEGIN { \
+ if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_NONE); \
- }}
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement for each exit point of a function that has a UTRACE_ENTRY()
@@ -192,25 +197,29 @@ U_CDECL_END
*
* @internal
*/
-#define UTRACE_EXIT_VALUE(val) \
- {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
+#define UTRACE_EXIT_VALUE(val) UPRV_BLOCK_MACRO_BEGIN { \
+ if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_I32, val); \
- }}
+ } \
+} UPRV_BLOCK_MACRO_END
-#define UTRACE_EXIT_STATUS(status) \
- {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
+#define UTRACE_EXIT_STATUS(status) UPRV_BLOCK_MACRO_BEGIN { \
+ if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, UTRACE_EXITV_STATUS, status); \
- }}
+ } \
+} UPRV_BLOCK_MACRO_END
-#define UTRACE_EXIT_VALUE_STATUS(val, status) \
- {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
+#define UTRACE_EXIT_VALUE_STATUS(val, status) UPRV_BLOCK_MACRO_BEGIN { \
+ if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (UTRACE_EXITV_I32 | UTRACE_EXITV_STATUS), val, status); \
- }}
+ } \
+} UPRV_BLOCK_MACRO_END
-#define UTRACE_EXIT_PTR_STATUS(ptr, status) \
- {if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
+#define UTRACE_EXIT_PTR_STATUS(ptr, status) UPRV_BLOCK_MACRO_BEGIN { \
+ if(utraceFnNumber & UTRACE_TRACED_ENTRY) { \
utrace_exit(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (UTRACE_EXITV_PTR | UTRACE_EXITV_STATUS), ptr, status); \
- }}
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -220,10 +229,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA0(level, fmt) \
+#define UTRACE_DATA0(level, fmt) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -233,10 +243,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA1(level, fmt, a) \
+#define UTRACE_DATA1(level, fmt, a) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY , (level), (fmt), (a)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -246,10 +257,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA2(level, fmt, a, b) \
+#define UTRACE_DATA2(level, fmt, a, b) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY , (level), (fmt), (a), (b)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -259,10 +271,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA3(level, fmt, a, b, c) \
+#define UTRACE_DATA3(level, fmt, a, b, c) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -272,10 +285,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA4(level, fmt, a, b, c, d) \
+#define UTRACE_DATA4(level, fmt, a, b, c, d) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -285,10 +299,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA5(level, fmt, a, b, c, d, e) \
+#define UTRACE_DATA5(level, fmt, a, b, c, d, e) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -298,10 +313,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA6(level, fmt, a, b, c, d, e, f) \
+#define UTRACE_DATA6(level, fmt, a, b, c, d, e, f) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -311,10 +327,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA7(level, fmt, a, b, c, d, e, f, g) \
+#define UTRACE_DATA7(level, fmt, a, b, c, d, e, f, g) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -324,10 +341,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA8(level, fmt, a, b, c, d, e, f, g, h) \
+#define UTRACE_DATA8(level, fmt, a, b, c, d, e, f, g, h) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g), (h)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/**
* Trace statement used inside functions that have a UTRACE_ENTRY() statement.
@@ -337,10 +355,11 @@ U_CDECL_END
* Calls utrace_data() if the level is high enough.
* @internal
*/
-#define UTRACE_DATA9(level, fmt, a, b, c, d, e, f, g, h, i) \
+#define UTRACE_DATA9(level, fmt, a, b, c, d, e, f, g, h, i) UPRV_BLOCK_MACRO_BEGIN { \
if(UTRACE_LEVEL(level)) { \
utrace_data(utraceFnNumber & ~UTRACE_TRACED_ENTRY, (level), (fmt), (a), (b), (c), (d), (e), (f), (g), (h), (i)); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
#else
diff --git a/Build/source/libs/icu/icu-src/source/common/utrie.h b/Build/source/libs/icu/icu-src/source/common/utrie.h
index 3e2197eda6c..532ba778eb6 100644
--- a/Build/source/libs/icu/icu-src/source/common/utrie.h
+++ b/Build/source/libs/icu/icu-src/source/common/utrie.h
@@ -182,7 +182,7 @@ typedef struct UTrie UTrie;
]
/** Internal trie getter from a pair of surrogates */
-#define _UTRIE_GET_FROM_PAIR(trie, data, c, c2, result, resultType) { \
+#define _UTRIE_GET_FROM_PAIR(trie, data, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \
int32_t __offset; \
\
/* get data for lead surrogate */ \
@@ -195,18 +195,18 @@ typedef struct UTrie UTrie;
} else { \
(result)=(resultType)((trie)->initialValue); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** Internal trie getter from a BMP code point, treating a lead surrogate as a normal code point */
#define _UTRIE_GET_FROM_BMP(trie, data, c16) \
- _UTRIE_GET_RAW(trie, data, 0xd800<=(c16) && (c16)<=0xdbff ? UTRIE_LEAD_INDEX_DISP : 0, c16);
+ _UTRIE_GET_RAW(trie, data, 0xd800<=(c16) && (c16)<=0xdbff ? UTRIE_LEAD_INDEX_DISP : 0, c16)
/**
* Internal trie getter from a code point.
* Could be faster(?) but longer with
* if((c32)<=0xd7ff) { (result)=_UTRIE_GET_RAW(trie, data, 0, c32); }
*/
-#define _UTRIE_GET(trie, data, c32, result, resultType) \
+#define _UTRIE_GET(trie, data, c32, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \
if((uint32_t)(c32)<=0xffff) { \
/* BMP code points */ \
(result)=_UTRIE_GET_FROM_BMP(trie, data, c32); \
@@ -217,10 +217,11 @@ typedef struct UTrie UTrie;
} else { \
/* out of range */ \
(result)=(resultType)((trie)->initialValue); \
- }
+ } \
+} UPRV_BLOCK_MACRO_END
/** Internal next-post-increment: get the next code point (c, c2) and its data */
-#define _UTRIE_NEXT(trie, data, src, limit, c, c2, result, resultType) { \
+#define _UTRIE_NEXT(trie, data, src, limit, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \
(c)=*(src)++; \
if(!U16_IS_LEAD(c)) { \
(c2)=0; \
@@ -233,10 +234,10 @@ typedef struct UTrie UTrie;
(c2)=0; \
(result)=_UTRIE_GET_RAW((trie), data, UTRIE_LEAD_INDEX_DISP, (c)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** Internal previous: get the previous code point (c, c2) and its data */
-#define _UTRIE_PREVIOUS(trie, data, start, src, c, c2, result, resultType) { \
+#define _UTRIE_PREVIOUS(trie, data, start, src, c, c2, result, resultType) UPRV_BLOCK_MACRO_BEGIN { \
(c)=*--(src); \
if(!U16_IS_SURROGATE(c)) { \
(c2)=0; \
@@ -257,7 +258,7 @@ typedef struct UTrie UTrie;
(c2)=0; \
(result)=_UTRIE_GET_RAW((trie), data, UTRIE_LEAD_INDEX_DISP, (c)); \
} \
-}
+} UPRV_BLOCK_MACRO_END
/* Public UTrie API ---------------------------------------------------------*/
diff --git a/Build/source/libs/icu/icu-src/source/common/utrie2.h b/Build/source/libs/icu/icu-src/source/common/utrie2.h
index 75028ee23ac..671f44e16a6 100644
--- a/Build/source/libs/icu/icu-src/source/common/utrie2.h
+++ b/Build/source/libs/icu/icu-src/source/common/utrie2.h
@@ -871,7 +871,7 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c,
(trie)->data[_UTRIE2_INDEX_FROM_CP(trie, asciiOffset, c)]
/** Internal next-post-increment: get the next code point (c) and its data. */
-#define _UTRIE2_U16_NEXT(trie, data, src, limit, c, result) { \
+#define _UTRIE2_U16_NEXT(trie, data, src, limit, c, result) UPRV_BLOCK_MACRO_BEGIN { \
{ \
uint16_t __c2; \
(c)=*(src)++; \
@@ -885,10 +885,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c,
(result)=_UTRIE2_GET_FROM_SUPP((trie), data, (c)); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** Internal pre-decrement-previous: get the previous code point (c) and its data */
-#define _UTRIE2_U16_PREV(trie, data, start, src, c, result) { \
+#define _UTRIE2_U16_PREV(trie, data, start, src, c, result) UPRV_BLOCK_MACRO_BEGIN { \
{ \
uint16_t __c2; \
(c)=*--(src); \
@@ -900,10 +900,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c,
(result)=_UTRIE2_GET_FROM_SUPP((trie), data, (c)); \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** Internal UTF-8 next-post-increment: get the next code point's data. */
-#define _UTRIE2_U8_NEXT(trie, ascii, data, src, limit, result) { \
+#define _UTRIE2_U8_NEXT(trie, ascii, data, src, limit, result) UPRV_BLOCK_MACRO_BEGIN { \
uint8_t __lead=(uint8_t)*(src)++; \
if(U8_IS_SINGLE(__lead)) { \
(result)=(trie)->ascii[__lead]; \
@@ -935,10 +935,10 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c,
(result)=(trie)->data[__index>>3]; \
} \
} \
-}
+} UPRV_BLOCK_MACRO_END
/** Internal UTF-8 pre-decrement-previous: get the previous code point's data. */
-#define _UTRIE2_U8_PREV(trie, ascii, data, start, src, result) { \
+#define _UTRIE2_U8_PREV(trie, ascii, data, start, src, result) UPRV_BLOCK_MACRO_BEGIN { \
uint8_t __b=(uint8_t)*--(src); \
if(U8_IS_SINGLE(__b)) { \
(result)=(trie)->ascii[__b]; \
@@ -948,7 +948,7 @@ utrie2_internalU8PrevIndex(const UTrie2 *trie, UChar32 c,
(src)-=__index&7; \
(result)=(trie)->data[__index>>3]; \
} \
-}
+} UPRV_BLOCK_MACRO_END
U_CDECL_END
diff --git a/Build/source/libs/icu/icu-src/source/common/utrie2_builder.cpp b/Build/source/libs/icu/icu-src/source/common/utrie2_builder.cpp
index 80e09c9c26b..8de824cc3d4 100644
--- a/Build/source/libs/icu/icu-src/source/common/utrie2_builder.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/utrie2_builder.cpp
@@ -309,6 +309,7 @@ utrie2_clone(const UTrie2 *other, UErrorCode *pErrorCode) {
trie=(UTrie2 *)uprv_malloc(sizeof(UTrie2));
if(trie==NULL) {
+ *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
return NULL;
}
uprv_memcpy(trie, other, sizeof(UTrie2));
@@ -333,6 +334,7 @@ utrie2_clone(const UTrie2 *other, UErrorCode *pErrorCode) {
}
if(trie->memory==NULL && trie->newTrie==NULL) {
+ *pErrorCode=U_MEMORY_ALLOCATION_ERROR;
uprv_free(trie);
trie=NULL;
}
diff --git a/Build/source/libs/icu/icu-src/source/common/uvector.h b/Build/source/libs/icu/icu-src/source/common/uvector.h
index 5ec6e114b8f..98318d14c60 100644
--- a/Build/source/libs/icu/icu-src/source/common/uvector.h
+++ b/Build/source/libs/icu/icu-src/source/common/uvector.h
@@ -142,19 +142,19 @@ public:
UBool equals(const UVector &other) const;
- void* firstElement(void) const;
+ inline void* firstElement(void) const;
- void* lastElement(void) const;
+ inline void* lastElement(void) const;
- int32_t lastElementi(void) const;
+ inline int32_t lastElementi(void) const;
int32_t indexOf(void* obj, int32_t startIndex = 0) const;
int32_t indexOf(int32_t obj, int32_t startIndex = 0) const;
- UBool contains(void* obj) const;
+ inline UBool contains(void* obj) const;
- UBool contains(int32_t obj) const;
+ inline UBool contains(int32_t obj) const;
UBool containsAll(const UVector& other) const;
@@ -168,9 +168,9 @@ public:
void removeAllElements();
- int32_t size(void) const;
+ inline int32_t size(void) const;
- UBool isEmpty(void) const;
+ inline UBool isEmpty(void) const;
UBool ensureCapacity(int32_t minimumCapacity, UErrorCode &status);
@@ -195,7 +195,7 @@ public:
UElementsAreEqual *setComparer(UElementsAreEqual *c);
- void* operator[](int32_t index) const;
+ inline void* operator[](int32_t index) const;
/**
* Removes the element at the given index from this vector and
@@ -309,19 +309,19 @@ public:
// It's okay not to have a virtual destructor (in UVector)
// because UStack has no special cleanup to do.
- UBool empty(void) const;
+ inline UBool empty(void) const;
- void* peek(void) const;
+ inline void* peek(void) const;
- int32_t peeki(void) const;
+ inline int32_t peeki(void) const;
void* pop(void);
int32_t popi(void);
- void* push(void* obj, UErrorCode &status);
+ inline void* push(void* obj, UErrorCode &status);
- int32_t push(int32_t i, UErrorCode &status);
+ inline int32_t push(int32_t i, UErrorCode &status);
/*
If the object o occurs as an item in this stack,
diff --git a/Build/source/libs/icu/icu-src/source/common/uvectr32.h b/Build/source/libs/icu/icu-src/source/common/uvectr32.h
index 9112d9fe4aa..ba47daa75f1 100644
--- a/Build/source/libs/icu/icu-src/source/common/uvectr32.h
+++ b/Build/source/libs/icu/icu-src/source/common/uvectr32.h
@@ -97,21 +97,21 @@ public:
// java.util.Vector API
//------------------------------------------------------------
- void addElement(int32_t elem, UErrorCode &status);
+ inline void addElement(int32_t elem, UErrorCode &status);
void setElementAt(int32_t elem, int32_t index);
void insertElementAt(int32_t elem, int32_t index, UErrorCode &status);
- int32_t elementAti(int32_t index) const;
+ inline int32_t elementAti(int32_t index) const;
UBool equals(const UVector32 &other) const;
- int32_t lastElementi(void) const;
+ inline int32_t lastElementi(void) const;
int32_t indexOf(int32_t elem, int32_t startIndex = 0) const;
- UBool contains(int32_t elem) const;
+ inline UBool contains(int32_t elem) const;
UBool containsAll(const UVector32& other) const;
@@ -123,9 +123,9 @@ public:
void removeAllElements();
- int32_t size(void) const;
+ inline int32_t size(void) const;
- UBool isEmpty(void) const;
+ inline UBool isEmpty(void) const;
// Inline. Use this one for speedy size check.
inline UBool ensureCapacity(int32_t minimumCapacity, UErrorCode &status);
@@ -163,7 +163,7 @@ public:
/**
* Returns a pointer to the internal array holding the vector.
*/
- int32_t *getBuffer() const;
+ inline int32_t *getBuffer() const;
/**
* Set the maximum allowed buffer capacity for this vector/stack.
@@ -197,16 +197,16 @@ private:
// In the original UVector, these were in a separate derived class, UStack.
// Here in UVector32, they are all together.
public:
- UBool empty(void) const; // TODO: redundant, same as empty(). Remove it?
+ inline UBool empty(void) const; // TODO: redundant, same as empty(). Remove it?
- int32_t peeki(void) const;
+ inline int32_t peeki(void) const;
- int32_t popi(void);
+ inline int32_t popi(void);
- int32_t push(int32_t i, UErrorCode &status);
+ inline int32_t push(int32_t i, UErrorCode &status);
- int32_t *reserveBlock(int32_t size, UErrorCode &status);
- int32_t *popFrame(int32_t size);
+ inline int32_t *reserveBlock(int32_t size, UErrorCode &status);
+ inline int32_t *popFrame(int32_t size);
};
diff --git a/Build/source/libs/icu/icu-src/source/common/uvectr64.h b/Build/source/libs/icu/icu-src/source/common/uvectr64.h
index 5571685988a..1cc9a501917 100644
--- a/Build/source/libs/icu/icu-src/source/common/uvectr64.h
+++ b/Build/source/libs/icu/icu-src/source/common/uvectr64.h
@@ -96,17 +96,17 @@ public:
// subset of java.util.Vector API
//------------------------------------------------------------
- void addElement(int64_t elem, UErrorCode &status);
+ inline void addElement(int64_t elem, UErrorCode &status);
void setElementAt(int64_t elem, int32_t index);
void insertElementAt(int64_t elem, int32_t index, UErrorCode &status);
- int64_t elementAti(int32_t index) const;
+ inline int64_t elementAti(int32_t index) const;
//UBool equals(const UVector64 &other) const;
- int64_t lastElementi(void) const;
+ inline int64_t lastElementi(void) const;
//int32_t indexOf(int64_t elem, int32_t startIndex = 0) const;
@@ -122,7 +122,7 @@ public:
void removeAllElements();
- int32_t size(void) const;
+ inline int32_t size(void) const;
inline UBool isEmpty(void) const { return count == 0; }
@@ -152,7 +152,7 @@ public:
/**
* Returns a pointer to the internal array holding the vector.
*/
- int64_t *getBuffer() const;
+ inline int64_t *getBuffer() const;
/**
* Set the maximum allowed buffer capacity for this vector/stack.
@@ -190,12 +190,12 @@ public:
//int64_t peeki(void) const;
- int64_t popi(void);
+ inline int64_t popi(void);
- int64_t push(int64_t i, UErrorCode &status);
+ inline int64_t push(int64_t i, UErrorCode &status);
- int64_t *reserveBlock(int32_t size, UErrorCode &status);
- int64_t *popFrame(int32_t size);
+ inline int64_t *reserveBlock(int32_t size, UErrorCode &status);
+ inline int64_t *popFrame(int32_t size);
};
diff --git a/Build/source/libs/icu/icu-src/source/common/wintz.cpp b/Build/source/libs/icu/icu-src/source/common/wintz.cpp
index 5e9ac0d2f37..115512e704c 100644
--- a/Build/source/libs/icu/icu-src/source/common/wintz.cpp
+++ b/Build/source/libs/icu/icu-src/source/common/wintz.cpp
@@ -35,7 +35,7 @@
U_NAMESPACE_BEGIN
-// The value of MAX_TIMEZONE_ID_LENGTH is 128, which is defined in DYNAMIC_TIME_ZONE_INFORMATION
+// The max size of TimeZoneKeyName is 128, defined in DYNAMIC_TIME_ZONE_INFORMATION
#define MAX_TIMEZONE_ID_LENGTH 128
/**
@@ -44,7 +44,7 @@ U_NAMESPACE_BEGIN
* Note: We use the Win32 API GetDynamicTimeZoneInformation to get the current time zone info.
* This API returns a non-localized time zone name, which we can then map to an ICU time zone name.
*/
-U_CFUNC const char* U_EXPORT2
+U_INTERNAL const char* U_EXPORT2
uprv_detectWindowsTimeZone()
{
UErrorCode status = U_ZERO_ERROR;
@@ -79,26 +79,25 @@ uprv_detectWindowsTimeZone()
// convert from wchar_t* (UTF-16 on Windows) to char* (UTF-8).
u_strToUTF8(dynamicTZKeyName, UPRV_LENGTHOF(dynamicTZKeyName), nullptr,
- reinterpret_cast(dynamicTZI.TimeZoneKeyName), UPRV_LENGTHOF(dynamicTZI.TimeZoneKeyName), &status);
+ reinterpret_cast(dynamicTZI.TimeZoneKeyName), -1, &status);
if (U_FAILURE(status)) {
return nullptr;
}
if (dynamicTZI.TimeZoneKeyName[0] != 0) {
- UResourceBundle winTZ;
- ures_initStackObject(&winTZ);
- ures_getByKey(bundle.getAlias(), dynamicTZKeyName, &winTZ, &status);
-
+ StackUResourceBundle winTZ;
+ ures_getByKey(bundle.getAlias(), dynamicTZKeyName, winTZ.getAlias(), &status);
+
if (U_SUCCESS(status)) {
const UChar* icuTZ = nullptr;
if (errorCode != 0) {
- icuTZ = ures_getStringByKey(&winTZ, ISOcode, &len, &status);
+ icuTZ = ures_getStringByKey(winTZ.getAlias(), ISOcode, &len, &status);
}
if (errorCode == 0 || icuTZ == nullptr) {
/* fallback to default "001" and reset status */
status = U_ZERO_ERROR;
- icuTZ = ures_getStringByKey(&winTZ, "001", &len, &status);
+ icuTZ = ures_getStringByKey(winTZ.getAlias(), "001", &len, &status);
}
if (U_SUCCESS(status)) {
@@ -111,7 +110,6 @@ uprv_detectWindowsTimeZone()
tmpid[index] = '\0';
}
}
- ures_close(&winTZ);
}
// Copy the timezone ID to icuid to be returned.
diff --git a/Build/source/libs/icu/icu-src/source/common/wintz.h b/Build/source/libs/icu/icu-src/source/common/wintz.h
index f98b1779b5d..cd8565eef1e 100644
--- a/Build/source/libs/icu/icu-src/source/common/wintz.h
+++ b/Build/source/libs/icu/icu-src/source/common/wintz.h
@@ -28,7 +28,7 @@ U_CDECL_BEGIN
typedef struct _TIME_ZONE_INFORMATION TIME_ZONE_INFORMATION;
U_CDECL_END
-U_CFUNC const char* U_EXPORT2
+U_INTERNAL const char* U_EXPORT2
uprv_detectWindowsTimeZone();
#endif /* U_PLATFORM_USES_ONLY_WIN32_API */
diff --git a/Build/source/libs/icu/icu-src/source/config/dist.mk b/Build/source/libs/icu/icu-src/source/config/dist.mk
index 3e6e42e50dd..a990181cec6 100644
--- a/Build/source/libs/icu/icu-src/source/config/dist.mk
+++ b/Build/source/libs/icu/icu-src/source/config/dist.mk
@@ -9,7 +9,7 @@
#
# This will only work if subversion is installed.
# You must checkout ICU4C at the `/icu` or `/icu/icu4c` level - not just `…/source`
-# also note that `make dist` does NOT reflect any local modifications - it only does a fresh SVN export.
+# also note that `make dist` does NOT reflect any local modifications, but pulls from HEAD.
top_builddir = .
@@ -19,21 +19,21 @@ DISTY_DIR=dist
DISTY_TMP=dist/tmp
DISTY_ICU=$(DISTY_TMP)/icu
DISTY_DATA=$(DISTY_ICU)/source/data
+# The following line controls what is removed in the data/ subdirectory for the source tarball.
DISTY_RMV=brkitr coll curr lang locales mappings rbnf region translit xml zone misc/*.txt misc/*.mk unit
DISTY_RMDIR=$(DISTY_RMV:%=$(DISTY_DATA)/%)
DISTY_IN=$(DISTY_DATA)/in
DOCZIP=icu-docs.zip
-SVNTOP=$(top_srcdir)/..
-SVNVER=$(shell svnversion $(SVNTOP) | cut -d: -f1 | tr -cd 'a-zA-Z0-9')
-SVNURL=$(shell svn info $(SVNTOP) | grep '^URL:' | cut -d: -f2-)
+ICU4CTOP=$(top_srcdir)/..
+GITVER=$(shell (cd $(ICU4CTOP) && (git describe --tags --exact-match 2>/dev/null || git rev-parse --short HEAD)) || echo 'unknown')
DISTY_VER=$(shell echo $(VERSION) | tr '.' '_' )
DISTY_PREFIX=icu4c
DISTY_FILE_DIR=$(shell pwd)/$(DISTY_DIR)
-DISTY_FILE_TGZ=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-src-$(DISTY_VER)-r$(SVNVER).tgz
-DISTY_FILE_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-src-$(DISTY_VER)-r$(SVNVER).zip
-DISTY_DOC_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-docs-$(DISTY_VER)-r$(SVNVER).zip
-DISTY_DATA_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-data-$(DISTY_VER)-r$(SVNVER).zip
+DISTY_FILE_TGZ=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-$(DISTY_VER)-$(GITVER)-src.tgz
+DISTY_FILE_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-$(DISTY_VER)-$(GITVER)-src.zip
+DISTY_DOC_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-$(DISTY_VER)-$(GITVER)-docs.zip
+DISTY_DATA_ZIP=$(DISTY_FILE_DIR)/$(DISTY_PREFIX)-$(DISTY_VER)-$(GITVER)-data.zip
DISTY_DAT:=$(firstword $(wildcard data/out/tmp/icudt$(SO_TARGET_VERSION_MAJOR)*.dat))
DISTY_FILES_SRC=$(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP)
@@ -50,8 +50,9 @@ $(DISTY_TMP):
$(DISTY_DOC_ZIP): $(DOCZIP) $(DISTY_FILE_DIR)
cp $(DOCZIP) $(DISTY_DOC_ZIP)
ln -sf $(shell basename $(DISTY_DOC_ZIP)) $(DISTY_FILE_DIR)/icu4c-docs.zip
+ ln -f $(DISTY_DOC_ZIP) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-docs.zip
-$(DISTY_DAT):
+$(DISTY_DAT):
echo Missing $@
/bin/false
@@ -61,15 +62,10 @@ $(DOCZIP):
"$(MAKE)" -C . srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" builddir=. $@
$(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP): $(DISTY_DAT) $(DISTY_TMP)
- @echo "svnversion of $(SVNTOP) is as follows (if this fails, make sure svn is installed..)"
- svnversion $(SVNTOP)
+ @echo Export icu4c@$(GITVER) to "$(DISTY_TMP)/icu"
-$(RMV) $(DISTY_FILE) $(DISTY_TMP)
$(MKINSTALLDIRS) $(DISTY_TMP)
- @echo collecting excludes to $(EXCLUDES_FILE)
- (cd "$(SVNTOP)" ; svn status --no-ignore | grep '^I' | cut -c2- > "$(EXCLUDES_FILE)" )
- @echo pseudo-exporting $(SVNVER)
- @#svn export -r $(shell echo $(SVNVER) | tr -d 'a-zA-Z' ) $(SVNURL) "$(DISTY_TMP)/icu"
- rsync -a --exclude-from="$(EXCLUDES_FILE)" "$(SVNTOP)" "$(DISTY_TMP)/icu"
+ ( cd $(ICU4CTOP)/.. && git archive --format=tar --prefix=icu/ HEAD:icu4c/ ) | ( cd "$(DISTY_TMP)" && tar xf - )
( cd $(DISTY_TMP)/icu/source ; zip -rlq $(DISTY_DATA_ZIP) data )
$(MKINSTALLDIRS) $(DISTY_IN)
echo DISTY_DAT=$(DISTY_DAT)
@@ -82,6 +78,9 @@ $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP): $(DISTY_DAT) $(DISTY_TMP
ln -sf $(shell basename $(DISTY_FILE_ZIP)) $(DISTY_FILE_DIR)/icu4c-src.zip
ln -sf $(shell basename $(DISTY_FILE_TGZ)) $(DISTY_FILE_DIR)/icu4c-src.tgz
ln -sf $(shell basename $(DISTY_DATA_ZIP)) $(DISTY_FILE_DIR)/icu4c-data.zip
+ ln -f $(DISTY_FILE_ZIP) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-src.zip
+ ln -f $(DISTY_FILE_TGZ) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-src.tgz
+ ln -f $(DISTY_DATA_ZIP) $(DISTY_FILE_DIR)/icu4c-$(DISTY_VER)-data.zip
ls -l $(DISTY_FILE_TGZ) $(DISTY_FILE_ZIP) $(DISTY_DATA_ZIP)
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-cygwin b/Build/source/libs/icu/icu-src/source/config/mh-cygwin
index c5a37179cab..1b09a5bf928 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-cygwin
+++ b/Build/source/libs/icu/icu-src/source/config/mh-cygwin
@@ -7,7 +7,7 @@
## Commands to generate dependency files
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc= $(CXX) -E -MM -std=c++11 $(DEFS) $(CPPFLAGS)
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)
## Flags to create/use a static library
ifneq ($(ENABLE_SHARED),YES)
@@ -18,6 +18,10 @@ else
STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION
endif
+## ICU requires a minimum target of Windows 7, and WINVER is not set to this by default.
+## https://msdn.microsoft.com/en-us/library/aa383745.aspx
+CPPFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601
+
## Flags for position independent code
SHAREDLIBCFLAGS =
SHAREDLIBCXXFLAGS =
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-cygwin-msvc b/Build/source/libs/icu/icu-src/source/config/mh-cygwin-msvc
index 4744bb949e3..31ac458d308 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-cygwin-msvc
+++ b/Build/source/libs/icu/icu-src/source/config/mh-cygwin-msvc
@@ -24,6 +24,10 @@ else
STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION
endif
+## ICU requires a minimum target of Windows 7, and WINVER is not set to this by default.
+## https://msdn.microsoft.com/en-us/library/aa383745.aspx
+CPPFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601
+
## Flags for position independent code
SHAREDLIBCFLAGS =
SHAREDLIBCXXFLAGS =
@@ -117,13 +121,13 @@ LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSU
LIBICUTOOLUTIL= $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).lib
## These are the library specific LDFLAGS
-LDFLAGSICUDT+= -base:"0x4ad00000" -NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
-LDFLAGSICUUC= -base:"0x4a800000"# in-uc = 1MB
-LDFLAGSICUI18N= -base:"0x4a900000"# io-in = 2MB
-LDFLAGSICUIO= -base:"0x4ab00000"# le-io = 1MB
-LDFLAGSICULX= -base:"0x4ac80000"
+LDFLAGSICUDT+= -NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
+LDFLAGSICUUC=# Unused for now.
+LDFLAGSICUI18N=# Unused for now.
+LDFLAGSICUIO=# Unused for now.
+LDFLAGSICULX=# Unused for now.
LDFLAGSCTESTFW=# Unused for now.
-LDFLAGSICUTOOLUTIL= -base:"0x4ac00000"# Same as layout. Layout and tools probably won't mix.
+LDFLAGSICUTOOLUTIL=# Unused for now.
# The #M# is used to delete lines for icu-config
# Current full path directory.
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-cygwin64 b/Build/source/libs/icu/icu-src/source/config/mh-cygwin64
index dc9d1a1ab01..0eee4736846 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-cygwin64
+++ b/Build/source/libs/icu/icu-src/source/config/mh-cygwin64
@@ -7,7 +7,7 @@
## Commands to generate dependency files
GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc= $(CXX) -E -MM -std=c++11 $(DEFS) $(CPPFLAGS)
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)
## Flags to create/use a static library
ifneq ($(ENABLE_SHARED),YES)
@@ -18,6 +18,10 @@ else
STATICCPPFLAGS = -DU_STATIC_IMPLEMENTATION
endif
+## ICU requires a minimum target of Windows 7, and WINVER is not set to this by default.
+## https://msdn.microsoft.com/en-us/library/aa383745.aspx
+CPPFLAGS += -DWINVER=0x0601 -D_WIN32_WINNT=0x0601
+
## Flags for position independent code
SHAREDLIBCFLAGS =
SHAREDLIBCXXFLAGS =
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-darwin b/Build/source/libs/icu/icu-src/source/config/mh-darwin
index e4ad4623049..7b15709c860 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-darwin
+++ b/Build/source/libs/icu/icu-src/source/config/mh-darwin
@@ -33,7 +33,7 @@ SHLIB.cc= $(CXX) -dynamiclib -dynamic $(CXXFLAGS) $(LDFLAGS) $(LD_SOOPTIONS)
ifeq ($(ENABLE_RPATH),YES)
LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(libdir)/$(notdir $(MIDDLE_SO_TARGET))
else
-LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -Wl,-compatibility_version -Wl,$(SO_TARGET_VERSION_MAJOR) -Wl,-current_version -Wl,$(SO_TARGET_VERSION) -install_name $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
endif
## Compiler switch to embed a runtime search path
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-mingw b/Build/source/libs/icu/icu-src/source/config/mh-mingw
index 1c887346745..e2a49d77905 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-mingw
+++ b/Build/source/libs/icu/icu-src/source/config/mh-mingw
@@ -85,13 +85,29 @@ IMPORT_LIB_EXT = .dll.a
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
-# The #M# is used to delete lines for icu-config
-# Current full path directory.
-#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
-CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
-# Current full path directory for use in source code in a -D compiler option.
-#CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
-CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+# Note: The #M# is used to delete lines for icu-config
+MSYS_VERSION ?= $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)#M#
+$(info Detected MSYS version: $(MSYS_VERSION))
+
+ifeq ($(MSYS_VERSION),$(filter $(MSYS_VERSION),0 1))
+ # Older versions of MSYS don't have cygpath by default. #M#
+
+ # Current full path directory. #M#
+ #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
+ CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+
+ # Current full path directory for use in source code in a -D compiler option. #M#
+ #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
+ CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+else
+ # MSYS2 and up have cygpath by default #M#
+
+ # Current full path directory. #M#
+ CURR_FULL_DIR?=$(shell cygpath . -a -m)#M#
+
+ # Current full path directory for use in source code in a -D compiler option. #M#
+ CURR_SRCCODE_FULL_DIR=$(shell cygpath . -a -m)#M#
+endif
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-mingw64 b/Build/source/libs/icu/icu-src/source/config/mh-mingw64
index 7d464e572bb..456997a5e94 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-mingw64
+++ b/Build/source/libs/icu/icu-src/source/config/mh-mingw64
@@ -103,13 +103,29 @@ LIBICU = $(STATIC_PREFIX_WHEN_USED)$(ICUPREFIX)
#SH## with usually. Many applications will want to add ${ICULIBS_I18N} as well.
#SH#ICULIBS="${ICULIBS_BASE} ${ICULIBS_I18N} ${ICULIBS_COMMON} ${ICULIBS_DATA} "
-# The #M# is used to delete lines for icu-config
-# Current full path directory.
-#CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
-CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
-# Current full path directory for use in source code in a -D compiler option.
-#CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
-CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+# Note: The #M# is used to delete lines for icu-config
+MSYS_VERSION ?= $(if $(findstring Msys, $(shell uname -o)),$(word 1, $(subst ., ,$(shell uname -r))),0)#M#
+$(info Detected MSYS version: $(MSYS_VERSION))
+
+ifeq ($(MSYS_VERSION),$(filter $(MSYS_VERSION),0 1))
+ # Older versions of MSYS don't have cygpath by default. #M#
+
+ # Current full path directory. #M#
+ #CURR_FULL_DIR=$(shell pwd -W)#M# for MSYS
+ CURR_FULL_DIR?=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+
+ # Current full path directory for use in source code in a -D compiler option. #M#
+ #CURR_SRCCODE_FULL_DIR=$(subst /,\\\\,$(shell pwd -W))#M# for MSYS
+ CURR_SRCCODE_FULL_DIR=$(subst \,/,$(shell cmd /c cd))#M# for Cygwin shell
+else
+ # MSYS2 and up have cygpath by default #M#
+
+ # Current full path directory. #M#
+ CURR_FULL_DIR?=$(shell cygpath . -a -m)#M#
+
+ # Current full path directory for use in source code in a -D compiler option. #M#
+ CURR_SRCCODE_FULL_DIR=$(shell cygpath . -a -m)#M#
+endif
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-msys-msvc b/Build/source/libs/icu/icu-src/source/config/mh-msys-msvc
index 05fe514ac7b..17f710ef3c9 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-msys-msvc
+++ b/Build/source/libs/icu/icu-src/source/config/mh-msys-msvc
@@ -122,13 +122,13 @@ LIBCTESTFW= $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSU
LIBICUTOOLUTIL= $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).lib
## These are the library specific LDFLAGS
-LDFLAGSICUDT+= -base:"0x4ad00000" -NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
-LDFLAGSICUUC= -base:"0x4a800000"# in-uc = 1MB
-LDFLAGSICUI18N= -base:"0x4a900000"# io-in = 2MB
-LDFLAGSICUIO= -base:"0x4ab00000"# le-io = 1MB
-LDFLAGSICULX= -base:"0x4ac80000"
+LDFLAGSICUDT+= -NOENTRY# The NOENTRY option is required for creating a resource-only DLL.
+LDFLAGSICUUC=# Unused for now.
+LDFLAGSICUI18N=# Unused for now.
+LDFLAGSICUIO=# Unused for now.
+LDFLAGSICULX=# Unused for now.
LDFLAGSCTESTFW=# Unused for now.
-LDFLAGSICUTOOLUTIL= -base:"0x4ac00000"# Same as layout. Layout and tools probably won't mix.
+LDFLAGSICUTOOLUTIL=# Unused for now.
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-solaris b/Build/source/libs/icu/icu-src/source/config/mh-solaris
index 3d7e6fe79f4..5e2abcfeb59 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-solaris
+++ b/Build/source/libs/icu/icu-src/source/config/mh-solaris
@@ -56,7 +56,7 @@ LD_RPATH_PRE= -R
#LIBRARY_PATH_PREFIX=/usr/lib/lwp:
## Compiler switch to embed a library name
-LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
## Shared object suffix
SO= so
diff --git a/Build/source/libs/icu/icu-src/source/config/mh-solaris-gcc b/Build/source/libs/icu/icu-src/source/config/mh-solaris-gcc
index 63db4f02874..d55d9cca0cd 100644
--- a/Build/source/libs/icu/icu-src/source/config/mh-solaris-gcc
+++ b/Build/source/libs/icu/icu-src/source/config/mh-solaris-gcc
@@ -25,7 +25,7 @@ LD_RPATH= -R'$$'ORIGIN
LD_RPATH_PRE= -R
## Compiler switch to embed a library name
-LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET))
+LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET)) $(PKGDATA_TRAILING_SPACE)
## Shared library options
LD_SOOPTIONS= -Wl,-Bsymbolic
diff --git a/Build/source/libs/icu/icu-src/source/config/pkgdataMakefile.in b/Build/source/libs/icu/icu-src/source/config/pkgdataMakefile.in
index 7bf24cc6b18..f6fe1984dcb 100644
--- a/Build/source/libs/icu/icu-src/source/config/pkgdataMakefile.in
+++ b/Build/source/libs/icu/icu-src/source/config/pkgdataMakefile.in
@@ -16,6 +16,7 @@ include $(top_builddir)/icudefs.mk
OUTPUTFILE=pkgdata.inc
MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
@@ -36,7 +37,6 @@ all : clean
@echo RANLIB=$(RANLIB) >> $(OUTPUTFILE)
@echo INSTALL_CMD=$(INSTALL-L) >> $(OUTPUTFILE)
-
clean :
$(RMV) $(OUTPUTFILE)
diff --git a/Build/source/libs/icu/icu-src/source/configure b/Build/source/libs/icu/icu-src/source/configure
index 972951ef7bc..ed5c8745ca7 100755
--- a/Build/source/libs/icu/icu-src/source/configure
+++ b/Build/source/libs/icu/icu-src/source/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ICU 63.1.
+# Generated by GNU Autoconf 2.69 for ICU 65.1.
#
# Report bugs to .
#
@@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ICU'
PACKAGE_TARNAME='International Components for Unicode'
-PACKAGE_VERSION='63.1'
-PACKAGE_STRING='ICU 63.1'
+PACKAGE_VERSION='65.1'
+PACKAGE_STRING='ICU 65.1'
PACKAGE_BUGREPORT='http://icu-project.org/bugs'
PACKAGE_URL='http://icu-project.org'
@@ -645,6 +645,8 @@ ICULIBSUFFIX
DATA_PACKAGING_MODE
thepkgicudatadir
pkgicudatadir
+U_HAVE_FUZZER
+FUZZER_TRUE
U_HAVE_TOOLS
TOOLS_TRUE
U_HAVE_LAYOUTEX
@@ -694,7 +696,7 @@ GREP
DOXYGEN
cross_buildroot
U_MAKE
-PYTHON3
+PYTHON
cross_compiling
INSTALL_DATA
INSTALL_SCRIPT
@@ -753,7 +755,6 @@ infodir
docdir
oldincludedir
includedir
-runstatedir
localstatedir
sharedstatedir
sysconfdir
@@ -798,6 +799,7 @@ enable_icuio
enable_layoutex
enable_layout
enable_tools
+enable_fuzzer
with_data_packaging
with_library_suffix
enable_tests
@@ -858,7 +860,6 @@ datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1111,15 +1112,6 @@ do
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
- -runstatedir | --runstatedir | --runstatedi | --runstated \
- | --runstate | --runstat | --runsta | --runst | --runs \
- | --run | --ru | --r)
- ac_prev=runstatedir ;;
- -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
- | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
- | --run=* | --ru=* | --r=*)
- runstatedir=$ac_optarg ;;
-
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1257,7 +1249,7 @@ fi
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir runstatedir
+ libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
@@ -1370,7 +1362,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ICU 63.1 to adapt to many kinds of systems.
+\`configure' configures ICU 65.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1410,7 +1402,6 @@ Fine tuning of the installation directories:
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1437,7 +1428,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ICU 63.1:";;
+ short | recursive ) echo "Configuration of ICU 65.1:";;
esac
cat <<\_ACEOF
@@ -1466,6 +1457,7 @@ Optional Features:
icu-le-hb must be installed via pkg-config. See http://harfbuzz.org
--enable-tools build ICU's tools default=yes
+ --enable-fuzzer build ICU's fuzzer test targets default=no
--enable-tests build ICU tests default=yes
--enable-samples build ICU samples default=yes
@@ -1574,7 +1566,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ICU configure 63.1
+ICU configure 65.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2209,6 +2201,60 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_func
+# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
+# ---------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_cxx_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_type
+
# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
# -------------------------------------------
# Tests whether TYPE exists after having included INCLUDES, setting cache
@@ -2266,7 +2312,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ICU $as_me 63.1, which was
+It was created by ICU $as_me 65.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2615,6 +2661,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+# Instruct Python to never write any byte code to the ICU source tree.
+PYTHONDONTWRITEBYTECODE=1
+export PYTHONDONTWRITEBYTECODE
+
@@ -4200,17 +4250,18 @@ fi
#AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
#AC_CHECK_PROG(STRIP, strip, strip, true)
-for ac_prog in python3
+# TODO(ICU-20301): Remove fallback to Python 2.
+for ac_prog in python3 "py -3" python "py"
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PYTHON3+:} false; then :
+if ${ac_cv_prog_PYTHON+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -n "$PYTHON3"; then
- ac_cv_prog_PYTHON3="$PYTHON3" # Let the user override the test.
+ if test -n "$PYTHON"; then
+ ac_cv_prog_PYTHON="$PYTHON" # Let the user override the test.
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
@@ -4219,7 +4270,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_PYTHON3="$ac_prog"
+ ac_cv_prog_PYTHON="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
@@ -4229,20 +4280,21 @@ IFS=$as_save_IFS
fi
fi
-PYTHON3=$ac_cv_prog_PYTHON3
-if test -n "$PYTHON3"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON3" >&5
-$as_echo "$PYTHON3" >&6; }
+PYTHON=$ac_cv_prog_PYTHON
+if test -n "$PYTHON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+$as_echo "$PYTHON" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- test -n "$PYTHON3" && break
+ test -n "$PYTHON" && break
done
+
# Check for the platform make
for ac_prog in gmake gnumake
do
@@ -7156,6 +7208,29 @@ else
fi
+# Check if C++17 std::string_view is available.
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_fn_cxx_check_type "$LINENO" "std::string_view" "ac_cv_type_std__string_view" "#include
+"
+if test "x$ac_cv_type_std__string_view" = xyes; then :
+
+fi
+
+if test "x$ac_cv_type_std__string_view" = xyes; then :
+ CONFIG_CPPFLAGS="${CONFIG_CPPFLAGS} -DU_HAVE_STRING_VIEW=1"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
# Checks for typedefs
ac_fn_c_check_type "$LINENO" "int8_t" "ac_cv_type_int8_t" "$ac_includes_default"
if test "x$ac_cv_type_int8_t" = xyes; then :
@@ -7672,6 +7747,28 @@ else
U_HAVE_TOOLS=0
fi
+# Enable/disable fuzzer target tests.
+# Check whether --enable-fuzzer was given.
+if test "${enable_fuzzer+set}" = set; then :
+ enableval=$enable_fuzzer; case "${enableval}" in
+ yes) fuzzer=true ;;
+ no) fuzzer=false ;;
+ *) as_fn_error $? "bad value ${enableval} for --enable-fuzzer" "$LINENO" 5 ;;
+ esac
+else
+ fuzzer=false
+fi
+
+
+
+if test "$fuzzer" = true; then
+ FUZZER_TRUE=
+ U_HAVE_FUZZER=1
+else
+ FUZZER_TRUE='#'
+ U_HAVE_FUZZER=0
+fi
+
# Check whether --with-data-packaging was given.
if test "${with_data_packaging+set}" = set; then :
@@ -7862,14 +7959,15 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.
-if test "${CC}" == "clang"; then
+if test "${CC}" = "clang"; then
CLANGCFLAGS="-Qunused-arguments -Wno-parentheses-equality"
else
CLANGCFLAGS=""
fi
-if test "${CXX}" == "clang++"; then
+if test "${CXX}" = "clang++"; then
CLANGCXXFLAGS="-Qunused-arguments -Wno-parentheses-equality"
+ LIBCXXFLAGS="$LIBCXXFLAGS -Wglobal-constructors"
else
CLANGCXXFLAGS=""
fi
@@ -7890,7 +7988,7 @@ echo "CXXFLAGS=$CXXFLAGS"
# output the Makefiles
-ac_config_files="$ac_config_files icudefs.mk Makefile data/pkgdataMakefile config/Makefile.inc config/icu.pc config/pkgdataMakefile data/Makefile stubdata/Makefile common/Makefile i18n/Makefile layoutex/Makefile io/Makefile extra/Makefile extra/uconv/Makefile extra/uconv/pkgdataMakefile extra/scrptrun/Makefile tools/Makefile tools/ctestfw/Makefile tools/toolutil/Makefile tools/makeconv/Makefile tools/genrb/Makefile tools/genccode/Makefile tools/gencmn/Makefile tools/gencnval/Makefile tools/gendict/Makefile tools/gentest/Makefile tools/gennorm2/Makefile tools/genbrk/Makefile tools/gensprep/Makefile tools/icuinfo/Makefile tools/icupkg/Makefile tools/icuswap/Makefile tools/pkgdata/Makefile tools/tzcode/Makefile tools/gencfu/Makefile tools/escapesrc/Makefile test/Makefile test/compat/Makefile test/testdata/Makefile test/testdata/pkgdataMakefile test/hdrtst/Makefile test/intltest/Makefile test/cintltst/Makefile test/iotest/Makefile test/letest/Makefile test/perf/Makefile test/perf/collationperf/Makefile test/perf/collperf/Makefile test/perf/collperf2/Makefile test/perf/dicttrieperf/Makefile test/perf/ubrkperf/Makefile test/perf/charperf/Makefile test/perf/convperf/Makefile test/perf/normperf/Makefile test/perf/DateFmtPerf/Makefile test/perf/howExpensiveIs/Makefile test/perf/strsrchperf/Makefile test/perf/unisetperf/Makefile test/perf/usetperf/Makefile test/perf/ustrperf/Makefile test/perf/utfperf/Makefile test/perf/utrie2perf/Makefile test/perf/leperf/Makefile samples/Makefile samples/date/Makefile samples/cal/Makefile samples/layout/Makefile"
+ac_config_files="$ac_config_files icudefs.mk Makefile data/pkgdataMakefile config/Makefile.inc config/icu.pc config/pkgdataMakefile data/Makefile stubdata/Makefile common/Makefile i18n/Makefile layoutex/Makefile io/Makefile extra/Makefile extra/uconv/Makefile extra/uconv/pkgdataMakefile extra/scrptrun/Makefile tools/Makefile tools/ctestfw/Makefile tools/toolutil/Makefile tools/makeconv/Makefile tools/genrb/Makefile tools/genccode/Makefile tools/gencmn/Makefile tools/gencnval/Makefile tools/gendict/Makefile tools/gentest/Makefile tools/gennorm2/Makefile tools/genbrk/Makefile tools/gensprep/Makefile tools/icuinfo/Makefile tools/icupkg/Makefile tools/icuswap/Makefile tools/pkgdata/Makefile tools/tzcode/Makefile tools/gencfu/Makefile tools/escapesrc/Makefile test/Makefile test/compat/Makefile test/testdata/Makefile test/testdata/pkgdataMakefile test/hdrtst/Makefile test/intltest/Makefile test/cintltst/Makefile test/iotest/Makefile test/letest/Makefile test/perf/Makefile test/perf/collationperf/Makefile test/perf/collperf/Makefile test/perf/collperf2/Makefile test/perf/dicttrieperf/Makefile test/perf/ubrkperf/Makefile test/perf/charperf/Makefile test/perf/convperf/Makefile test/perf/normperf/Makefile test/perf/DateFmtPerf/Makefile test/perf/howExpensiveIs/Makefile test/perf/strsrchperf/Makefile test/perf/unisetperf/Makefile test/perf/usetperf/Makefile test/perf/ustrperf/Makefile test/perf/utfperf/Makefile test/perf/utrie2perf/Makefile test/perf/leperf/Makefile test/fuzzer/Makefile samples/Makefile samples/date/Makefile samples/cal/Makefile samples/layout/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -8435,7 +8533,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ICU $as_me 63.1, which was
+This file was extended by ICU $as_me 65.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8489,7 +8587,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ICU config.status 63.1
+ICU config.status 65.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -8663,6 +8761,7 @@ do
"test/perf/utfperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/utfperf/Makefile" ;;
"test/perf/utrie2perf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/utrie2perf/Makefile" ;;
"test/perf/leperf/Makefile") CONFIG_FILES="$CONFIG_FILES test/perf/leperf/Makefile" ;;
+ "test/fuzzer/Makefile") CONFIG_FILES="$CONFIG_FILES test/fuzzer/Makefile" ;;
"samples/Makefile") CONFIG_FILES="$CONFIG_FILES samples/Makefile" ;;
"samples/date/Makefile") CONFIG_FILES="$CONFIG_FILES samples/date/Makefile" ;;
"samples/cal/Makefile") CONFIG_FILES="$CONFIG_FILES samples/cal/Makefile" ;;
@@ -9122,6 +9221,41 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
+if test -z "$PYTHON";
+then
+ echo "" > data/rules.mk
+ echo "" > test/testdata/rules.mk
+else
+ if test -f "$srcdir/data/locales/root.txt";
+ then
+ echo "Spawning Python to generate data/rules.mk..."
+ PYTHONPATH="$srcdir/python" \
+ $PYTHON -m icutools.databuilder \
+ --mode gnumake \
+ --seqmode parallel \
+ --src_dir "$srcdir/data" \
+ --filter_file "$ICU_DATA_FILTER_FILE" \
+ $ICU_DATA_BUILDTOOL_OPTS \
+ > data/rules.mk
+ if test "$?" != "0"; then
+ as_fn_error $? "Python failed to run; see above error." "$LINENO" 5
+ fi
+ else
+ echo "Not rebuilding data/rules.mk, assuming prebuilt data in data/in"
+ touch data/rules.mk
+ fi
+ echo "Spawning Python to generate test/testdata/rules.mk..."
+ PYTHONPATH="$srcdir/python" \
+ $PYTHON -m icutools.databuilder \
+ --mode gnumake \
+ --seqmode parallel \
+ --src_dir "$srcdir/test/testdata" \
+ > test/testdata/rules.mk
+ if test "$?" != "0"; then
+ as_fn_error $? "Python failed to run; see above error." "$LINENO" 5
+ fi
+fi
+
echo
echo "ICU for C/C++ $VERSION is ready to be built."
echo "=== Important Notes: ==="
@@ -9204,17 +9338,9 @@ then
echo "## Expect build failures in the 'data', 'test', and other directories."
fi
-if test -z "$PYTHON3";
+if test -z "$PYTHON";
then
- echo ""
- echo "NOTICE: Unable to find Python 3. ICU versions 64 and later will require Python 3 to build."
- echo "See ICU-10923 for more information: https://unicode-org.atlassian.net/browse/ICU-10923"
- echo ""
-else
- echo ""
- echo "Found Python 3. You are all set for ICU 64, which will require Python 3 to build."
- echo "For more info on Python 3 requirement, see: https://unicode-org.atlassian.net/browse/ICU-10923"
- echo ""
+ echo "** Note: Python not found. You will not be able to build data from source or run tests."
fi
$as_unset _CXX_CXXSUFFIX
diff --git a/Build/source/libs/icu/icu-src/source/data/BUILDRULES.py b/Build/source/libs/icu/icu-src/source/data/BUILDRULES.py
new file mode 100644
index 00000000000..08091ee8092
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/data/BUILDRULES.py
@@ -0,0 +1,573 @@
+# Copyright (C) 2018 and later: Unicode, Inc. and others.
+# License & terms of use: http://www.unicode.org/copyright.html
+
+# Python 2/3 Compatibility (ICU-20299)
+# TODO(ICU-20301): Remove this.
+from __future__ import print_function
+
+from icutools.databuilder import *
+from icutools.databuilder import locale_dependencies
+from icutools.databuilder import utils
+from icutools.databuilder.request_types import *
+
+import os
+import sys
+
+
+def generate(config, glob, common_vars):
+ requests = []
+
+ if len(glob("misc/*")) == 0:
+ print("Error: Cannot find data directory; please specify --src_dir", file=sys.stderr)
+ exit(1)
+
+ requests += generate_cnvalias(config, glob, common_vars)
+ requests += generate_ulayout(config, glob, common_vars)
+ requests += generate_confusables(config, glob, common_vars)
+ requests += generate_conversion_mappings(config, glob, common_vars)
+ requests += generate_brkitr_brk(config, glob, common_vars)
+ requests += generate_stringprep(config, glob, common_vars)
+ requests += generate_brkitr_dictionaries(config, glob, common_vars)
+ requests += generate_normalization(config, glob, common_vars)
+ requests += generate_coll_ucadata(config, glob, common_vars)
+ requests += generate_full_unicore_data(config, glob, common_vars)
+ requests += generate_unames(config, glob, common_vars)
+ requests += generate_misc(config, glob, common_vars)
+ requests += generate_curr_supplemental(config, glob, common_vars)
+ requests += generate_translit(config, glob, common_vars)
+
+ # Res Tree Files
+ # (input dirname, output dirname, resfiles.mk path, mk version var, mk source var, use pool file, dep files)
+ requests += generate_tree(config, glob, common_vars,
+ "locales",
+ None,
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "curr",
+ "curr",
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "lang",
+ "lang",
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "region",
+ "region",
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "zone",
+ "zone",
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "unit",
+ "unit",
+ "icu-locale-deprecates.xml",
+ config.use_pool_bundle,
+ [])
+
+ requests += generate_tree(config, glob, common_vars,
+ "coll",
+ "coll",
+ "icu-coll-deprecates.xml",
+ # Never use pool bundle for coll, brkitr, or rbnf
+ False,
+ # Depends on timezoneTypes.res and keyTypeData.res.
+ # TODO: We should not need this dependency to build collation.
+ # TODO: Bake keyTypeData.res into the common library?
+ [DepTarget("coll_ucadata"), DepTarget("misc_res"), InFile("unidata/UCARules.txt")])
+
+ requests += generate_tree(config, glob, common_vars,
+ "brkitr",
+ "brkitr",
+ "icu-locale-deprecates.xml",
+ # Never use pool bundle for coll, brkitr, or rbnf
+ False,
+ [DepTarget("brkitr_brk"), DepTarget("dictionaries")])
+
+ requests += generate_tree(config, glob, common_vars,
+ "rbnf",
+ "rbnf",
+ "icu-rbnf-deprecates.xml",
+ # Never use pool bundle for coll, brkitr, or rbnf
+ False,
+ [])
+
+ requests += [
+ ListRequest(
+ name = "icudata_list",
+ variable_name = "icudata_all_output_files",
+ output_file = TmpFile("icudata.lst"),
+ include_tmp = False
+ )
+ ]
+
+ return requests
+
+
+def generate_cnvalias(config, glob, common_vars):
+ # UConv Name Aliases
+ input_file = InFile("mappings/convrtrs.txt")
+ output_file = OutFile("cnvalias.icu")
+ return [
+ SingleExecutionRequest(
+ name = "cnvalias",
+ category = "cnvalias",
+ dep_targets = [],
+ input_files = [input_file],
+ output_files = [output_file],
+ tool = IcuTool("gencnval"),
+ args = "-s {IN_DIR} -d {OUT_DIR} "
+ "{INPUT_FILES[0]}",
+ format_with = {}
+ )
+ ]
+
+
+def generate_confusables(config, glob, common_vars):
+ # CONFUSABLES
+ txt1 = InFile("unidata/confusables.txt")
+ txt2 = InFile("unidata/confusablesWholeScript.txt")
+ cfu = OutFile("confusables.cfu")
+ return [
+ SingleExecutionRequest(
+ name = "confusables",
+ category = "confusables",
+ dep_targets = [DepTarget("cnvalias")],
+ input_files = [txt1, txt2],
+ output_files = [cfu],
+ tool = IcuTool("gencfu"),
+ args = "-d {OUT_DIR} -i {OUT_DIR} "
+ "-c -r {IN_DIR}/{INPUT_FILES[0]} -w {IN_DIR}/{INPUT_FILES[1]} "
+ "-o {OUTPUT_FILES[0]}",
+ format_with = {}
+ )
+ ]
+
+
+def generate_conversion_mappings(config, glob, common_vars):
+ # UConv Conversion Table Files
+ input_files = [InFile(filename) for filename in glob("mappings/*.ucm")]
+ output_files = [OutFile("%s.cnv" % v.filename[9:-4]) for v in input_files]
+ # TODO: handle BUILD_SPECIAL_CNV_FILES? Means to add --ignore-siso-check flag to makeconv
+ return [
+ RepeatedOrSingleExecutionRequest(
+ name = "conversion_mappings",
+ category = "conversion_mappings",
+ dep_targets = [],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("makeconv"),
+ args = "-s {IN_DIR} -d {OUT_DIR} -c {INPUT_FILE_PLACEHOLDER}",
+ format_with = {},
+ repeat_with = {
+ "INPUT_FILE_PLACEHOLDER": utils.SpaceSeparatedList(file.filename for file in input_files)
+ }
+ )
+ ]
+
+
+def generate_brkitr_brk(config, glob, common_vars):
+ # BRK Files
+ input_files = [InFile(filename) for filename in glob("brkitr/rules/*.txt")]
+ output_files = [OutFile("brkitr/%s.brk" % v.filename[13:-4]) for v in input_files]
+ return [
+ RepeatedExecutionRequest(
+ name = "brkitr_brk",
+ category = "brkitr_rules",
+ dep_targets = [DepTarget("cnvalias"), DepTarget("ulayout")],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("genbrk"),
+ args = "-d {OUT_DIR} -i {OUT_DIR} "
+ "-c -r {IN_DIR}/{INPUT_FILE} "
+ "-o {OUTPUT_FILE}",
+ format_with = {},
+ repeat_with = {}
+ )
+ ]
+
+
+def generate_stringprep(config, glob, common_vars):
+ # SPP FILES
+ input_files = [InFile(filename) for filename in glob("sprep/*.txt")]
+ output_files = [OutFile("%s.spp" % v.filename[6:-4]) for v in input_files]
+ bundle_names = [v.filename[6:-4] for v in input_files]
+ return [
+ RepeatedExecutionRequest(
+ name = "stringprep",
+ category = "stringprep",
+ dep_targets = [InFile("unidata/NormalizationCorrections.txt")],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("gensprep"),
+ args = "-s {IN_DIR}/sprep -d {OUT_DIR} -i {OUT_DIR} "
+ "-b {BUNDLE_NAME} -m {IN_DIR}/unidata -u 3.2.0 {BUNDLE_NAME}.txt",
+ format_with = {},
+ repeat_with = {
+ "BUNDLE_NAME": bundle_names
+ }
+ )
+ ]
+
+
+def generate_brkitr_dictionaries(config, glob, common_vars):
+ # Dict Files
+ input_files = [InFile(filename) for filename in glob("brkitr/dictionaries/*.txt")]
+ output_files = [OutFile("brkitr/%s.dict" % v.filename[20:-4]) for v in input_files]
+ extra_options_map = {
+ "brkitr/dictionaries/burmesedict.txt": "--bytes --transform offset-0x1000",
+ "brkitr/dictionaries/cjdict.txt": "--uchars",
+ "brkitr/dictionaries/khmerdict.txt": "--bytes --transform offset-0x1780",
+ "brkitr/dictionaries/laodict.txt": "--bytes --transform offset-0x0e80",
+ "brkitr/dictionaries/thaidict.txt": "--bytes --transform offset-0x0e00"
+ }
+ extra_optionses = [extra_options_map[v.filename] for v in input_files]
+ return [
+ RepeatedExecutionRequest(
+ name = "dictionaries",
+ category = "brkitr_dictionaries",
+ dep_targets = [],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("gendict"),
+ args = "-i {OUT_DIR} "
+ "-c {EXTRA_OPTIONS} "
+ "{IN_DIR}/{INPUT_FILE} {OUT_DIR}/{OUTPUT_FILE}",
+ format_with = {},
+ repeat_with = {
+ "EXTRA_OPTIONS": extra_optionses
+ }
+ )
+ ]
+
+
+def generate_normalization(config, glob, common_vars):
+ # NRM Files
+ input_files = [InFile(filename) for filename in glob("in/*.nrm")]
+ # nfc.nrm is pre-compiled into C++; see generate_full_unicore_data
+ input_files.remove(InFile("in/nfc.nrm"))
+ output_files = [OutFile(v.filename[3:]) for v in input_files]
+ return [
+ RepeatedExecutionRequest(
+ name = "normalization",
+ category = "normalization",
+ dep_targets = [],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("icupkg"),
+ args = "-t{ICUDATA_CHAR} {IN_DIR}/{INPUT_FILE} {OUT_DIR}/{OUTPUT_FILE}",
+ format_with = {},
+ repeat_with = {}
+ )
+ ]
+
+
+def generate_coll_ucadata(config, glob, common_vars):
+ # Collation Dependency File (ucadata.icu)
+ input_file = InFile("in/coll/ucadata-%s.icu" % config.coll_han_type)
+ output_file = OutFile("coll/ucadata.icu")
+ return [
+ SingleExecutionRequest(
+ name = "coll_ucadata",
+ category = "coll_ucadata",
+ dep_targets = [],
+ input_files = [input_file],
+ output_files = [output_file],
+ tool = IcuTool("icupkg"),
+ args = "-t{ICUDATA_CHAR} {IN_DIR}/{INPUT_FILES[0]} {OUT_DIR}/{OUTPUT_FILES[0]}",
+ format_with = {}
+ )
+ ]
+
+
+def generate_full_unicore_data(config, glob, common_vars):
+ # The core Unicode properties files (pnames.icu, uprops.icu, ucase.icu, ubidi.icu)
+ # are hardcoded in the common DLL and therefore not included in the data package any more.
+ # They are not built by default but need to be built for ICU4J data,
+ # both in the .jar and in the .dat file (if ICU4J uses the .dat file).
+ # See ICU-4497.
+ if not config.include_uni_core_data:
+ return []
+
+ basenames = [
+ "pnames.icu",
+ "uprops.icu",
+ "ucase.icu",
+ "ubidi.icu",
+ "nfc.nrm"
+ ]
+ input_files = [InFile("in/%s" % bn) for bn in basenames]
+ output_files = [OutFile(bn) for bn in basenames]
+ return [
+ RepeatedExecutionRequest(
+ name = "unicore",
+ category = "unicore",
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("icupkg"),
+ args = "-t{ICUDATA_CHAR} {IN_DIR}/{INPUT_FILE} {OUT_DIR}/{OUTPUT_FILE}"
+ )
+ ]
+
+
+def generate_unames(config, glob, common_vars):
+ # Unicode Character Names
+ input_file = InFile("in/unames.icu")
+ output_file = OutFile("unames.icu")
+ return [
+ SingleExecutionRequest(
+ name = "unames",
+ category = "unames",
+ dep_targets = [],
+ input_files = [input_file],
+ output_files = [output_file],
+ tool = IcuTool("icupkg"),
+ args = "-t{ICUDATA_CHAR} {IN_DIR}/{INPUT_FILES[0]} {OUT_DIR}/{OUTPUT_FILES[0]}",
+ format_with = {}
+ )
+ ]
+
+
+def generate_ulayout(config, glob, common_vars):
+ # Unicode text layout properties
+ basename = "ulayout"
+ input_file = InFile("in/%s.icu" % basename)
+ output_file = OutFile("%s.icu" % basename)
+ return [
+ SingleExecutionRequest(
+ name = basename,
+ category = basename,
+ dep_targets = [],
+ input_files = [input_file],
+ output_files = [output_file],
+ tool = IcuTool("icupkg"),
+ args = "-t{ICUDATA_CHAR} {IN_DIR}/{INPUT_FILES[0]} {OUT_DIR}/{OUTPUT_FILES[0]}",
+ format_with = {}
+ )
+ ]
+
+
+def generate_misc(config, glob, common_vars):
+ # Misc Data Res Files
+ input_files = [InFile(filename) for filename in glob("misc/*.txt")]
+ input_basenames = [v.filename[5:] for v in input_files]
+ output_files = [OutFile("%s.res" % v[:-4]) for v in input_basenames]
+ return [
+ RepeatedExecutionRequest(
+ name = "misc_res",
+ category = "misc",
+ dep_targets = [],
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("genrb"),
+ args = "-s {IN_DIR}/misc -d {OUT_DIR} -i {OUT_DIR} "
+ "-k -q "
+ "{INPUT_BASENAME}",
+ format_with = {},
+ repeat_with = {
+ "INPUT_BASENAME": input_basenames
+ }
+ )
+ ]
+
+
+def generate_curr_supplemental(config, glob, common_vars):
+ # Currency Supplemental Res File
+ input_file = InFile("curr/supplementalData.txt")
+ input_basename = "supplementalData.txt"
+ output_file = OutFile("curr/supplementalData.res")
+ return [
+ SingleExecutionRequest(
+ name = "curr_supplemental_res",
+ category = "curr_supplemental",
+ dep_targets = [],
+ input_files = [input_file],
+ output_files = [output_file],
+ tool = IcuTool("genrb"),
+ args = "-s {IN_DIR}/curr -d {OUT_DIR}/curr -i {OUT_DIR} "
+ "-k "
+ "{INPUT_BASENAME}",
+ format_with = {
+ "INPUT_BASENAME": input_basename
+ }
+ )
+ ]
+
+
+def generate_translit(config, glob, common_vars):
+ input_files = [
+ InFile("translit/root.txt"),
+ InFile("translit/en.txt"),
+ InFile("translit/el.txt")
+ ]
+ dep_files = set(InFile(filename) for filename in glob("translit/*.txt"))
+ dep_files -= set(input_files)
+ dep_files = list(sorted(dep_files))
+ input_basenames = [v.filename[9:] for v in input_files]
+ output_files = [
+ OutFile("translit/%s.res" % v[:-4])
+ for v in input_basenames
+ ]
+ return [
+ RepeatedOrSingleExecutionRequest(
+ name = "translit_res",
+ category = "translit",
+ dep_targets = dep_files,
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("genrb"),
+ args = "-s {IN_DIR}/translit -d {OUT_DIR}/translit -i {OUT_DIR} "
+ "-k "
+ "{INPUT_BASENAME}",
+ format_with = {
+ },
+ repeat_with = {
+ "INPUT_BASENAME": utils.SpaceSeparatedList(input_basenames)
+ }
+ )
+ ]
+
+
+def generate_tree(
+ config,
+ glob,
+ common_vars,
+ sub_dir,
+ out_sub_dir,
+ xml_filename,
+ use_pool_bundle,
+ dep_targets):
+ requests = []
+ category = "%s_tree" % sub_dir
+ out_prefix = "%s/" % out_sub_dir if out_sub_dir else ""
+ # TODO: Clean this up for curr
+ input_files = [InFile(filename) for filename in glob("%s/*.txt" % sub_dir)]
+ if sub_dir == "curr":
+ input_files.remove(InFile("curr/supplementalData.txt"))
+ input_basenames = [v.filename[len(sub_dir)+1:] for v in input_files]
+ output_files = [
+ OutFile("%s%s.res" % (out_prefix, v[:-4]))
+ for v in input_basenames
+ ]
+
+ # Generate Pool Bundle
+ if use_pool_bundle:
+ input_pool_files = [OutFile("%spool.res" % out_prefix)]
+ pool_target_name = "%s_pool_write" % sub_dir
+ use_pool_bundle_option = "--usePoolBundle {OUT_DIR}/{OUT_PREFIX}".format(
+ OUT_PREFIX = out_prefix,
+ **common_vars
+ )
+ requests += [
+ SingleExecutionRequest(
+ name = pool_target_name,
+ category = category,
+ dep_targets = dep_targets,
+ input_files = input_files,
+ output_files = input_pool_files,
+ tool = IcuTool("genrb"),
+ args = "-s {IN_DIR}/{IN_SUB_DIR} -d {OUT_DIR}/{OUT_PREFIX} -i {OUT_DIR} "
+ "--writePoolBundle -k "
+ "{INPUT_BASENAMES_SPACED}",
+ format_with = {
+ "IN_SUB_DIR": sub_dir,
+ "OUT_PREFIX": out_prefix,
+ "INPUT_BASENAMES_SPACED": utils.SpaceSeparatedList(input_basenames)
+ }
+ ),
+ ]
+ dep_targets = dep_targets + [DepTarget(pool_target_name)]
+ else:
+ use_pool_bundle_option = ""
+
+ # Generate Res File Tree
+ requests += [
+ RepeatedOrSingleExecutionRequest(
+ name = "%s_res" % sub_dir,
+ category = category,
+ dep_targets = dep_targets,
+ input_files = input_files,
+ output_files = output_files,
+ tool = IcuTool("genrb"),
+ args = "-s {IN_DIR}/{IN_SUB_DIR} -d {OUT_DIR}/{OUT_PREFIX} -i {OUT_DIR} "
+ "{EXTRA_OPTION} -k "
+ "{INPUT_BASENAME}",
+ format_with = {
+ "IN_SUB_DIR": sub_dir,
+ "OUT_PREFIX": out_prefix,
+ "EXTRA_OPTION": use_pool_bundle_option
+ },
+ repeat_with = {
+ "INPUT_BASENAME": utils.SpaceSeparatedList(input_basenames)
+ }
+ )
+ ]
+
+ # Generate res_index file
+ # Exclude the deprecated locale variants and root; see ICU-20628. This
+ # could be data-driven, but we do not want to perform I/O in this script
+ # (for example, we do not want to read from an XML file).
+ excluded_locales = set([
+ "ja_JP_TRADITIONAL",
+ "th_TH_TRADITIONAL",
+ "de_",
+ "de__PHONEBOOK",
+ "es_",
+ "es__TRADITIONAL",
+ "root",
+ ])
+ # Put alias locales in a separate structure; see ICU-20627
+ alias_locales = set(locale_dependencies.data["aliases"].keys())
+ alias_files = []
+ installed_files = []
+ for f in input_files:
+ file_stem = IndexRequest.locale_file_stem(f)
+ if file_stem in excluded_locales:
+ continue
+ destination = alias_files if file_stem in alias_locales else installed_files
+ destination.append(f)
+ cldr_version = locale_dependencies.data["cldrVersion"] if sub_dir == "locales" else None
+ index_file_txt = TmpFile("{IN_SUB_DIR}/{INDEX_NAME}.txt".format(
+ IN_SUB_DIR = sub_dir,
+ **common_vars
+ ))
+ index_res_file = OutFile("{OUT_PREFIX}{INDEX_NAME}.res".format(
+ OUT_PREFIX = out_prefix,
+ **common_vars
+ ))
+ index_file_target_name = "%s_index_txt" % sub_dir
+ requests += [
+ IndexRequest(
+ name = index_file_target_name,
+ category = category,
+ installed_files = installed_files,
+ alias_files = alias_files,
+ txt_file = index_file_txt,
+ output_file = index_res_file,
+ cldr_version = cldr_version,
+ args = "-s {TMP_DIR}/{IN_SUB_DIR} -d {OUT_DIR}/{OUT_PREFIX} -i {OUT_DIR} "
+ "-k "
+ "{INDEX_NAME}.txt",
+ format_with = {
+ "IN_SUB_DIR": sub_dir,
+ "OUT_PREFIX": out_prefix
+ }
+ )
+ ]
+
+ return requests
diff --git a/Build/source/libs/icu/icu-src/source/data/Makefile.in b/Build/source/libs/icu/icu-src/source/data/Makefile.in
index 688bcae3f15..d1fb80fe19b 100644
--- a/Build/source/libs/icu/icu-src/source/data/Makefile.in
+++ b/Build/source/libs/icu/icu-src/source/data/Makefile.in
@@ -82,35 +82,12 @@ endif
OUTTMPDIR=$(OUTDIR)/tmp
MAINBUILDDIR=$(OUTDIR)/build
BUILDDIR=$(MAINBUILDDIR)/$(ICUDATA_PLATFORM_NAME)
-UNICODEDATADIR=$(SRCDATADIR)/unidata
-LOCSRCDIR=$(SRCDATADIR)/locales
-CURRSRCDIR=$(SRCDATADIR)/curr
-CURRBLDDIR=$(BUILDDIR)/curr
-LANGSRCDIR=$(SRCDATADIR)/lang
-LANGBLDDIR=$(BUILDDIR)/lang
-REGIONSRCDIR=$(SRCDATADIR)/region
-REGIONBLDDIR=$(BUILDDIR)/region
-ZONESRCDIR=$(SRCDATADIR)/zone
-ZONEBLDDIR=$(BUILDDIR)/zone
-UNITSRCDIR=$(SRCDATADIR)/unit
-UNITBLDDIR=$(BUILDDIR)/unit
-COLSRCDIR=$(SRCDATADIR)/coll
-COLBLDDIR=$(BUILDDIR)/coll
-RBNFSRCDIR=$(SRCDATADIR)/rbnf
-RBNFBLDDIR=$(BUILDDIR)/rbnf
-TRANSLITSRCDIR=$(SRCDATADIR)/translit
-TRANSLITBLDDIR=$(BUILDDIR)/translit
MISCSRCDIR=$(SRCDATADIR)/misc
-BRKSRCDIR=$(SRCDATADIR)/brkitr
-BRKBLDDIR=$(BUILDDIR)/brkitr
-DICTSRCDIR=$(BRKSRCDIR)/dictionaries
-BRKRULESRCDIR=$(BRKSRCDIR)/rules
-MISCSRCDIR=$(SRCDATADIR)/misc
-UCMSRCDIR=$(SRCDATADIR)/mappings
-SPREPSRCDIR=$(SRCDATADIR)/sprep
-COMINCDIR=$(top_srcdir)/common/unicode
SRCLISTDEPS=Makefile $(srcdir)/Makefile.in
-BUILD_DIRS=$(OUTDIR) $(MAINBUILDDIR) $(BUILDDIR) $(CURRBLDDIR) $(LANGBLDDIR) $(REGIONBLDDIR) $(ZONEBLDDIR) $(UNITBLDDIR) $(BRKBLDDIR) $(COLBLDDIR) $(RBNFBLDDIR) $(TRANSLITBLDDIR) $(OUTTMPDIR) $(OUTTMPDIR_390STUB) $(OUTTMPDIR)/$(CURR_TREE) $(OUTTMPDIR)/$(LANG_TREE) $(OUTTMPDIR)/$(REGION_TREE) $(OUTTMPDIR)/$(ZONE_TREE) $(OUTTMPDIR)/$(UNIT_TREE) $(OUTTMPDIR)/$(COLLATION_TREE) $(OUTTMPDIR)/$(RBNF_TREE) $(OUTTMPDIR)/$(TRANSLIT_TREE) $(OUTTMPDIR)/$(BREAK_TREE)
+
+# Variable names for rules.mk
+OUT_DIR=$(BUILDDIR)
+TMP_DIR=$(OUTTMPDIR)
# relative lib links from pkgdata are the same as for tmp
TOOLDIR=$(top_builddir)/tools
@@ -131,7 +108,7 @@ install: all-local install-local
clean: clean-local
distclean : distclean-local
dist:
-check: all
+check: all check-local
check-exhaustive: check
@@ -141,7 +118,7 @@ check-exhaustive: check
distclean-local: clean
$(RMV) Makefile
-all-local: build-dir icupkg.inc build-local packagedata $(POST_DATA_BUILD) $(OS390PKG)
+all-local: icupkg.inc build-local packagedata $(POST_DATA_BUILD) $(OS390PKG)
dist-local:
@@ -149,7 +126,7 @@ clean-map:
-test -z *.map || $(RMV) *.map
clean-local: cleanpackage cleanfiles clean-map
- $(RMV) build-dir* build-local packagedata uni-core-data
+ $(RMV) $(OUTDIR) build-local packagedata uni-core-data
cleanfiles:
test -z "$(CLEANFILES)" || $(RMV) $(CLEANFILES)
@@ -159,6 +136,7 @@ cleanpackage:
$(RMV) $(LIBDIR)/*$(LIB_ICUDATA_NAME)*.$(SO)* $(LIBDIR)/$(LIB_STATIC_ICUDATA_NAME).$(A)
check-local:
+ PYTHONPATH=$(top_srcdir)/python @PYTHON@ -m icutools.databuilder.test
# Find out if we have a source archive.
# If we have that, then use that instead of building everything from scratch.
@@ -240,133 +218,14 @@ package390: $(OUTTMPDIR)/icudata390.lst $(PKGDATA_LIST) ./icupkg.inc packagedata
cp $(ICUPKGDATA_OUTDIR)/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO) $(top_builddir)/stubdata/$(LIB_ICUDATA_NAME)$(STUB_SUFFIX).$(SO)
-##### Define all the data files. the build rule that depends on them is below.
-# X_FILES_SHORT = just the base names (for lists)
-# X_FILES = full paths (for dependency)
+## Include the main build rules for data files
+include $(top_builddir)/$(subdir)/rules.mk
-## DAT files - Misc. data files.
-# 2005-may-05 Removed Unicode properties files (unorm.icu, uprops.icu, ucase.icu, ubidi.icu)
-# from data build. See Jitterbug 4497. (makedata.mak revision 1.117)
-# 2010-dec Removed pnames.icu.
-# These are now hardcoded in ICU4C and only loaded in ICU4J.
-#
-DAT_FILES_SHORT=unames.icu cnvalias.icu coll/ucadata.icu nfkc.nrm nfkc_cf.nrm uts46.nrm
-DAT_FILES=$(DAT_FILES_SHORT:%=$(BUILDDIR)/%)
-
-## BRK files
-BREAK_TREE=brkitr
--include $(BRKSRCDIR)/brkfiles.mk
--include $(BRKSRCDIR)/brklocal.mk
-ALL_BRK_SOURCE= $(BRK_SOURCE) $(BRK_SOURCE_LOCAL)
-BRK_FILES_SHORT=$(ALL_BRK_SOURCE:%.txt=$(BREAK_TREE)/%.brk)
-BRK_FILES=$(ALL_BRK_SOURCE:%.txt=$(BRKBLDDIR)/%.brk)
-ifdef BRK_DICT_SOURCE
-ALL_DICT_SOURCE=$(BRK_DICT_SOURCE) $(BRK_DICT_SOURCE_LOCAL)
-DICT_FILES_SHORT=$(ALL_DICT_SOURCE:%.txt=$(BREAK_TREE)/%.dict)
-DICT_FILES=$(ALL_DICT_SOURCE:%.txt=$(BRKBLDDIR)/%.dict)
-endif
-ifdef BRK_RES_SOURCE
-BRS_SRC= root.txt $(BRK_RES_SOURCE) $(BRK_RES_SOURCE_LOCAL)
-BRS_SRC_FILES = $(BRS_SRC:%=$(BRKSRCDIR)/%)
-INSTALLED_BRS_FILES = $(BRK_RES_SOURCE:%.txt=%) $(BRK_RES_SOURCE_LOCAL:%.txt=%)
-endif
-
-## Confusables (Spoofing) files
-ALL_CFU_SOURCE=$(UNICODEDATADIR)/confusables.txt $(UNICODEDATADIR)/confusablesWholeScript.txt
-CFU_FILES_SHORT=confusables.cfu
-CFU_FILES=$(BUILDDIR)/$(CFU_FILES_SHORT)
-
-## UCM files
--include $(UCMSRCDIR)/ucmcore.mk
--include $(UCMSRCDIR)/ucmfiles.mk
--include $(UCMSRCDIR)/ucmebcdic.mk
--include $(UCMSRCDIR)/ucmlocal.mk
-ALL_UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm $(UCM_SOURCE_CORE) $(UCM_SOURCE_FILES) $(UCM_SOURCE_EBCDIC) $(UCM_SOURCE_LOCAL)
-UCM_FILES = $(ALL_UCM_SOURCE:%=$(SRCDATADIR)/%)
-CNV_FILES = $(ALL_UCM_SOURCE:%.ucm=$(BUILDDIR)/%.cnv)
-CNV_FILES_SHORT = $(ALL_UCM_SOURCE:%.ucm=%.cnv)
-UCM_SOURCE_SPECIAL=$(UCM_SOURCE_EBCDIC_IGNORE_SISO) $(UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL)
-UCM_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:%=$(UCMSRCDIR)/%)
-CNV_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:%.ucm=$(BUILDDIR)/%.cnv)
-CNV_FILES_SHORT_SPECIAL=$(UCM_SOURCE_SPECIAL:%.ucm=%.cnv)
-
-## RES files
--include $(LOCSRCDIR)/resfiles.mk
--include $(CURRSRCDIR)/resfiles.mk
--include $(LANGSRCDIR)/resfiles.mk
--include $(REGIONSRCDIR)/resfiles.mk
--include $(ZONESRCDIR)/resfiles.mk
--include $(UNITSRCDIR)/resfiles.mk
--include $(COLSRCDIR)/colfiles.mk
--include $(RBNFSRCDIR)/rbnffiles.mk
--include $(TRANSLITSRCDIR)/trnsfiles.mk
--include $(LOCSRCDIR)/reslocal.mk
--include $(CURRSRCDIR)/reslocal.mk
--include $(LANGSRCDIR)/reslocal.mk
--include $(REGIONSRCDIR)/reslocal.mk
--include $(ZONESRCDIR)/reslocal.mk
--include $(UNITSRCDIR)/reslocal.mk
--include $(COLSRCDIR)/collocal.mk
--include $(BRKSRCDIR)/brslocal.mk
--include $(RBNFSRCDIR)/rbnflocal.mk
--include $(TRANSLITSRCDIR)/trnslocal.mk
-ifdef GENRB_SOURCE
-RES_SRC= root.txt $(GENRB_SOURCE) $(GENRB_ALIAS_SOURCE) $(GENRB_SOURCE_LOCAL) $(GENRB_ALIAS_SOURCE_LOCAL)
-RES_SRC_FILES = $(RES_SRC:%=$(LOCSRCDIR)/%)
-INSTALLED_RB_FILES = $(GENRB_SOURCE:%.txt=%) $(GENRB_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef CURR_SOURCE
-CURR_SRC= root.txt supplementalData.txt $(CURR_SOURCE) $(CURR_ALIAS_SOURCE) $(CURR_SOURCE_LOCAL)
-CURR_SRC_FILES = $(CURR_SRC:%=$(CURRSRCDIR)/%)
-INSTALLED_CURR_FILES = $(CURR_SOURCE:%.txt=%) $(CURR_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef LANG_SOURCE
-LANG_SRC= root.txt $(LANG_SOURCE) $(LANG_ALIAS_SOURCE) $(LANG_SOURCE_LOCAL)
-LANG_SRC_FILES = $(LANG_SRC:%=$(LANGSRCDIR)/%)
-INSTALLED_LANG_FILES = $(LANG_SOURCE:%.txt=%) $(LANG_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef REGION_SOURCE
-REGION_SRC= root.txt $(REGION_SOURCE) $(REGION_ALIAS_SOURCE) $(REGION_SOURCE_LOCAL)
-REGION_SRC_FILES = $(REGION_SRC:%=$(REGIONSRCDIR)/%)
-INSTALLED_REGION_FILES = $(REGION_SOURCE:%.txt=%) $(REGION_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef ZONE_SOURCE
-ZONE_SRC= root.txt $(ZONE_SOURCE) $(ZONE_ALIAS_SOURCE) $(ZONE_SOURCE_LOCAL) tzdbNames.txt
-ZONE_SRC_FILES = $(ZONE_SRC:%=$(ZONESRCDIR)/%)
-INSTALLED_ZONE_FILES = $(ZONE_SOURCE:%.txt=%) $(ZONE_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef UNIT_SOURCE
-UNIT_SRC= root.txt $(UNIT_SOURCE) $(UNIT_ALIAS_SOURCE) $(UNIT_SOURCE_LOCAL)
-UNIT_SRC_FILES = $(UNIT_SRC:%=$(UNITSRCDIR)/%)
-INSTALLED_UNIT_FILES = $(UNIT_SOURCE:%.txt=%) $(UNIT_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef COLLATION_SOURCE
-COL_SRC= root.txt $(COLLATION_SOURCE) $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE_LOCAL)
-COL_SRC_FILES = $(COL_SRC:%=$(COLSRCDIR)/%)
-INSTALLED_COL_FILES = $(COLLATION_SOURCE:%.txt=%) $(COLLATION_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef RBNF_SOURCE
-RBNF_SRC= root.txt $(RBNF_SOURCE) $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE_LOCAL)
-RBNF_SRC_FILES = $(RBNF_SRC:%=$(RBNFSRCDIR)/%)
-INSTALLED_RBNF_FILES = $(RBNF_SOURCE:%.txt=%) $(RBNF_SOURCE_LOCAL:%.txt=%)
-endif
-ifdef TRANSLIT_SOURCE
-TRANSLIT_SRC= $(TRANSLIT_SOURCE) $(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE_LOCAL)
-TRANSLIT_SRC_FILES = $(TRANSLIT_SRC:%=$(TRANSLITSRCDIR)/%)
-INSTALLED_TRANSLIT_FILES = $(TRANSLIT_SOURCE:%.txt=%) $(TRANSLIT_SOURCE_LOCAL:%.txt=%)
-endif
-GENRBOPTS=-k
-
-## MISC files
--include $(MISCSRCDIR)/miscfiles.mk
--include $(MISCSRCDIR)/misclocal.mk
-MSC_SOURCE= $(MISC_SOURCE) $(MISC_SOURCE_LOCAL)
-MSC_SRC_FILES=$(MSC_SOURCE:%=$(MISCSRCDIR)/%)
ifeq ($(ENABLE_SO_VERSION_DATA),1)
ifeq ($(PKGDATA_MODE),dll)
SO_VERSION_DATA = $(OUTTMPDIR)/icudata.res
-$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc | build-dir
+$(SO_VERSION_DATA) : $(MISCSRCDIR)/icudata.rc
ifeq ($(MSYS_RC_MODE),1)
rc.exe -i$(srcdir)/../common -i$(top_builddir)/common -fo$@ $(CPPFLAGS) $<
else
@@ -375,89 +234,8 @@ endif
endif
endif
-INDEX_NAME=res_index
-INDEX_FILE=$(OUTTMPDIR)/$(INDEX_NAME).txt
-
-ALL_RES_SRC= $(RES_SRC) $(TRNS_SOURCE) $(MSC_SOURCE)
-RES_FILES = $(ALL_RES_SRC:%.txt=$(BUILDDIR)/%.res) $(BUILDDIR)/$(INDEX_NAME).res $(BUILDDIR)/pool.res
-RES_FILES_SHORT = $(ALL_RES_SRC:%.txt=%.res) $(INDEX_NAME).res pool.res
-PKGDATA_LIST = $(OUTTMPDIR)/icudata.lst
-
-CURR_TREE=curr
-CURR_INDEX_FILE=$(OUTTMPDIR)/$(CURR_TREE)/$(INDEX_NAME).txt
-CURR_FILES = $(CURR_SRC:%.txt=$(CURRBLDDIR)/%.res) $(CURRBLDDIR)/$(INDEX_NAME).res $(CURRBLDDIR)/pool.res
-CURR_FILES_SHORT = $(CURR_SRC:%.txt=$(CURR_TREE)/%.res) $(CURR_TREE)/$(INDEX_NAME).res $(CURR_TREE)/pool.res
-
-LANG_TREE=lang
-LANG_INDEX_FILE=$(OUTTMPDIR)/$(LANG_TREE)/$(INDEX_NAME).txt
-LANG_FILES = $(LANG_SRC:%.txt=$(LANGBLDDIR)/%.res) $(LANGBLDDIR)/$(INDEX_NAME).res $(LANGBLDDIR)/pool.res
-LANG_FILES_SHORT = $(LANG_SRC:%.txt=$(LANG_TREE)/%.res) $(LANG_TREE)/$(INDEX_NAME).res $(LANG_TREE)/pool.res
-
-REGION_TREE=region
-REGION_INDEX_FILE=$(OUTTMPDIR)/$(REGION_TREE)/$(INDEX_NAME).txt
-REGION_FILES = $(REGION_SRC:%.txt=$(REGIONBLDDIR)/%.res) $(REGIONBLDDIR)/$(INDEX_NAME).res $(REGIONBLDDIR)/pool.res
-REGION_FILES_SHORT = $(REGION_SRC:%.txt=$(REGION_TREE)/%.res) $(REGION_TREE)/$(INDEX_NAME).res $(REGION_TREE)/pool.res
-
-ZONE_TREE=zone
-ZONE_INDEX_FILE=$(OUTTMPDIR)/$(ZONE_TREE)/$(INDEX_NAME).txt
-ZONE_FILES = $(ZONE_SRC:%.txt=$(ZONEBLDDIR)/%.res) $(ZONEBLDDIR)/$(INDEX_NAME).res $(ZONEBLDDIR)/pool.res
-ZONE_FILES_SHORT = $(ZONE_SRC:%.txt=$(ZONE_TREE)/%.res) $(ZONE_TREE)/$(INDEX_NAME).res $(ZONE_TREE)/pool.res
-
-UNIT_TREE=unit
-UNIT_INDEX_FILE=$(OUTTMPDIR)/$(UNIT_TREE)/$(INDEX_NAME).txt
-UNIT_FILES = $(UNIT_SRC:%.txt=$(UNITBLDDIR)/%.res) $(UNITBLDDIR)/$(INDEX_NAME).res $(UNITBLDDIR)/pool.res
-UNIT_FILES_SHORT = $(UNIT_SRC:%.txt=$(UNIT_TREE)/%.res) $(UNIT_TREE)/$(INDEX_NAME).res $(UNIT_TREE)/pool.res
-
-COLLATION_TREE=coll
-COLLATION_INDEX_FILE=$(OUTTMPDIR)/$(COLLATION_TREE)/$(INDEX_NAME).txt
-COLLATION_INDEX_RES=$(COLBLDDIR)/$(INDEX_NAME).res
-COLLATION_INDEX_RES_SHORT=$(COLLATION_TREE)/$(INDEX_NAME).res
-COLLATION_FILES = $(COL_SRC:%.txt=$(COLBLDDIR)/%.res) $(COLLATION_INDEX_RES)
-COLLATION_FILES_SHORT = $(COL_SRC:%.txt=$(COLLATION_TREE)/%.res)
-
-BRK_RES_INDEX_FILE=$(OUTTMPDIR)/$(BREAK_TREE)/$(INDEX_NAME).txt
-BRK_RES_INDEX_RES=$(BRKBLDDIR)/$(INDEX_NAME).res
-BRK_RES_INDEX_RES_SHORT=$(BREAK_TREE)/$(INDEX_NAME).res
-BRK_RES_FILES = $(BRS_SRC:%.txt=$(BRKBLDDIR)/%.res) $(BRK_RES_INDEX_RES)
-BRK_RES_FILES_SHORT = $(BRS_SRC:%.txt=$(BREAK_TREE)/%.res)
-
-RBNF_TREE=rbnf
-RBNF_INDEX_FILE=$(OUTTMPDIR)/$(RBNF_TREE)/$(INDEX_NAME).txt
-RBNF_INDEX_RES=$(RBNFBLDDIR)/$(INDEX_NAME).res
-RBNF_INDEX_RES_SHORT=$(RBNF_TREE)/$(INDEX_NAME).res
-RBNF_FILES = $(RBNF_SRC:%.txt=$(RBNFBLDDIR)/%.res) $(RBNF_INDEX_RES)
-RBNF_FILES_SHORT = $(RBNF_SRC:%.txt=$(RBNF_TREE)/%.res)
-
-TRANSLIT_TREE=translit
-#TRANSLIT_INDEX_FILE=$(OUTTMPDIR)/$(TRANSLIT_TREE)/$(INDEX_NAME).txt
-#TRANSLIT_INDEX_RES=$(TRANSLITBLDDIR)/$(INDEX_NAME).res
-#TRANSLIT_INDEX_RES_SHORT=$(TRANSLIT_TREE)/$(INDEX_NAME).res
-TRANSLIT_FILES = $(TRANSLIT_SRC:%.txt=$(TRANSLITBLDDIR)/%.res)
-TRANSLIT_FILES_SHORT = $(TRANSLIT_SRC:%.txt=$(TRANSLIT_TREE)/%.res)
-
-## SPP files
--include $(SPREPSRCDIR)/sprepfiles.mk
--include $(SPREPSRCDIR)/spreplocal.mk
-ALL_SPREP_SOURCE=$(SPREP_SOURCE) $(SPREP_SOURCE_LOCAL)
-SPREP_FILES = $(ALL_SPREP_SOURCE:%.txt=$(BUILDDIR)/%.spp)
-SPREP_FILES_SHORT = $(ALL_SPREP_SOURCE:%.txt=%.spp)
-
-## All generated files
-ALL_FILES = $(DAT_FILES) $(CNV_FILES) $(CNV_FILES_SPECIAL) $(BRK_FILES) $(DICT_FILES) $(RES_FILES) $(INDEX_RES_FILE) $(CURR_FILES) $(LANG_FILES) $(REGION_FILES) $(ZONE_FILES) $(UNIT_FILES) $(COLLATION_FILES) $(BRK_RES_FILES) $(RBNF_FILES) $(TRANSLIT_FILES) $(SPREP_FILES) $(CFU_FILES)
-ALL_INDEX_SRC_FILES = $(PKGDATA_LIST) $(INDEX_FILE) $(CURR_INDEX_FILE) $(LANG_INDEX_FILE) $(REGION_INDEX_FILE) $(ZONE_INDEX_FILE) $(UNIT_INDEX_FILE) $(COLLATION_INDEX_FILE) $(BRK_RES_INDEX_FILE) $(RBNF_INDEX_FILE)
-# a list to use in the .lst files (package-relative)
-COLL_FILES_LIST=$(COLLATION_FILES_SHORT) $(COLLATION_INDEX_RES_SHORT)
-BRK_FILES_LIST=$(BRK_FILES_SHORT) $(BRK_RES_FILES_SHORT) $(BRK_RES_INDEX_RES_SHORT) $(DICT_FILES_SHORT)
-LOCALE_FILES_LIST= $(RES_FILES_SHORT) $(LANG_FILES_SHORT) $(REGION_FILES_SHORT) $(ZONE_FILES_SHORT) $(UNIT_FILES_SHORT)
-MISC_FILES_LIST=$(DAT_FILES_SHORT) $(CNV_FILES_SHORT) $(CNV_FILES_SHORT_SPECIAL) $(CURR_FILES_SHORT) $(RBNF_FILES_SHORT) $(RBNF_INDEX_RES_SHORT) $(TRANSLIT_FILES_SHORT) $(SPREP_FILES_SHORT) $(CFU_FILES_SHORT)
-UNI_CORE_DATA=pnames.icu uprops.icu ucase.icu ubidi.icu nfc.nrm
-UNI_CORE_TARGET_DATA=$(UNI_CORE_DATA:%=$(BUILDDIR)/%)
-
-ifneq ($(INCLUDE_UNI_CORE_DATA),)
-MISC_FILES_LIST+=$(UNI_CORE_DATA)
-build-local: uni-core-data
- echo timestamp > $@
-endif
+PKGDATA_LIST = $(TMP_DIR)/icudata.lst
+
#####################################################
# General data build rules
@@ -466,28 +244,14 @@ endif
CLEANFILES = *~ icupkg.inc *.x
ifeq ($(ICUDATA_SOURCE_ARCHIVE),)
-build-local: build-dir $(SO_VERSION_DATA) $(ALL_FILES) $(PKGDATA_LIST) $(OS390LIST)
+build-local: $(SO_VERSION_DATA) $(ICUDATA_ALL_OUTPUT_FILES) $(PKGDATA_LIST) $(OS390LIST)
echo timestamp > $@
-$(PKGDATA_LIST): $(SRCLISTDEPS)
- @echo "generating $@ (list of data files)"
- @-$(RMV) $@
- @for file in $(COLL_FILES_LIST); do \
- echo $$file >> $@; \
- done;
- @for file in $(BRK_FILES_LIST); do \
- echo $$file >> $@; \
- done;
- @for file in $(LOCALE_FILES_LIST); do \
- echo $$file >> $@; \
- done;
- @for file in $(MISC_FILES_LIST); do \
- echo $$file >> $@; \
- done;
else
-build-local: build-dir $(SO_VERSION_DATA) $(PKGDATA_LIST) $(OS390LIST)
+build-local: $(SO_VERSION_DATA) $(PKGDATA_LIST) $(OS390LIST)
echo timestamp > $@
$(PKGDATA_LIST): $(SRCLISTDEPS) $(ICUDATA_SOURCE_ARCHIVE)
ifneq ($(ICUDATA_SOURCE_IS_NATIVE_TARGET),YES)
+ $(MKINSTALLDIRS) $(OUTTMPDIR) $(BUILDDIR)
@echo "Unpacking $(ICUDATA_SOURCE_ARCHIVE) and generating $@ (list of data files)"
@-$(RMV) $@
$(INVOKE) $(TOOLBINDIR)/icupkg -d $(BUILDDIR) --list -x \* $(ICUDATA_SOURCE_ARCHIVE) -o $@
@@ -497,299 +261,12 @@ endif
endif
-$(BUILD_DIRS): build-dir
-
-build-dir:
- @-$(RMV) $@
- echo timestamp > $@.tmp
- @list='$(BUILD_DIRS)'; \
- for dir in $$list; do \
- if ! test -d $$dir; then \
- echo $(MKINSTALLDIRS) $(BUILD_DIRS); \
- $(MKINSTALLDIRS) $(BUILD_DIRS); \
- fi; \
- done
- mv $@.tmp $@
-
-# The | is an order-only prerequisite. This helps when the -j option is used,
-# and we don't want the files to be built before the directories are built.
-ifneq ($(filter order-only,$(.FEATURES)),)
-$(ALL_FILES) $(ALL_INDEX_SRC_FILES): | build-dir
-endif
-
-# Now, sections for building each kind of data.
-
-#################################################### DAT
-# DAT FILES
-
-# cnvalias.icu
-$(BUILDDIR)/cnvalias.icu: $(UCMSRCDIR)/convrtrs.txt $(TOOLBINDIR)/gencnval$(TOOLEXEEXT)
- $(INVOKE) $(TOOLBINDIR)/gencnval -d $(BUILDDIR) $(UCMSRCDIR)/convrtrs.txt
-
-# Targets for prebuilt Unicode data
-$(BUILDDIR)/%.icu: $(SRCDATADIR)/in/%.icu
- $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $< $@
-
-$(BUILDDIR)/%.nrm: $(SRCDATADIR)/in/%.nrm
- $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $< $@
-
-$(BUILDDIR)/coll/ucadata.icu: $(SRCDATADIR)/in/coll/ucadata-unihan.icu
- $(INVOKE) $(TOOLBINDIR)/icupkg -t$(ICUDATA_CHAR) $< $@
-
-#################################################### SPP
-# SPP FILES
-
-$(BUILDDIR)/%.spp: $(SPREPSRCDIR)/%.txt $(TOOLBINDIR)/gensprep$(TOOLEXEEXT) $(BUILDDIR)/unames.icu
- $(INVOKE) $(TOOLBINDIR)/gensprep -d $(BUILDDIR) -i $(BUILDDIR) -s $(SPREPSRCDIR) -b $(@F:%.spp=%) -m $(UNICODEDATADIR) -u 3.2.0 $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_CURR_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### lang res
-$(LANGBLDDIR)/%.res: $(LANGSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(LANGSRCDIR) -d $(LANGBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_LANG_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### region res
-$(REGIONBLDDIR)/%.res: $(REGIONSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(REGIONSRCDIR) -d $(REGIONBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_REGION_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### zone res
-$(ZONEBLDDIR)/%.res: $(ZONESRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(ZONESRCDIR) -d $(ZONEBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_ZONE_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### unit res
-$(UNITBLDDIR)/%.res: $(UNITSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES)
- $(INVOKE) $(TOOLBINDIR)/genrb --usePoolBundle $(GENRBOPTS) -i $(BUILDDIR) -s $(UNITSRCDIR) -d $(UNITBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_UNIT_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### collation res
-$(COLBLDDIR)/%.res: $(COLSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(COLSRCDIR) -d $(COLBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_COL_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### brk res
-$(BRKBLDDIR)/%.res: $(BRKSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(BRK_FILES) $(DICT_FILES) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(BRKSRCDIR) -d $(BRKBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_BRS_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### RBNF res
-$(RBNFBLDDIR)/%.res: $(RBNFSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(RBNFSRCDIR) -d $(RBNFBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_RBNF_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-### TRANSLIT res
-$(TRANSLITBLDDIR)/%.res: $(TRANSLITSRCDIR)/%.txt $(TOOLBINDIR)/genrb$(TOOLEXEEXT) $(DAT_FILES) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -s $(TRANSLITSRCDIR) -d $(TRANSLITBLDDIR) $( $@; \
- echo "$(INDEX_NAME):table(nofallback) {" >> $@; \
- echo " CLDRVersion { \"$(GENRB_CLDR_VERSION)\" }" >> $@; \
- echo " InstalledLocales {" >> $@; \
- for file in $(INSTALLED_RB_FILES); do \
- echo " $$file {\"\"}" >> $@; \
- done; \
- echo " }" >> $@; \
- echo "}" >> $@;
-
-clean-resindex:
- -$(RMV) $(BUILDDIR)/$(INDEX_NAME).txt $(PKGDATA_LIST)
-
-$(BUILDDIR)/$(INDEX_NAME).res: $(INDEX_FILE) $(TOOLBINDIR)/genrb$(TOOLEXEEXT) | $(BUILDDIR)/cnvalias.icu
- $(INVOKE) $(TOOLBINDIR)/genrb $(GENRBOPTS) -i $(BUILDDIR) -d $(BUILDDIR) $(INDEX_FILE)
-
-# The core Unicode properties files (pnames.icu, uprops.icu, ucase.icu, ubidi.icu)
-# are hardcoded in the common DLL and therefore not included in the data package any more.
-# They are not built by default but need to be built for ICU4J data and for getting the .c source files
-# when updating the Unicode data.
-uni-core-data: build-dir $(UNI_CORE_TARGET_DATA)
- @echo Unicode .icu files built to $(BUILDDIR)
- echo timestamp > $@
-
# Build the ICU4J icudata.jar.
# Command line:
# (Run this from the output data folder which may not be .../source/data in an out-of-source build.)
@@ -858,11 +302,10 @@ ICU4J_DATA_DIRNAME=com/ibm/icu/impl/data/$(ICUDATA_BASENAME_VERSION)b
ICU4J_TZDATA_PATHS=$(ICU4J_TZDATA_FILES:%="$(ICU4J_DATA_DIRNAME)/%.res")
# generate icu4j-related data to $(OUTDIR)/icu4j/com/ibm/icu/impl/data/...
-generate-data: build-dir packagedata $(OUTTMPDIR)/$(ICUDATA_PLATFORM_NAME).dat uni-core-data
+generate-data: packagedata $(OUTTMPDIR)/$(ICUDATA_PLATFORM_NAME).dat
mkdir -p $(OUTDIR)/icu4j/$(ICU4J_DATA_DIRNAME)
mkdir -p $(OUTDIR)/icu4j/tzdata/$(ICU4J_DATA_DIRNAME)
- echo $(UNI_CORE_DATA) > $(OUTDIR)/icu4j/add.txt
- $(INVOKE) $(TOOLBINDIR)/icupkg $(OUTTMPDIR)/$(ICUDATA_PLATFORM_NAME).dat $(OUTDIR)/icu4j/$(ICUDATA_BASENAME_VERSION)b.dat -a $(OUTDIR)/icu4j/add.txt -s $(BUILDDIR) -x '*' -tb -d $(OUTDIR)/icu4j/$(ICU4J_DATA_DIRNAME)
+ $(INVOKE) $(TOOLBINDIR)/icupkg $(OUTTMPDIR)/$(ICUDATA_PLATFORM_NAME).dat $(OUTDIR)/icu4j/$(ICUDATA_BASENAME_VERSION)b.dat -s $(BUILDDIR) -x '*' -tb -d $(OUTDIR)/icu4j/$(ICU4J_DATA_DIRNAME)
mv $(ICU4J_TZDATA_PATHS:%=$(OUTDIR)/icu4j/%) "$(OUTDIR)/icu4j/tzdata/$(ICU4J_DATA_DIRNAME)"
$(OUTDIR)/icu4j/icutzdata.jar: generate-data
@@ -873,7 +316,10 @@ $(OUTDIR)/icu4j/icutzdata.jar: generate-data
# - swap the ICU data
# - extract all data items
# - package them into the .jar file
-$(OUTDIR)/icu4j/icudata.jar: generate-data
+# TODO(ICU-20466): Move this to Python
+# NOTE: If you get the error "No rule to make target 'out/build/icudt64l/uprops.icu'",
+# you need to reconfigure with unicore data. See icu4j-readme.txt
+$(OUTDIR)/icu4j/icudata.jar: generate-data | $(OUT_DIR)/uprops.icu
$(JAR) cf $(OUTDIR)/icu4j/icudata.jar -C $(OUTDIR)/icu4j $(ICU4J_DATA_DIRNAME)/
ICU4J_DATA=$(OUTDIR)/icu4j/icudata.jar
diff --git a/Build/source/libs/icu/icu-src/source/data/build.xml b/Build/source/libs/icu/icu-src/source/data/build.xml
index 20f7b5be2de..9d0fa70bfb9 100644
--- a/Build/source/libs/icu/icu-src/source/data/build.xml
+++ b/Build/source/libs/icu/icu-src/source/data/build.xml
@@ -27,7 +27,7 @@
-
+
@@ -43,12 +43,19 @@
-
+
+
+
+
+
+
+
+
-
+
@@ -57,11 +64,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -98,22 +125,23 @@
-
+
-
+
-
+
-
+
+
@@ -133,6 +161,7 @@
+
@@ -150,15 +179,14 @@
-
+
-
+
-
&icu-config;
@@ -166,15 +194,14 @@
-
+
-
+
-
&icu-config;
@@ -182,12 +209,12 @@
-
+
-
+
@@ -198,123 +225,122 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
@@ -373,6 +399,9 @@
+
+
+
diff --git a/Build/source/libs/icu/icu-src/source/data/cldr-icu-readme.txt b/Build/source/libs/icu/icu-src/source/data/cldr-icu-readme.txt
index 717d11962e7..6d194416199 100644
--- a/Build/source/libs/icu/icu-src/source/data/cldr-icu-readme.txt
+++ b/Build/source/libs/icu/icu-src/source/data/cldr-icu-readme.txt
@@ -20,10 +20,6 @@
# ICU is the version number and/or a CLDR svn tag name for the revision of CLDR
# that was the source of the data for that release of ICU.
#
-# Note: Some versions of the OpenJDK will not build the CLDR java utilities.
-# If you see compilation errors complaining about type incompatibilities with
-# functions on generic classes, try switching to the Sun JDK.
-#
# Besides a standard JDK, the process also requires ant
# (http://ant.apache.org/),
# plus the xml-apis.jar from the Apache xalan package
@@ -39,21 +35,6 @@
#
#----
#
-# IP address whitelisting
-#
-# Parts of the build process (notably building the new ICU data files in step 4)
-# require http: access to files in the CLDR repository; for example, processing
-# the files in icu4c/source/data/xml/ may require access to
-# http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd
-#
-# Unless you cache the dtds locally by e.g. setting -DCLDR_DTD_CACHE=/tmp, the
-# builds will repeatedly make such requests, which will likely result in the
-# Unicode server blocking access and consequent timeout failures. You can
-# prevent such blockage by having the external IP address of your build system
-# whitelisted with Unicode; contact Rick McGowan or Steven Loomis.
-#
-#----
-#
# There are several environment variables that need to be defined.
#
# a) Java- and ant-related variables
@@ -64,18 +45,25 @@
#
# ANT_OPTS: You may want to set:
#
-# -Xmx3072m, to give Java more memory; otherwise it may run out
+# -Xmx4096m, to give Java more memory; otherwise it may run out
# of heap.
-# -DCLDR_DTD_CACHE=/tmp, to reduce frequent http: access to dtds
-# and consequent blockage by Unicode server.
#
# b) CLDR-related variables
#
# CLDR_DIR: Path to root of CLDR sources, below which are the common and
# tools directories.
-# CLDR_CLASSES: Defined relative to CLDR_DIR. It only needs to be set if you
-# are not running ant jar for CLDR and have a non-default output
-# folder for cldr-tools classes.
+# CLDR_CLASSES: Path to the CLDR Tools classes directory. If not set, defaults
+# to $CLDR_DIR/tools/java/classes
+#
+# CLDR_TMP_DIR: Parent of temporary CLDR production data.
+# Defaults to $CLDR_DIR/../cldr-aux (sibling to CLDR_DIR).
+#
+# *** NOTE ***: In CLDR release-36-beta, the GenerateProductionData
+# tool no longer generates data into $CLDR_TMP_DIR/production; instead
+# it generates data into $CLDR_DIR/../cldr-staging/production. However
+# the rest of the build still assumes that the generated data is in
+# $CLDR_TMP_DIR/production. So CLDR_TMP_DIR must be defined to be
+# $CLDR_DIR/../cldr-staging
#
# c) ICU-related variables
# These variables only need to be set if you're directly reusing the
@@ -107,6 +95,10 @@
# iterators, you need to update under
# to clean the correct set of files.
#
+# If there are new CLDR resource bundle types, you may need to
+# updated the sections to put these in the correct
+# data subfolder for ICU.
+#
# icu4c/source/data/xml/ - If you are adding a new locale, break
# iterator, collation tailoring, or rule-based number formatter,
# you may need to add a corresponding xml file in (respectively)
@@ -127,6 +119,8 @@
# common/dtd/ldml.dtd - update cldrVersion
# common/dtd/ldmlBCP47.dtd - update cldrVersion
# common/dtd/ldmlSupplemental.dtd - update cldrVersion
+# common/dtd/ldmlSupplemental.dtd - updateunicodeVersion
+# keyboards/dtd/ldmlKeyboard.dtd - update cldrVersion
# tools/java/org/unicode/cldr/util/CLDRFile.java - update GEN_VERSION
#
# c) After everything is committed, you will need to tag the CLDR, ICU4J, and
@@ -138,34 +132,34 @@
# 1a. Java and ant variables, adjust for your system
export JAVA_HOME=`/usr/libexec/java_home`
-export ANT_OPTS="-Xmx3072m -DCLDR_DTD_CACHE=/tmp"
+export ANT_OPTS="-Xmx4096m
# 1b. CLDR variables, adjust for your setup; with cygwin it might be e.g.
# CLDR_DIR=`cygpath -wp /build/cldr`
-export CLDR_DIR=$HOME/cldr/trunk
-#export CLDR_CLASSES=$CLDR_DIR/tools/java/classes
+export CLDR_DIR=$HOME/cldr-myfork
# 1c. ICU variables
-export ICU4C_DIR=$HOME/icu/trunk/icu4c
-export ICU4J_ROOT=$HOME/icu/trunk/icu4j
+export ICU4C_DIR=$HOME/icu-myfork/icu4c
+export ICU4J_ROOT=$HOME/icu-myfork/icu4j
-# 2. Build the CLDR Java tools
+# 2. Build the CLDR Java tools and jar
cd $CLDR_DIR/tools/java
+ant all
ant jar
# 3. Configure ICU4C, build and test without new data first, to verify that
-# there are no pre-existing errors (configure shown here for MacOSX, adjust
-# for your platform).
+# there are no pre-existing errors. Here is the runConfigureICU
+# code for the platform you are building, e.g. Linux, MacOSX, Cygwin.
cd $ICU4C_DIR/source
-./runConfigureICU MacOSX
+./runConfigureICU
make all 2>&1 | tee /tmp/icu4c-oldData-makeAll.txt
make check 2>&1 | tee /tmp/icu4c-oldData-makeCheck.txt
-# 4. Build the new ICU4C data files; these include .txt files and .mk files.
+# 4. Build the new ICU4C data files; these include .txt files and .py files.
# These new files will replace whatever was already present in the ICU4C sources.
# This process uses ant with ICU's data/build.xml and data/icu-config.xml to
# operate (via CLDR's ant/CLDRConverterTool.java and ant/CLDRBuild.java) the
@@ -173,29 +167,27 @@ make check 2>&1 | tee /tmp/icu4c-oldData-makeCheck.txt
# This process will take several minutes.
# Keep a log so you can investigate anything that looks suspicious.
#
-# If you see timeout errors when building the rbnf data, for example, then the
-# system you are building on likely does not have its IP address whitelisted with
-# Unicode for access to the CLDR repository, see note on "IP address whitelisting"
-# near the top of this file.
+# Running "ant setup" is not required, but it will print useful errors to
+# debug issues with your path when it fails.
+#
cd $ICU4C_DIR/source/data
+ant setup
ant clean
ant all 2>&1 | tee /tmp/cldr-newData-buildLog.txt
+# NOTE: if you change the CLDR data, please run "ant cleanprod" to clean out the
+# temporary production data directory (usually $CLDR_DIR/../cldr-aux/production )
+
# 5. Check which data files have modifications, which have been added or removed
# (if there are no changes, you may not need to proceed further). Make sure the
# list seems reasonable.
git status
-# 6. Fix any errors, investigate any warnings. Some warnings are expected,
-# including warnings for missing versions in locale names which specify some
-# collationvariants, e.g.
-# [cldr-build] WARNING (ja_JP_TRADITIONAL): No version #??
-# [cldr-build] WARNING (zh_TW_STROKE): No version #??
-# and warnings for some empty collation bundles, e.g.
-# [cldr-build] WARNING (en): warning: No collations found. Bundle will ...
-# [cldr-build] WARNING (to): warning: No collations found. Bundle will ...
+# 6. Fix any errors, investigate any warnings. Currently for example there are
+# a few warnings of the following form in rbnf files:
+# [cldr-build] Warning: no version match with: $Revision☹$
#
# Fixing may entail modifying CLDR source data or tools - for example,
# updating the validSubLocales for collation data (file a bug if appropriate).
@@ -204,8 +196,13 @@ git status
# 7. Now rebuild ICU4C with the new data and run make check tests.
# Again, keep a log so you can investigate the errors.
-
cd $ICU4C_DIR/source
+
+# 7a. If any files were added or removed (likely), re-run configure:
+./runConfigureICU
+make clean
+
+# 7b. Now do the rebuild.
make check 2>&1 | tee /tmp/icu4c-newData-makeCheck.txt
# 8. Investigate each test case failure. The first run processing new CLDR data
@@ -238,9 +235,17 @@ cd $ICU4J_ROOT
ant all 2>&1 | tee /tmp/icu4j-oldData-antAll.txt
ant check 2>&1 | tee /tmp/icu4j-oldData-antCheck.txt
-# 12. Now build the new data and test data for ICU4J
+# 12. Transfer the data to ICU4J:
+cd $ICU4C_DIR/source
+
+# 12a. You need to reconfigure ICU4C to include the unicore data.
+ICU_DATA_BUILDTOOL_OPTS=--include_uni_core_data ./runConfigureICU
+# 12b. Now build the jar files.
cd $ICU4C_DIR/source/data
+# The following 2 lines are required to include the unicore data:
+ make clean
+ make -j6
make icu4j-data-install
cd $ICU4C_DIR/source/test/testdata
make icu4j-data-install
@@ -252,22 +257,33 @@ cd $ICU4J_ROOT
ant check 2>&1 | tee /tmp/icu4j-newData-antCheck.txt
# 14. Investigate test case failures; fix test cases and repeat from step 12,
-# or fix CLDR data and repeat from step 4, as appropriate, until; there are no
+# or fix CLDR data and repeat from step 4, as appropriate, until there are no
# more failures in ICU4C or ICU4J (except failures that were present before you
# began testing the new CLDR data).
-# 15. Check the file changes; then svn add or svn remove as necessary, and
+# Note that certain data changes and related test failures may require the
+# rebuilding of other kinds of data. For example:
+# a) Changes to locale matching data may cause failures in e.g. the following:
+# com.ibm.icu.dev.test.util.LocaleDistanceTest (testLoadedDataSameAsBuiltFromScratch)
+# com.ibm.icu.dev.test.util.LocaleMatcherTest (testLikelySubtagsLoadedDataSameAsBuiltFromScratch)
+# To address these requires building and running the tool
+# icu4j/tools/misc/src/com/ibm/icu/dev/tool/locale/LocaleDistanceBuilder.java
+# to regenerate the file icu4c/source/data/misc/langInfo.txt and then regenerating
+# the ICU4J data jars.
+# b) Changes to plurals data may cause failures in e.g. the following
+# com.ibm.icu.dev.test.format.PluralRulesTest (TestLocales)
+# To address these requires updating the LOCALE_SNAPSHOT data in
+# icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/PluralRulesTest.java
+# by modifying the TestLocales() test there to run generateLOCALE_SNAPSHOT() and then
+# copying in the updated data.
+
+# 15. Check the file changes; then git add or git rm as necessary, and
# commit the changes.
-cd $ICU4C_DIR/source
+cd $HOME/icu/
+cd ..
git status
# add or remove as necessary
-
-cd $ICU4J_ROOT
-git status
-# add or remove as necessary
-
-cd $HOME/icu/trunk/
# commit
# 16. For an official CLDR data integration into ICU, now tag the CLDR and
@@ -278,7 +294,7 @@ svn copy svn+ssh://unicode.org/repos/cldr/trunk \
svn+ssh://unicode.org/repos/cldr/tags/release-NNN \
--parents -m "cldrbug nnnn: tag cldr sources for NNN"
-svn copy svn+ssh://source.icu-project.org/repos/icu/trunk \
-svn+ssh://source.icu-project.org/repos/icu/tags/cldr-NNN \
---parents -m 'ticket:mmmm: tag the version used for integrating CLDR NNN'
+cd $HOME/icu/
+git tag ...
+
diff --git a/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldml.dtd b/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldml.dtd
new file mode 100644
index 00000000000..1a1961634f6
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldml.dtd
@@ -0,0 +1,3146 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldmlICU.dtd b/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldmlICU.dtd
new file mode 100644
index 00000000000..5a9b613411b
--- /dev/null
+++ b/Build/source/libs/icu/icu-src/source/data/dtd/cldr-35.1/common/dtd/ldmlICU.dtd
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Build/source/libs/icu/icu-src/source/data/icu-coll-deprecates.xml b/Build/source/libs/icu/icu-src/source/data/icu-coll-deprecates.xml
index ccf978a6592..09efac23674 100644
--- a/Build/source/libs/icu/icu-src/source/data/icu-coll-deprecates.xml
+++ b/Build/source/libs/icu/icu-src/source/data/icu-coll-deprecates.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/Build/source/libs/icu/icu-src/source/data/icu-config.xml b/Build/source/libs/icu/icu-src/source/data/icu-config.xml
index 7fda0eeade9..2cb593a9407 100644
--- a/Build/source/libs/icu/icu-src/source/data/icu-config.xml
+++ b/Build/source/libs/icu/icu-src/source/data/icu-config.xml
@@ -100,6 +100,8 @@
+
+
@@ -145,6 +147,7 @@
+
@@ -250,6 +253,7 @@
+
@@ -292,6 +296,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -353,6 +370,7 @@
+
@@ -575,6 +593,7 @@
+
@@ -763,10 +782,10 @@
-
-
-
-
+
+
+
+
diff --git a/Build/source/libs/icu/icu-src/source/data/icu-locale-deprecates.xml b/Build/source/libs/icu/icu-src/source/data/icu-locale-deprecates.xml
index 5ed82ede4f0..d2ec74166c4 100644
--- a/Build/source/libs/icu/icu-src/source/data/icu-locale-deprecates.xml
+++ b/Build/source/libs/icu/icu-src/source/data/icu-locale-deprecates.xml
@@ -14,12 +14,16 @@
+
+
+
+
-
+
diff --git a/Build/source/libs/icu/icu-src/source/data/icu-rbnf-deprecates.xml b/Build/source/libs/icu/icu-src/source/data/icu-rbnf-deprecates.xml
index 22df252f11c..d933a2d4906 100644
--- a/Build/source/libs/icu/icu-src/source/data/icu-rbnf-deprecates.xml
+++ b/Build/source/libs/icu/icu-src/source/data/icu-rbnf-deprecates.xml
@@ -8,6 +8,10 @@
*******************************************************************************
*/
-->
+
diff --git a/Build/source/libs/icu/icu-src/source/data/icu4j-readme.txt b/Build/source/libs/icu/icu-src/source/data/icu4j-readme.txt
index 943d722dedf..6a38bd62c17 100644
--- a/Build/source/libs/icu/icu-src/source/data/icu4j-readme.txt
+++ b/Build/source/libs/icu/icu-src/source/data/icu4j-readme.txt
@@ -17,9 +17,20 @@ In the following,
$icu4j_root is the ICU4J root directory
$jdk_bin is the JDK bin directory (for the jar tool)
-1. Download and build ICU4C. For more instructions on downloading and building
- ICU4C, see the ICU4C readme at:
- http://source.icu-project.org/repos/icu/trunk/icu4c/readme.html#HowToBuild
+1. *Linux*
+ Download, configure, and build ICU4C. When you configure ICU4C, you must
+ set the environment variable ICU_DATA_BUILDTOOL_OPTS to
+ "--include_uni_core_data" to build additional required ICU4J data:
+
+ ICU_DATA_BUILDTOOL_OPTS=--include_uni_core_data ./runConfigureICU Linux
+
+ *Windows*
+ - Add ICU_DATA_BUILDTOOL_OPTS as a system environment variable with value "--include_uni_core_data"
+ - Build $icu4c_root\source\allinone\allinone.sln in Visual Studio
+
+ For more instructions on downloading and building ICU4C,
+ see the ICU4C readme at:
+ https://htmlpreview.github.io/?https://github.com/unicode-org/icu/blob/master/icu4c/readme.html#HowToBuild
(Windows: build as 'x86, Release' otherwise you will have to set 'CFG' differently below.)
*NOTE* You should do a full rebuild after any data changes.
@@ -32,10 +43,10 @@ platform.
*Windows*
-2a. On the command line, cd to $icu4c_root\source\data.
+2a. On Developer Command Prompt for VS, cd to $icu4c_root\source\data.
-2b. On the command line,
- nmake -f makedata.mak ICUMAKE=$icu4c_root\source\data\ CFG=x86\Release JAR="$jdk_bin\jar" ICU4J_ROOT=$icu4j_root icu4j-data-install
+2b. On Developer Command Prompt for VS,
+ nmake -f makedata.mak ICUMAKE=$icu4c_root\source\data\ CFG=x86\Release JAR="$jdk_bin\jar" ICU4J_ROOT=$icu4j_root icu4j-data-install
Continue with step 3 below, in Java:
@@ -65,3 +76,7 @@ icutzdata.jar in $icu4j_root/main/shared/data.
cd $icu4j_root
ant main
+
+ Run the tests locally and make sure they pass:
+
+ ant check
diff --git a/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-implicithan.icu b/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-implicithan.icu
index f31a19dca0e..296515d1ece 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-implicithan.icu and b/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-implicithan.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-unihan.icu b/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-unihan.icu
index 6d1a8f54152..3c86fd12dd4 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-unihan.icu and b/Build/source/libs/icu/icu-src/source/data/in/coll/ucadata-unihan.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/icudt63l.dat b/Build/source/libs/icu/icu-src/source/data/in/icudt63l.dat
deleted file mode 100644
index 0fb2d5d89c3..00000000000
Binary files a/Build/source/libs/icu/icu-src/source/data/in/icudt63l.dat and /dev/null differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/icudt65l.dat b/Build/source/libs/icu/icu-src/source/data/in/icudt65l.dat
new file mode 100644
index 00000000000..288bf20dbf9
Binary files /dev/null and b/Build/source/libs/icu/icu-src/source/data/in/icudt65l.dat differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/nfc.nrm b/Build/source/libs/icu/icu-src/source/data/in/nfc.nrm
index 6566a2cd902..5691b2bcb61 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/nfc.nrm and b/Build/source/libs/icu/icu-src/source/data/in/nfc.nrm differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/nfkc.nrm b/Build/source/libs/icu/icu-src/source/data/in/nfkc.nrm
index 4d1fe7d75ca..b0f4405451f 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/nfkc.nrm and b/Build/source/libs/icu/icu-src/source/data/in/nfkc.nrm differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/nfkc_cf.nrm b/Build/source/libs/icu/icu-src/source/data/in/nfkc_cf.nrm
index e2180cfdd9f..eef4e62e583 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/nfkc_cf.nrm and b/Build/source/libs/icu/icu-src/source/data/in/nfkc_cf.nrm differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/pnames.icu b/Build/source/libs/icu/icu-src/source/data/in/pnames.icu
index ca3998cb146..443a8e45e7c 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/pnames.icu and b/Build/source/libs/icu/icu-src/source/data/in/pnames.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/ubidi.icu b/Build/source/libs/icu/icu-src/source/data/in/ubidi.icu
index 86fa21f7dd5..df3bbb8fad7 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/ubidi.icu and b/Build/source/libs/icu/icu-src/source/data/in/ubidi.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/ucase.icu b/Build/source/libs/icu/icu-src/source/data/in/ucase.icu
index 136f0a620df..cb65fe77397 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/ucase.icu and b/Build/source/libs/icu/icu-src/source/data/in/ucase.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/ulayout.icu b/Build/source/libs/icu/icu-src/source/data/in/ulayout.icu
new file mode 100644
index 00000000000..c129d1ba0df
Binary files /dev/null and b/Build/source/libs/icu/icu-src/source/data/in/ulayout.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/unames.icu b/Build/source/libs/icu/icu-src/source/data/in/unames.icu
index ce549a4829a..77ff1fd4687 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/unames.icu and b/Build/source/libs/icu/icu-src/source/data/in/unames.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/uprops.icu b/Build/source/libs/icu/icu-src/source/data/in/uprops.icu
index 2bc695d76bb..4a16695e31f 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/uprops.icu and b/Build/source/libs/icu/icu-src/source/data/in/uprops.icu differ
diff --git a/Build/source/libs/icu/icu-src/source/data/in/uts46.nrm b/Build/source/libs/icu/icu-src/source/data/in/uts46.nrm
index 4bae51640a7..210b4d6a6da 100644
Binary files a/Build/source/libs/icu/icu-src/source/data/in/uts46.nrm and b/Build/source/libs/icu/icu-src/source/data/in/uts46.nrm differ
diff --git a/Build/source/libs/icu/icu-src/source/data/makedata.mak b/Build/source/libs/icu/icu-src/source/data/makedata.mak
index 6a54d0acc8e..dfd6273931a 100644
--- a/Build/source/libs/icu/icu-src/source/data/makedata.mak
+++ b/Build/source/libs/icu/icu-src/source/data/makedata.mak
@@ -12,14 +12,14 @@
##############################################################################
# Keep the following in sync with the version - see common/unicode/uvernum.h
-U_ICUDATA_NAME=icudt63
+U_ICUDATA_NAME=icudt65
##############################################################################
!IF "$(UWP)" == "UWP"
# Optionally change the name of the data file for the UWP version.
-U_ICUDATA_NAME=icudt63
+U_ICUDATA_NAME=icudt65
!ENDIF
U_ICUDATA_ENDIAN_SUFFIX=l
-UNICODE_VERSION=11.0
+UNICODE_VERSION=12.1
ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
# ICUMAKE
@@ -33,12 +33,8 @@ ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
!ENDIF
!MESSAGE ICU data make path is $(ICUMAKE)
-!IF [py -3]!=0
-!MESSAGE Information: Unable to find Python 3. ICU versions 64 and later will require Python 3 to build.
-!MESSAGE Information: See ICU-10923 for more information: https://unicode-org.atlassian.net/browse/ICU-10923
-!ELSE
-!MESSAGE Information: Found Python 3. You are all set for ICU 64, which will require Python 3 to build.
-!MESSAGE Information: For more info on Python 3 requirement, see: https://unicode-org.atlassian.net/browse/ICU-10923
+!IF [py -3 -c "exit(0)"]!=0
+!MESSAGE Information: Unable to find Python 3. Data will fail to build from source.
!ENDIF
# Suffixes for data files
@@ -72,15 +68,10 @@ ICUP=$(ICUP:\source\data\\..\..=)
ICUSRCDATA=$(ICUP)\source\data
ICUSRCDATA_RELATIVE_PATH=..\..\..
-# ICUUCM
-# The directory that contains ucmcore.mk files along with *.ucm files
-#
-ICUUCM=mappings
-
-# ICULOC
-# The directory that contains resfiles.mk files along with *.txt locale data files
-#
-ICULOC=locales
+# Timestamp files to keep track of current build state
+TOOLS_TS=$(ICUTMP)\tools.timestamp
+COREDATA_TS=$(ICUTMP)\coredata.timestamp
+ARM_CROSSBUILD_TS=
# ICUCOL
# The directory that contains colfiles.mk files along with *.txt collation data files
@@ -102,23 +93,6 @@ ICUTRNS=translit
#
ICUBRK=brkitr
-# ICUUNIDATA
-# The directory that contains Unicode data files
-#
-ICUUNIDATA=$(ICUP)\source\data\unidata
-
-
-# ICUMISC
-# The directory that contains miscfiles.mk along with files that are miscelleneous data
-#
-ICUMISC=$(ICUP)\source\data\misc
-ICUMISC2=misc
-
-# ICUSPREP
-# The directory that contains sprepfiles.mk files along with *.txt stringprep files
-#
-ICUSPREP=sprep
-
#
# ICUDATA
# The source directory. Contains the source files for the common data to be built.
@@ -133,6 +107,8 @@ ICUDATA=$(ICUP)\source\data
#
!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"
DLL_OUTPUT=$(ICUP)\binARM$(UWP)
+!ELSE IF "$(CFG)" == "ARM64\Release" || "$(CFG)" == "ARM64\Debug"
+DLL_OUTPUT=$(ICUP)\binARM64$(UWP)
!ELSE IF "$(CFG)" == "x64\Release" || "$(CFG)" == "x64\Debug"
DLL_OUTPUT=$(ICUP)\bin64$(UWP)
!ELSE IF "$(UWP)" == "UWP"
@@ -140,6 +116,7 @@ DLL_OUTPUT=$(ICUP)\bin32$(UWP)
!ELSE
DLL_OUTPUT=$(ICUP)\bin$(UWP)
!ENDIF
+!MESSAGE ICU data DLL_OUTPUT path is $(DLL_OUTPUT)
#
# TESTDATA
@@ -153,7 +130,7 @@ TESTDATAOUT=$(ICUP)\source\test\testdata\out
#
# TESTDATABLD
-# The build directory for test data intermidiate files
+# The build directory for test data intermediate files
# (Tests are NOT run from this makefile,
# only the data is put in place.)
TESTDATABLD=$(ICUP)\source\test\testdata\out\build
@@ -165,20 +142,39 @@ TESTDATABLD=$(ICUP)\source\test\testdata\out\build
ICUTOOLS=$(ICUP)\source\tools
!MESSAGE ICU tools path is $(ICUTOOLS)
+# ARM_CROSS_BUILD
+# In order to support cross-compiling for ARM/ARM64 using the x64 tools
+# we need to know if we're building the ARM/ARM64 data DLL, otherwise
+# the existence of the x64 bits will cause us to think we are already done.
+# Note: This is only for the "regular" builds, the UWP builds have a separate project file entirely.
+ARM_CROSS_BUILD=
+!IF "$(UWP)" == ""
+!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"
+ARM_CROSS_BUILD=ARM
+ARM_CROSSBUILD_TS=$(ICUTMP)\$(ARM_CROSS_BUILD).timestamp
+!ELSE IF "$(CFG)" == "ARM64\Release" || "$(CFG)" == "ARM64\Debug"
+ARM_CROSS_BUILD=ARM64
+ARM_CROSSBUILD_TS=$(ICUTMP)\$(ARM_CROSS_BUILD).timestamp
+!ENDIF
+!ENDIF
+
#
# TOOLS CFG PATH
-# ARM needs to use one of the other tools, so make sure to get an usable cfg path
+# Generally the tools want to run on the same architecture as is being built.
+# Thus ARM and ARM64 need to use another build of the other tools, so make sure to get an usable cfg path.
# Since tools, particularly pkggen, have architecture built-in, we made x64 on
# Windows be machine-independent and use those tools.
#
+!IF "$(ARM_CROSS_BUILD)" == ""
CFGTOOLS=$(CFG)
-!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"
+!ELSE
CFGTOOLS=x64\Release
!ENDIF
!MESSAGE ICU tools CFG subpath is $(CFGTOOLS)
+
# The current ICU tools need to be in the path first.
-# x86 uses x86, x64 and arm use x64
+# x86 uses x86; x64, arm, and arm64 use x64
!IF "$(CFG)" == "x86\Release" || "$(CFG)" == "x86\Debug"
PATH = $(ICUP)\bin;$(PATH)
ICUPBIN=$(ICUP)\bin
@@ -210,353 +206,19 @@ ICUDATA_SOURCE_ARCHIVE=$(ICUTMP)\$(ICUPKG).dat
!IFDEF ICUDATA_SOURCE_ARCHIVE
!MESSAGE ICU data source archive is $(ICUDATA_SOURCE_ARCHIVE)
-!ELSE
-# We're including a list of .ucm files.
-# There are several lists, they are all optional.
-
-# Always build the mapping files for the EBCDIC fallback codepages
-# They are necessary on EBCDIC machines, and
-# the following logic is much easier if UCM_SOURCE is never empty.
-# (They are small.)
-UCM_SOURCE=ibm-37_P100-1995.ucm ibm-1047_P100-1995.ucm
-
-!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmcore.mk"
-UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_CORE)
-!ELSE
-!MESSAGE Warning: cannot find "ucmcore.mk". Not building core MIME/Unix/Windows converter files.
-!ENDIF
-
-!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmfiles.mk"
-UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_FILES)
-!ELSE
-!MESSAGE Warning: cannot find "ucmfiles.mk". Not building many converter files.
-!ENDIF
-
-!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmebcdic.mk"
-UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_EBCDIC)
-!IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO
-BUILD_SPECIAL_CNV_FILES=YES
-UCM_SOURCE_SPECIAL=$(UCM_SOURCE_EBCDIC_IGNORE_SISO)
-!ELSE
-!UNDEF BUILD_SPECIAL_CNV_FILES
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "ucmebcdic.mk". Not building EBCDIC converter files.
-!ENDIF
-
-!IF EXISTS("$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUUCM)\ucmlocal.mk"
-!IFDEF UCM_SOURCE_LOCAL
-UCM_SOURCE=$(UCM_SOURCE) $(UCM_SOURCE_LOCAL)
-!ENDIF
-!IFDEF UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL
-UCM_SOURCE_SPECIAL=$(UCM_SOURCE_SPECIAL) $(UCM_SOURCE_EBCDIC_IGNORE_SISO_LOCAL)
-BUILD_SPECIAL_CNV_FILES=YES
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "ucmlocal.mk". Not building user-additional converter files.
-!ENDIF
-
-CNV_FILES=$(UCM_SOURCE:.ucm=.cnv)
-!IFDEF BUILD_SPECIAL_CNV_FILES
-CNV_FILES_SPECIAL=$(UCM_SOURCE_SPECIAL:.ucm=.cnv)
-!ENDIF
-
-!IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brkfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUBRK)\brklocal.mk"
-!IFDEF BRK_SOURCE_LOCAL
-BRK_SOURCE=$(BRK_SOURCE) $(BRK_SOURCE_LOCAL)
-!ENDIF
-!IFDEF BRK_DICT_SOURCE_LOCAL
-BRK_DICT_SOURCE=$(BRK_DICT_SOURCE) $(BRK_DICT_SOURCE_LOCAL)
-!ENDIF
-!IFDEF BRK_RES_SOURCE_LOCAL
-BRK_RES_SOURCE=$(BRK_RES_SOURCE) $(BRK_RES_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "brklocal.mk". Not building user-additional break iterator files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "brkfiles.mk"
-!ENDIF
-
-#
-# Break iterator data files.
-#
-BRK_FILES=$(ICUBRK)\$(BRK_SOURCE:.txt =.brk brkitr\)
-BRK_FILES=$(BRK_FILES:.txt=.brk)
-BRK_FILES=$(BRK_FILES:brkitr\ =brkitr\)
-
-!IFDEF BRK_DICT_SOURCE
-BRK_DICT_FILES = $(ICUBRK)\$(BRK_DICT_SOURCE:.txt =.dict brkitr\)
-BRK_DICT_FILES = $(BRK_DICT_FILES:.txt=.dict)
-BRK_DICT_FILES = $(BRK_DICT_FILES:brkitr\ =brkitr\)
-!ENDIF
-
-!IFDEF BRK_RES_SOURCE
-BRK_RES_FILES = $(BRK_RES_SOURCE:.txt =.res brkitr\)
-BRK_RES_FILES = $(BRK_RES_FILES:.txt=.res)
-BRK_RES_FILES = $(ICUBRK)\root.res $(ICUBRK)\$(BRK_RES_FILES:brkitr\ =)
-ALL_RES = $(ALL_RES) $(ICUBRK)\res_index.res
-!ENDIF
-
-# Read list of locale resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICULOC)\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICULOC)\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICULOC)\reslocal.mk"
-!IFDEF GENRB_SOURCE_LOCAL
-GENRB_SOURCE=$(GENRB_SOURCE) $(GENRB_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "resfiles.mk"
-!ENDIF
-
-!IFDEF GENRB_SOURCE
-RB_FILES = root.res pool.res $(GENRB_ALIAS_SOURCE:.txt=.res) $(GENRB_ALIAS_SOURCE_LOCAL:.txt=.res) $(GENRB_SOURCE:.txt=.res)
-ALL_RES = $(ALL_RES) res_index.res
-!ENDIF
-
-
-# Read the list of currency display name resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\curr\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\curr\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\curr\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\curr\reslocal.mk"
-!IFDEF CURR_SOURCE_LOCAL
-CURR_SOURCE=$(CURR_SOURCE) $(CURR_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "curr\reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "curr\resfiles.mk"
-!ENDIF
-
-!IFDEF CURR_SOURCE
-CURR_FILES = curr\root.txt supplementalData.txt $(CURR_ALIAS_SOURCE) $(CURR_SOURCE)
-CURR_RES_FILES = $(CURR_FILES:.txt =.res curr\)
-CURR_RES_FILES = $(CURR_RES_FILES:.txt=.res)
-CURR_RES_FILES = curr\pool.res $(CURR_RES_FILES:curr\ =curr\)
-ALL_RES = $(ALL_RES) curr\res_index.res
-!ENDIF
-
-# Read the list of language/script display name resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\lang\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\lang\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\lang\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\lang\reslocal.mk"
-!IFDEF LANG_SOURCE_LOCAL
-LANG_SOURCE=$(LANG_SOURCE) $(LANG_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "lang\reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "lang\resfiles.mk"
-!ENDIF
-
-!IFDEF LANG_SOURCE
-LANG_FILES = lang\root.txt $(LANG_ALIAS_SOURCE) $(LANG_SOURCE)
-LANG_RES_FILES = $(LANG_FILES:.txt =.res lang\)
-LANG_RES_FILES = $(LANG_RES_FILES:.txt=.res)
-LANG_RES_FILES = lang\pool.res $(LANG_RES_FILES:lang\ =lang\)
-ALL_RES = $(ALL_RES) lang\res_index.res
-!ENDIF
-
-# Read the list of region display name resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\region\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\region\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\region\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\region\reslocal.mk"
-!IFDEF REGION_SOURCE_LOCAL
-REGION_SOURCE=$(REGION_SOURCE) $(REGION_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "region\reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "region\resfiles.mk"
!ENDIF
-!IFDEF REGION_SOURCE
-REGION_FILES = region\root.txt $(REGION_ALIAS_SOURCE) $(REGION_SOURCE)
-REGION_RES_FILES = $(REGION_FILES:.txt =.res region\)
-REGION_RES_FILES = $(REGION_RES_FILES:.txt=.res)
-REGION_RES_FILES = region\pool.res $(REGION_RES_FILES:region\ =region\)
-ALL_RES = $(ALL_RES) region\res_index.res
-!ENDIF
-
-# Read the list of time zone display name resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\zone\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\zone\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\zone\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\zone\reslocal.mk"
-!IFDEF ZONE_SOURCE_LOCAL
-ZONE_SOURCE=$(ZONE_SOURCE) $(ZONE_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "zone\reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-ZONE_SOURCE=$(ZONE_SOURCE) tzdbNames.txt
-!ELSE
-!MESSAGE Warning: cannot find "zone\resfiles.mk"
-!ENDIF
-
-!IFDEF ZONE_SOURCE
-ZONE_FILES = zone\root.txt $(ZONE_ALIAS_SOURCE) $(ZONE_SOURCE)
-ZONE_RES_FILES = $(ZONE_FILES:.txt =.res zone\)
-ZONE_RES_FILES = $(ZONE_RES_FILES:.txt=.res)
-ZONE_RES_FILES = zone\pool.res $(ZONE_RES_FILES:zone\ =zone\)
-ALL_RES = $(ALL_RES) zone\res_index.res
-!ENDIF
-
-# Read the list of units display name resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\unit\resfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\unit\resfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\unit\reslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\unit\reslocal.mk"
-!IFDEF UNIT_SOURCE_LOCAL
-UNIT_SOURCE=$(UNIT_SOURCE) $(UNIT_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "unit\reslocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "unit\resfiles.mk"
-!ENDIF
-
-!IFDEF UNIT_SOURCE
-UNIT_FILES = unit\root.txt $(UNIT_ALIAS_SOURCE) $(UNIT_SOURCE)
-UNIT_RES_FILES = $(UNIT_FILES:.txt =.res unit\)
-UNIT_RES_FILES = $(UNIT_RES_FILES:.txt=.res)
-UNIT_RES_FILES = unit\pool.res $(UNIT_RES_FILES:unit\ =unit\)
-ALL_RES = $(ALL_RES) unit\res_index.res
-!ENDIF
-
-# Read the list of collation resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\colfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICUCOL)\collocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUCOL)\collocal.mk"
-!IFDEF COLLATION_SOURCE_LOCAL
-COLLATION_SOURCE=$(COLLATION_SOURCE) $(COLLATION_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "collocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "colfiles.mk"
-!ENDIF
-
-!IFDEF COLLATION_SOURCE
-COL_FILES = $(ICUCOL)\root.txt $(COLLATION_ALIAS_SOURCE) $(COLLATION_SOURCE)
-COL_COL_FILES = $(COL_FILES:.txt =.res coll\)
-COL_COL_FILES = $(COL_COL_FILES:.txt=.res)
-COL_COL_FILES = $(COL_COL_FILES:coll\ =)
-ALL_RES = $(ALL_RES) $(ICUCOL)\res_index.res
-!ENDIF
-
-# Read the list of RBNF resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnffiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICURBNF)\rbnflocal.mk"
-!IFDEF RBNF_SOURCE_LOCAL
-RBNF_SOURCE=$(RBNF_SOURCE) $(RBNF_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "rbnflocal.mk". Not building user-additional resource bundle files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "rbnffiles.mk"
-!ENDIF
-
-!IFDEF RBNF_SOURCE
-RBNF_FILES = $(ICURBNF)\root.txt $(RBNF_ALIAS_SOURCE) $(RBNF_SOURCE)
-RBNF_RES_FILES = $(RBNF_FILES:.txt =.res rbnf\)
-RBNF_RES_FILES = $(RBNF_RES_FILES:.txt=.res)
-RBNF_RES_FILES = $(RBNF_RES_FILES:rbnf\ =rbnf\)
-ALL_RES = $(ALL_RES) $(ICURBNF)\res_index.res
-!ENDIF
-
-# Read the list of transliterator resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnsfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUTRNS)\trnslocal.mk"
-!IFDEF TRANSLIT_SOURCE_LOCAL
-TRANSLIT_SOURCE=$(TRANSLIT_SOURCE) $(TRANSLIT_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "trnslocal.mk". Not building user-additional transliterator files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "trnsfiles.mk"
-!ENDIF
-
-!IFDEF TRANSLIT_SOURCE
-TRANSLIT_FILES = $(ICUTRNS)\$(TRANSLIT_ALIAS_SOURCE) $(TRANSLIT_SOURCE)
-TRANSLIT_RES_FILES = $(TRANSLIT_FILES:.txt =.res translit\)
-TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:.txt=.res)
-TRANSLIT_RES_FILES = $(TRANSLIT_RES_FILES:translit\ =translit\)
-#ALL_RES = $(ALL_RES) $(ICUTRNS)\res_index.res
-!ENDIF
-
-# Read the list of miscellaneous resource bundle files
-!IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\miscfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUMISC2)\misclocal.mk"
-!IFDEF MISC_SOURCE_LOCAL
-MISC_SOURCE=$(MISC_SOURCE) $(MISC_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "misclocal.mk". Not building user-additional miscellaenous files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "miscfiles.mk"
-!ENDIF
-
-MISC_FILES = $(MISC_SOURCE:.txt=.res)
-
-# don't include COL_FILES
-ALL_RES = $(ALL_RES) $(RB_FILES) $(MISC_FILES)
-!ENDIF
-
-# Read the list of stringprep profile files
-!IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\sprepfiles.mk"
-!IF EXISTS("$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk")
-!INCLUDE "$(ICUSRCDATA)\$(ICUSPREP)\spreplocal.mk"
-!IFDEF SPREP_SOURCE_LOCAL
-SPREP_SOURCE=$(SPREP_SOURCE) $(SPREP_SOURCE_LOCAL)
-!ENDIF
-!ELSE
-!MESSAGE Information: cannot find "spreplocal.mk". Not building user-additional stringprep files.
-!ENDIF
-!ELSE
-!MESSAGE Warning: cannot find "sprepfiles.mk"
-!ENDIF
-
-SPREP_FILES = $(SPREP_SOURCE:.txt=.spp)
-
# Common defines for both ways of building ICU's data library.
COMMON_ICUDATA_DEPENDENCIES="$(ICUPBIN)\pkgdata.exe" "$(ICUTMP)\icudata.res" "$(ICUP)\source\stubdata\stubdatabuilt.txt"
COMMON_ICUDATA_ARGUMENTS=-f -e $(U_ICUDATA_NAME) -v $(ICU_PACKAGE_MODE) -c -p $(ICUPKG) -T "$(ICUTMP)" -L $(U_ICUDATA_NAME) -d "$(ICUBLD_PKG)" -s .
!IF "$(UWP)" == "UWP"
COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -u
+!ENDIF
!IF "$(CFG)" == "ARM\Release" || "$(CFG)" == "ARM\Debug"
-COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a
+COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a ARM
!ENDIF
+!IF "$(CFG)" == "ARM64\Release" || "$(CFG)" == "ARM64\Debug"
+COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a ARM64
!ENDIF
#############################################################################
@@ -568,6 +230,7 @@ COMMON_ICUDATA_ARGUMENTS=$(COMMON_ICUDATA_ARGUMENTS) -a
# Building the common dll in $(ICUBLD_PKG) unconditionally copies it to $(DLL_OUTPUT) too.
#
#############################################################################
+!IF "$(ARM_CROSS_BUILD)" == ""
ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat"
@echo All targets are up to date
@@ -576,6 +239,45 @@ ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat"
copy "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat" "$(ICUMAKE)\..\..\commondata\"
!ENDIF
+!ELSE
+ALL : GODATA "$(ICU_LIB_TARGET)" "$(TESTDATAOUT)\testdata.dat" $(ARM_CROSSBUILD_TS)
+ @echo All targets are up to date
+
+!ENDIF
+
+# Three main targets: tools, core data, and test data.
+# Keep track of whether they are built via timestamp files.
+
+$(TOOLS_TS): "$(ICUTOOLS)\genrb\$(CFGTOOLS)\genrb.exe" "$(ICUTOOLS)\gencnval\$(CFGTOOLS)\gencnval.exe" "$(ICUTOOLS)\gencfu\$(CFGTOOLS)\gencfu.exe" "$(ICUTOOLS)\icupkg\$(CFGTOOLS)\icupkg.exe" "$(ICUTOOLS)\makeconv\$(CFGTOOLS)\makeconv.exe" "$(ICUPBIN)\pkgdata.exe"
+ @echo "timestamp" > $(TOOLS_TS)
+
+# On Unix, Python generates at configure time a list of Makefile rules.
+# On Windows, however, we run the Python data build script at build time instead.
+# The alternative would be to use a preprocessor macro to generate rules for nmake.
+# However, this approach was abandoned for reasons including:
+#
+# - nmake imposes more stringent restrictions on command line length.
+# - The lack of gnumake features makes nmake file construction more complex.
+# - Windows builds are single-threaded, giving less advantage to a Makefile approach.
+#
+# Currently, the entire script needs to run even for small changes to data. Maybe consider
+# checking file-changed timestamps in Python to build only the required subset of data.
+
+$(COREDATA_TS):
+ @cd "$(ICUSRCDATA)"
+ set PYTHONPATH=$(ICUP)\source\python;%PYTHONPATH%
+ py -3 -B -m icutools.databuilder \
+ --mode windows-exec \
+ --src_dir "$(ICUSRCDATA)" \
+ --tool_dir "$(ICUTOOLS)" \
+ --tool_cfg "$(CFG)" \
+ --out_dir "$(ICUBLD_PKG)" \
+ --tmp_dir "$(ICUTMP)" \
+ --filter_file "$(ICU_DATA_FILTER_FILE)" \
+ $(ICU_DATA_BUILDTOOL_OPTS)
+ @echo "timestamp" > $(COREDATA_TS)
+
+
# The core Unicode properties files (uprops.icu, ucase.icu, ubidi.icu)
# are hardcoded in the common DLL and therefore not included in the data package any more.
# They are not built by default but need to be built for ICU4J data and for getting the .c source files
@@ -673,10 +375,10 @@ icu4j-data-install :
#
# testdata - nmake will invoke pkgdata, which will create testdata.dat
#
-"$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(TRANSLIT_RES_FILES) $(MISC_FILES) $(RB_FILES) {"$(ICUTOOLS)\genrb\$(CFGTOOLS)"}genrb.exe
+"$(TESTDATAOUT)\testdata.dat": "$(TESTDATA)\*" $(TOOLS_TS) $(COREDATA_TS)
@cd "$(TESTDATA)"
@echo building testdata...
- nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFGTOOLS) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)"
+ nmake /nologo /f "$(TESTDATA)\testdata.mak" TESTDATA=. ICUTOOLS="$(ICUTOOLS)" ICUPBIN="$(ICUPBIN)" ICUP="$(ICUP)" CFG=$(CFGTOOLS) TESTDATAOUT="$(TESTDATAOUT)" TESTDATABLD="$(TESTDATABLD)" ICUSRCDATA="$(ICUSRCDATA)" DLL_OUTPUT="$(DLL_OUTPUT)"
#invoke pkgdata for ICU common data
# pkgdata will drop all output files (.dat, .dll, .lib) into the target (ICUBLD_PKG) directory.
@@ -697,73 +399,39 @@ icu4j-data-install :
copy "$(ICUTMP)\$(ICUPKG).dat" "$(ICUOUT)\$(U_ICUDATA_NAME)$(U_ICUDATA_ENDIAN_SUFFIX).dat"
-@erase "$(ICUTMP)\$(ICUPKG).dat"
!ELSE
-"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(CNV_FILES) $(CNV_FILES_SPECIAL) "$(ICUBLD_PKG)\unames.icu" "$(ICUBLD_PKG)\cnvalias.icu" "$(ICUBLD_PKG)\nfkc.nrm" "$(ICUBLD_PKG)\nfkc_cf.nrm" "$(ICUBLD_PKG)\uts46.nrm" "$(ICUBLD_PKG)\$(ICUCOL)\ucadata.icu" $(CURR_RES_FILES) $(LANG_RES_FILES) $(REGION_RES_FILES) $(ZONE_RES_FILES) $(UNIT_RES_FILES) $(BRK_FILES) $(BRK_DICT_FILES) $(BRK_RES_FILES) $(ALL_RES) $(COL_COL_FILES) $(RBNF_RES_FILES) $(TRANSLIT_RES_FILES) $(SPREP_FILES) "$(ICUBLD_PKG)\confusables.cfu"
- @echo Building icu data
+"$(ICU_LIB_TARGET)" : $(COMMON_ICUDATA_DEPENDENCIES) $(COREDATA_TS)
+ @echo Building ICU data from scratch
cd "$(ICUBLD_PKG)"
- "$(ICUPBIN)\pkgdata" $(COMMON_ICUDATA_ARGUMENTS) <<"$(ICUTMP)\icudata.lst"
-unames.icu
-confusables.cfu
-$(ICUCOL)\ucadata.icu
-cnvalias.icu
-nfkc.nrm
-nfkc_cf.nrm
-uts46.nrm
-$(CNV_FILES:.cnv =.cnv
-)
-$(CNV_FILES_SPECIAL:.cnv =.cnv
-)
-$(ALL_RES:.res =.res
-)
-$(CURR_RES_FILES:.res =.res
-)
-$(LANG_RES_FILES:.res =.res
-)
-$(REGION_RES_FILES:.res =.res
-)
-$(ZONE_RES_FILES:.res =.res
-)
-$(UNIT_RES_FILES:.res =.res
-)
-$(COL_COL_FILES:.res =.res
-)
-$(RBNF_RES_FILES:.res =.res
-)
-$(TRANSLIT_RES_FILES:.res =.res
-)
-$(BRK_FILES:.brk =.brk
-)
-$(BRK_DICT_FILES:.dict =.dict
-)
-$(BRK_RES_FILES:.res =.res
-)
-$(SPREP_FILES:.spp=.spp
-)
-< $(ARM_CROSSBUILD_TS)
+
# utility target to create missing directories
+# Most directories are made by Python, but still create ICUTMP
+# so it works in the source archive
CREATE_DIRS :
@if not exist "$(ICUOUT)\$(NULL)" mkdir "$(ICUOUT)"
@if not exist "$(ICUTMP)\$(NULL)" mkdir "$(ICUTMP)"
@if not exist "$(ICUOUT)\build\$(NULL)" mkdir "$(ICUOUT)\build"
@if not exist "$(ICUBLD_PKG)\$(NULL)" mkdir "$(ICUBLD_PKG)"
- @if not exist "$(ICUBLD_PKG)\curr\$(NULL)" mkdir "$(ICUBLD_PKG)\curr"
- @if not exist "$(ICUBLD_PKG)\lang\$(NULL)" mkdir "$(ICUBLD_PKG)\lang"
- @if not exist "$(ICUBLD_PKG)\region\$(NULL)" mkdir "$(ICUBLD_PKG)\region"
- @if not exist "$(ICUBLD_PKG)\zone\$(NULL)" mkdir "$(ICUBLD_PKG)\zone"
- @if not exist "$(ICUBLD_PKG)\$(ICUBRK)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUBRK)"
- @if not exist "$(ICUBLD_PKG)\$(ICUCOL)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUCOL)"
- @if not exist "$(ICUBLD_PKG)\$(ICURBNF)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICURBNF)"
- @if not exist "$(ICUBLD_PKG)\$(ICUTRNS)\$(NULL)" mkdir "$(ICUBLD_PKG)\$(ICUTRNS)"
- @if not exist "$(TESTDATAOUT)\$(NULL)" mkdir "$(TESTDATAOUT)"
- @if not exist "$(TESTDATABLD)\$(NULL)" mkdir "$(TESTDATABLD)"
- @if not exist "$(TESTDATAOUT)\testdata\$(NULL)" mkdir "$(TESTDATAOUT)\testdata"
+ @if not exist "$(TESTDATAOUT)" mkdir "$(TESTDATAOUT)"
# utility target to send us to the right dir
GODATA : CREATE_DIRS
@@ -772,306 +440,20 @@ GODATA : CREATE_DIRS
# This is to remove all the data files
CLEAN : GODATA
@echo Cleaning up the data files.
- @cd "$(ICUBLD_PKG)"
- -@erase "*.cnv"
- -@erase "*.exp"
- -@erase "*.icu"
- -@erase "*.lib"
- -@erase "*.nrm"
- -@erase "*.res"
- -@erase "*.spp"
- -@erase "*.txt"
- -@erase "*.cfu"
- -@erase "curr\*.res"
- -@erase "curr\*.txt"
- -@erase "lang\*.res"
- -@erase "lang\*.txt"
- -@erase "region\*.res"
- -@erase "region\*.txt"
- -@erase "zone\*.res"
- -@erase "zone\*.txt"
- @cd "$(ICUBLD_PKG)\$(ICUBRK)"
- -@erase "*.brk"
- -@erase "*.res"
- -@erase "*.txt"
- -@erase "*.dict"
- @cd "$(ICUBLD_PKG)\$(ICUCOL)"
- -@erase "*.res"
- -@erase "*.txt"
- @cd "$(ICUBLD_PKG)\$(ICURBNF)"
- -@erase "*.res"
- -@erase "*.txt"
- @cd "$(ICUBLD_PKG)\$(ICUTRNS)"
- -@erase "*.res"
@cd "$(ICUOUT)"
- -@erase "*.dat"
- @cd "$(ICUTMP)"
- -@erase "*.html"
- -@erase "*.lst"
- -@erase "*.mak"
- -@erase "*.obj"
- -@erase "*.res"
- @cd "$(TESTDATABLD)"
- -@erase "*.cnv"
- -@erase "*.icu"
- -@erase "*.mak"
- -@erase "*.nrm"
- -@erase "*.res"
- -@erase "*.spp"
- -@erase "*.txt"
- @cd "$(TESTDATAOUT)"
- -@erase "*.dat"
- @cd "$(TESTDATAOUT)\testdata"
- -@erase "*.typ"
- @cd "$(ICUBLD_PKG)"
-
-
-# RBBI .brk file generation.
-{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\rules}.txt.brk:
- @echo Creating $@
- @"$(ICUTOOLS)\genbrk\$(CFGTOOLS)\genbrk" -c -r $< -o $@ -d"$(ICUBLD_PKG)" -i "$(ICUBLD_PKG)"
-
-#RBBI .dict file generation.
-{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries}.txt.dict:
- @echo Creating $@
- @"$(ICUTOOLS)\gendict\$(CFGTOOLS)\gendict" -c --uchars $< "$(ICUBLD_PKG)\$@"
-
-$(ICUBRK)\thaidict.dict:
- @echo Creating $(ICUBRK)\thaidict.dict
- @"$(ICUTOOLS)\gendict\$(CFGTOOLS)\gendict" -c --bytes --transform offset-0x0e00 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\thaidict.txt "$(ICUBLD_PKG)\$(ICUBRK)\thaidict.dict"
-
-$(ICUBRK)\laodict.dict:
- @echo Creating $(ICUBRK)\laodict.dict
- @"$(ICUTOOLS)\gendict\$(CFGTOOLS)\gendict" -c --bytes --transform offset-0x0e80 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\laodict.txt "$(ICUBLD_PKG)\$(ICUBRK)\laodict.dict"
-
-$(ICUBRK)\burmesedict.dict:
- @echo Creating $(ICUBRK)\burmesedict.dict
- @"$(ICUTOOLS)\gendict\$(CFGTOOLS)\gendict" -c --bytes --transform offset-0x1000 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\burmesedict.txt "$(ICUBLD_PKG)\$(ICUBRK)\burmesedict.dict"
-
-$(ICUBRK)\khmerdict.dict:
- @echo Creating $(ICUBRK)\khmerdict.dict
- @"$(ICUTOOLS)\gendict\$(CFGTOOLS)\gendict" -c --bytes --transform offset-0x1780 $(ICUSRCDATA_RELATIVE_PATH)\$(ICUBRK)\dictionaries\khmerdict.txt "$(ICUBLD_PKG)\$(ICUBRK)\khmerdict.dict"
-
-!IFNDEF ICUDATA_SOURCE_ARCHIVE
-# Rule for creating converters
-$(CNV_FILES): $(UCM_SOURCE)
- @echo Building Charset Conversion table $(@B)
- @"$(ICUTOOLS)\makeconv\$(CFGTOOLS)\makeconv" -c -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm
-!ENDIF
-
-!IFDEF BUILD_SPECIAL_CNV_FILES
-$(CNV_FILES_SPECIAL): $(UCM_SOURCE_SPECIAL)
- @echo Building Special Charset Conversion table $(@B)
- @"$(ICUTOOLS)\makeconv\$(CFGTOOLS)\makeconv" -c --ignore-siso-check -d"$(ICUBLD_PKG)" $(ICUSRCDATA_RELATIVE_PATH)\$(ICUUCM)\$(@B).ucm
-!ENDIF
-
-# Batch inference rule for creating miscellaneous resource files
-# TODO: -q option is specified to squelch the 120+ warnings about
-# empty intvectors and binary elements. Unfortunately, this may
-# squelch other legitimate warnings. When there is a better
-# way, remove the -q.
-{$(ICUSRCDATA_RELATIVE_PATH)\$(ICUMISC2)}.txt.res::
- @echo Making Miscellaneous Resource Bundle files
- @"$(ICUTOOLS)\genrb\$(CFGTOOLS)\genrb" -k -q -d"$(ICUBLD_PKG)" $<
-
-# Inference rule for creating resource bundle files
-{$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)}.txt.res::
- @echo Making Locale Resource Bundle files
- @"$(ICUTOOLS)\genrb\$(CFGTOOLS)\genrb" --usePoolBundle $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC) -k -d"$(ICUBLD_PKG)" $<
-
-# copy the locales/pool.res file from the source folder to the build output folder
-# and swap it to native endianness
-pool.res: $(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res
- "$(ICUPBIN)\icupkg" -tl "$(ICUSRCDATA_RELATIVE_PATH)\$(ICULOC)\pool.res" pool.res
-
-res_index.res:
- @echo Generating <
-
-
{D9DF7F2F-93B7-4810-B5CD-96F4F33C079B}
MakeFileProj
@@ -9,6 +7,8 @@
false
+
+
@@ -19,69 +19,26 @@
<_ProjectFileVersion>10.0.30319.1
- .\data\tmp\x86\
- .\data\build\
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release clean
-
- $(NMakePreprocessorDefinitions)
- $(NMakeIncludeSearchPath)
- $(NMakeForcedIncludes)
- $(NMakeAssemblySearchPath)
- $(NMakeForcedUsingAssemblies)
- .\data\tmp\x86\
- .\data\build\
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug clean
-
- $(NMakePreprocessorDefinitions)
- $(NMakeIncludeSearchPath)
- $(NMakeForcedIncludes)
- $(NMakeAssemblySearchPath)
- $(NMakeForcedUsingAssemblies)
- .\data\tmp\x64\
- .\data\build\
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release clean
-
- $(NMakePreprocessorDefinitions)
- $(NMakeIncludeSearchPath)
- $(NMakeForcedIncludes)
- $(NMakeAssemblySearchPath)
- $(NMakeForcedUsingAssemblies)
- .\data\tmp\x64\
- .\data\build\
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug clean
-
- $(NMakePreprocessorDefinitions)
- $(NMakeIncludeSearchPath)
- $(NMakeForcedIncludes)
- $(NMakeAssemblySearchPath)
- $(NMakeForcedUsingAssemblies)
+ .\data\tmp\$(Platform)\
+ .\data\build\
+ $(Platform)\$(Configuration)
+
+ .\data\tmp\x86\
+ x86\$(Configuration)
+
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG)
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG) clean all
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG) clean
+
+ $(NMakePreprocessorDefinitions)
+ $(NMakeIncludeSearchPath)
+ $(NMakeForcedIncludes)
+ $(NMakeAssemblySearchPath)
+ $(NMakeForcedUsingAssemblies)
-
-
- .\out\tmp\x86\ReleaseBuildLog.html
-
-
-
-
- .\out\tmp\x86\DebugBuildLog.html
-
-
-
-
- .\out\tmp\x64\ReleaseBuildLog.html
-
-
-
+
- .\out\tmp\x64\DebugBuildLog.html
+ .\data\log\$(Platform)\$(Configuration)BuildLog.html
@@ -93,7 +50,6 @@
-
@@ -199,4 +155,4 @@
-
\ No newline at end of file
+
diff --git a/Build/source/libs/icu/icu-src/source/data/makedata.vcxproj.filters b/Build/source/libs/icu/icu-src/source/data/makedata.vcxproj.filters
index d37a4b28673..54bd3034bc1 100644
--- a/Build/source/libs/icu/icu-src/source/data/makedata.vcxproj.filters
+++ b/Build/source/libs/icu/icu-src/source/data/makedata.vcxproj.filters
@@ -35,9 +35,6 @@
Make Files
-
- Make Files
-
Make Files
diff --git a/Build/source/libs/icu/icu-src/source/data/makedata_uwp.vcxproj b/Build/source/libs/icu/icu-src/source/data/makedata_uwp.vcxproj
index 8573b36e456..f89bac014b7 100644
--- a/Build/source/libs/icu/icu-src/source/data/makedata_uwp.vcxproj
+++ b/Build/source/libs/icu/icu-src/source/data/makedata_uwp.vcxproj
@@ -1,7 +1,5 @@
-
-
Debug
@@ -15,6 +13,10 @@
Debug
ARM
+
+ Debug
+ ARM64
+
Release
Win32
@@ -27,6 +29,10 @@
Release
ARM
+
+ Release
+ ARM64
+
{B1D53358-37BD-48BC-B27C-68BAF1E78508}
@@ -35,6 +41,8 @@
Makefile
false
+
+
@@ -46,65 +54,20 @@
<_ProjectFileVersion>10.0.30319.1
- .\data\tmp\x86\
- .\data\tmp\x86\
- .\data\tmp\x64\
- .\data\tmp\x64\
- .\data\tmp\arm\
- .\data\tmp\arm\
- .\data\build\
- .\data\build\
- .\data\build\
- .\data\build\
- .\data\build\
- .\data\build\
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Release UWP=UWP clean
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x86\Debug UWP=UWP clean
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Release UWP=UWP clean
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=x64\Debug UWP=UWP clean
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Release UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Release UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Release UWP=UWP clean
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Debug UWP=UWP
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Debug UWP=UWP clean all
- NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=ARM\Debug UWP=UWP clean
+ .\data\tmp\$(Platform)\
+ .\data\build\
+ $(Platform)\$(Configuration)
+
+ .\data\tmp\x86\
+ x86\$(Configuration)
+
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG) UWP=UWP
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG) UWP=UWP clean all
+ NMAKE /f makedata.mak ICUMAKE="$(ProjectDir)\" CFG=$(MakeCFG) UWP=UWP clean
-
-
- .\out\tmp\x86\ReleaseUWPBuildLog.html
-
-
-
-
- .\out\tmp\x86\DebugUWPBuildLog.html
-
-
-
-
- .\out\tmp\x64\ReleaseUWPBuildLog.html
-
-
-
-
- .\out\tmp\x64\DebugUWPBuildLog.html
-
-
-
-
- .\out\tmp\arm\ReleaseUWPBuildLog.html
-
-
-
+
- .\out\tmp\arm\DebugUWPBuildLog.html
+ $(OutDir)$(Configuration)UWPBuildLog.html
@@ -116,7 +79,6 @@
-
@@ -127,7 +89,10 @@
false
-
+
+
+
+
\ No newline at end of file
diff --git a/Build/source/libs/icu/icu-src/source/data/pkgdataMakefile.in b/Build/source/libs/icu/icu-src/source/data/pkgdataMakefile.in
index 4e21d03ce16..721ba1612f8 100644
--- a/Build/source/libs/icu/icu-src/source/data/pkgdataMakefile.in
+++ b/Build/source/libs/icu/icu-src/source/data/pkgdataMakefile.in
@@ -16,6 +16,7 @@ include $(top_builddir)/icudefs.mk
OUTPUTFILE=icupkg.inc
MIDDLE_SO_TARGET=
+PKGDATA_TRAILING_SPACE=" "
all : clean
@echo GENCCODE_ASSEMBLY_TYPE=$(GENCCODE_ASSEMBLY) >> $(OUTPUTFILE)
@@ -36,7 +37,6 @@ all : clean
@echo RANLIB=$(RANLIB) >> $(OUTPUTFILE)
@echo INSTALL_CMD=$(INSTALL) >> $(OUTPUTFILE)
-
clean :
$(RMV) $(OUTPUTFILE)
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/CaseFolding.txt b/Build/source/libs/icu/icu-src/source/data/unidata/CaseFolding.txt
index cce350f49c9..7eeb915abfd 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/CaseFolding.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/CaseFolding.txt
@@ -1,6 +1,6 @@
-# CaseFolding-11.0.0.txt
-# Date: 2018-01-31, 08:20:09 GMT
-# © 2018 Unicode®, Inc.
+# CaseFolding-12.1.0.txt
+# Date: 2019-03-10, 10:53:00 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -1227,6 +1227,13 @@ A7B3; C; AB53; # LATIN CAPITAL LETTER CHI
A7B4; C; A7B5; # LATIN CAPITAL LETTER BETA
A7B6; C; A7B7; # LATIN CAPITAL LETTER OMEGA
A7B8; C; A7B9; # LATIN CAPITAL LETTER U WITH STROKE
+A7BA; C; A7BB; # LATIN CAPITAL LETTER GLOTTAL A
+A7BC; C; A7BD; # LATIN CAPITAL LETTER GLOTTAL I
+A7BE; C; A7BF; # LATIN CAPITAL LETTER GLOTTAL U
+A7C2; C; A7C3; # LATIN CAPITAL LETTER ANGLICANA W
+A7C4; C; A794; # LATIN CAPITAL LETTER C WITH PALATAL HOOK
+A7C5; C; 0282; # LATIN CAPITAL LETTER S WITH HOOK
+A7C6; C; 1D8E; # LATIN CAPITAL LETTER Z WITH PALATAL HOOK
AB70; C; 13A0; # CHEROKEE SMALL LETTER A
AB71; C; 13A1; # CHEROKEE SMALL LETTER E
AB72; C; 13A2; # CHEROKEE SMALL LETTER I
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/DerivedCoreProperties.txt b/Build/source/libs/icu/icu-src/source/data/unidata/DerivedCoreProperties.txt
index 4048cc2b842..7856f2b40ab 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/DerivedCoreProperties.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/DerivedCoreProperties.txt
@@ -1,6 +1,6 @@
-# DerivedCoreProperties-11.0.0.txt
-# Date: 2018-02-21, 05:34:02 GMT
-# © 2018 Unicode®, Inc.
+# DerivedCoreProperties-12.1.0.txt
+# Date: 2019-03-10, 10:53:06 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -530,16 +530,10 @@ FFE9..FFEC ; Math
0E4D ; Alphabetic
0E81..0E82 ; Alphabetic
0E84 ; Alphabetic
-0E87..0E88 ; Alphabetic
-0E8A ; Alphabetic
-0E8D ; Alphabetic
-0E94..0E97 ; Alphabetic
-0E99..0E9F ; Alphabetic
-0EA1..0EA3 ; Alphabetic
+0E86..0E8A ; Alphabetic
+0E8C..0EA3 ; Alphabetic
0EA5 ; Alphabetic
-0EA7 ; Alphabetic
-0EAA..0EAB ; Alphabetic
-0EAD..0EB0 ; Alphabetic
+0EA7..0EB0 ; Alphabetic
0EB1 ; Alphabetic
0EB2..0EB3 ; Alphabetic
0EB4..0EB9 ; Alphabetic
@@ -573,17 +567,20 @@ FFE9..FFEC ; Math
105A..105D ; Alphabetic
105E..1060 ; Alphabetic
1061 ; Alphabetic
-1062 ; Alphabetic
+1062..1064 ; Alphabetic
1065..1066 ; Alphabetic
-1067..1068 ; Alphabetic
+1067..106D ; Alphabetic
106E..1070 ; Alphabetic
1071..1074 ; Alphabetic
1075..1081 ; Alphabetic
1082 ; Alphabetic
1083..1084 ; Alphabetic
1085..1086 ; Alphabetic
+1087..108C ; Alphabetic
+108D ; Alphabetic
108E ; Alphabetic
-109C ; Alphabetic
+108F ; Alphabetic
+109A..109C ; Alphabetic
109D ; Alphabetic
10A0..10C5 ; Alphabetic
10C7 ; Alphabetic
@@ -607,7 +604,6 @@ FFE9..FFEC ; Math
12D8..1310 ; Alphabetic
1312..1315 ; Alphabetic
1318..135A ; Alphabetic
-135F ; Alphabetic
1380..138F ; Alphabetic
13A0..13F5 ; Alphabetic
13F8..13FD ; Alphabetic
@@ -703,6 +699,7 @@ FFE9..FFEC ; Math
1C24..1C2B ; Alphabetic
1C2C..1C33 ; Alphabetic
1C34..1C35 ; Alphabetic
+1C36 ; Alphabetic
1C4D..1C4F ; Alphabetic
1C5A..1C77 ; Alphabetic
1C78..1C7D ; Alphabetic
@@ -710,9 +707,9 @@ FFE9..FFEC ; Math
1C90..1CBA ; Alphabetic
1CBD..1CBF ; Alphabetic
1CE9..1CEC ; Alphabetic
-1CEE..1CF1 ; Alphabetic
-1CF2..1CF3 ; Alphabetic
+1CEE..1CF3 ; Alphabetic
1CF5..1CF6 ; Alphabetic
+1CFA ; Alphabetic
1D00..1D2B ; Alphabetic
1D2C..1D6A ; Alphabetic
1D6B..1D77 ; Alphabetic
@@ -829,13 +826,16 @@ A771..A787 ; Alphabetic
A788 ; Alphabetic
A78B..A78E ; Alphabetic
A78F ; Alphabetic
-A790..A7B9 ; Alphabetic
+A790..A7BF ; Alphabetic
+A7C2..A7C6 ; Alphabetic
A7F7 ; Alphabetic
A7F8..A7F9 ; Alphabetic
A7FA ; Alphabetic
A7FB..A801 ; Alphabetic
+A802 ; Alphabetic
A803..A805 ; Alphabetic
A807..A80A ; Alphabetic
+A80B ; Alphabetic
A80C..A822 ; Alphabetic
A823..A824 ; Alphabetic
A825..A826 ; Alphabetic
@@ -848,6 +848,7 @@ A8C5 ; Alphabetic
A8F2..A8F7 ; Alphabetic
A8FB ; Alphabetic
A8FD..A8FE ; Alphabetic
+A8FF ; Alphabetic
A90A..A925 ; Alphabetic
A926..A92A ; Alphabetic
A930..A946 ; Alphabetic
@@ -860,10 +861,11 @@ A984..A9B2 ; Alphabetic
A9B4..A9B5 ; Alphabetic
A9B6..A9B9 ; Alphabetic
A9BA..A9BB ; Alphabetic
-A9BC ; Alphabetic
-A9BD..A9BF ; Alphabetic
+A9BC..A9BD ; Alphabetic
+A9BE..A9BF ; Alphabetic
A9CF ; Alphabetic
A9E0..A9E4 ; Alphabetic
+A9E5 ; Alphabetic
A9E6 ; Alphabetic
A9E7..A9EF ; Alphabetic
A9FA..A9FE ; Alphabetic
@@ -882,6 +884,9 @@ AA60..AA6F ; Alphabetic
AA70 ; Alphabetic
AA71..AA76 ; Alphabetic
AA7A ; Alphabetic
+AA7B ; Alphabetic
+AA7C ; Alphabetic
+AA7D ; Alphabetic
AA7E..AAAF ; Alphabetic
AAB0 ; Alphabetic
AAB1 ; Alphabetic
@@ -908,7 +913,7 @@ AB20..AB26 ; Alphabetic
AB28..AB2E ; Alphabetic
AB30..AB5A ; Alphabetic
AB5C..AB5F ; Alphabetic
-AB60..AB65 ; Alphabetic
+AB60..AB67 ; Alphabetic
AB70..ABBF ; Alphabetic
ABC0..ABE2 ; Alphabetic
ABE3..ABE4 ; Alphabetic
@@ -1016,6 +1021,7 @@ FFDA..FFDC ; Alphabetic
10F00..10F1C ; Alphabetic
10F27 ; Alphabetic
10F30..10F45 ; Alphabetic
+10FE0..10FF6 ; Alphabetic
11000 ; Alphabetic
11001 ; Alphabetic
11002 ; Alphabetic
@@ -1087,6 +1093,7 @@ FFDA..FFDC ; Alphabetic
11443..11444 ; Alphabetic
11445 ; Alphabetic
11447..1144A ; Alphabetic
+1145F ; Alphabetic
11480..114AF ; Alphabetic
114B0..114B2 ; Alphabetic
114B3..114B8 ; Alphabetic
@@ -1119,6 +1126,7 @@ FFDA..FFDC ; Alphabetic
116AD ; Alphabetic
116AE..116AF ; Alphabetic
116B0..116B5 ; Alphabetic
+116B8 ; Alphabetic
11700..1171A ; Alphabetic
1171D..1171F ; Alphabetic
11720..11721 ; Alphabetic
@@ -1131,6 +1139,15 @@ FFDA..FFDC ; Alphabetic
11838 ; Alphabetic
118A0..118DF ; Alphabetic
118FF ; Alphabetic
+119A0..119A7 ; Alphabetic
+119AA..119D0 ; Alphabetic
+119D1..119D3 ; Alphabetic
+119D4..119D7 ; Alphabetic
+119DA..119DB ; Alphabetic
+119DC..119DF ; Alphabetic
+119E1 ; Alphabetic
+119E3 ; Alphabetic
+119E4 ; Alphabetic
11A00 ; Alphabetic
11A01..11A0A ; Alphabetic
11A0B..11A32 ; Alphabetic
@@ -1142,8 +1159,7 @@ FFDA..FFDC ; Alphabetic
11A51..11A56 ; Alphabetic
11A57..11A58 ; Alphabetic
11A59..11A5B ; Alphabetic
-11A5C..11A83 ; Alphabetic
-11A86..11A89 ; Alphabetic
+11A5C..11A89 ; Alphabetic
11A8A..11A96 ; Alphabetic
11A97 ; Alphabetic
11A9D ; Alphabetic
@@ -1194,19 +1210,23 @@ FFDA..FFDC ; Alphabetic
16A40..16A5E ; Alphabetic
16AD0..16AED ; Alphabetic
16B00..16B2F ; Alphabetic
-16B30..16B36 ; Alphabetic
16B40..16B43 ; Alphabetic
16B63..16B77 ; Alphabetic
16B7D..16B8F ; Alphabetic
16E40..16E7F ; Alphabetic
-16F00..16F44 ; Alphabetic
+16F00..16F4A ; Alphabetic
+16F4F ; Alphabetic
16F50 ; Alphabetic
-16F51..16F7E ; Alphabetic
+16F51..16F87 ; Alphabetic
+16F8F..16F92 ; Alphabetic
16F93..16F9F ; Alphabetic
16FE0..16FE1 ; Alphabetic
-17000..187F1 ; Alphabetic
+16FE3 ; Alphabetic
+17000..187F7 ; Alphabetic
18800..18AF2 ; Alphabetic
1B000..1B11E ; Alphabetic
+1B150..1B152 ; Alphabetic
+1B164..1B167 ; Alphabetic
1B170..1B2FB ; Alphabetic
1BC00..1BC6A ; Alphabetic
1BC70..1BC7C ; Alphabetic
@@ -1248,9 +1268,14 @@ FFDA..FFDC ; Alphabetic
1E01B..1E021 ; Alphabetic
1E023..1E024 ; Alphabetic
1E026..1E02A ; Alphabetic
+1E100..1E12C ; Alphabetic
+1E137..1E13D ; Alphabetic
+1E14E ; Alphabetic
+1E2C0..1E2EB ; Alphabetic
1E800..1E8C4 ; Alphabetic
1E900..1E943 ; Alphabetic
1E947 ; Alphabetic
+1E94B ; Alphabetic
1EE00..1EE03 ; Alphabetic
1EE05..1EE1F ; Alphabetic
1EE21..1EE22 ; Alphabetic
@@ -1294,7 +1319,7 @@ FFDA..FFDC ; Alphabetic
2CEB0..2EBE0 ; Alphabetic
2F800..2FA1D ; Alphabetic
-# Total code points: 126989
+# Total code points: 127256
# ================================================
@@ -1916,11 +1941,15 @@ A7AF ; Lowercase
A7B5 ; Lowercase
A7B7 ; Lowercase
A7B9 ; Lowercase
+A7BB ; Lowercase
+A7BD ; Lowercase
+A7BF ; Lowercase
+A7C3 ; Lowercase
A7F8..A7F9 ; Lowercase
A7FA ; Lowercase
AB30..AB5A ; Lowercase
AB5C..AB5F ; Lowercase
-AB60..AB65 ; Lowercase
+AB60..AB67 ; Lowercase
AB70..ABBF ; Lowercase
FB00..FB06 ; Lowercase
FB13..FB17 ; Lowercase
@@ -1960,7 +1989,7 @@ FF41..FF5A ; Lowercase
1D7CB ; Lowercase
1E922..1E943 ; Lowercase
-# Total code points: 2334
+# Total code points: 2340
# ================================================
@@ -2562,6 +2591,11 @@ A7AA..A7AE ; Uppercase
A7B0..A7B4 ; Uppercase
A7B6 ; Uppercase
A7B8 ; Uppercase
+A7BA ; Uppercase
+A7BC ; Uppercase
+A7BE ; Uppercase
+A7C2 ; Uppercase
+A7C4..A7C6 ; Uppercase
FF21..FF3A ; Uppercase
10400..10427 ; Uppercase
104B0..104D3 ; Uppercase
@@ -2604,7 +2638,7 @@ FF21..FF3A ; Uppercase
1F150..1F169 ; Uppercase
1F170..1F189 ; Uppercase
-# Total code points: 1901
+# Total code points: 1908
# ================================================
@@ -2713,12 +2747,13 @@ A722..A76F ; Cased
A770 ; Cased
A771..A787 ; Cased
A78B..A78E ; Cased
-A790..A7B9 ; Cased
+A790..A7BF ; Cased
+A7C2..A7C6 ; Cased
A7F8..A7F9 ; Cased
A7FA ; Cased
AB30..AB5A ; Cased
AB5C..AB5F ; Cased
-AB60..AB65 ; Cased
+AB60..AB67 ; Cased
AB70..ABBF ; Cased
FB00..FB06 ; Cased
FB13..FB17 ; Cased
@@ -2766,7 +2801,7 @@ FF41..FF5A ; Cased
1F150..1F169 ; Cased
1F170..1F189 ; Cased
-# Total code points: 4266
+# Total code points: 4279
# ================================================
@@ -2907,8 +2942,7 @@ FF41..FF5A ; Cased
0E46 ; Case_Ignorable
0E47..0E4E ; Case_Ignorable
0EB1 ; Case_Ignorable
-0EB4..0EB9 ; Case_Ignorable
-0EBB..0EBC ; Case_Ignorable
+0EB4..0EBC ; Case_Ignorable
0EC6 ; Case_Ignorable
0EC8..0ECD ; Case_Ignorable
0F18..0F19 ; Case_Ignorable
@@ -3058,7 +3092,7 @@ A947..A951 ; Case_Ignorable
A980..A982 ; Case_Ignorable
A9B3 ; Case_Ignorable
A9B6..A9B9 ; Case_Ignorable
-A9BC ; Case_Ignorable
+A9BC..A9BD ; Case_Ignorable
A9CF ; Case_Ignorable
A9E5 ; Case_Ignorable
A9E6 ; Case_Ignorable
@@ -3160,6 +3194,9 @@ FFF9..FFFB ; Case_Ignorable
11727..1172B ; Case_Ignorable
1182F..11837 ; Case_Ignorable
11839..1183A ; Case_Ignorable
+119D4..119D7 ; Case_Ignorable
+119DA..119DB ; Case_Ignorable
+119E0 ; Case_Ignorable
11A01..11A0A ; Case_Ignorable
11A33..11A38 ; Case_Ignorable
11A3B..11A3E ; Case_Ignorable
@@ -3184,12 +3221,15 @@ FFF9..FFFB ; Case_Ignorable
11D95 ; Case_Ignorable
11D97 ; Case_Ignorable
11EF3..11EF4 ; Case_Ignorable
+13430..13438 ; Case_Ignorable
16AF0..16AF4 ; Case_Ignorable
16B30..16B36 ; Case_Ignorable
16B40..16B43 ; Case_Ignorable
+16F4F ; Case_Ignorable
16F8F..16F92 ; Case_Ignorable
16F93..16F9F ; Case_Ignorable
16FE0..16FE1 ; Case_Ignorable
+16FE3 ; Case_Ignorable
1BC9D..1BC9E ; Case_Ignorable
1BCA0..1BCA3 ; Case_Ignorable
1D167..1D169 ; Case_Ignorable
@@ -3209,14 +3249,18 @@ FFF9..FFFB ; Case_Ignorable
1E01B..1E021 ; Case_Ignorable
1E023..1E024 ; Case_Ignorable
1E026..1E02A ; Case_Ignorable
+1E130..1E136 ; Case_Ignorable
+1E137..1E13D ; Case_Ignorable
+1E2EC..1E2EF ; Case_Ignorable
1E8D0..1E8D6 ; Case_Ignorable
1E944..1E94A ; Case_Ignorable
+1E94B ; Case_Ignorable
1F3FB..1F3FF ; Case_Ignorable
E0001 ; Case_Ignorable
E0020..E007F ; Case_Ignorable
E0100..E01EF ; Case_Ignorable
-# Total code points: 2357
+# Total code points: 2396
# ================================================
@@ -3812,6 +3856,11 @@ A7AA..A7AE ; Changes_When_Lowercased
A7B0..A7B4 ; Changes_When_Lowercased
A7B6 ; Changes_When_Lowercased
A7B8 ; Changes_When_Lowercased
+A7BA ; Changes_When_Lowercased
+A7BC ; Changes_When_Lowercased
+A7BE ; Changes_When_Lowercased
+A7C2 ; Changes_When_Lowercased
+A7C4..A7C6 ; Changes_When_Lowercased
FF21..FF3A ; Changes_When_Lowercased
10400..10427 ; Changes_When_Lowercased
104B0..104D3 ; Changes_When_Lowercased
@@ -3820,7 +3869,7 @@ FF21..FF3A ; Changes_When_Lowercased
16E40..16E5F ; Changes_When_Lowercased
1E900..1E921 ; Changes_When_Lowercased
-# Total code points: 1383
+# Total code points: 1390
# ================================================
@@ -3985,7 +4034,7 @@ FF21..FF3A ; Changes_When_Lowercased
0275 ; Changes_When_Uppercased
027D ; Changes_When_Uppercased
0280 ; Changes_When_Uppercased
-0283 ; Changes_When_Uppercased
+0282..0283 ; Changes_When_Uppercased
0287..028C ; Changes_When_Uppercased
0292 ; Changes_When_Uppercased
029D..029E ; Changes_When_Uppercased
@@ -4120,6 +4169,7 @@ FF21..FF3A ; Changes_When_Lowercased
1C80..1C88 ; Changes_When_Uppercased
1D79 ; Changes_When_Uppercased
1D7D ; Changes_When_Uppercased
+1D8E ; Changes_When_Uppercased
1E01 ; Changes_When_Uppercased
1E03 ; Changes_When_Uppercased
1E05 ; Changes_When_Uppercased
@@ -4415,7 +4465,7 @@ A785 ; Changes_When_Uppercased
A787 ; Changes_When_Uppercased
A78C ; Changes_When_Uppercased
A791 ; Changes_When_Uppercased
-A793 ; Changes_When_Uppercased
+A793..A794 ; Changes_When_Uppercased
A797 ; Changes_When_Uppercased
A799 ; Changes_When_Uppercased
A79B ; Changes_When_Uppercased
@@ -4429,6 +4479,10 @@ A7A9 ; Changes_When_Uppercased
A7B5 ; Changes_When_Uppercased
A7B7 ; Changes_When_Uppercased
A7B9 ; Changes_When_Uppercased
+A7BB ; Changes_When_Uppercased
+A7BD ; Changes_When_Uppercased
+A7BF ; Changes_When_Uppercased
+A7C3 ; Changes_When_Uppercased
AB53 ; Changes_When_Uppercased
AB70..ABBF ; Changes_When_Uppercased
FB00..FB06 ; Changes_When_Uppercased
@@ -4441,7 +4495,7 @@ FF41..FF5A ; Changes_When_Uppercased
16E60..16E7F ; Changes_When_Uppercased
1E922..1E943 ; Changes_When_Uppercased
-# Total code points: 1475
+# Total code points: 1482
# ================================================
@@ -4607,7 +4661,7 @@ FF41..FF5A ; Changes_When_Uppercased
0275 ; Changes_When_Titlecased
027D ; Changes_When_Titlecased
0280 ; Changes_When_Titlecased
-0283 ; Changes_When_Titlecased
+0282..0283 ; Changes_When_Titlecased
0287..028C ; Changes_When_Titlecased
0292 ; Changes_When_Titlecased
029D..029E ; Changes_When_Titlecased
@@ -4740,6 +4794,7 @@ FF41..FF5A ; Changes_When_Uppercased
1C80..1C88 ; Changes_When_Titlecased
1D79 ; Changes_When_Titlecased
1D7D ; Changes_When_Titlecased
+1D8E ; Changes_When_Titlecased
1E01 ; Changes_When_Titlecased
1E03 ; Changes_When_Titlecased
1E05 ; Changes_When_Titlecased
@@ -5035,7 +5090,7 @@ A785 ; Changes_When_Titlecased
A787 ; Changes_When_Titlecased
A78C ; Changes_When_Titlecased
A791 ; Changes_When_Titlecased
-A793 ; Changes_When_Titlecased
+A793..A794 ; Changes_When_Titlecased
A797 ; Changes_When_Titlecased
A799 ; Changes_When_Titlecased
A79B ; Changes_When_Titlecased
@@ -5049,6 +5104,10 @@ A7A9 ; Changes_When_Titlecased
A7B5 ; Changes_When_Titlecased
A7B7 ; Changes_When_Titlecased
A7B9 ; Changes_When_Titlecased
+A7BB ; Changes_When_Titlecased
+A7BD ; Changes_When_Titlecased
+A7BF ; Changes_When_Titlecased
+A7C3 ; Changes_When_Titlecased
AB53 ; Changes_When_Titlecased
AB70..ABBF ; Changes_When_Titlecased
FB00..FB06 ; Changes_When_Titlecased
@@ -5061,7 +5120,7 @@ FF41..FF5A ; Changes_When_Titlecased
16E60..16E7F ; Changes_When_Titlecased
1E922..1E943 ; Changes_When_Titlecased
-# Total code points: 1402
+# Total code points: 1409
# ================================================
@@ -5667,6 +5726,11 @@ A7AA..A7AE ; Changes_When_Casefolded
A7B0..A7B4 ; Changes_When_Casefolded
A7B6 ; Changes_When_Casefolded
A7B8 ; Changes_When_Casefolded
+A7BA ; Changes_When_Casefolded
+A7BC ; Changes_When_Casefolded
+A7BE ; Changes_When_Casefolded
+A7C2 ; Changes_When_Casefolded
+A7C4..A7C6 ; Changes_When_Casefolded
AB70..ABBF ; Changes_When_Casefolded
FB00..FB06 ; Changes_When_Casefolded
FB13..FB17 ; Changes_When_Casefolded
@@ -5678,7 +5742,7 @@ FF21..FF3A ; Changes_When_Casefolded
16E40..16E5F ; Changes_When_Casefolded
1E900..1E921 ; Changes_When_Casefolded
-# Total code points: 1456
+# Total code points: 1463
# ================================================
@@ -5714,7 +5778,7 @@ FF21..FF3A ; Changes_When_Casefolded
0275 ; Changes_When_Casemapped
027D ; Changes_When_Casemapped
0280 ; Changes_When_Casemapped
-0283 ; Changes_When_Casemapped
+0282..0283 ; Changes_When_Casemapped
0287..028C ; Changes_When_Casemapped
0292 ; Changes_When_Casemapped
029D..029E ; Changes_When_Casemapped
@@ -5746,6 +5810,7 @@ FF21..FF3A ; Changes_When_Casefolded
1CBD..1CBF ; Changes_When_Casemapped
1D79 ; Changes_When_Casemapped
1D7D ; Changes_When_Casemapped
+1D8E ; Changes_When_Casemapped
1E00..1E9B ; Changes_When_Casemapped
1E9E ; Changes_When_Casemapped
1EA0..1F15 ; Changes_When_Casemapped
@@ -5791,9 +5856,10 @@ A722..A72F ; Changes_When_Casemapped
A732..A76F ; Changes_When_Casemapped
A779..A787 ; Changes_When_Casemapped
A78B..A78D ; Changes_When_Casemapped
-A790..A793 ; Changes_When_Casemapped
+A790..A794 ; Changes_When_Casemapped
A796..A7AE ; Changes_When_Casemapped
-A7B0..A7B9 ; Changes_When_Casemapped
+A7B0..A7BF ; Changes_When_Casemapped
+A7C2..A7C6 ; Changes_When_Casemapped
AB53 ; Changes_When_Casemapped
AB70..ABBF ; Changes_When_Casemapped
FB00..FB06 ; Changes_When_Casemapped
@@ -5809,7 +5875,7 @@ FF41..FF5A ; Changes_When_Casemapped
16E40..16E7F ; Changes_When_Casemapped
1E900..1E943 ; Changes_When_Casemapped
-# Total code points: 2827
+# Total code points: 2841
# ================================================
@@ -5979,16 +6045,10 @@ FF41..FF5A ; Changes_When_Casemapped
0E46 ; ID_Start
0E81..0E82 ; ID_Start
0E84 ; ID_Start
-0E87..0E88 ; ID_Start
-0E8A ; ID_Start
-0E8D ; ID_Start
-0E94..0E97 ; ID_Start
-0E99..0E9F ; ID_Start
-0EA1..0EA3 ; ID_Start
+0E86..0E8A ; ID_Start
+0E8C..0EA3 ; ID_Start
0EA5 ; ID_Start
-0EA7 ; ID_Start
-0EAA..0EAB ; ID_Start
-0EAD..0EB0 ; ID_Start
+0EA7..0EB0 ; ID_Start
0EB2..0EB3 ; ID_Start
0EBD ; ID_Start
0EC0..0EC4 ; ID_Start
@@ -6076,8 +6136,9 @@ FF41..FF5A ; Changes_When_Casemapped
1C90..1CBA ; ID_Start
1CBD..1CBF ; ID_Start
1CE9..1CEC ; ID_Start
-1CEE..1CF1 ; ID_Start
+1CEE..1CF3 ; ID_Start
1CF5..1CF6 ; ID_Start
+1CFA ; ID_Start
1D00..1D2B ; ID_Start
1D2C..1D6A ; ID_Start
1D6B..1D77 ; ID_Start
@@ -6191,7 +6252,8 @@ A771..A787 ; ID_Start
A788 ; ID_Start
A78B..A78E ; ID_Start
A78F ; ID_Start
-A790..A7B9 ; ID_Start
+A790..A7BF ; ID_Start
+A7C2..A7C6 ; ID_Start
A7F7 ; ID_Start
A7F8..A7F9 ; ID_Start
A7FA ; ID_Start
@@ -6238,7 +6300,7 @@ AB20..AB26 ; ID_Start
AB28..AB2E ; ID_Start
AB30..AB5A ; ID_Start
AB5C..AB5F ; ID_Start
-AB60..AB65 ; ID_Start
+AB60..AB67 ; ID_Start
AB70..ABBF ; ID_Start
ABC0..ABE2 ; ID_Start
AC00..D7A3 ; ID_Start
@@ -6335,6 +6397,7 @@ FFDA..FFDC ; ID_Start
10F00..10F1C ; ID_Start
10F27 ; ID_Start
10F30..10F45 ; ID_Start
+10FE0..10FF6 ; ID_Start
11003..11037 ; ID_Start
11083..110AF ; ID_Start
110D0..110E8 ; ID_Start
@@ -6365,6 +6428,7 @@ FFDA..FFDC ; ID_Start
1135D..11361 ; ID_Start
11400..11434 ; ID_Start
11447..1144A ; ID_Start
+1145F ; ID_Start
11480..114AF ; ID_Start
114C4..114C5 ; ID_Start
114C7 ; ID_Start
@@ -6373,16 +6437,20 @@ FFDA..FFDC ; ID_Start
11600..1162F ; ID_Start
11644 ; ID_Start
11680..116AA ; ID_Start
+116B8 ; ID_Start
11700..1171A ; ID_Start
11800..1182B ; ID_Start
118A0..118DF ; ID_Start
118FF ; ID_Start
+119A0..119A7 ; ID_Start
+119AA..119D0 ; ID_Start
+119E1 ; ID_Start
+119E3 ; ID_Start
11A00 ; ID_Start
11A0B..11A32 ; ID_Start
11A3A ; ID_Start
11A50 ; ID_Start
-11A5C..11A83 ; ID_Start
-11A86..11A89 ; ID_Start
+11A5C..11A89 ; ID_Start
11A9D ; ID_Start
11AC0..11AF8 ; ID_Start
11C00..11C08 ; ID_Start
@@ -6411,13 +6479,16 @@ FFDA..FFDC ; ID_Start
16B63..16B77 ; ID_Start
16B7D..16B8F ; ID_Start
16E40..16E7F ; ID_Start
-16F00..16F44 ; ID_Start
+16F00..16F4A ; ID_Start
16F50 ; ID_Start
16F93..16F9F ; ID_Start
16FE0..16FE1 ; ID_Start
-17000..187F1 ; ID_Start
+16FE3 ; ID_Start
+17000..187F7 ; ID_Start
18800..18AF2 ; ID_Start
1B000..1B11E ; ID_Start
+1B150..1B152 ; ID_Start
+1B164..1B167 ; ID_Start
1B170..1B2FB ; ID_Start
1BC00..1BC6A ; ID_Start
1BC70..1BC7C ; ID_Start
@@ -6453,8 +6524,13 @@ FFDA..FFDC ; ID_Start
1D78A..1D7A8 ; ID_Start
1D7AA..1D7C2 ; ID_Start
1D7C4..1D7CB ; ID_Start
+1E100..1E12C ; ID_Start
+1E137..1E13D ; ID_Start
+1E14E ; ID_Start
+1E2C0..1E2EB ; ID_Start
1E800..1E8C4 ; ID_Start
1E900..1E943 ; ID_Start
+1E94B ; ID_Start
1EE00..1EE03 ; ID_Start
1EE05..1EE1F ; ID_Start
1EE21..1EE22 ; ID_Start
@@ -6495,7 +6571,7 @@ FFDA..FFDC ; ID_Start
2CEB0..2EBE0 ; ID_Start
2F800..2FA1D ; ID_Start
-# Total code points: 125660
+# Total code points: 125884
# ================================================
@@ -6815,20 +6891,13 @@ FFDA..FFDC ; ID_Start
0E50..0E59 ; ID_Continue
0E81..0E82 ; ID_Continue
0E84 ; ID_Continue
-0E87..0E88 ; ID_Continue
-0E8A ; ID_Continue
-0E8D ; ID_Continue
-0E94..0E97 ; ID_Continue
-0E99..0E9F ; ID_Continue
-0EA1..0EA3 ; ID_Continue
+0E86..0E8A ; ID_Continue
+0E8C..0EA3 ; ID_Continue
0EA5 ; ID_Continue
-0EA7 ; ID_Continue
-0EAA..0EAB ; ID_Continue
-0EAD..0EB0 ; ID_Continue
+0EA7..0EB0 ; ID_Continue
0EB1 ; ID_Continue
0EB2..0EB3 ; ID_Continue
-0EB4..0EB9 ; ID_Continue
-0EBB..0EBC ; ID_Continue
+0EB4..0EBC ; ID_Continue
0EBD ; ID_Continue
0EC0..0EC4 ; ID_Continue
0EC6 ; ID_Continue
@@ -7041,12 +7110,12 @@ FFDA..FFDC ; ID_Start
1CE2..1CE8 ; ID_Continue
1CE9..1CEC ; ID_Continue
1CED ; ID_Continue
-1CEE..1CF1 ; ID_Continue
-1CF2..1CF3 ; ID_Continue
+1CEE..1CF3 ; ID_Continue
1CF4 ; ID_Continue
1CF5..1CF6 ; ID_Continue
1CF7 ; ID_Continue
1CF8..1CF9 ; ID_Continue
+1CFA ; ID_Continue
1D00..1D2B ; ID_Continue
1D2C..1D6A ; ID_Continue
1D6B..1D77 ; ID_Continue
@@ -7178,7 +7247,8 @@ A771..A787 ; ID_Continue
A788 ; ID_Continue
A78B..A78E ; ID_Continue
A78F ; ID_Continue
-A790..A7B9 ; ID_Continue
+A790..A7BF ; ID_Continue
+A7C2..A7C6 ; ID_Continue
A7F7 ; ID_Continue
A7F8..A7F9 ; ID_Continue
A7FA ; ID_Continue
@@ -7217,8 +7287,8 @@ A9B3 ; ID_Continue
A9B4..A9B5 ; ID_Continue
A9B6..A9B9 ; ID_Continue
A9BA..A9BB ; ID_Continue
-A9BC ; ID_Continue
-A9BD..A9C0 ; ID_Continue
+A9BC..A9BD ; ID_Continue
+A9BE..A9C0 ; ID_Continue
A9CF ; ID_Continue
A9D0..A9D9 ; ID_Continue
A9E0..A9E4 ; ID_Continue
@@ -7274,7 +7344,7 @@ AB20..AB26 ; ID_Continue
AB28..AB2E ; ID_Continue
AB30..AB5A ; ID_Continue
AB5C..AB5F ; ID_Continue
-AB60..AB65 ; ID_Continue
+AB60..AB67 ; ID_Continue
AB70..ABBF ; ID_Continue
ABC0..ABE2 ; ID_Continue
ABE3..ABE4 ; ID_Continue
@@ -7399,6 +7469,7 @@ FFDA..FFDC ; ID_Continue
10F27 ; ID_Continue
10F30..10F45 ; ID_Continue
10F46..10F50 ; ID_Continue
+10FE0..10FF6 ; ID_Continue
11000 ; ID_Continue
11001 ; ID_Continue
11002 ; ID_Continue
@@ -7486,6 +7557,7 @@ FFDA..FFDC ; ID_Continue
11447..1144A ; ID_Continue
11450..11459 ; ID_Continue
1145E ; ID_Continue
+1145F ; ID_Continue
11480..114AF ; ID_Continue
114B0..114B2 ; ID_Continue
114B3..114B8 ; ID_Continue
@@ -7524,6 +7596,7 @@ FFDA..FFDC ; ID_Continue
116B0..116B5 ; ID_Continue
116B6 ; ID_Continue
116B7 ; ID_Continue
+116B8 ; ID_Continue
116C0..116C9 ; ID_Continue
11700..1171A ; ID_Continue
1171D..1171F ; ID_Continue
@@ -7540,6 +7613,16 @@ FFDA..FFDC ; ID_Continue
118A0..118DF ; ID_Continue
118E0..118E9 ; ID_Continue
118FF ; ID_Continue
+119A0..119A7 ; ID_Continue
+119AA..119D0 ; ID_Continue
+119D1..119D3 ; ID_Continue
+119D4..119D7 ; ID_Continue
+119DA..119DB ; ID_Continue
+119DC..119DF ; ID_Continue
+119E0 ; ID_Continue
+119E1 ; ID_Continue
+119E3 ; ID_Continue
+119E4 ; ID_Continue
11A00 ; ID_Continue
11A01..11A0A ; ID_Continue
11A0B..11A32 ; ID_Continue
@@ -7552,8 +7635,7 @@ FFDA..FFDC ; ID_Continue
11A51..11A56 ; ID_Continue
11A57..11A58 ; ID_Continue
11A59..11A5B ; ID_Continue
-11A5C..11A83 ; ID_Continue
-11A86..11A89 ; ID_Continue
+11A5C..11A89 ; ID_Continue
11A8A..11A96 ; ID_Continue
11A97 ; ID_Continue
11A98..11A99 ; ID_Continue
@@ -7617,15 +7699,19 @@ FFDA..FFDC ; ID_Continue
16B63..16B77 ; ID_Continue
16B7D..16B8F ; ID_Continue
16E40..16E7F ; ID_Continue
-16F00..16F44 ; ID_Continue
+16F00..16F4A ; ID_Continue
+16F4F ; ID_Continue
16F50 ; ID_Continue
-16F51..16F7E ; ID_Continue
+16F51..16F87 ; ID_Continue
16F8F..16F92 ; ID_Continue
16F93..16F9F ; ID_Continue
16FE0..16FE1 ; ID_Continue
-17000..187F1 ; ID_Continue
+16FE3 ; ID_Continue
+17000..187F7 ; ID_Continue
18800..18AF2 ; ID_Continue
1B000..1B11E ; ID_Continue
+1B150..1B152 ; ID_Continue
+1B164..1B167 ; ID_Continue
1B170..1B2FB ; ID_Continue
1BC00..1BC6A ; ID_Continue
1BC70..1BC7C ; ID_Continue
@@ -7681,10 +7767,19 @@ FFDA..FFDC ; ID_Continue
1E01B..1E021 ; ID_Continue
1E023..1E024 ; ID_Continue
1E026..1E02A ; ID_Continue
+1E100..1E12C ; ID_Continue
+1E130..1E136 ; ID_Continue
+1E137..1E13D ; ID_Continue
+1E140..1E149 ; ID_Continue
+1E14E ; ID_Continue
+1E2C0..1E2EB ; ID_Continue
+1E2EC..1E2EF ; ID_Continue
+1E2F0..1E2F9 ; ID_Continue
1E800..1E8C4 ; ID_Continue
1E8D0..1E8D6 ; ID_Continue
1E900..1E943 ; ID_Continue
1E944..1E94A ; ID_Continue
+1E94B ; ID_Continue
1E950..1E959 ; ID_Continue
1EE00..1EE03 ; ID_Continue
1EE05..1EE1F ; ID_Continue
@@ -7727,7 +7822,7 @@ FFDA..FFDC ; ID_Continue
2F800..2FA1D ; ID_Continue
E0100..E01EF ; ID_Continue
-# Total code points: 128510
+# Total code points: 128789
# ================================================
@@ -7894,16 +7989,10 @@ E0100..E01EF ; ID_Continue
0E46 ; XID_Start
0E81..0E82 ; XID_Start
0E84 ; XID_Start
-0E87..0E88 ; XID_Start
-0E8A ; XID_Start
-0E8D ; XID_Start
-0E94..0E97 ; XID_Start
-0E99..0E9F ; XID_Start
-0EA1..0EA3 ; XID_Start
+0E86..0E8A ; XID_Start
+0E8C..0EA3 ; XID_Start
0EA5 ; XID_Start
-0EA7 ; XID_Start
-0EAA..0EAB ; XID_Start
-0EAD..0EB0 ; XID_Start
+0EA7..0EB0 ; XID_Start
0EB2 ; XID_Start
0EBD ; XID_Start
0EC0..0EC4 ; XID_Start
@@ -7991,8 +8080,9 @@ E0100..E01EF ; ID_Continue
1C90..1CBA ; XID_Start
1CBD..1CBF ; XID_Start
1CE9..1CEC ; XID_Start
-1CEE..1CF1 ; XID_Start
+1CEE..1CF3 ; XID_Start
1CF5..1CF6 ; XID_Start
+1CFA ; XID_Start
1D00..1D2B ; XID_Start
1D2C..1D6A ; XID_Start
1D6B..1D77 ; XID_Start
@@ -8105,7 +8195,8 @@ A771..A787 ; XID_Start
A788 ; XID_Start
A78B..A78E ; XID_Start
A78F ; XID_Start
-A790..A7B9 ; XID_Start
+A790..A7BF ; XID_Start
+A7C2..A7C6 ; XID_Start
A7F7 ; XID_Start
A7F8..A7F9 ; XID_Start
A7FA ; XID_Start
@@ -8152,7 +8243,7 @@ AB20..AB26 ; XID_Start
AB28..AB2E ; XID_Start
AB30..AB5A ; XID_Start
AB5C..AB5F ; XID_Start
-AB60..AB65 ; XID_Start
+AB60..AB67 ; XID_Start
AB70..ABBF ; XID_Start
ABC0..ABE2 ; XID_Start
AC00..D7A3 ; XID_Start
@@ -8254,6 +8345,7 @@ FFDA..FFDC ; XID_Start
10F00..10F1C ; XID_Start
10F27 ; XID_Start
10F30..10F45 ; XID_Start
+10FE0..10FF6 ; XID_Start
11003..11037 ; XID_Start
11083..110AF ; XID_Start
110D0..110E8 ; XID_Start
@@ -8284,6 +8376,7 @@ FFDA..FFDC ; XID_Start
1135D..11361 ; XID_Start
11400..11434 ; XID_Start
11447..1144A ; XID_Start
+1145F ; XID_Start
11480..114AF ; XID_Start
114C4..114C5 ; XID_Start
114C7 ; XID_Start
@@ -8292,16 +8385,20 @@ FFDA..FFDC ; XID_Start
11600..1162F ; XID_Start
11644 ; XID_Start
11680..116AA ; XID_Start
+116B8 ; XID_Start
11700..1171A ; XID_Start
11800..1182B ; XID_Start
118A0..118DF ; XID_Start
118FF ; XID_Start
+119A0..119A7 ; XID_Start
+119AA..119D0 ; XID_Start
+119E1 ; XID_Start
+119E3 ; XID_Start
11A00 ; XID_Start
11A0B..11A32 ; XID_Start
11A3A ; XID_Start
11A50 ; XID_Start
-11A5C..11A83 ; XID_Start
-11A86..11A89 ; XID_Start
+11A5C..11A89 ; XID_Start
11A9D ; XID_Start
11AC0..11AF8 ; XID_Start
11C00..11C08 ; XID_Start
@@ -8330,13 +8427,16 @@ FFDA..FFDC ; XID_Start
16B63..16B77 ; XID_Start
16B7D..16B8F ; XID_Start
16E40..16E7F ; XID_Start
-16F00..16F44 ; XID_Start
+16F00..16F4A ; XID_Start
16F50 ; XID_Start
16F93..16F9F ; XID_Start
16FE0..16FE1 ; XID_Start
-17000..187F1 ; XID_Start
+16FE3 ; XID_Start
+17000..187F7 ; XID_Start
18800..18AF2 ; XID_Start
1B000..1B11E ; XID_Start
+1B150..1B152 ; XID_Start
+1B164..1B167 ; XID_Start
1B170..1B2FB ; XID_Start
1BC00..1BC6A ; XID_Start
1BC70..1BC7C ; XID_Start
@@ -8372,8 +8472,13 @@ FFDA..FFDC ; XID_Start
1D78A..1D7A8 ; XID_Start
1D7AA..1D7C2 ; XID_Start
1D7C4..1D7CB ; XID_Start
+1E100..1E12C ; XID_Start
+1E137..1E13D ; XID_Start
+1E14E ; XID_Start
+1E2C0..1E2EB ; XID_Start
1E800..1E8C4 ; XID_Start
1E900..1E943 ; XID_Start
+1E94B ; XID_Start
1EE00..1EE03 ; XID_Start
1EE05..1EE1F ; XID_Start
1EE21..1EE22 ; XID_Start
@@ -8414,7 +8519,7 @@ FFDA..FFDC ; XID_Start
2CEB0..2EBE0 ; XID_Start
2F800..2FA1D ; XID_Start
-# Total code points: 125637
+# Total code points: 125861
# ================================================
@@ -8730,20 +8835,13 @@ FFDA..FFDC ; XID_Start
0E50..0E59 ; XID_Continue
0E81..0E82 ; XID_Continue
0E84 ; XID_Continue
-0E87..0E88 ; XID_Continue
-0E8A ; XID_Continue
-0E8D ; XID_Continue
-0E94..0E97 ; XID_Continue
-0E99..0E9F ; XID_Continue
-0EA1..0EA3 ; XID_Continue
+0E86..0E8A ; XID_Continue
+0E8C..0EA3 ; XID_Continue
0EA5 ; XID_Continue
-0EA7 ; XID_Continue
-0EAA..0EAB ; XID_Continue
-0EAD..0EB0 ; XID_Continue
+0EA7..0EB0 ; XID_Continue
0EB1 ; XID_Continue
0EB2..0EB3 ; XID_Continue
-0EB4..0EB9 ; XID_Continue
-0EBB..0EBC ; XID_Continue
+0EB4..0EBC ; XID_Continue
0EBD ; XID_Continue
0EC0..0EC4 ; XID_Continue
0EC6 ; XID_Continue
@@ -8956,12 +9054,12 @@ FFDA..FFDC ; XID_Start
1CE2..1CE8 ; XID_Continue
1CE9..1CEC ; XID_Continue
1CED ; XID_Continue
-1CEE..1CF1 ; XID_Continue
-1CF2..1CF3 ; XID_Continue
+1CEE..1CF3 ; XID_Continue
1CF4 ; XID_Continue
1CF5..1CF6 ; XID_Continue
1CF7 ; XID_Continue
1CF8..1CF9 ; XID_Continue
+1CFA ; XID_Continue
1D00..1D2B ; XID_Continue
1D2C..1D6A ; XID_Continue
1D6B..1D77 ; XID_Continue
@@ -9092,7 +9190,8 @@ A771..A787 ; XID_Continue
A788 ; XID_Continue
A78B..A78E ; XID_Continue
A78F ; XID_Continue
-A790..A7B9 ; XID_Continue
+A790..A7BF ; XID_Continue
+A7C2..A7C6 ; XID_Continue
A7F7 ; XID_Continue
A7F8..A7F9 ; XID_Continue
A7FA ; XID_Continue
@@ -9131,8 +9230,8 @@ A9B3 ; XID_Continue
A9B4..A9B5 ; XID_Continue
A9B6..A9B9 ; XID_Continue
A9BA..A9BB ; XID_Continue
-A9BC ; XID_Continue
-A9BD..A9C0 ; XID_Continue
+A9BC..A9BD ; XID_Continue
+A9BE..A9C0 ; XID_Continue
A9CF ; XID_Continue
A9D0..A9D9 ; XID_Continue
A9E0..A9E4 ; XID_Continue
@@ -9188,7 +9287,7 @@ AB20..AB26 ; XID_Continue
AB28..AB2E ; XID_Continue
AB30..AB5A ; XID_Continue
AB5C..AB5F ; XID_Continue
-AB60..AB65 ; XID_Continue
+AB60..AB67 ; XID_Continue
AB70..ABBF ; XID_Continue
ABC0..ABE2 ; XID_Continue
ABE3..ABE4 ; XID_Continue
@@ -9319,6 +9418,7 @@ FFDA..FFDC ; XID_Continue
10F27 ; XID_Continue
10F30..10F45 ; XID_Continue
10F46..10F50 ; XID_Continue
+10FE0..10FF6 ; XID_Continue
11000 ; XID_Continue
11001 ; XID_Continue
11002 ; XID_Continue
@@ -9406,6 +9506,7 @@ FFDA..FFDC ; XID_Continue
11447..1144A ; XID_Continue
11450..11459 ; XID_Continue
1145E ; XID_Continue
+1145F ; XID_Continue
11480..114AF ; XID_Continue
114B0..114B2 ; XID_Continue
114B3..114B8 ; XID_Continue
@@ -9444,6 +9545,7 @@ FFDA..FFDC ; XID_Continue
116B0..116B5 ; XID_Continue
116B6 ; XID_Continue
116B7 ; XID_Continue
+116B8 ; XID_Continue
116C0..116C9 ; XID_Continue
11700..1171A ; XID_Continue
1171D..1171F ; XID_Continue
@@ -9460,6 +9562,16 @@ FFDA..FFDC ; XID_Continue
118A0..118DF ; XID_Continue
118E0..118E9 ; XID_Continue
118FF ; XID_Continue
+119A0..119A7 ; XID_Continue
+119AA..119D0 ; XID_Continue
+119D1..119D3 ; XID_Continue
+119D4..119D7 ; XID_Continue
+119DA..119DB ; XID_Continue
+119DC..119DF ; XID_Continue
+119E0 ; XID_Continue
+119E1 ; XID_Continue
+119E3 ; XID_Continue
+119E4 ; XID_Continue
11A00 ; XID_Continue
11A01..11A0A ; XID_Continue
11A0B..11A32 ; XID_Continue
@@ -9472,8 +9584,7 @@ FFDA..FFDC ; XID_Continue
11A51..11A56 ; XID_Continue
11A57..11A58 ; XID_Continue
11A59..11A5B ; XID_Continue
-11A5C..11A83 ; XID_Continue
-11A86..11A89 ; XID_Continue
+11A5C..11A89 ; XID_Continue
11A8A..11A96 ; XID_Continue
11A97 ; XID_Continue
11A98..11A99 ; XID_Continue
@@ -9537,15 +9648,19 @@ FFDA..FFDC ; XID_Continue
16B63..16B77 ; XID_Continue
16B7D..16B8F ; XID_Continue
16E40..16E7F ; XID_Continue
-16F00..16F44 ; XID_Continue
+16F00..16F4A ; XID_Continue
+16F4F ; XID_Continue
16F50 ; XID_Continue
-16F51..16F7E ; XID_Continue
+16F51..16F87 ; XID_Continue
16F8F..16F92 ; XID_Continue
16F93..16F9F ; XID_Continue
16FE0..16FE1 ; XID_Continue
-17000..187F1 ; XID_Continue
+16FE3 ; XID_Continue
+17000..187F7 ; XID_Continue
18800..18AF2 ; XID_Continue
1B000..1B11E ; XID_Continue
+1B150..1B152 ; XID_Continue
+1B164..1B167 ; XID_Continue
1B170..1B2FB ; XID_Continue
1BC00..1BC6A ; XID_Continue
1BC70..1BC7C ; XID_Continue
@@ -9601,10 +9716,19 @@ FFDA..FFDC ; XID_Continue
1E01B..1E021 ; XID_Continue
1E023..1E024 ; XID_Continue
1E026..1E02A ; XID_Continue
+1E100..1E12C ; XID_Continue
+1E130..1E136 ; XID_Continue
+1E137..1E13D ; XID_Continue
+1E140..1E149 ; XID_Continue
+1E14E ; XID_Continue
+1E2C0..1E2EB ; XID_Continue
+1E2EC..1E2EF ; XID_Continue
+1E2F0..1E2F9 ; XID_Continue
1E800..1E8C4 ; XID_Continue
1E8D0..1E8D6 ; XID_Continue
1E900..1E943 ; XID_Continue
1E944..1E94A ; XID_Continue
+1E94B ; XID_Continue
1E950..1E959 ; XID_Continue
1EE00..1EE03 ; XID_Continue
1EE05..1EE1F ; XID_Continue
@@ -9647,7 +9771,7 @@ FFDA..FFDC ; XID_Continue
2F800..2FA1D ; XID_Continue
E0100..E01EF ; XID_Continue
-# Total code points: 128491
+# Total code points: 128770
# ================================================
@@ -9657,7 +9781,8 @@ E0100..E01EF ; XID_Continue
# + Cf (Format characters)
# + Variation_Selector
# - White_Space
-# - FFF9..FFFB (Annotation characters)
+# - FFF9..FFFB (Interlinear annotation format characters)
+# - 13430..13438 (Egyptian hieroglyph format characters)
# - Prepended_Concatenation_Mark (Exceptional format characters that should be visible)
00AD ; Default_Ignorable_Code_Point
@@ -9797,8 +9922,7 @@ E01F0..E0FFF ; Default_Ignorable_Code_Point
0E34..0E3A ; Grapheme_Extend
0E47..0E4E ; Grapheme_Extend
0EB1 ; Grapheme_Extend
-0EB4..0EB9 ; Grapheme_Extend
-0EBB..0EBC ; Grapheme_Extend
+0EB4..0EBC ; Grapheme_Extend
0EC8..0ECD ; Grapheme_Extend
0F18..0F19 ; Grapheme_Extend
0F35 ; Grapheme_Extend
@@ -9851,6 +9975,7 @@ E01F0..E0FFF ; Default_Ignorable_Code_Point
1ABE ; Grapheme_Extend
1B00..1B03 ; Grapheme_Extend
1B34 ; Grapheme_Extend
+1B35 ; Grapheme_Extend
1B36..1B3A ; Grapheme_Extend
1B3C ; Grapheme_Extend
1B42 ; Grapheme_Extend
@@ -9902,7 +10027,7 @@ A947..A951 ; Grapheme_Extend
A980..A982 ; Grapheme_Extend
A9B3 ; Grapheme_Extend
A9B6..A9B9 ; Grapheme_Extend
-A9BC ; Grapheme_Extend
+A9BC..A9BD ; Grapheme_Extend
A9E5 ; Grapheme_Extend
AA29..AA2E ; Grapheme_Extend
AA31..AA32 ; Grapheme_Extend
@@ -9987,6 +10112,9 @@ FF9E..FF9F ; Grapheme_Extend
11727..1172B ; Grapheme_Extend
1182F..11837 ; Grapheme_Extend
11839..1183A ; Grapheme_Extend
+119D4..119D7 ; Grapheme_Extend
+119DA..119DB ; Grapheme_Extend
+119E0 ; Grapheme_Extend
11A01..11A0A ; Grapheme_Extend
11A33..11A38 ; Grapheme_Extend
11A3B..11A3E ; Grapheme_Extend
@@ -10013,6 +10141,7 @@ FF9E..FF9F ; Grapheme_Extend
11EF3..11EF4 ; Grapheme_Extend
16AF0..16AF4 ; Grapheme_Extend
16B30..16B36 ; Grapheme_Extend
+16F4F ; Grapheme_Extend
16F8F..16F92 ; Grapheme_Extend
1BC9D..1BC9E ; Grapheme_Extend
1D165 ; Grapheme_Extend
@@ -10033,12 +10162,14 @@ FF9E..FF9F ; Grapheme_Extend
1E01B..1E021 ; Grapheme_Extend
1E023..1E024 ; Grapheme_Extend
1E026..1E02A ; Grapheme_Extend
+1E130..1E136 ; Grapheme_Extend
+1E2EC..1E2EF ; Grapheme_Extend
1E8D0..1E8D6 ; Grapheme_Extend
1E944..1E94A ; Grapheme_Extend
E0020..E007F ; Grapheme_Extend
E0100..E01EF ; Grapheme_Extend
-# Total code points: 1943
+# Total code points: 1965
# ================================================
@@ -10313,6 +10444,7 @@ E0100..E01EF ; Grapheme_Extend
0C58..0C5A ; Grapheme_Base
0C60..0C61 ; Grapheme_Base
0C66..0C6F ; Grapheme_Base
+0C77 ; Grapheme_Base
0C78..0C7E ; Grapheme_Base
0C7F ; Grapheme_Base
0C80 ; Grapheme_Base
@@ -10371,16 +10503,10 @@ E0100..E01EF ; Grapheme_Extend
0E5A..0E5B ; Grapheme_Base
0E81..0E82 ; Grapheme_Base
0E84 ; Grapheme_Base
-0E87..0E88 ; Grapheme_Base
-0E8A ; Grapheme_Base
-0E8D ; Grapheme_Base
-0E94..0E97 ; Grapheme_Base
-0E99..0E9F ; Grapheme_Base
-0EA1..0EA3 ; Grapheme_Base
+0E86..0E8A ; Grapheme_Base
+0E8C..0EA3 ; Grapheme_Base
0EA5 ; Grapheme_Base
-0EA7 ; Grapheme_Base
-0EAA..0EAB ; Grapheme_Base
-0EAD..0EB0 ; Grapheme_Base
+0EA7..0EB0 ; Grapheme_Base
0EB2..0EB3 ; Grapheme_Base
0EBD ; Grapheme_Base
0EC0..0EC4 ; Grapheme_Base
@@ -10470,7 +10596,8 @@ E0100..E01EF ; Grapheme_Extend
13F8..13FD ; Grapheme_Base
1400 ; Grapheme_Base
1401..166C ; Grapheme_Base
-166D..166E ; Grapheme_Base
+166D ; Grapheme_Base
+166E ; Grapheme_Base
166F..167F ; Grapheme_Base
1680 ; Grapheme_Base
1681..169A ; Grapheme_Base
@@ -10540,7 +10667,6 @@ E0100..E01EF ; Grapheme_Extend
1AA8..1AAD ; Grapheme_Base
1B04 ; Grapheme_Base
1B05..1B33 ; Grapheme_Base
-1B35 ; Grapheme_Base
1B3B ; Grapheme_Base
1B3D..1B41 ; Grapheme_Base
1B43..1B44 ; Grapheme_Base
@@ -10579,10 +10705,10 @@ E0100..E01EF ; Grapheme_Extend
1CD3 ; Grapheme_Base
1CE1 ; Grapheme_Base
1CE9..1CEC ; Grapheme_Base
-1CEE..1CF1 ; Grapheme_Base
-1CF2..1CF3 ; Grapheme_Base
+1CEE..1CF3 ; Grapheme_Base
1CF5..1CF6 ; Grapheme_Base
1CF7 ; Grapheme_Base
+1CFA ; Grapheme_Base
1D00..1D2B ; Grapheme_Base
1D2C..1D6A ; Grapheme_Base
1D6B..1D77 ; Grapheme_Base
@@ -10811,8 +10937,7 @@ E0100..E01EF ; Grapheme_Extend
2B47..2B4C ; Grapheme_Base
2B4D..2B73 ; Grapheme_Base
2B76..2B95 ; Grapheme_Base
-2B98..2BC8 ; Grapheme_Base
-2BCA..2BFE ; Grapheme_Base
+2B98..2BFF ; Grapheme_Base
2C00..2C2E ; Grapheme_Base
2C30..2C5E ; Grapheme_Base
2C60..2C7B ; Grapheme_Base
@@ -10876,7 +11001,7 @@ E0100..E01EF ; Grapheme_Extend
2E40 ; Grapheme_Base
2E41 ; Grapheme_Base
2E42 ; Grapheme_Base
-2E43..2E4E ; Grapheme_Base
+2E43..2E4F ; Grapheme_Base
2E80..2E99 ; Grapheme_Base
2E9B..2EF3 ; Grapheme_Base
2F00..2FD5 ; Grapheme_Base
@@ -10946,8 +11071,7 @@ E0100..E01EF ; Grapheme_Extend
3280..3289 ; Grapheme_Base
328A..32B0 ; Grapheme_Base
32B1..32BF ; Grapheme_Base
-32C0..32FE ; Grapheme_Base
-3300..33FF ; Grapheme_Base
+32C0..33FF ; Grapheme_Base
3400..4DB5 ; Grapheme_Base
4DC0..4DFF ; Grapheme_Base
4E00..9FEF ; Grapheme_Base
@@ -10984,7 +11108,8 @@ A788 ; Grapheme_Base
A789..A78A ; Grapheme_Base
A78B..A78E ; Grapheme_Base
A78F ; Grapheme_Base
-A790..A7B9 ; Grapheme_Base
+A790..A7BF ; Grapheme_Base
+A7C2..A7C6 ; Grapheme_Base
A7F7 ; Grapheme_Base
A7F8..A7F9 ; Grapheme_Base
A7FA ; Grapheme_Base
@@ -11022,7 +11147,7 @@ A983 ; Grapheme_Base
A984..A9B2 ; Grapheme_Base
A9B4..A9B5 ; Grapheme_Base
A9BA..A9BB ; Grapheme_Base
-A9BD..A9C0 ; Grapheme_Base
+A9BE..A9C0 ; Grapheme_Base
A9C1..A9CD ; Grapheme_Base
A9CF ; Grapheme_Base
A9D0..A9D9 ; Grapheme_Base
@@ -11071,7 +11196,7 @@ AB28..AB2E ; Grapheme_Base
AB30..AB5A ; Grapheme_Base
AB5B ; Grapheme_Base
AB5C..AB5F ; Grapheme_Base
-AB60..AB65 ; Grapheme_Base
+AB60..AB67 ; Grapheme_Base
AB70..ABBF ; Grapheme_Base
ABC0..ABE2 ; Grapheme_Base
ABE3..ABE4 ; Grapheme_Base
@@ -11309,6 +11434,7 @@ FFFC..FFFD ; Grapheme_Base
10F30..10F45 ; Grapheme_Base
10F51..10F54 ; Grapheme_Base
10F55..10F59 ; Grapheme_Base
+10FE0..10FF6 ; Grapheme_Base
11000 ; Grapheme_Base
11002 ; Grapheme_Base
11003..11037 ; Grapheme_Base
@@ -11384,6 +11510,7 @@ FFFC..FFFD ; Grapheme_Base
11450..11459 ; Grapheme_Base
1145B ; Grapheme_Base
1145D ; Grapheme_Base
+1145F ; Grapheme_Base
11480..114AF ; Grapheme_Base
114B1..114B2 ; Grapheme_Base
114B9 ; Grapheme_Base
@@ -11412,6 +11539,7 @@ FFFC..FFFD ; Grapheme_Base
116AC ; Grapheme_Base
116AE..116AF ; Grapheme_Base
116B6 ; Grapheme_Base
+116B8 ; Grapheme_Base
116C0..116C9 ; Grapheme_Base
11700..1171A ; Grapheme_Base
11720..11721 ; Grapheme_Base
@@ -11428,6 +11556,14 @@ FFFC..FFFD ; Grapheme_Base
118E0..118E9 ; Grapheme_Base
118EA..118F2 ; Grapheme_Base
118FF ; Grapheme_Base
+119A0..119A7 ; Grapheme_Base
+119AA..119D0 ; Grapheme_Base
+119D1..119D3 ; Grapheme_Base
+119DC..119DF ; Grapheme_Base
+119E1 ; Grapheme_Base
+119E2 ; Grapheme_Base
+119E3 ; Grapheme_Base
+119E4 ; Grapheme_Base
11A00 ; Grapheme_Base
11A0B..11A32 ; Grapheme_Base
11A39 ; Grapheme_Base
@@ -11435,8 +11571,7 @@ FFFC..FFFD ; Grapheme_Base
11A3F..11A46 ; Grapheme_Base
11A50 ; Grapheme_Base
11A57..11A58 ; Grapheme_Base
-11A5C..11A83 ; Grapheme_Base
-11A86..11A89 ; Grapheme_Base
+11A5C..11A89 ; Grapheme_Base
11A97 ; Grapheme_Base
11A9A..11A9C ; Grapheme_Base
11A9D ; Grapheme_Base
@@ -11471,6 +11606,11 @@ FFFC..FFFD ; Grapheme_Base
11EE0..11EF2 ; Grapheme_Base
11EF5..11EF6 ; Grapheme_Base
11EF7..11EF8 ; Grapheme_Base
+11FC0..11FD4 ; Grapheme_Base
+11FD5..11FDC ; Grapheme_Base
+11FDD..11FE0 ; Grapheme_Base
+11FE1..11FF1 ; Grapheme_Base
+11FFF ; Grapheme_Base
12000..12399 ; Grapheme_Base
12400..1246E ; Grapheme_Base
12470..12474 ; Grapheme_Base
@@ -11496,14 +11636,18 @@ FFFC..FFFD ; Grapheme_Base
16E40..16E7F ; Grapheme_Base
16E80..16E96 ; Grapheme_Base
16E97..16E9A ; Grapheme_Base
-16F00..16F44 ; Grapheme_Base
+16F00..16F4A ; Grapheme_Base
16F50 ; Grapheme_Base
-16F51..16F7E ; Grapheme_Base
+16F51..16F87 ; Grapheme_Base
16F93..16F9F ; Grapheme_Base
16FE0..16FE1 ; Grapheme_Base
-17000..187F1 ; Grapheme_Base
+16FE2 ; Grapheme_Base
+16FE3 ; Grapheme_Base
+17000..187F7 ; Grapheme_Base
18800..18AF2 ; Grapheme_Base
1B000..1B11E ; Grapheme_Base
+1B150..1B152 ; Grapheme_Base
+1B164..1B167 ; Grapheme_Base
1B170..1B2FB ; Grapheme_Base
1BC00..1BC6A ; Grapheme_Base
1BC70..1BC7C ; Grapheme_Base
@@ -11572,9 +11716,18 @@ FFFC..FFFD ; Grapheme_Base
1DA76..1DA83 ; Grapheme_Base
1DA85..1DA86 ; Grapheme_Base
1DA87..1DA8B ; Grapheme_Base
+1E100..1E12C ; Grapheme_Base
+1E137..1E13D ; Grapheme_Base
+1E140..1E149 ; Grapheme_Base
+1E14E ; Grapheme_Base
+1E14F ; Grapheme_Base
+1E2C0..1E2EB ; Grapheme_Base
+1E2F0..1E2F9 ; Grapheme_Base
+1E2FF ; Grapheme_Base
1E800..1E8C4 ; Grapheme_Base
1E8C7..1E8CF ; Grapheme_Base
1E900..1E943 ; Grapheme_Base
+1E94B ; Grapheme_Base
1E950..1E959 ; Grapheme_Base
1E95E..1E95F ; Grapheme_Base
1EC71..1ECAB ; Grapheme_Base
@@ -11582,6 +11735,9 @@ FFFC..FFFD ; Grapheme_Base
1ECAD..1ECAF ; Grapheme_Base
1ECB0 ; Grapheme_Base
1ECB1..1ECB4 ; Grapheme_Base
+1ED01..1ED2D ; Grapheme_Base
+1ED2E ; Grapheme_Base
+1ED2F..1ED3D ; Grapheme_Base
1EE00..1EE03 ; Grapheme_Base
1EE05..1EE1F ; Grapheme_Base
1EE21..1EE22 ; Grapheme_Base
@@ -11623,7 +11779,7 @@ FFFC..FFFD ; Grapheme_Base
1F0C1..1F0CF ; Grapheme_Base
1F0D1..1F0F5 ; Grapheme_Base
1F100..1F10C ; Grapheme_Base
-1F110..1F16B ; Grapheme_Base
+1F110..1F16C ; Grapheme_Base
1F170..1F1AC ; Grapheme_Base
1F1E6..1F202 ; Grapheme_Base
1F210..1F23B ; Grapheme_Base
@@ -11632,26 +11788,29 @@ FFFC..FFFD ; Grapheme_Base
1F260..1F265 ; Grapheme_Base
1F300..1F3FA ; Grapheme_Base
1F3FB..1F3FF ; Grapheme_Base
-1F400..1F6D4 ; Grapheme_Base
+1F400..1F6D5 ; Grapheme_Base
1F6E0..1F6EC ; Grapheme_Base
-1F6F0..1F6F9 ; Grapheme_Base
+1F6F0..1F6FA ; Grapheme_Base
1F700..1F773 ; Grapheme_Base
1F780..1F7D8 ; Grapheme_Base
+1F7E0..1F7EB ; Grapheme_Base
1F800..1F80B ; Grapheme_Base
1F810..1F847 ; Grapheme_Base
1F850..1F859 ; Grapheme_Base
1F860..1F887 ; Grapheme_Base
1F890..1F8AD ; Grapheme_Base
1F900..1F90B ; Grapheme_Base
-1F910..1F93E ; Grapheme_Base
-1F940..1F970 ; Grapheme_Base
+1F90D..1F971 ; Grapheme_Base
1F973..1F976 ; Grapheme_Base
-1F97A ; Grapheme_Base
-1F97C..1F9A2 ; Grapheme_Base
-1F9B0..1F9B9 ; Grapheme_Base
-1F9C0..1F9C2 ; Grapheme_Base
-1F9D0..1F9FF ; Grapheme_Base
+1F97A..1F9A2 ; Grapheme_Base
+1F9A5..1F9AA ; Grapheme_Base
+1F9AE..1F9CA ; Grapheme_Base
+1F9CD..1FA53 ; Grapheme_Base
1FA60..1FA6D ; Grapheme_Base
+1FA70..1FA73 ; Grapheme_Base
+1FA78..1FA7A ; Grapheme_Base
+1FA80..1FA82 ; Grapheme_Base
+1FA90..1FA95 ; Grapheme_Base
20000..2A6D6 ; Grapheme_Base
2A700..2B734 ; Grapheme_Base
2B740..2B81D ; Grapheme_Base
@@ -11659,7 +11818,7 @@ FFFC..FFFD ; Grapheme_Base
2CEB0..2EBE0 ; Grapheme_Base
2F800..2FA1D ; Grapheme_Base
-# Total code points: 135374
+# Total code points: 135898
# ================================================
@@ -11679,6 +11838,7 @@ FFFC..FFFD ; Grapheme_Base
0D4D ; Grapheme_Link
0DCA ; Grapheme_Link
0E3A ; Grapheme_Link
+0EBA ; Grapheme_Link
0F84 ; Grapheme_Link
1039..103A ; Grapheme_Link
1714 ; Grapheme_Link
@@ -11712,6 +11872,7 @@ ABED ; Grapheme_Link
116B6 ; Grapheme_Link
1172B ; Grapheme_Link
11839 ; Grapheme_Link
+119E0 ; Grapheme_Link
11A34 ; Grapheme_Link
11A47 ; Grapheme_Link
11A99 ; Grapheme_Link
@@ -11719,6 +11880,6 @@ ABED ; Grapheme_Link
11D44..11D45 ; Grapheme_Link
11D97 ; Grapheme_Link
-# Total code points: 56
+# Total code points: 58
# EOF
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/DerivedNormalizationProps.txt b/Build/source/libs/icu/icu-src/source/data/unidata/DerivedNormalizationProps.txt
index a9608136488..1c75ebd63fd 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/DerivedNormalizationProps.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/DerivedNormalizationProps.txt
@@ -1,6 +1,6 @@
-# DerivedNormalizationProps-11.0.0.txt
-# Date: 2018-01-31, 08:20:15 GMT
-# © 2018 Unicode®, Inc.
+# DerivedNormalizationProps-12.1.0.txt
+# Date: 2019-04-01, 09:10:23 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -647,9 +647,10 @@ A7F8 ; FC_NFKC; 0127
1F14F ; FC_NFKC; 0077 0063
1F16A ; FC_NFKC; 006D 0063
1F16B ; FC_NFKC; 006D 0064
+1F16C ; FC_NFKC; 006D 0072
1F190 ; FC_NFKC; 0064 006A
-# Total code points: 633
+# Total code points: 634
# ================================================
@@ -1463,8 +1464,7 @@ FB46..FB4E ; NFC_QC; N
3280..3289 ; NFKD_QC; N
328A..32B0 ; NFKD_QC; N
32B1..32BF ; NFKD_QC; N
-32C0..32FE ; NFKD_QC; N
-3300..33FF ; NFKD_QC; N
+32C0..33FF ; NFKD_QC; N
A69C..A69D ; NFKD_QC; N
A770 ; NFKD_QC; N
A7F8..A7F9 ; NFKD_QC; N
@@ -1677,7 +1677,7 @@ FFED..FFEE ; NFKD_QC; N
1F100..1F10A ; NFKD_QC; N
1F110..1F12E ; NFKD_QC; N
1F130..1F14F ; NFKD_QC; N
-1F16A..1F16B ; NFKD_QC; N
+1F16A..1F16C ; NFKD_QC; N
1F190 ; NFKD_QC; N
1F200..1F202 ; NFKD_QC; N
1F210..1F23B ; NFKD_QC; N
@@ -1685,7 +1685,7 @@ FFED..FFEE ; NFKD_QC; N
1F250..1F251 ; NFKD_QC; N
2F800..2FA1D ; NFKD_QC; N
-# Total code points: 16894
+# Total code points: 16896
# ================================================
@@ -1875,8 +1875,7 @@ FFED..FFEE ; NFKD_QC; N
3280..3289 ; NFKC_QC; N
328A..32B0 ; NFKC_QC; N
32B1..32BF ; NFKC_QC; N
-32C0..32FE ; NFKC_QC; N
-3300..33FF ; NFKC_QC; N
+32C0..33FF ; NFKC_QC; N
A69C..A69D ; NFKC_QC; N
A770 ; NFKC_QC; N
A7F8..A7F9 ; NFKC_QC; N
@@ -2080,7 +2079,7 @@ FFED..FFEE ; NFKC_QC; N
1F100..1F10A ; NFKC_QC; N
1F110..1F12E ; NFKC_QC; N
1F130..1F14F ; NFKC_QC; N
-1F16A..1F16B ; NFKC_QC; N
+1F16A..1F16C ; NFKC_QC; N
1F190 ; NFKC_QC; N
1F200..1F202 ; NFKC_QC; N
1F210..1F23B ; NFKC_QC; N
@@ -2088,7 +2087,7 @@ FFED..FFEE ; NFKC_QC; N
1F250..1F251 ; NFKC_QC; N
2F800..2FA1D ; NFKC_QC; N
-# Total code points: 4794
+# Total code points: 4796
# ================================================
@@ -2682,7 +2681,7 @@ FB46..FB4E ; Expands_On_NFC
326E..327E ; Expands_On_NFKD
32B1..32BF ; Expands_On_NFKD
32C0..32CF ; Expands_On_NFKD
-3300..33FF ; Expands_On_NFKD
+32FF..33FF ; Expands_On_NFKD
AC00..D7A3 ; Expands_On_NFKD
FB00..FB06 ; Expands_On_NFKD
FB13..FB17 ; Expands_On_NFKD
@@ -2726,13 +2725,13 @@ FFE3 ; Expands_On_NFKD
1F110..1F12A ; Expands_On_NFKD
1F12D..1F12E ; Expands_On_NFKD
1F14A..1F14F ; Expands_On_NFKD
-1F16A..1F16B ; Expands_On_NFKD
+1F16A..1F16C ; Expands_On_NFKD
1F190 ; Expands_On_NFKD
1F200..1F201 ; Expands_On_NFKD
1F213 ; Expands_On_NFKD
1F240..1F248 ; Expands_On_NFKD
-# Total code points: 13387
+# Total code points: 13389
# ================================================
@@ -2833,7 +2832,7 @@ FFE3 ; Expands_On_NFKD
327C..327D ; Expands_On_NFKC
32B1..32BF ; Expands_On_NFKC
32C0..32CF ; Expands_On_NFKC
-3300..33FF ; Expands_On_NFKC
+32FF..33FF ; Expands_On_NFKC
FB00..FB06 ; Expands_On_NFKC
FB13..FB17 ; Expands_On_NFKC
FB1D ; Expands_On_NFKC
@@ -2865,12 +2864,12 @@ FFE3 ; Expands_On_NFKC
1F110..1F12A ; Expands_On_NFKC
1F12D..1F12E ; Expands_On_NFKC
1F14A..1F14F ; Expands_On_NFKC
-1F16A..1F16B ; Expands_On_NFKC
+1F16A..1F16C ; Expands_On_NFKC
1F190 ; Expands_On_NFKC
1F200..1F201 ; Expands_On_NFKC
1F240..1F248 ; Expands_On_NFKC
-# Total code points: 1235
+# Total code points: 1237
# ================================================
@@ -4958,6 +4957,7 @@ FFE3 ; Expands_On_NFKC
32FC ; NFKC_CF; 30F0
32FD ; NFKC_CF; 30F1
32FE ; NFKC_CF; 30F2
+32FF ; NFKC_CF; 4EE4 548C
3300 ; NFKC_CF; 30A2 30D1 30FC 30C8
3301 ; NFKC_CF; 30A2 30EB 30D5 30A1
3302 ; NFKC_CF; 30A2 30F3 30DA 30A2
@@ -5326,6 +5326,13 @@ A7B3 ; NFKC_CF; AB53
A7B4 ; NFKC_CF; A7B5
A7B6 ; NFKC_CF; A7B7
A7B8 ; NFKC_CF; A7B9
+A7BA ; NFKC_CF; A7BB
+A7BC ; NFKC_CF; A7BD
+A7BE ; NFKC_CF; A7BF
+A7C2 ; NFKC_CF; A7C3
+A7C4 ; NFKC_CF; A794
+A7C5 ; NFKC_CF; 0282
+A7C6 ; NFKC_CF; 1D8E
A7F8 ; NFKC_CF; 0127
A7F9 ; NFKC_CF; 0153
AB5C ; NFKC_CF; A727
@@ -8195,6 +8202,7 @@ FFF0..FFF8 ; NFKC_CF;
1F14F ; NFKC_CF; 0077 0063
1F16A ; NFKC_CF; 006D 0063
1F16B ; NFKC_CF; 006D 0064
+1F16C ; NFKC_CF; 006D 0072
1F190 ; NFKC_CF; 0064 006A
1F200 ; NFKC_CF; 307B 304B
1F201 ; NFKC_CF; 30B3 30B3
@@ -8794,7 +8802,7 @@ E0080..E00FF ; NFKC_CF;
E0100..E01EF ; NFKC_CF;
E01F0..E0FFF ; NFKC_CF;
-# Total code points: 10306
+# Total code points: 10315
# ================================================
@@ -9452,8 +9460,7 @@ E01F0..E0FFF ; NFKC_CF;
3280..3289 ; Changes_When_NFKC_Casefolded
328A..32B0 ; Changes_When_NFKC_Casefolded
32B1..32BF ; Changes_When_NFKC_Casefolded
-32C0..32FE ; Changes_When_NFKC_Casefolded
-3300..33FF ; Changes_When_NFKC_Casefolded
+32C0..33FF ; Changes_When_NFKC_Casefolded
A640 ; Changes_When_NFKC_Casefolded
A642 ; Changes_When_NFKC_Casefolded
A644 ; Changes_When_NFKC_Casefolded
@@ -9556,6 +9563,11 @@ A7AA..A7AE ; Changes_When_NFKC_Casefolded
A7B0..A7B4 ; Changes_When_NFKC_Casefolded
A7B6 ; Changes_When_NFKC_Casefolded
A7B8 ; Changes_When_NFKC_Casefolded
+A7BA ; Changes_When_NFKC_Casefolded
+A7BC ; Changes_When_NFKC_Casefolded
+A7BE ; Changes_When_NFKC_Casefolded
+A7C2 ; Changes_When_NFKC_Casefolded
+A7C4..A7C6 ; Changes_When_NFKC_Casefolded
A7F8..A7F9 ; Changes_When_NFKC_Casefolded
AB5C..AB5F ; Changes_When_NFKC_Casefolded
AB70..ABBF ; Changes_When_NFKC_Casefolded
@@ -9769,7 +9781,7 @@ FFF0..FFF8 ; Changes_When_NFKC_Casefolded
1F100..1F10A ; Changes_When_NFKC_Casefolded
1F110..1F12E ; Changes_When_NFKC_Casefolded
1F130..1F14F ; Changes_When_NFKC_Casefolded
-1F16A..1F16B ; Changes_When_NFKC_Casefolded
+1F16A..1F16C ; Changes_When_NFKC_Casefolded
1F190 ; Changes_When_NFKC_Casefolded
1F200..1F202 ; Changes_When_NFKC_Casefolded
1F210..1F23B ; Changes_When_NFKC_Casefolded
@@ -9784,6 +9796,6 @@ E0080..E00FF ; Changes_When_NFKC_Casefolded
E0100..E01EF ; Changes_When_NFKC_Casefolded
E01F0..E0FFF ; Changes_When_NFKC_Casefolded
-# Total code points: 10306
+# Total code points: 10315
# EOF
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/FractionalUCA.txt b/Build/source/libs/icu/icu-src/source/data/unidata/FractionalUCA.txt
index 6c965ccae4d..5655134c679 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/FractionalUCA.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/FractionalUCA.txt
@@ -1,12 +1,12 @@
# Fractional UCA Table, generated from the UCA DUCET
-# 2018-05-21 [MS]
-# VERSION: UCA=11.0.0, UCD=11.0.0
+# 2019-04-01 [MS]
+# VERSION: UCA=12.1.0, UCD=12.1.0
# © 2016 and later: Unicode, Inc. and others.
# License & terms of use: http://www.unicode.org/copyright.html
# For a description of the format and usage, see
# http://www.unicode.org/reports/tr35/tr35-collation.html
-[UCA version = 11.0.0]
+[UCA version = 12.1.0]
# Unified_Ideograph: 87887 characters
[Unified_Ideograph 4E00..9FEF FA0E..FA0F FA11 FA13..FA14 FA1F FA21 FA23..FA24 FA27..FA29 3400..4DB5 20000..2A6D6 2A700..2B734 2B740..2B81D 2B820..2CEA1 2CEB0..2EBE0]
@@ -93,7 +93,7 @@
[radical 81=⽐比:比毕𠂱𣬂-𣬇毖-毘㲋𭯊毙𣬈-𣬊𭯋-𭯎𣬋𣬌𭯏𬆹𭯐𭯑𣬍𬆺𣬎-𣬑𪵕𣬒-𣬔毚𣬕𣬖𬆻𣬗-𣬚]
[radical 82=⽑毛:毛𣬛𪵖㲌𣬜-𣬠毜毝𣬡-𣬨𬆼毞毟㲍-㲑𣬩-𣬷𪵗𪵘𬆽-𬆿𭯒毠毡㲒𣬸-𣭛𪵙𪵚𬇀𭯓-𭯗毢-毪㲓𣭜-𣭰𪵛𪵜𭯘毫-毮㲔-㲚𣭱-𣮇𬇁𭯙𭯚毯-毶㲛-㲞𣮈-𣮧𪵝𪵞𭯛-𭯝毷-毽㲟-㲣𣮨-𣯄𪵟𬇂𭯞𭯟毾㲤-㲩𣯅-𣯢𪵠𬇃𬇄𭯠-𭯢毿-氂𣯣-𣯷𪵡𬇅氃-氇㲪-㲮𣯸-𣰉𬇆𭯣-𭯥氈-氊𣰊-𣰙𬇇𭯦-𭯩氋㲯㲰𣰚-𣰪𪵢𬇈𭯪氌㲱𣰫-𣰰𭯫𠫈𣰱-𣰵𭯬𣰶-𣰺氍𣰻-𣰾𭯭𣰿-𣱁𭯮氎㲲𣱂𣱃𭯯𣱄]
[radical 83=⽒氏:氏-民𫞕氒𫞖𬇉氓𣱅𣱆𬇊𬇋𭯰𣱇-𣱊𬇌㲳𬇍𣱋-𣱎𭯱𣱏𣱐𬇎𣱑-𣱔]
-[radical 84=⽓气:气-氘𣱕𣱖氙氚𣱗𣱘氛-氝㲴𣱙-𣱛𪵣𬇏𭯲氞-氢𣱜-𣱠𪵤𬇐氣-氩𣱡𬇑氪氫㲵𣱣𪵥氬-氰𣱢𣱤𣱥氱𣱦-𣱨𪵦氲氳𣱩𪵧𬇒㲶𣱪𣱫𭯳鿫㲷𭯴𣱬𣱭𬇓𣱮𭯵𣱯𣱰]
+[radical 84=⽓气:气-氘𣱕𣱖氙氚𣱗𣱘氛-氝㲴𣱙-𣱛𪵣𬇏𭯲氞-氢𣱜-𣱠𪵤𬇐氣-氩𣱡𬇑氪氫㲵𣱣𪵥氬-氰𣱢𣱤𣱥氱𣱦-𣱨𪵦氲氳𣱩𪵧𬇒㲶𣱪𣱫𭯳㲷𭯴鿫𣱬𣱭𬇓𣱮𭯵𣱯𣱰]
[radical 85=⽔水:水氵氺𣱱氶-氹㲸𣱲-𣱴氻氼氾-汉㲹-㲼𣱵-𣱿𪵨汊-汤㲽-㲿𣲀-𣲍𪵩-𪵬𬇔-𬇗𭯶𭯷汥-沪㳀-㳊𣲎-𣲱𪵭-𪵰𬇘-𬇚𭯸-𭯼沫-泙泛-泴泶-泾㳋-㳕𣲲-𣳣𪵱-𪵶𬇛-𬇟𭯽-𭰋泚泿-洌洎-洕洗-浕㳖-㳣𣳤-𣴝𪵷-𪵽𬇠-𬇦𭰌-𭰖洍洖浖-涘涚-涩㳤-㳳𣴞-𣵶𣷚𪵾-𪶋𫞗𬇧-𬇴𭰗-𭰧涙涪-渂渄-渗渚湴㳴-㴎𣵷-𣷙𣷛-𣷻𣸊𪶌-𪶖𫞘𬇵-𬈄𭰨-𭱂渃渘渙減-湳湵-溌滋滞鿌㴏-㴤𣷼-𣸉𣸋-𣹜𪶗-𪶩𬈅-𬈕𭱃-𭱡溍-滊滍-滙滛-滝滟-滪漓㴥-㴻𣹝-𣻌𦴶𪶪-𪶾𫞙-𫞛𬈖-𬈤𭱢-𭱵滌滚滫-漊漌-漒演-漼漾-潍㴼-㵉𣻍-𣻳𣻵-𣼘𣼚-𣽂𪶿-𪷊𬈥-𬈱𭱶-𭲑漋漽潎-潿澁-澘澚-澝濐㵊-㵜𣻴𣽃-𣾨𣾪-𣾿𣿁-𣿄𪷋-𪷜𫞜𬈲-𬉇𭲒-𭲫澙澞-濏濑-濓濖㵝-㵮𣾩𣿅-𤀡𪷝-𪷧𫞝𬉈-𬉒𭲬-𭲻澀濔濕濗-濲濴-濸㵯-㵼𣿀𤀣-𤁝𤁟𤁠𪷨-𪷲𬉓-𬉚𭲼-𭳏濹-瀔㵽-㶃𤁞𤁡-𤂜𤂞-𤂠𤂢-𤂲𪷳-𪷹𬉛-𬉞𭳐-𭳛濳瀕-瀮㶄-㶋𤂝𤂡𤂳-𤃧𪷺-𪷿𫞞𬉟-𬉤𭳜-𭳫瀯-灁㶌-㶑𤃨-𤄍𪸀-𪸂𬉥-𬉪𭳬-𭳯灂-灍灏灐㶒-㶘𢌇𤄎-𤄵𪸃-𪸇𬉫-𬉭𭳰-𭳶灑-灘㶙㶚𤄶-𤅉𪸈𪸉𬉮𬉯𭳷-𭳹灙-灜㶛-㶝𤅊-𤅟𪸊𪸋灝-灡㶞㶟𤅠-𤅨𪸌𬉰𬉱𭳺-𭳽灢灣𤅩-𤅯灎灤-灦㶠𤅰-𤅶灧灨𤅷-𤅿𬉲灩灪𭳾𤆀𬉳𤆁]
[radical 86=⽕火:火-灭𤆂𪸍𭳿灮-灳炇㶡㶢𤆃-𤆌𭴀-𭴂灴-炀㶣-㶥𤆍-𤆜𪸎-𪸐𬉴-𬉺𭴃-𭴇炁-炆炈-炞㶦-㶪𤆝-𤆻𪸑-𪸗𬉻-𬊀𭴈-𭴑炟-烃㶫-㶲𤆼-𤇮𪸘-𪸢𬊁𬊂𭴒-𭴚烄-烮㶳-㶸𤇯-𤈤𪸣-𪸪𫞟𬊃-𬊈𭴛-𭴥烯-焓焕-焘㶹-㷁𤈥-𤉡𪸫-𪸲𫞠𬊉-𬊖𭴦-𭴷焔焙-煀煮㷂-㷍𤉢-𤊱𪸳-𪹃𬊗-𬊨𭴸-𭵈煁-煭煯-煸煺㮡㷎-㷞𤊲-𤋲𤋴-𤌆𤍏𪹄-𪹑𬊩-𬊱𭵉-𭵡煹煻-熙熦蒸㷟-㷪𤌇-𤌱𤌳-𤍎𪹒-𪹠𫞡𬊲-𬊾𭵢-𭵲熚-熥熧-熵黙龦龽㷫-㷲𤌲𤍐-𤍨𤍪-𤍿𤎁𤎃-𤎜𪹡-𪹩𬊿-𬋄𭵳-𭵼熶-燞㷳-㷽𤍩𤎝-𤏟𤏡-𤏴𪹪-𪹳𬋅-𬋌𭵽-𭶋營-燷鿪㷾-㸃𤏵-𤐣𪹴-𪹻𬋍-𬋐𭶌-𭶙燸-爃㸄㸅𤐤-𤑂𤑄-𤑑𦦨𪹼-𪺀𬋑-𬋓𭶚-𭶡爄-爊爌-爎爕㸆㸇㸉𤑒-𤑲𪺁𪺂𬋔-𬋘𭶢𭶣爋爏-爔爖-爘㸈㸊-㸌𤑳-𤒠𤒨𪺃-𪺅𬋙-𬋝𭶤-𭶦爙-爛㸍𤒡-𤒧𤒪-𤒹爜-爠㸎𤒩𤒺𤒻𤒽-𤓆𪺆𪺇𭶧爡爢㸏㸐𤒼𤓇-𤓎𤓐-𤓖𪺈𬋞爣𤓗-𤓛𪺉𭶨𭶩爤-爦𤓜-𤓞𤓠-𤓣𪺊𪺋𬋟𬋠㸑𤓤-𤓩𪺌爧𤓪𤓬𬋡𬋢爨𤓫𤓭爩𤓮𬋣]
[radical 87=⽖爪:爪爫𤓯-𤓵𪺍爬爭㸒㸓𤓶-𤓼𬋤𬋥𭶪爮-爰𤓽-𤔋𪺎𬋦𭶫爱𤔌-𤔏𬋧𬋨𭶬-𭶯㸔𤔐-𤔓𪺏𬋩𬋪𭶰爲𤔔-𤔖𤔘-𤔛𪺐-𪺓𬋫𬋬𭶱𤔜-𤔡𪺔𪺕𬋭𬋮𭶲𭶳爳㸕𤔢-𤔦𬋯𬋰𭶴𭶵噕爴𤔧-𤔭𪺖𪺗𬋱𬋲𭶶𤔮-𤔱𬋳𬋴𭶷𭶸𤔲-𤔸𤔼𪺘𪺙𬋵𬋶爵𤔹𤔻𤔽𤔾𭶹𤔺𤔿𤕀𬋷𤕂-𤕇𬋸𬋹𤕈-𤕍𬋺𪺚]
@@ -254,7 +254,7 @@
[top_byte 00 TERMINATOR ]
[top_byte 01 LEVEL-SEPARATOR ]
[top_byte 02 FIELD-SEPARATOR ]
-[top_byte 03 SPACE PUNCTUATION ] # 684 primary weights
+[top_byte 03 SPACE PUNCTUATION ] # 688 primary weights
[top_byte 04 SPACE PUNCTUATION ]
[top_byte 05 SPACE PUNCTUATION ]
[top_byte 06 SPACE PUNCTUATION ]
@@ -263,9 +263,9 @@
[top_byte 09 SPACE PUNCTUATION ]
[top_byte 0A SPACE PUNCTUATION ]
[top_byte 0B SPACE PUNCTUATION ]
-[top_byte 0C SYMBOL CURRENCY ] # 5937 primary weights
+[top_byte 0C SYMBOL CURRENCY ] # 6120 primary weights
[top_byte 0D SYMBOL CURRENCY ]
-[top_byte 0E DIGIT ] # 440 primary weights
+[top_byte 0E DIGIT ] # 504 primary weights
[top_byte 0F DIGIT ]
[top_byte 10 DIGIT ]
[top_byte 11 DIGIT ]
@@ -292,7 +292,7 @@
[top_byte 26 DIGIT ]
[top_byte 27 REORDER_RESERVED_BEFORE_LATIN ]
[top_byte 28 REORDER_RESERVED_BEFORE_LATIN ]
-[top_byte 29 Latn ] # 390 primary weights
+[top_byte 29 Latn ] # 394 primary weights
[top_byte 2A Latn ]
[top_byte 2B Latn ]
[top_byte 2C Latn ]
@@ -364,19 +364,19 @@
[top_byte 6E Telu COMPRESS ] # 75 primary weights
[top_byte 6F Knda COMPRESS ] # 75 primary weights
[top_byte 70 Mlym COMPRESS ] # 74 primary weights
-[top_byte 71 Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Dogr Ahom Gonm Gong Sund Brah Khar Bhks COMPRESS ] # 1379 primary weights
+[top_byte 71 Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Nand Dogr Ahom Gonm Gong Sund Brah Khar Bhks COMPRESS ] # 1444 primary weights
[top_byte 72 Thai COMPRESS ] # 65 primary weights
-[top_byte 73 Laoo Tavt COMPRESS ] # 117 primary weights
-[top_byte 74 Tibt Zanb Soyo COMPRESS ] # 206 primary weights
+[top_byte 73 Laoo Tavt COMPRESS ] # 132 primary weights
+[top_byte 74 Tibt Zanb Soyo COMPRESS ] # 208 primary weights
[top_byte 75 Marc Lepc Phag Limb Tglg Hano Buhd Tagb Bugi Maka Batk Rjng Kali Mymr Rohg Cakm Khmr COMPRESS ] # 805 primary weights
[top_byte 76 Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam COMPRESS ] # 1415 primary weights
[top_byte 77 Runr Hung Orkh COMPRESS ] # 135 primary weights
-[top_byte 78 Vaii Bamu Bass Mend Medf Adlm COMPRESS ] # 1217 primary weights
+[top_byte 78 Vaii Bamu Bass Mend Medf Adlm COMPRESS ] # 1218 primary weights
[top_byte 79 Hang COMPRESS ] # 358 primary weights
[top_byte 7A Hira Hrkt Kana COMPRESS ] # 336 primary weights
-[top_byte 7B Bopo Yiii Lisu Plrd Wara Pauc Hmng Lyci Cari Lydi Ital Goth COMPRESS ] # 1750 primary weights
-[top_byte 7C Dsrt Shaw Dupl Osma Elba Aghb Sora Mroo Linb Lina Cprt Sarb Narb Avst Palm Nbat Hatr Armi Prti Phli Phlp Mani Sogo Sogd Ugar Xpeo Xsux COMPRESS ] # 2564 primary weights
-[top_byte 7D Egyp Merc Mero Hluw Tang Nshu COMPRESS ] # 8968 primary weights
+[top_byte 7B Bopo Yiii Lisu Plrd Wara Pauc Hmng Hmnp Wcho Lyci Cari Lydi Ital Goth COMPRESS ] # 1863 primary weights
+[top_byte 7C Dsrt Shaw Dupl Osma Elba Aghb Sora Mroo Linb Lina Cprt Sarb Narb Avst Palm Nbat Hatr Armi Prti Phli Phlp Elym Mani Sogo Sogd Ugar Xpeo Xsux COMPRESS ] # 2587 primary weights
+[top_byte 7D Egyp Merc Mero Hluw Tang Nshu COMPRESS ] # 8974 primary weights
[top_byte 7E Hani Hans Hant ]
[top_byte 7F Hani Hans Hant ]
[top_byte 80 Hani Hans Hant ]
@@ -798,6 +798,15 @@ A8F1; [,,]
11372; [,,]
11373; [,,]
11374; [,,]
+13430; [,,]
+13431; [,,]
+13432; [,,]
+13433; [,,]
+13434; [,,]
+13435; [,,]
+13436; [,,]
+13437; [,,]
+13438; [,,]
1BCA0; [,,]
1BCA1; [,,]
1BCA2; [,,]
@@ -1562,376 +1571,389 @@ FE20; [, DE, 05]
0483; [, E0, 05]
FE2E; [, E0, 05]
A66F; [, E2 02, 05]
-05B0; [, E2 24, 05]
-05B1; [, E2 46, 05]
-05B2; [, E2 68, 05]
-05B3; [, E2 8A, 05]
-05B4; [, E2 AC, 05]
-05B5; [, E2 CE, 05]
-05B6; [, E2 F0, 05]
-05B7; [, E3 14, 05]
-05B8; [, E3 36, 05]
-05C7; [, E3 36, 05]
-05B9; [, E3 58, 05]
-05BA; [, E3 58, 05]
-05BB; [, E3 7A, 05]
-05C2; [, E3 9C, 05]
-05C1; [, E3 BE, 05]
-05BC; [, E3 E0, 05]
-05BF; [, E4 04, 05]
-FB1E; [, E4 26, 05]
-081C; [, E4 48, 05]
-081D; [, E4 48, 05]
-081E; [, E4 6A, 05]
-081F; [, E4 6A, 05]
-0820; [, E4 6A, 05]
-0821; [, E4 8C, 05]
-0822; [, E4 8C, 05]
-0823; [, E4 8C, 05]
-0824; [, E4 AE, 05]
-0825; [, E4 AE, 05]
-0826; [, E4 D0, 05]
-0827; [, E4 D0, 05]
-0828; [, E4 F2, 05]
-0829; [, E4 F2, 05]
-082A; [, E4 F2, 05]
-082B; [, E5 16, 05]
-082C; [, E5 38, 05]
-0818; [, E5 5A, 05]
-0819; [, E5 7C, 05]
-082D; [, E5 9E, 05]
-064B; [, E5 C0, 05]
-FE71; [, E5 C0, 10]
-FE70; [, E5 C0, 2C]
-08F0; [, E5 E2, 05]
-08E7; [, E6 06, 05]
-064C; [, E6 28, 05]
-FE72; [, E6 28, 20]
-FC5E; [, E6 28, 20][, E8 4C, 2E]
-08F1; [, E6 4A, 05]
-08E8; [, E6 6C, 05]
-064D; [, E6 8E, 05]
-FE74; [, E6 8E, 20]
-FC5F; [, E6 8E, 20][, E8 4C, 2E]
-08F2; [, E6 B0, 05]
-08E9; [, E6 D2, 05]
-064E; [, E6 F4, 05]
-FE77; [, E6 F4, 20]
-FE76; [, E6 F4, 2E]
-FCF2; [, E6 F4, 20][, E8 4C, 20]
-FC60; [, E6 F4, 2E][, E8 4C, 2E]
-08E4; [, E7 18, 05]
-08F4; [, E7 3A, 05]
-08F5; [, E7 5C, 05]
-064F; [, E7 7E, 05]
-FE79; [, E7 7E, 20]
-FE78; [, E7 7E, 2E]
-FCF3; [, E7 7E, 20][, E8 4C, 20]
-FC61; [, E7 7E, 2E][, E8 4C, 2E]
-08E5; [, E7 A0, 05]
-08FE; [, E7 C2, 05]
-0650; [, E7 E4, 05]
-FE7B; [, E7 E4, 20]
-FE7A; [, E7 E4, 2E]
-FCF4; [, E7 E4, 20][, E8 4C, 20]
-FC62; [, E7 E4, 2E][, E8 4C, 2E]
-08E6; [, E8 08, 05]
-08F6; [, E8 2A, 05]
-0651; [, E8 4C, 05]
-0AFB; [, E8 4C, 05]
-11237; [, E8 4C, 05]
-FE7D; [, E8 4C, 20]
-FE7C; [, E8 4C, 2E]
-FC63; [, E8 4C, 2E][, EB 82, 2C]
-0652; [, E8 6E, 05]
-0AFA; [, E8 6E, 05]
-1123E; [, E8 6E, 05]
-FE7F; [, E8 6E, 20]
-FE7E; [, E8 6E, 2E]
-0653; [, E8 90, 05]
-0AFC; [, E8 90, 05]
-0654; [, E8 B2, 05]
-0655; [, E8 D4, 05]
-065F; [, E8 F6, 05]
-0656; [, E9 1A, 05]
-0657; [, E9 3C, 05]
-0658; [, E9 5E, 05]
-08FF; [, E9 80, 05]
-0659; [, E9 A2, 05]
-065A; [, E9 C4, 05]
-065B; [, E9 E6, 05]
-065C; [, EA 0A, 05]
-065D; [, EA 2C, 05]
-065E; [, EA 4E, 05]
-08E3; [, EA 70, 05]
-08F7; [, EA 92, 05]
-08F8; [, EA B4, 05]
-08FD; [, EA D6, 05]
-08FB; [, EA F8, 05]
-08FC; [, EB 1C, 05]
-08F9; [, EB 3E, 05]
-08FA; [, EB 60, 05]
-0670; [, EB 82, 05]
-0711; [, EB A4, 05]
-0730; [, EB C6, 05]
-0731; [, EB E8, 05]
-0732; [, EC 0C, 05]
-0733; [, EC 2E, 05]
-0734; [, EC 50, 05]
-0735; [, EC 72, 05]
-0736; [, EC 94, 05]
-0737; [, EC B6, 05]
-0738; [, EC D8, 05]
-0739; [, EC FA, 05]
-073A; [, ED 1E, 05]
-073B; [, ED 40, 05]
-073C; [, ED 62, 05]
-073D; [, ED 84, 05]
-073E; [, ED A6, 05]
-073F; [, ED C8, 05]
-07EB; [, ED EA, 05]
-07EC; [, EE 0E, 05]
-07ED; [, EE 30, 05]
-07EE; [, EE 52, 05]
-07EF; [, EE 74, 05]
-07F0; [, EE 96, 05]
-07F1; [, EE B8, 05]
-07F2; [, EE DA, 05]
-07F3; [, EE FC, 05]
-135F; [, EF 20, 05]
-135E; [, EF 42, 05]
-135D; [, EF 64, 05]
-A6F0; [, EF 86, 05]
-A6F1; [, EF A8, 05]
-16AF0; [, EF CA, 05]
-16AF1; [, EF EC, 05]
-16AF2; [, F0 10, 05]
-16AF3; [, F0 32, 05]
-16AF4; [, F0 54, 05]
-1E944; [, F0 76, 05]
-1E945; [, F0 76, 05]
-1E946; [, F0 76, 05]
-1E94A; [, F0 98, 05]
-1E947; [, F0 BA, 05]
-1E948; [, F0 DC, 05]
-1E949; [, F0 FE, 05]
-093C; [, F1 22, 05]
-09BC; [, F1 22, 05]
-0A3C; [, F1 22, 05]
-0ABC; [, F1 22, 05]
-0AFD; [, F1 22, 05]
-0AFE; [, F1 22, 05]
-0AFF; [, F1 22, 05]
-0B3C; [, F1 22, 05]
-0CBC; [, F1 22, 05]
-1B34; [, F1 22, 05]
-1BE6; [, F1 22, 05]
-1C37; [, F1 22, 05]
-A9B3; [, F1 22, 05]
-110BA; [, F1 22, 05]
-11173; [, F1 22, 05]
-111CA; [, F1 22, 05]
-11236; [, F1 22, 05]
-112E9; [, F1 22, 05]
-1133B; [, F1 22, 05]
-1133C; [, F1 22, 05]
-11446; [, F1 22, 05]
-114C3; [, F1 22, 05]
-115C0; [, F1 22, 05]
-116B7; [, F1 22, 05]
-1183A; [, F1 22, 05]
-11A33; [, F1 22, 05]
-11D42; [, F1 22, 05]
-0900; [, F1 44, 05]
-0901; [, F1 44, 05]
-0981; [, F1 44, 05]
-0A01; [, F1 44, 05]
-0A81; [, F1 44, 05]
-0B01; [, F1 44, 05]
-0C00; [, F1 44, 05]
-0C01; [, F1 44, 05]
-0C81; [, F1 44, 05]
-0D01; [, F1 44, 05]
-1B00; [, F1 44, 05]
-1B01; [, F1 44, 05]
-A8C5; [, F1 44, 05]
-A980; [, F1 44, 05]
-11000; [, F1 44, 05]
-11080; [, F1 44, 05]
-11100; [, F1 44, 05]
-11180; [, F1 44, 05]
-11301; [, F1 44, 05]
-11443; [, F1 44, 05]
-114BF; [, F1 44, 05]
-115BC; [, F1 44, 05]
-11640; [, F1 44, 05]
-11A35; [, F1 44, 05]
-11A36; [, F1 44, 05]
-11A37; [, F1 44, 05]
-11C3C; [, F1 44, 05]
-11CB6; [, F1 44, 05]
-11D43; [, F1 44, 05]
-0902; [, F1 66, 05]
-0982; [, F1 66, 05]
-0A02; [, F1 66, 05]
-0A82; [, F1 66, 05]
-0B02; [, F1 66, 05]
-0B82; [, F1 66, 05]
-0C02; [, F1 66, 05]
-0C04; [, F1 66, 05]
-0C82; [, F1 66, 05]
-0D00; [, F1 66, 05]
-0D02; [, F1 66, 05]
-0D82; [, F1 66, 05]
-0F7E; [, F1 66, 05]
-1036; [, F1 66, 05]
-17C6; [, F1 66, 05]
-1A74; [, F1 66, 05]
-1B02; [, F1 66, 05]
-1B80; [, F1 66, 05]
-1CED; [, F1 66, 05]
-A80B; [, F1 66, 05]
-A880; [, F1 66, 05]
-A981; [, F1 66, 05]
-10A0E; [, F1 66, 05]
-11001; [, F1 66, 05]
-11081; [, F1 66, 05]
-11101; [, F1 66, 05]
-11181; [, F1 66, 05]
-11234; [, F1 66, 05]
-112DF; [, F1 66, 05]
-11300; [, F1 66, 05]
-11302; [, F1 66, 05]
-11444; [, F1 66, 05]
-114C0; [, F1 66, 05]
-115BD; [, F1 66, 05]
-1163D; [, F1 66, 05]
-116AB; [, F1 66, 05]
-11837; [, F1 66, 05]
-11A38; [, F1 66, 05]
-11A96; [, F1 66, 05]
-11C3D; [, F1 66, 05]
-11CB5; [, F1 66, 05]
-11D40; [, F1 66, 05]
-11D95; [, F1 66, 05]
-0903; [, F1 88, 05]
-0983; [, F1 88, 05]
-0A03; [, F1 88, 05]
-0A83; [, F1 88, 05]
-0B03; [, F1 88, 05]
-0C03; [, F1 88, 05]
-0C83; [, F1 88, 05]
-0D03; [, F1 88, 05]
-0D83; [, F1 88, 05]
-0F7F; [, F1 88, 05]
-1038; [, F1 88, 05]
-17C7; [, F1 88, 05]
-1B04; [, F1 88, 05]
-1B82; [, F1 88, 05]
-1CF2; [, F1 88, 05]
-1CF3; [, F1 88, 05]
-A881; [, F1 88, 05]
-A983; [, F1 88, 05]
-10A0F; [, F1 88, 05]
-11002; [, F1 88, 05]
-11082; [, F1 88, 05]
-11102; [, F1 88, 05]
-11182; [, F1 88, 05]
-11303; [, F1 88, 05]
-11445; [, F1 88, 05]
-114C1; [, F1 88, 05]
-115BE; [, F1 88, 05]
-1163E; [, F1 88, 05]
-116AC; [, F1 88, 05]
-11838; [, F1 88, 05]
-11A39; [, F1 88, 05]
-11A97; [, F1 88, 05]
-11C3E; [, F1 88, 05]
-11D41; [, F1 88, 05]
-11D96; [, F1 88, 05]
-09FE; [, F1 AA, 05]
-111C9; [, F1 AA, 05]
-1145E; [, F1 AA, 05]
-0A70; [, F1 CC, 05]
-0A71; [, F1 EE, 05]
-1B03; [, F2 12, 05]
-A982; [, F2 34, 05]
-1B81; [, F2 56, 05]
-ABEC; [, F2 78, 05]
-10A38; [, F2 9A, 05]
-10A39; [, F2 BC, 05]
-10A3A; [, F2 DE, 05]
-111CB; [, F3 02, 05]
-111CC; [, F3 24, 05]
-11A98; [, F3 46, 05]
-0E4E; [, F3 68, 05]
-0E47; [, F3 8A, 05]
-0E48; [, F3 AC, 05]
-0E49; [, F3 CE, 05]
-0E4A; [, F3 F0, 05]
-0E4B; [, F4 14, 05]
-0E4C; [, F4 36, 05]
-0E4D; [, F4 58, 05]
-0EC8; [, F4 7A, 05]
-0EC9; [, F4 9C, 05]
-0ECA; [, F4 BE, 05]
-0ECB; [, F4 E0, 05]
-0ECC; [, F5 04, 05]
-0ECD; [, F5 26, 05]
-AABF; [, F5 48, 05]
-AAC1; [, F5 6A, 05]
-0F39; [, F5 8C, 05]
-A92B; [, F5 AE, 05]
-A92C; [, F5 D0, 05]
-A92D; [, F5 F2, 05]
-1037; [, F6 16, 05]
-17C8; [, F6 38, 05]
-17C9; [, F6 5A, 05]
-17CA; [, F6 7C, 05]
-1A75; [, F6 9E, 05]
-1A76; [, F6 C0, 05]
-1A77; [, F6 E2, 05]
-1A78; [, F7 06, 05]
-1A79; [, F7 28, 05]
-1A7A; [, F7 4A, 05]
-1A7B; [, F7 6C, 05]
-1A7C; [, F7 8E, 05]
-1939; [, F7 B0, 05]
-193A; [, F7 D2, 05]
-193B; [, F7 F4, 05]
-16B30; [, F8 18, 05]
-16B31; [, F8 3A, 05]
-16B32; [, F8 5C, 05]
-16B33; [, F8 7E, 05]
-16B34; [, F8 A0, 05]
-16B35; [, F8 C2, 05]
-16B36; [, F8 E4, 05]
-302A; [, F9 08, 05]
-302B; [, F9 2A, 05]
-302C; [, F9 4C, 05]
-302D; [, F9 6E, 05]
-302E; [, F9 90, 05]
-302F; [, F9 B2, 05]
-20D0; [, F9 D4, 05]
-20D1; [, F9 F6, 05]
-20D2; [, FA 1A, 05]
-20D3; [, FA 1A, 05]
-20D4; [, FA 3C, 05]
-20D5; [, FA 5E, 05]
-20D6; [, FA 80, 05]
-20D7; [, FA A2, 05]
-20DB; [, FA C4, 05]
-20DC; [, FA E6, 05]
-20E1; [, FB 0A, 05]
-20E6; [, FB 2C, 05]
-20E7; [, FB 4E, 05]
-20E8; [, FB 70, 05]
-20E9; [, FB 92, 05]
-101FD; [, FB B4, 05]
-004C | 00B7; [, FB D6, 05]
-006C | 00B7; [, FB D6, 05]
-004C | 0387; [, FB D6, 05]
-006C | 0387; [, FB D6, 05]
+05B0; [, E2 23, 05]
+05B1; [, E2 44, 05]
+05B2; [, E2 65, 05]
+05B3; [, E2 86, 05]
+05B4; [, E2 A7, 05]
+05B5; [, E2 C8, 05]
+05B6; [, E2 E9, 05]
+05B7; [, E3 0C, 05]
+05B8; [, E3 2D, 05]
+05C7; [, E3 2D, 05]
+05B9; [, E3 4E, 05]
+05BA; [, E3 4E, 05]
+05BB; [, E3 6F, 05]
+05C2; [, E3 90, 05]
+05C1; [, E3 B1, 05]
+05BC; [, E3 D2, 05]
+05BF; [, E3 F3, 05]
+FB1E; [, E4 16, 05]
+081C; [, E4 37, 05]
+081D; [, E4 37, 05]
+081E; [, E4 58, 05]
+081F; [, E4 58, 05]
+0820; [, E4 58, 05]
+0821; [, E4 79, 05]
+0822; [, E4 79, 05]
+0823; [, E4 79, 05]
+0824; [, E4 9A, 05]
+0825; [, E4 9A, 05]
+0826; [, E4 BB, 05]
+0827; [, E4 BB, 05]
+0828; [, E4 DC, 05]
+0829; [, E4 DC, 05]
+082A; [, E4 DC, 05]
+082B; [, E4 FD, 05]
+082C; [, E5 20, 05]
+0818; [, E5 41, 05]
+0819; [, E5 62, 05]
+082D; [, E5 83, 05]
+064B; [, E5 A4, 05]
+FE71; [, E5 A4, 10]
+FE70; [, E5 A4, 2C]
+08F0; [, E5 C5, 05]
+08E7; [, E5 E6, 05]
+064C; [, E6 09, 05]
+FE72; [, E6 09, 20]
+FC5E; [, E6 09, 20][, E8 1D, 2E]
+08F1; [, E6 2A, 05]
+08E8; [, E6 4B, 05]
+064D; [, E6 6C, 05]
+FE74; [, E6 6C, 20]
+FC5F; [, E6 6C, 20][, E8 1D, 2E]
+08F2; [, E6 8D, 05]
+08E9; [, E6 AE, 05]
+064E; [, E6 CF, 05]
+FE77; [, E6 CF, 20]
+FE76; [, E6 CF, 2E]
+FCF2; [, E6 CF, 20][, E8 1D, 20]
+FC60; [, E6 CF, 2E][, E8 1D, 2E]
+08E4; [, E6 F0, 05]
+08F4; [, E7 13, 05]
+08F5; [, E7 34, 05]
+064F; [, E7 55, 05]
+FE79; [, E7 55, 20]
+FE78; [, E7 55, 2E]
+FCF3; [, E7 55, 20][, E8 1D, 20]
+FC61; [, E7 55, 2E][, E8 1D, 2E]
+08E5; [, E7 76, 05]
+08FE; [, E7 97, 05]
+0650; [, E7 B8, 05]
+FE7B; [, E7 B8, 20]
+FE7A; [, E7 B8, 2E]
+FCF4; [, E7 B8, 20][, E8 1D, 20]
+FC62; [, E7 B8, 2E][, E8 1D, 2E]
+08E6; [, E7 D9, 05]
+08F6; [, E7 FA, 05]
+0651; [, E8 1D, 05]
+0AFB; [, E8 1D, 05]
+11237; [, E8 1D, 05]
+FE7D; [, E8 1D, 20]
+FE7C; [, E8 1D, 2E]
+FC63; [, E8 1D, 2E][, EB 3B, 2C]
+0652; [, E8 3E, 05]
+0AFA; [, E8 3E, 05]
+1123E; [, E8 3E, 05]
+FE7F; [, E8 3E, 20]
+FE7E; [, E8 3E, 2E]
+0653; [, E8 5F, 05]
+0AFC; [, E8 5F, 05]
+0654; [, E8 80, 05]
+0655; [, E8 A1, 05]
+065F; [, E8 C2, 05]
+0656; [, E8 E3, 05]
+0657; [, E9 06, 05]
+0658; [, E9 27, 05]
+08FF; [, E9 48, 05]
+0659; [, E9 69, 05]
+065A; [, E9 8A, 05]
+065B; [, E9 AB, 05]
+065C; [, E9 CC, 05]
+065D; [, E9 ED, 05]
+065E; [, EA 10, 05]
+08E3; [, EA 31, 05]
+08F7; [, EA 52, 05]
+08F8; [, EA 73, 05]
+08FD; [, EA 94, 05]
+08FB; [, EA B5, 05]
+08FC; [, EA D6, 05]
+08F9; [, EA F7, 05]
+08FA; [, EB 1A, 05]
+0670; [, EB 3B, 05]
+0711; [, EB 5C, 05]
+0730; [, EB 7D, 05]
+0731; [, EB 9E, 05]
+0732; [, EB BF, 05]
+0733; [, EB E0, 05]
+0734; [, EC 03, 05]
+0735; [, EC 24, 05]
+0736; [, EC 45, 05]
+0737; [, EC 66, 05]
+0738; [, EC 87, 05]
+0739; [, EC A8, 05]
+073A; [, EC C9, 05]
+073B; [, EC EA, 05]
+073C; [, ED 0D, 05]
+073D; [, ED 2E, 05]
+073E; [, ED 4F, 05]
+073F; [, ED 70, 05]
+07EB; [, ED 91, 05]
+07EC; [, ED B2, 05]
+07ED; [, ED D3, 05]
+07EE; [, ED F4, 05]
+07EF; [, EE 17, 05]
+07F0; [, EE 38, 05]
+07F1; [, EE 59, 05]
+07F2; [, EE 7A, 05]
+07F3; [, EE 9B, 05]
+135F; [, EE BC, 05]
+135E; [, EE DD, 05]
+135D; [, EE FE, 05]
+A6F0; [, EF 21, 05]
+A6F1; [, EF 42, 05]
+16AF0; [, EF 63, 05]
+16AF1; [, EF 84, 05]
+16AF2; [, EF A5, 05]
+16AF3; [, EF C6, 05]
+16AF4; [, EF E7, 05]
+1E944; [, F0 0A, 05]
+1E945; [, F0 0A, 05]
+1E946; [, F0 0A, 05]
+1E94A; [, F0 2B, 05]
+1E947; [, F0 4C, 05]
+1E948; [, F0 6D, 05]
+1E949; [, F0 8E, 05]
+093C; [, F0 AF, 05]
+09BC; [, F0 AF, 05]
+0A3C; [, F0 AF, 05]
+0ABC; [, F0 AF, 05]
+0AFD; [, F0 AF, 05]
+0AFE; [, F0 AF, 05]
+0AFF; [, F0 AF, 05]
+0B3C; [, F0 AF, 05]
+0CBC; [, F0 AF, 05]
+1B34; [, F0 AF, 05]
+1BE6; [, F0 AF, 05]
+1C37; [, F0 AF, 05]
+A9B3; [, F0 AF, 05]
+110BA; [, F0 AF, 05]
+11173; [, F0 AF, 05]
+111CA; [, F0 AF, 05]
+11236; [, F0 AF, 05]
+112E9; [, F0 AF, 05]
+1133B; [, F0 AF, 05]
+1133C; [, F0 AF, 05]
+11446; [, F0 AF, 05]
+114C3; [, F0 AF, 05]
+115C0; [, F0 AF, 05]
+116B7; [, F0 AF, 05]
+1183A; [, F0 AF, 05]
+11A33; [, F0 AF, 05]
+11D42; [, F0 AF, 05]
+0900; [, F0 D0, 05]
+0901; [, F0 D0, 05]
+0981; [, F0 D0, 05]
+0A01; [, F0 D0, 05]
+0A81; [, F0 D0, 05]
+0B01; [, F0 D0, 05]
+0C00; [, F0 D0, 05]
+0C01; [, F0 D0, 05]
+0C81; [, F0 D0, 05]
+0D01; [, F0 D0, 05]
+1B00; [, F0 D0, 05]
+1B01; [, F0 D0, 05]
+A8C5; [, F0 D0, 05]
+A980; [, F0 D0, 05]
+11000; [, F0 D0, 05]
+11080; [, F0 D0, 05]
+11100; [, F0 D0, 05]
+11180; [, F0 D0, 05]
+11301; [, F0 D0, 05]
+11443; [, F0 D0, 05]
+114BF; [, F0 D0, 05]
+115BC; [, F0 D0, 05]
+11640; [, F0 D0, 05]
+11A35; [, F0 D0, 05]
+11A36; [, F0 D0, 05]
+11A37; [, F0 D0, 05]
+11C3C; [, F0 D0, 05]
+11CB6; [, F0 D0, 05]
+11D43; [, F0 D0, 05]
+0902; [, F0 F1, 05]
+0982; [, F0 F1, 05]
+0A02; [, F0 F1, 05]
+0A82; [, F0 F1, 05]
+0B02; [, F0 F1, 05]
+0B82; [, F0 F1, 05]
+0C02; [, F0 F1, 05]
+0C04; [, F0 F1, 05]
+0C82; [, F0 F1, 05]
+0D00; [, F0 F1, 05]
+0D02; [, F0 F1, 05]
+0D82; [, F0 F1, 05]
+0F7E; [, F0 F1, 05]
+1036; [, F0 F1, 05]
+17C6; [, F0 F1, 05]
+1A74; [, F0 F1, 05]
+1B02; [, F0 F1, 05]
+1B80; [, F0 F1, 05]
+1CED; [, F0 F1, 05]
+A80B; [, F0 F1, 05]
+A880; [, F0 F1, 05]
+A981; [, F0 F1, 05]
+10A0E; [, F0 F1, 05]
+11001; [, F0 F1, 05]
+11081; [, F0 F1, 05]
+11101; [, F0 F1, 05]
+11181; [, F0 F1, 05]
+11234; [, F0 F1, 05]
+112DF; [, F0 F1, 05]
+11300; [, F0 F1, 05]
+11302; [, F0 F1, 05]
+11444; [, F0 F1, 05]
+114C0; [, F0 F1, 05]
+115BD; [, F0 F1, 05]
+1163D; [, F0 F1, 05]
+116AB; [, F0 F1, 05]
+11837; [, F0 F1, 05]
+119DE; [, F0 F1, 05]
+11A38; [, F0 F1, 05]
+11A96; [, F0 F1, 05]
+11C3D; [, F0 F1, 05]
+11CB5; [, F0 F1, 05]
+11D40; [, F0 F1, 05]
+11D95; [, F0 F1, 05]
+0903; [, F1 14, 05]
+0983; [, F1 14, 05]
+0A03; [, F1 14, 05]
+0A83; [, F1 14, 05]
+0B03; [, F1 14, 05]
+0C03; [, F1 14, 05]
+0C83; [, F1 14, 05]
+0D03; [, F1 14, 05]
+0D83; [, F1 14, 05]
+0F7F; [, F1 14, 05]
+1038; [, F1 14, 05]
+17C7; [, F1 14, 05]
+1B04; [, F1 14, 05]
+1B82; [, F1 14, 05]
+1CF2; [, F1 14, 05]
+1CF3; [, F1 14, 05]
+A881; [, F1 14, 05]
+A983; [, F1 14, 05]
+10A0F; [, F1 14, 05]
+11002; [, F1 14, 05]
+11082; [, F1 14, 05]
+11102; [, F1 14, 05]
+11182; [, F1 14, 05]
+11303; [, F1 14, 05]
+11445; [, F1 14, 05]
+114C1; [, F1 14, 05]
+115BE; [, F1 14, 05]
+1163E; [, F1 14, 05]
+116AC; [, F1 14, 05]
+11838; [, F1 14, 05]
+119DF; [, F1 14, 05]
+11A39; [, F1 14, 05]
+11A97; [, F1 14, 05]
+11C3E; [, F1 14, 05]
+11D41; [, F1 14, 05]
+11D96; [, F1 14, 05]
+09FE; [, F1 35, 05]
+111C9; [, F1 35, 05]
+1145E; [, F1 35, 05]
+0A70; [, F1 56, 05]
+0A71; [, F1 77, 05]
+1B03; [, F1 98, 05]
+A982; [, F1 B9, 05]
+1B81; [, F1 DA, 05]
+ABEC; [, F1 FB, 05]
+10A38; [, F2 1E, 05]
+10A39; [, F2 3F, 05]
+10A3A; [, F2 60, 05]
+111CB; [, F2 81, 05]
+111CC; [, F2 A2, 05]
+11A98; [, F2 C3, 05]
+0E4E; [, F2 E4, 05]
+0E47; [, F3 07, 05]
+0E48; [, F3 28, 05]
+0E49; [, F3 49, 05]
+0E4A; [, F3 6A, 05]
+0E4B; [, F3 8B, 05]
+0E4C; [, F3 AC, 05]
+0E4D; [, F3 CD, 05]
+0EC8; [, F3 EE, 05]
+0EC9; [, F4 11, 05]
+0ECA; [, F4 32, 05]
+0ECB; [, F4 53, 05]
+0ECC; [, F4 74, 05]
+0ECD; [, F4 95, 05]
+AABF; [, F4 B6, 05]
+AAC1; [, F4 D7, 05]
+0F39; [, F4 F8, 05]
+A92B; [, F5 1B, 05]
+A92C; [, F5 3C, 05]
+A92D; [, F5 5D, 05]
+1037; [, F5 7E, 05]
+17C8; [, F5 9F, 05]
+17C9; [, F5 C0, 05]
+17CA; [, F5 E1, 05]
+1A75; [, F6 04, 05]
+1A76; [, F6 25, 05]
+1A77; [, F6 46, 05]
+1A78; [, F6 67, 05]
+1A79; [, F6 88, 05]
+1A7A; [, F6 A9, 05]
+1A7B; [, F6 CA, 05]
+1A7C; [, F6 EB, 05]
+1939; [, F7 0E, 05]
+193A; [, F7 2F, 05]
+193B; [, F7 50, 05]
+16B30; [, F7 71, 05]
+1E131; [, F7 71, 05]
+16B31; [, F7 92, 05]
+1E136; [, F7 92, 05]
+16B32; [, F7 B3, 05]
+1E132; [, F7 B3, 05]
+16B33; [, F7 D4, 05]
+1E133; [, F7 D4, 05]
+16B34; [, F7 F5, 05]
+1E130; [, F7 F5, 05]
+16B35; [, F8 18, 05]
+1E134; [, F8 18, 05]
+16B36; [, F8 39, 05]
+1E135; [, F8 39, 05]
+1E2EC; [, F8 5A, 05]
+1E2ED; [, F8 7B, 05]
+1E2EE; [, F8 9C, 05]
+1E2EF; [, F8 BD, 05]
+302A; [, F8 DE, 05]
+302B; [, F8 FF, 05]
+302C; [, F9 22, 05]
+302D; [, F9 43, 05]
+302E; [, F9 64, 05]
+302F; [, F9 85, 05]
+20D0; [, F9 A6, 05]
+20D1; [, F9 C7, 05]
+20D2; [, F9 E8, 05]
+20D3; [, F9 E8, 05]
+20D4; [, FA 0B, 05]
+20D5; [, FA 2C, 05]
+20D6; [, FA 4D, 05]
+20D7; [, FA 6E, 05]
+20DB; [, FA 8F, 05]
+20DC; [, FA B0, 05]
+20E1; [, FA D1, 05]
+20E6; [, FA F2, 05]
+20E7; [, FB 15, 05]
+20E8; [, FB 36, 05]
+20E9; [, FB 57, 05]
+101FD; [, FB 78, 05]
+004C | 00B7; [, FB 99, 05]
+006C | 00B7; [, FB 99, 05]
+004C | 0387; [, FB 99, 05]
+006C | 0387; [, FB 99, 05]
FDD1 00A0; [03 02 02, 05, 05] # SPACE first primary starts new lead byte
@@ -2051,192 +2073,196 @@ FE10; [06, 05, 31]
2E4E; [07 0E, 05, 05]
-055D; [07 10, 05, 05]
+2E4F; [07 10, 05, 05]
-060C; [07 12, 05, 05]
+055D; [07 12, 05, 05]
-060D; [07 14, 05, 05]
+060C; [07 14, 05, 05]
-066B; [07 16, 05, 05]
+060D; [07 16, 05, 05]
-066C; [07 18, 05, 05]
+066B; [07 18, 05, 05]
-07F8; [07 1A, 05, 05]
+066C; [07 1A, 05, 05]
-1802; [07 1C, 05, 05]
+07F8; [07 1C, 05, 05]
-1808; [07 1E 02, 05, 05]
+1802; [07 1E, 05, 05]
-A4FE; [07 1E 09, 05, 05]
+1808; [07 20 02, 05, 05]
-A60D; [07 1E 10, 05, 05]
+A4FE; [07 20 09, 05, 05]
-A6F5; [07 1E 17, 05, 05]
+A60D; [07 20 10, 05, 05]
-16E97; [07 1E 1E, 05, 05]
+A6F5; [07 20 17, 05, 05]
-3001; [07 20, 05, 05]
-FE51; [07 20, 05, 10]
-FF64; [07 20, 05, 9E]
-FE11; [07 20, 05, 2C]
+16E97; [07 20 1E, 05, 05]
-FE45; [07 22, 05, 05]
+3001; [07 22, 05, 05]
+FE51; [07 22, 05, 10]
+FF64; [07 22, 05, 9E]
+FE11; [07 22, 05, 2C]
-FE46; [07 24, 05, 05]
+FE45; [07 24, 05, 05]
-003B; [07 26, 05, 05]
-037E; [07 26, 05, 05]
-FF1B; [07 26, 05, 10]
-FE54; [07 26, 05, 1E]
-FE14; [07 26, 05, 2C]
+FE46; [07 26, 05, 05]
-061B; [07 28, 05, 05]
+16FE2; [07 28, 05, 05]
-204F; [07 2A, 05, 05]
+003B; [07 2A, 05, 05]
+037E; [07 2A, 05, 05]
+FF1B; [07 2A, 05, 10]
+FE54; [07 2A, 05, 1E]
+FE14; [07 2A, 05, 2C]
-2E35; [07 2C, 05, 05]
+061B; [07 2C, 05, 05]
-A6F6; [07 2E, 05, 05]
+204F; [07 2E, 05, 05]
-2E49; [07 30, 05, 05]
+2E35; [07 30, 05, 05]
-003A; [07 32, 05, 05]
-FF1A; [07 32, 05, 10]
-FE55; [07 32, 05, 26]
-FE13; [07 32, 05, 31]
-2A74; [07 32, 05, 1B][07 32, 05, 1B][0C 82, 05, 18]
+A6F6; [07 32, 05, 05]
-0589; [07 34, 05, 05]
+2E49; [07 34, 05, 05]
-061E; [07 36, 05, 05]
+003A; [07 36, 05, 05]
+FF1A; [07 36, 05, 10]
+FE55; [07 36, 05, 26]
+FE13; [07 36, 05, 31]
+2A74; [07 36, 05, 1B][07 36, 05, 1B][0C 83, 05, 18]
-0703; [07 38 02, 05, 05]
+0589; [07 38, 05, 05]
-0704; [07 38 09, 05, 05]
+061E; [07 3A, 05, 05]
-0705; [07 38 10, 05, 05]
+0703; [07 3C 02, 05, 05]
-0706; [07 38 17, 05, 05]
+0704; [07 3C 09, 05, 05]
-0707; [07 38 1E, 05, 05]
+0705; [07 3C 10, 05, 05]
-0708; [07 38 25, 05, 05]
+0706; [07 3C 17, 05, 05]
-0830; [07 38 2C, 05, 05]
+0707; [07 3C 1E, 05, 05]
-0831; [07 38 33, 05, 05]
+0708; [07 3C 25, 05, 05]
-0832; [07 38 3A, 05, 05]
+0830; [07 3C 2C, 05, 05]
-0833; [07 38 41, 05, 05]
+0831; [07 3C 33, 05, 05]
-0834; [07 38 48, 05, 05]
+0832; [07 3C 3A, 05, 05]
-0835; [07 38 4F, 05, 05]
+0833; [07 3C 41, 05, 05]
-0836; [07 38 56, 05, 05]
+0834; [07 3C 48, 05, 05]
-0837; [07 38 5D, 05, 05]
+0835; [07 3C 4F, 05, 05]
-0838; [07 38 64, 05, 05]
+0836; [07 3C 56, 05, 05]
-0839; [07 38 6B, 05, 05]
+0837; [07 3C 5D, 05, 05]
-083A; [07 38 72, 05, 05]
+0838; [07 3C 64, 05, 05]
-083B; [07 38 79, 05, 05]
+0839; [07 3C 6B, 05, 05]
-083C; [07 38 80, 05, 05]
+083A; [07 3C 72, 05, 05]
-083D; [07 38 87, 05, 05]
+083B; [07 3C 79, 05, 05]
-083E; [07 38 8E, 05, 05]
+083C; [07 3C 80, 05, 05]
-1361; [07 3A, 05, 05]
+083D; [07 3C 87, 05, 05]
-1363; [07 3C, 05, 05]
+083E; [07 3C 8E, 05, 05]
-1364; [07 3E, 05, 05]
+1361; [07 3E, 05, 05]
-1365; [07 40, 05, 05]
+1363; [07 40, 05, 05]
-1366; [07 42, 05, 05]
+1364; [07 42, 05, 05]
-1804; [07 44, 05, 05]
+1365; [07 44, 05, 05]
-1805; [07 46, 05, 05]
+1366; [07 46, 05, 05]
-0F14; [07 48, 05, 05]
+1804; [07 48, 05, 05]
-17D6; [07 4A, 05, 05]
+1805; [07 4A, 05, 05]
-1B5D; [07 4C 02, 05, 05]
+0F14; [07 4C, 05, 05]
-A9C7; [07 4C 09, 05, 05]
+17D6; [07 4E, 05, 05]
-16EB; [07 4E, 05, 05]
+1B5D; [07 50 02, 05, 05]
-16EC; [07 50, 05, 05]
+A9C7; [07 50 09, 05, 05]
-16ED; [07 52, 05, 05]
+16EB; [07 52, 05, 05]
-A6F4; [07 54, 05, 05]
+16EC; [07 54, 05, 05]
-0021; [07 56, 05, 05]
-FF01; [07 56, 05, 10]
-FE57; [07 56, 05, 20]
-FE15; [07 56, 05, 28]
-203C; [07 56, 05, 18][07 56, 05, 18]
-2049; [07 56, 05, 18][07 5E, 05, 1B]
+16ED; [07 56, 05, 05]
-00A1; [07 58, 05, 05]
+A6F4; [07 58, 05, 05]
-055C; [07 5A, 05, 05]
+0021; [07 5A, 05, 05]
+FF01; [07 5A, 05, 10]
+FE57; [07 5A, 05, 20]
+FE15; [07 5A, 05, 28]
+203C; [07 5A, 05, 18][07 5A, 05, 18]
+2049; [07 5A, 05, 18][07 62, 05, 1B]
-07F9; [07 5C 02, 05, 05]
+00A1; [07 5C, 05, 05]
-1944; [07 5C 09, 05, 05]
+055C; [07 5E, 05, 05]
-1E95E; [07 5C 10, 05, 05]
+07F9; [07 60 02, 05, 05]
-003F; [07 5E, 05, 05]
-FF1F; [07 5E, 05, 10]
-FE56; [07 5E, 05, 26]
-FE16; [07 5E, 05, 31]
-2048; [07 5E, 05, 1B][07 56, 05, 18]
-2047; [07 5E, 05, 1B][07 5E, 05, 1B]
+1944; [07 60 09, 05, 05]
-00BF; [07 60, 05, 05]
+1E95E; [07 60 10, 05, 05]
-2E2E; [07 62, 05, 05]
+003F; [07 62, 05, 05]
+FF1F; [07 62, 05, 10]
+FE56; [07 62, 05, 26]
+FE16; [07 62, 05, 31]
+2048; [07 62, 05, 1B][07 5A, 05, 18]
+2047; [07 62, 05, 1B][07 62, 05, 1B]
-055E; [07 64, 05, 05]
+00BF; [07 64, 05, 05]
-061F; [07 66, 05, 05]
+2E2E; [07 66, 05, 05]
-0709; [07 68, 05, 05]
+055E; [07 68, 05, 05]
-1367; [07 6A, 05, 05]
+061F; [07 6A, 05, 05]
-1945; [07 6C 02, 05, 05]
+0709; [07 6C, 05, 05]
-2CFA; [07 6C 09, 05, 05]
+1367; [07 6E, 05, 05]
-2CFB; [07 6C 10, 05, 05]
+1945; [07 70 02, 05, 05]
-A60F; [07 6C 17, 05, 05]
+2CFA; [07 70 09, 05, 05]
-A6F7; [07 6C 1E, 05, 05]
+2CFB; [07 70 10, 05, 05]
-AAF1; [07 6C 25, 05, 05]
+A60F; [07 70 17, 05, 05]
-11143; [07 6C 2C, 05, 05]
+A6F7; [07 70 1E, 05, 05]
-1E95F; [07 6C 33, 05, 05]
+AAF1; [07 70 25, 05, 05]
-203D; [07 6E, 05, 05]
+11143; [07 70 2C, 05, 05]
-2E18; [07 70, 05, 05]
+1E95F; [07 70 33, 05, 05]
+
+203D; [07 72, 05, 05]
+
+2E18; [07 74, 05, 05]
002E; [08, 05, 05]
FF0E; [08, 05, 10]
@@ -3241,344 +3267,348 @@ A8FC; [0B 22, 05, 05]
0AF0; [0B 28, 05, 05]
-0C84; [0B 2A, 05, 05]
+0C77; [0B 2A, 05, 05]
+
+0C84; [0B 2C, 05, 05]
+
+0DF4; [0B 2E, 05, 05]
-0DF4; [0B 2C, 05, 05]
+0E4F; [0B 30, 05, 05]
-0E4F; [0B 2E, 05, 05]
+0E5A; [0B 32, 05, 05]
-0E5A; [0B 30, 05, 05]
+0E5B; [0B 34, 05, 05]
-0E5B; [0B 32, 05, 05]
+AADE; [0B 36 02, 05, 05]
-AADE; [0B 34 02, 05, 05]
+AADF; [0B 36 09, 05, 05]
-AADF; [0B 34 09, 05, 05]
+0F04; [0B 38, 05, 05]
-0F04; [0B 36, 05, 05]
+0F05; [0B 3A, 05, 05]
-0F05; [0B 38, 05, 05]
+0F06; [0B 3C, 05, 05]
-0F06; [0B 3A, 05, 05]
+0F07; [0B 3E, 05, 05]
-0F07; [0B 3C, 05, 05]
+0F08; [0B 40, 05, 05]
-0F08; [0B 3E, 05, 05]
+0F09; [0B 42, 05, 05]
-0F09; [0B 40, 05, 05]
+0F0A; [0B 44, 05, 05]
-0F0A; [0B 42, 05, 05]
+0FD0; [0B 46, 05, 05]
-0FD0; [0B 44, 05, 05]
+0FD1; [0B 48, 05, 05]
-0FD1; [0B 46, 05, 05]
+0F0B; [0B 4A, 05, 05]
+0F0C; [0B 4A, 05, 20]
-0F0B; [0B 48, 05, 05]
-0F0C; [0B 48, 05, 20]
+0F0D; [0B 4C, 05, 05]
-0F0D; [0B 4A, 05, 05]
+0F0E; [0B 4E, 05, 05]
-0F0E; [0B 4C, 05, 05]
+0F0F; [0B 50, 05, 05]
-0F0F; [0B 4E, 05, 05]
+0F10; [0B 52, 05, 05]
-0F10; [0B 50, 05, 05]
+0F11; [0B 54, 05, 05]
-0F11; [0B 52, 05, 05]
+0F12; [0B 56, 05, 05]
-0F12; [0B 54, 05, 05]
+0F85; [0B 58, 05, 05]
-0F85; [0B 56, 05, 05]
+0FD2; [0B 5A, 05, 05]
-0FD2; [0B 58, 05, 05]
+0FD3; [0B 5C, 05, 05]
-0FD3; [0B 5A, 05, 05]
+0FD4; [0B 5E, 05, 05]
-0FD4; [0B 5C, 05, 05]
+0FD9; [0B 60, 05, 05]
-0FD9; [0B 5E, 05, 05]
+0FDA; [0B 62, 05, 05]
-0FDA; [0B 60, 05, 05]
+11A3F; [0B 64 02, 05, 05]
-11A3F; [0B 62 02, 05, 05]
+11A40; [0B 64 09, 05, 05]
-11A40; [0B 62 09, 05, 05]
+11A41; [0B 64 10, 05, 05]
-11A41; [0B 62 10, 05, 05]
+11A42; [0B 64 17, 05, 05]
-11A42; [0B 62 17, 05, 05]
+11A43; [0B 64 1E, 05, 05]
-11A43; [0B 62 1E, 05, 05]
+11A44; [0B 64 25, 05, 05]
-11A44; [0B 62 25, 05, 05]
+11A45; [0B 64 2C, 05, 05]
-11A45; [0B 62 2C, 05, 05]
+11A46; [0B 64 33, 05, 05]
-11A46; [0B 62 33, 05, 05]
+11A9A; [0B 64 3A, 05, 05]
-11A9A; [0B 62 3A, 05, 05]
+11A9B; [0B 64 41, 05, 05]
-11A9B; [0B 62 41, 05, 05]
+11A9C; [0B 64 48, 05, 05]
-11A9C; [0B 62 48, 05, 05]
+11A9E; [0B 64 4F, 05, 05]
-11A9E; [0B 62 4F, 05, 05]
+11A9F; [0B 64 56, 05, 05]
-11A9F; [0B 62 56, 05, 05]
+11AA0; [0B 64 5D, 05, 05]
-11AA0; [0B 62 5D, 05, 05]
+11AA1; [0B 64 64, 05, 05]
-11AA1; [0B 62 64, 05, 05]
+11AA2; [0B 64 6B, 05, 05]
-11AA2; [0B 62 6B, 05, 05]
+11C70; [0B 64 72, 05, 05]
-11C70; [0B 62 72, 05, 05]
+11C71; [0B 64 79, 05, 05]
-11C71; [0B 62 79, 05, 05]
+1C3D; [0B 64 80, 05, 05]
-1C3D; [0B 62 80, 05, 05]
+1C3E; [0B 64 87, 05, 05]
-1C3E; [0B 62 87, 05, 05]
+1C3F; [0B 64 8E, 05, 05]
-1C3F; [0B 62 8E, 05, 05]
+104C; [0B 66, 05, 05]
-104C; [0B 64, 05, 05]
+104D; [0B 68, 05, 05]
-104D; [0B 66, 05, 05]
+104E; [0B 6A, 05, 05]
-104E; [0B 68, 05, 05]
+104F; [0B 6C, 05, 05]
-104F; [0B 6A, 05, 05]
+17D8; [0B 6E, 05, 05]
-17D8; [0B 6C, 05, 05]
+17D9; [0B 70, 05, 05]
-17D9; [0B 6E, 05, 05]
+17DA; [0B 72, 05, 05]
-17DA; [0B 70, 05, 05]
+1AA0; [0B 74 02, 05, 05]
-1AA0; [0B 72 02, 05, 05]
+1AA1; [0B 74 09, 05, 05]
-1AA1; [0B 72 09, 05, 05]
+1AA2; [0B 74 10, 05, 05]
-1AA2; [0B 72 10, 05, 05]
+1AA3; [0B 74 17, 05, 05]
-1AA3; [0B 72 17, 05, 05]
+1AA4; [0B 74 1E, 05, 05]
-1AA4; [0B 72 1E, 05, 05]
+1AA5; [0B 74 25, 05, 05]
-1AA5; [0B 72 25, 05, 05]
+1AA6; [0B 74 2C, 05, 05]
-1AA6; [0B 72 2C, 05, 05]
+1AAC; [0B 74 33, 05, 05]
-1AAC; [0B 72 33, 05, 05]
+1AAD; [0B 74 3A, 05, 05]
-1AAD; [0B 72 3A, 05, 05]
+1CC0; [0B 74 41, 05, 05]
-166D; [0B 72 41, 05, 05]
+1CC1; [0B 74 48, 05, 05]
-1CC0; [0B 72 48, 05, 05]
+1CC2; [0B 74 4F, 05, 05]
-1CC1; [0B 72 4F, 05, 05]
+1CC3; [0B 74 56, 05, 05]
-1CC2; [0B 72 56, 05, 05]
+1CC4; [0B 74 5D, 05, 05]
-1CC3; [0B 72 5D, 05, 05]
+1CC5; [0B 74 64, 05, 05]
-1CC4; [0B 72 64, 05, 05]
+1CC6; [0B 74 6B, 05, 05]
-1CC5; [0B 72 6B, 05, 05]
+1CC7; [0B 74 72, 05, 05]
-1CC6; [0B 72 72, 05, 05]
+2D70; [0B 74 79, 05, 05]
-1CC7; [0B 72 79, 05, 05]
+A874; [0B 74 80, 05, 05]
-2D70; [0B 72 80, 05, 05]
+A875; [0B 74 87, 05, 05]
-A874; [0B 72 87, 05, 05]
+1BFC; [0B 74 8E, 05, 05]
-A875; [0B 72 8E, 05, 05]
+1BFD; [0B 74 95, 05, 05]
-1BFC; [0B 72 95, 05, 05]
+1BFE; [0B 74 9C, 05, 05]
-1BFD; [0B 72 9C, 05, 05]
+1BFF; [0B 74 A3, 05, 05]
-1BFE; [0B 72 A3, 05, 05]
+A92E; [0B 76, 05, 05]
-1BFF; [0B 72 AA, 05, 05]
+A9DE; [0B 78 02, 05, 05]
-A92E; [0B 74, 05, 05]
+A9DF; [0B 78 09, 05, 05]
-A9DE; [0B 76 02, 05, 05]
+AA5C; [0B 78 10, 05, 05]
-A9DF; [0B 76 09, 05, 05]
+1056F; [0B 78 17, 05, 05]
-AA5C; [0B 76 10, 05, 05]
+11049; [0B 78 1E, 05, 05]
-1056F; [0B 76 17, 05, 05]
+1104A; [0B 78 25, 05, 05]
-11049; [0B 76 1E, 05, 05]
+1104B; [0B 78 2C, 05, 05]
-1104A; [0B 76 25, 05, 05]
+1104C; [0B 78 33, 05, 05]
-1104B; [0B 76 2C, 05, 05]
+1104D; [0B 78 3A, 05, 05]
-1104C; [0B 76 33, 05, 05]
+10A50; [0B 78 41, 05, 05]
-1104D; [0B 76 3A, 05, 05]
+10A51; [0B 78 48, 05, 05]
-10A50; [0B 76 41, 05, 05]
+10A52; [0B 78 4F, 05, 05]
-10A51; [0B 76 48, 05, 05]
+10A53; [0B 78 56, 05, 05]
-10A52; [0B 76 4F, 05, 05]
+10A54; [0B 78 5D, 05, 05]
-10A53; [0B 76 56, 05, 05]
+10A55; [0B 78 64, 05, 05]
-10A54; [0B 76 5D, 05, 05]
+10A58; [0B 78 6B, 05, 05]
-10A55; [0B 76 64, 05, 05]
+11C43; [0B 78 72, 05, 05]
-10A58; [0B 76 6B, 05, 05]
+11C44; [0B 78 79, 05, 05]
-11C43; [0B 76 72, 05, 05]
+11C45; [0B 78 80, 05, 05]
-11C44; [0B 76 79, 05, 05]
+10B39; [0B 78 87, 05, 05]
-11C45; [0B 76 80, 05, 05]
+10AF0; [0B 78 8E, 05, 05]
-10B39; [0B 76 87, 05, 05]
+10AF1; [0B 78 95, 05, 05]
-10AF0; [0B 76 8E, 05, 05]
+10AF2; [0B 78 9C, 05, 05]
-10AF1; [0B 76 95, 05, 05]
+10AF3; [0B 78 A3, 05, 05]
-10AF2; [0B 76 9C, 05, 05]
+10AF4; [0B 78 AA, 05, 05]
-10AF3; [0B 76 A3, 05, 05]
+10AF5; [0B 78 B1, 05, 05]
-10AF4; [0B 76 AA, 05, 05]
+10AF6; [0B 78 B8, 05, 05]
-10AF5; [0B 76 B1, 05, 05]
+10B99; [0B 78 BF, 05, 05]
-10AF6; [0B 76 B8, 05, 05]
+10B9A; [0B 78 C6, 05, 05]
-10B99; [0B 76 BF, 05, 05]
+10B9B; [0B 78 CD, 05, 05]
-10B9A; [0B 76 C6, 05, 05]
+10B9C; [0B 78 D4, 05, 05]
-10B9B; [0B 76 CD, 05, 05]
+110BB; [0B 78 DB, 05, 05]
-10B9C; [0B 76 D4, 05, 05]
+110BC; [0B 78 E2, 05, 05]
-110BB; [0B 76 DB, 05, 05]
+11174; [0B 78 E9, 05, 05]
-110BC; [0B 76 E2, 05, 05]
+11175; [0B 78 F0, 05, 05]
-11174; [0B 76 E9, 05, 05]
+111CD; [0B 78 F7, 05, 05]
-11175; [0B 76 F0, 05, 05]
+111C7; [0B 78 FE, 05, 05]
-111CD; [0B 76 F7, 05, 05]
+111DB; [0B 79 07, 05, 05]
-111C7; [0B 76 FE, 05, 05]
+111DD; [0B 79 0E, 05, 05]
-111DB; [0B 77 07, 05, 05]
+1123A; [0B 79 15, 05, 05]
-111DD; [0B 77 0E, 05, 05]
+1123B; [0B 79 1C, 05, 05]
-1123A; [0B 77 15, 05, 05]
+1123C; [0B 79 23, 05, 05]
-1123B; [0B 77 1C, 05, 05]
+1123D; [0B 79 2A, 05, 05]
-1123C; [0B 77 23, 05, 05]
+1144D; [0B 79 31, 05, 05]
-1123D; [0B 77 2A, 05, 05]
+1144E; [0B 79 38, 05, 05]
-1144D; [0B 77 31, 05, 05]
+1144F; [0B 79 3F, 05, 05]
-1144E; [0B 77 38, 05, 05]
+1145B; [0B 79 46, 05, 05]
-1144F; [0B 77 3F, 05, 05]
+1145D; [0B 79 4D, 05, 05]
-1145B; [0B 77 46, 05, 05]
+114C6; [0B 79 54, 05, 05]
-1145D; [0B 77 4D, 05, 05]
+115C1; [0B 79 5B, 05, 05]
-114C6; [0B 77 54, 05, 05]
+115C4; [0B 79 62, 05, 05]
-115C1; [0B 77 5B, 05, 05]
+115C5; [0B 79 69, 05, 05]
-115C4; [0B 77 62, 05, 05]
+115C6; [0B 79 70, 05, 05]
-115C5; [0B 77 69, 05, 05]
+115C7; [0B 79 77, 05, 05]
-115C6; [0B 77 70, 05, 05]
+115C8; [0B 79 7E, 05, 05]
-115C7; [0B 77 77, 05, 05]
+115C9; [0B 79 85, 05, 05]
-115C8; [0B 77 7E, 05, 05]
+115CA; [0B 79 8C, 05, 05]
-115C9; [0B 77 85, 05, 05]
+115CB; [0B 79 93, 05, 05]
-115CA; [0B 77 8C, 05, 05]
+115CC; [0B 79 9A, 05, 05]
-115CB; [0B 77 93, 05, 05]
+115CD; [0B 79 A1, 05, 05]
-115CC; [0B 77 9A, 05, 05]
+115CE; [0B 79 A8, 05, 05]
-115CD; [0B 77 A1, 05, 05]
+115CF; [0B 79 AF, 05, 05]
-115CE; [0B 77 A8, 05, 05]
+115D0; [0B 79 B6, 05, 05]
-115CF; [0B 77 AF, 05, 05]
+115D1; [0B 79 BD, 05, 05]
-115D0; [0B 77 B6, 05, 05]
+115D2; [0B 79 C4, 05, 05]
-115D1; [0B 77 BD, 05, 05]
+115D3; [0B 79 CB, 05, 05]
-115D2; [0B 77 C4, 05, 05]
+115D4; [0B 79 D2, 05, 05]
-115D3; [0B 77 CB, 05, 05]
+115D5; [0B 79 D9, 05, 05]
-115D4; [0B 77 D2, 05, 05]
+115D6; [0B 79 E0, 05, 05]
-115D5; [0B 77 D9, 05, 05]
+115D7; [0B 79 E7, 05, 05]
-115D6; [0B 77 E0, 05, 05]
+11643; [0B 79 EE, 05, 05]
-115D7; [0B 77 E7, 05, 05]
+1183B; [0B 79 F5, 05, 05]
-11643; [0B 77 EE, 05, 05]
+119E2; [0B 79 FC, 05, 05]
-1183B; [0B 77 F5, 05, 05]
+11FFF; [0B 7B, 05, 05]
-16B37; [0B 77 FC, 05, 05]
+16B37; [0B 7D 02, 05, 05]
-16B38; [0B 78 05, 05, 05]
+16B38; [0B 7D 09, 05, 05]
-16B39; [0B 78 0C, 05, 05]
+16B39; [0B 7D 10, 05, 05]
-16B3A; [0B 78 13, 05, 05]
+16B3A; [0B 7D 17, 05, 05]
-16B3B; [0B 78 1A, 05, 05]
+16B3B; [0B 7D 1E, 05, 05]
-16B44; [0B 78 21, 05, 05]
+16B44; [0B 7D 25, 05, 05]
-16E99; [0B 78 28, 05, 05]
+16E99; [0B 7D 2C, 05, 05]
-16E9A; [0B 78 2F, 05, 05]
+16E9A; [0B 7D 33, 05, 05]
-1DA87; [0B 78 36, 05, 05]
+1DA87; [0B 7D 3A, 05, 05]
-1DA88; [0B 78 3D, 05, 05]
+1DA88; [0B 7D 41, 05, 05]
-1DA89; [0B 78 44, 05, 05]
+1DA89; [0B 7D 48, 05, 05]
-1DA8A; [0B 78 4B, 05, 05]
+1DA8A; [0B 7D 4F, 05, 05]
-1DA8B; [0B 78 52, 05, 05]
+1DA8B; [0B 7D 56, 05, 05]
-10A7F; [0B 78 59, 05, 05]
+10A7F; [0B 7D 5D, 05, 05]
FDD1 263A; [0C 02 02, 05, 05] # SYMBOL first primary starts new lead byte
@@ -3910,11683 +3940,12049 @@ FBC1; [0C 55 B8, 05, 05]
0BFA; [0C 55 FE, 05, 05]
-0C7F; [0C 56 07, 05, 05]
+11FD5; [0C 56 07, 05, 05]
+
+11FD6; [0C 56 0E, 05, 05]
+
+11FD7; [0C 56 15, 05, 05]
+
+11FD8; [0C 56 1C, 05, 05]
+
+11FD9; [0C 56 23, 05, 05]
+
+11FDA; [0C 56 2A, 05, 05]
+
+11FDB; [0C 56 31, 05, 05]
+
+11FDC; [0C 56 38, 05, 05]
+
+11FE1; [0C 56 3F, 05, 05]
+
+11FE2; [0C 56 46, 05, 05]
+
+11FE3; [0C 56 4D, 05, 05]
+
+11FE4; [0C 56 54, 05, 05]
+
+11FE5; [0C 56 5B, 05, 05]
+
+11FE6; [0C 56 62, 05, 05]
+
+11FE7; [0C 56 69, 05, 05]
+
+11FE8; [0C 56 70, 05, 05]
+
+11FE9; [0C 56 77, 05, 05]
+
+11FEA; [0C 56 7E, 05, 05]
+
+11FEB; [0C 56 85, 05, 05]
+
+11FEC; [0C 56 8C, 05, 05]
+
+11FED; [0C 56 93, 05, 05]
+
+11FEE; [0C 56 9A, 05, 05]
+
+11FEF; [0C 56 A1, 05, 05]
+
+11FF0; [0C 56 A8, 05, 05]
+
+11FF1; [0C 56 AF, 05, 05]
+
+0C7F; [0C 56 B6, 05, 05]
+
+0D4F; [0C 56 BD, 05, 05]
+
+0D79; [0C 56 C4, 05, 05]
+
+A828; [0C 56 CB, 05, 05]
+
+A829; [0C 56 D2, 05, 05]
+
+A82A; [0C 56 D9, 05, 05]
+
+A82B; [0C 56 E0, 05, 05]
+
+A836; [0C 56 E7, 05, 05]
+
+A837; [0C 56 EE, 05, 05]
+
+A839; [0C 56 F5, 05, 05]
+
+0F01; [0C 56 FC, 05, 05]
+
+0F02; [0C 57 05, 05, 05]
+
+0F03; [0C 57 0C, 05, 05]
+
+0F13; [0C 57 13, 05, 05]
+
+0F15; [0C 57 1A, 05, 05]
+
+0F16; [0C 57 21, 05, 05]
+
+0F17; [0C 57 28, 05, 05]
+
+0F1A; [0C 57 2F, 05, 05]
+
+0F1B; [0C 57 36, 05, 05]
+
+0F1C; [0C 57 3D, 05, 05]
+
+0F1D; [0C 57 44, 05, 05]
+
+0F1E; [0C 57 4B, 05, 05]
+
+0F1F; [0C 57 52, 05, 05]
+
+0F34; [0C 57 59, 05, 05]
+
+0F36; [0C 57 60, 05, 05]
+
+0F38; [0C 57 67, 05, 05]
+
+0FBE; [0C 57 6E, 05, 05]
+
+0FBF; [0C 57 75, 05, 05]
+
+0FC0; [0C 57 7C, 05, 05]
+
+0FC1; [0C 57 83, 05, 05]
+
+0FC2; [0C 57 8A, 05, 05]
+
+0FC3; [0C 57 91, 05, 05]
+
+0FC4; [0C 57 98, 05, 05]
+
+0FC5; [0C 57 9F, 05, 05]
+
+0FC7; [0C 57 A6, 05, 05]
+
+0FC8; [0C 57 AD, 05, 05]
+
+0FC9; [0C 57 B4, 05, 05]
+
+0FCA; [0C 57 BB, 05, 05]
+
+0FCB; [0C 57 C2, 05, 05]
+
+0FCC; [0C 57 C9, 05, 05]
+
+0FCE; [0C 57 D0, 05, 05]
+
+0FCF; [0C 57 D7, 05, 05]
+
+0FD5; [0C 57 DE, 05, 05]
+
+0FD6; [0C 57 E5, 05, 05]
+
+0FD7; [0C 57 EC, 05, 05]
+
+0FD8; [0C 57 F3, 05, 05]
+
+166D; [0C 57 FA, 05, 05]
+
+1940; [0C 58 03, 05, 05]
+
+109E; [0C 58 0A, 05, 05]
+
+109F; [0C 58 11, 05, 05]
+
+AA77; [0C 58 18, 05, 05]
+
+AA78; [0C 58 1F, 05, 05]
+
+AA79; [0C 58 26, 05, 05]
+
+1173F; [0C 58 2D, 05, 05]
+
+19E0; [0C 58 34, 05, 05]
+
+19E1; [0C 58 3B, 05, 05]
+
+19E2; [0C 58 42, 05, 05]
+
+19E3; [0C 58 49, 05, 05]
+
+19E4; [0C 58 50, 05, 05]
+
+19E5; [0C 58 57, 05, 05]
+
+19E6; [0C 58 5E, 05, 05]
+
+19E7; [0C 58 65, 05, 05]
+
+19E8; [0C 58 6C, 05, 05]
+
+19E9; [0C 58 73, 05, 05]
+
+19EA; [0C 58 7A, 05, 05]
+
+19EB; [0C 58 81, 05, 05]
+
+19EC; [0C 58 88, 05, 05]
+
+19ED; [0C 58 8F, 05, 05]
+
+19EE; [0C 58 96, 05, 05]
+
+19EF; [0C 58 9D, 05, 05]
+
+19F0; [0C 58 A4, 05, 05]
+
+19F1; [0C 58 AB, 05, 05]
+
+19F2; [0C 58 B2, 05, 05]
+
+19F3; [0C 58 B9, 05, 05]
+
+19F4; [0C 58 C0, 05, 05]
+
+19F5; [0C 58 C7, 05, 05]
+
+19F6; [0C 58 CE, 05, 05]
+
+19F7; [0C 58 D5, 05, 05]
+
+19F8; [0C 58 DC, 05, 05]
+
+19F9; [0C 58 E3, 05, 05]
+
+19FA; [0C 58 EA, 05, 05]
+
+19FB; [0C 58 F1, 05, 05]
+
+19FC; [0C 58 F8, 05, 05]
+
+19FD; [0C 58 FF, 05, 05]
+
+19FE; [0C 59 08, 05, 05]
+
+19FF; [0C 59 0F, 05, 05]
+
+1B61; [0C 59 16, 05, 05]
-0D4F; [0C 56 0E, 05, 05]
+1B62; [0C 59 1D, 05, 05]
-0D79; [0C 56 15, 05, 05]
+1B63; [0C 59 24, 05, 05]
-A828; [0C 56 1C, 05, 05]
+1B64; [0C 59 2B, 05, 05]
-A829; [0C 56 23, 05, 05]
+1B65; [0C 59 32, 05, 05]
-A82A; [0C 56 2A, 05, 05]
+1B66; [0C 59 39, 05, 05]
-A82B; [0C 56 31, 05, 05]
+1B67; [0C 59 40, 05, 05]
-A836; [0C 56 38, 05, 05]
+1B68; [0C 59 47, 05, 05]
-A837; [0C 56 3F, 05, 05]
+1B69; [0C 59 4E, 05, 05]
-A839; [0C 56 46, 05, 05]
+1B6A; [0C 59 55, 05, 05]
-0F01; [0C 56 4D, 05, 05]
+1B74; [0C 59 5C, 05, 05]
-0F02; [0C 56 54, 05, 05]
+1B75; [0C 59 63, 05, 05]
-0F03; [0C 56 5B, 05, 05]
+1B76; [0C 59 6A, 05, 05]
-0F13; [0C 56 62, 05, 05]
+1B77; [0C 59 71, 05, 05]
-0F15; [0C 56 69, 05, 05]
+1B78; [0C 59 78, 05, 05]
-0F16; [0C 56 70, 05, 05]
+1B79; [0C 59 7F, 05, 05]
-0F17; [0C 56 77, 05, 05]
+1B7A; [0C 59 86, 05, 05]
-0F1A; [0C 56 7E, 05, 05]
+1B7B; [0C 59 8D, 05, 05]
-0F1B; [0C 56 85, 05, 05]
+1B7C; [0C 59 94, 05, 05]
-0F1C; [0C 56 8C, 05, 05]
+00A9; [0C 5B, 05, 05]
-0F1D; [0C 56 93, 05, 05]
+1F12F; [0C 5D, 05, 05]
-0F1E; [0C 56 9A, 05, 05]
+00AE; [0C 5F, 05, 05]
-0F1F; [0C 56 A1, 05, 05]
+2104; [0C 61 02, 05, 05]
-0F34; [0C 56 A8, 05, 05]
+2108; [0C 61 09, 05, 05]
-0F36; [0C 56 AF, 05, 05]
+2114; [0C 61 10, 05, 05]
-0F38; [0C 56 B6, 05, 05]
+2117; [0C 61 17, 05, 05]
-0FBE; [0C 56 BD, 05, 05]
+2118; [0C 61 1E, 05, 05]
-0FBF; [0C 56 C4, 05, 05]
+211E; [0C 61 25, 05, 05]
-0FC0; [0C 56 CB, 05, 05]
+211F; [0C 61 2C, 05, 05]
-0FC1; [0C 56 D2, 05, 05]
+2123; [0C 61 33, 05, 05]
-0FC2; [0C 56 D9, 05, 05]
+2125; [0C 61 3A, 05, 05]
-0FC3; [0C 56 E0, 05, 05]
+2127; [0C 61 41, 05, 05]
-0FC4; [0C 56 E7, 05, 05]
+2129; [0C 61 48, 05, 05]
-0FC5; [0C 56 EE, 05, 05]
+212E; [0C 61 4F, 05, 05]
-0FC7; [0C 56 F5, 05, 05]
+213A; [0C 61 56, 05, 05]
-0FC8; [0C 56 FC, 05, 05]
+2141; [0C 61 5D, 05, 05]
-0FC9; [0C 57 05, 05, 05]
+2142; [0C 61 64, 05, 05]
-0FCA; [0C 57 0C, 05, 05]
+2143; [0C 61 6B, 05, 05]
-0FCB; [0C 57 13, 05, 05]
+2144; [0C 61 72, 05, 05]
-0FCC; [0C 57 1A, 05, 05]
+214A; [0C 61 79, 05, 05]
-0FCE; [0C 57 21, 05, 05]
+214C; [0C 61 80, 05, 05]
-0FCF; [0C 57 28, 05, 05]
+214F; [0C 61 87, 05, 05]
-0FD5; [0C 57 2F, 05, 05]
+218A; [0C 61 8E, 05, 05]
-0FD6; [0C 57 36, 05, 05]
+218B; [0C 61 95, 05, 05]
-0FD7; [0C 57 3D, 05, 05]
+2190; [0C 63, 05, 05]
+FFE9; [0C 63, 05, A0]
+219A; [0C 63, 05, 05][, 9E, 05]
-0FD8; [0C 57 44, 05, 05]
+2192; [0C 65, 05, 05]
+FFEB; [0C 65, 05, A0]
+219B; [0C 65, 05, 05][, 9E, 05]
-1940; [0C 57 4B, 05, 05]
+2191; [0C 67, 05, 05]
+FFEA; [0C 67, 05, A0]
-109E; [0C 57 52, 05, 05]
+2193; [0C 69, 05, 05]
+FFEC; [0C 69, 05, A0]
-109F; [0C 57 59, 05, 05]
+2194; [0C 6B 02, 05, 05]
+21AE; [0C 6B 02, 05, 05][, 9E, 05]
-AA77; [0C 57 60, 05, 05]
+2195; [0C 6B 09, 05, 05]
-AA78; [0C 57 67, 05, 05]
+2196; [0C 6B 10, 05, 05]
-AA79; [0C 57 6E, 05, 05]
+2197; [0C 6B 17, 05, 05]
-1173F; [0C 57 75, 05, 05]
+2198; [0C 6B 1E, 05, 05]
-19E0; [0C 57 7C, 05, 05]
+2199; [0C 6B 25, 05, 05]
-19E1; [0C 57 83, 05, 05]
+219C; [0C 6B 2C, 05, 05]
-19E2; [0C 57 8A, 05, 05]
+219D; [0C 6B 33, 05, 05]
-19E3; [0C 57 91, 05, 05]
+219E; [0C 6B 3A, 05, 05]
-19E4; [0C 57 98, 05, 05]
+219F; [0C 6B 41, 05, 05]
-19E5; [0C 57 9F, 05, 05]
+21A0; [0C 6B 48, 05, 05]
-19E6; [0C 57 A6, 05, 05]
+21A1; [0C 6B 4F, 05, 05]
-19E7; [0C 57 AD, 05, 05]
+21A2; [0C 6B 56, 05, 05]
-19E8; [0C 57 B4, 05, 05]
+21A3; [0C 6B 5D, 05, 05]
-19E9; [0C 57 BB, 05, 05]
+21A4; [0C 6B 64, 05, 05]
-19EA; [0C 57 C2, 05, 05]
+21A5; [0C 6B 6B, 05, 05]
-19EB; [0C 57 C9, 05, 05]
+21A6; [0C 6B 72, 05, 05]
-19EC; [0C 57 D0, 05, 05]
+21A7; [0C 6B 79, 05, 05]
-19ED; [0C 57 D7, 05, 05]
+21A8; [0C 6B 80, 05, 05]
-19EE; [0C 57 DE, 05, 05]
+21A9; [0C 6B 87, 05, 05]
-19EF; [0C 57 E5, 05, 05]
+21AA; [0C 6B 8E, 05, 05]
-19F0; [0C 57 EC, 05, 05]
+21AB; [0C 6B 95, 05, 05]
-19F1; [0C 57 F3, 05, 05]
+21AC; [0C 6B 9C, 05, 05]
-19F2; [0C 57 FA, 05, 05]
+21AD; [0C 6B A3, 05, 05]
-19F3; [0C 58 03, 05, 05]
+21AF; [0C 6B AA, 05, 05]
-19F4; [0C 58 0A, 05, 05]
+21B0; [0C 6B B1, 05, 05]
-19F5; [0C 58 11, 05, 05]
+21B1; [0C 6B B8, 05, 05]
-19F6; [0C 58 18, 05, 05]
+21B2; [0C 6B BF, 05, 05]
-19F7; [0C 58 1F, 05, 05]
+21B3; [0C 6B C6, 05, 05]
-19F8; [0C 58 26, 05, 05]
+21B4; [0C 6B CD, 05, 05]
-19F9; [0C 58 2D, 05, 05]
+21B5; [0C 6B D4, 05, 05]
-19FA; [0C 58 34, 05, 05]
+21B6; [0C 6B DB, 05, 05]
-19FB; [0C 58 3B, 05, 05]
+21B7; [0C 6B E2, 05, 05]
-19FC; [0C 58 42, 05, 05]
+21B8; [0C 6B E9, 05, 05]
-19FD; [0C 58 49, 05, 05]
+21B9; [0C 6B F0, 05, 05]
-19FE; [0C 58 50, 05, 05]
+21BA; [0C 6B F7, 05, 05]
-19FF; [0C 58 57, 05, 05]
+21BB; [0C 6B FE, 05, 05]
-1B61; [0C 58 5E, 05, 05]
+21BC; [0C 6C 07, 05, 05]
-1B62; [0C 58 65, 05, 05]
+21BD; [0C 6C 0E, 05, 05]
-1B63; [0C 58 6C, 05, 05]
+21BE; [0C 6C 15, 05, 05]
-1B64; [0C 58 73, 05, 05]
+21BF; [0C 6C 1C, 05, 05]
-1B65; [0C 58 7A, 05, 05]
+21C0; [0C 6C 23, 05, 05]
-1B66; [0C 58 81, 05, 05]
+21C1; [0C 6C 2A, 05, 05]
-1B67; [0C 58 88, 05, 05]
+21C2; [0C 6C 31, 05, 05]
-1B68; [0C 58 8F, 05, 05]
+21C3; [0C 6C 38, 05, 05]
-1B69; [0C 58 96, 05, 05]
+21C4; [0C 6C 3F, 05, 05]
-1B6A; [0C 58 9D, 05, 05]
+21C5; [0C 6C 46, 05, 05]
-1B74; [0C 58 A4, 05, 05]
+21C6; [0C 6C 4D, 05, 05]
-1B75; [0C 58 AB, 05, 05]
+21C7; [0C 6C 54, 05, 05]
-1B76; [0C 58 B2, 05, 05]
+21C8; [0C 6C 5B, 05, 05]
-1B77; [0C 58 B9, 05, 05]
+21C9; [0C 6C 62, 05, 05]
-1B78; [0C 58 C0, 05, 05]
+21CA; [0C 6C 69, 05, 05]
-1B79; [0C 58 C7, 05, 05]
+21CB; [0C 6C 70, 05, 05]
-1B7A; [0C 58 CE, 05, 05]
+21CC; [0C 6C 77, 05, 05]
-1B7B; [0C 58 D5, 05, 05]
+21D0; [0C 6C 7E, 05, 05]
+21CD; [0C 6C 7E, 05, 05][, 9E, 05]
-1B7C; [0C 58 DC, 05, 05]
+21D1; [0C 6C 85, 05, 05]
-00A9; [0C 5A, 05, 05]
+21D2; [0C 6C 8C, 05, 05]
+21CF; [0C 6C 8C, 05, 05][, 9E, 05]
-1F12F; [0C 5C, 05, 05]
+21D3; [0C 6C 93, 05, 05]
-00AE; [0C 5E, 05, 05]
+21D4; [0C 6C 9A, 05, 05]
+21CE; [0C 6C 9A, 05, 05][, 9E, 05]
-2104; [0C 60 02, 05, 05]
+21D5; [0C 6C A1, 05, 05]
-2108; [0C 60 09, 05, 05]
+21D6; [0C 6C A8, 05, 05]
-2114; [0C 60 10, 05, 05]
+21D7; [0C 6C AF, 05, 05]
-2117; [0C 60 17, 05, 05]
+21D8; [0C 6C B6, 05, 05]
-2118; [0C 60 1E, 05, 05]
+21D9; [0C 6C BD, 05, 05]
-211E; [0C 60 25, 05, 05]
+21DA; [0C 6C C4, 05, 05]
-211F; [0C 60 2C, 05, 05]
+21DB; [0C 6C CB, 05, 05]
-2123; [0C 60 33, 05, 05]
+21DC; [0C 6C D2, 05, 05]
-2125; [0C 60 3A, 05, 05]
+21DD; [0C 6C D9, 05, 05]
-2127; [0C 60 41, 05, 05]
+21DE; [0C 6C E0, 05, 05]
-2129; [0C 60 48, 05, 05]
+21DF; [0C 6C E7, 05, 05]
-212E; [0C 60 4F, 05, 05]
+21E0; [0C 6C EE, 05, 05]
-213A; [0C 60 56, 05, 05]
+21E1; [0C 6C F5, 05, 05]
-2141; [0C 60 5D, 05, 05]
+21E2; [0C 6C FC, 05, 05]
-2142; [0C 60 64, 05, 05]
+21E3; [0C 6D 05, 05, 05]
-2143; [0C 60 6B, 05, 05]
+21E4; [0C 6D 0C, 05, 05]
-2144; [0C 60 72, 05, 05]
+21E5; [0C 6D 13, 05, 05]
-214A; [0C 60 79, 05, 05]
+21E6; [0C 6D 1A, 05, 05]
-214C; [0C 60 80, 05, 05]
+21E7; [0C 6D 21, 05, 05]
-214F; [0C 60 87, 05, 05]
+21E8; [0C 6D 28, 05, 05]
-218A; [0C 60 8E, 05, 05]
+21E9; [0C 6D 2F, 05, 05]
-218B; [0C 60 95, 05, 05]
+21EA; [0C 6D 36, 05, 05]
-2190; [0C 62, 05, 05]
-FFE9; [0C 62, 05, A0]
-219A; [0C 62, 05, 05][, 9E, 05]
+21EB; [0C 6D 3D, 05, 05]
-2192; [0C 64, 05, 05]
-FFEB; [0C 64, 05, A0]
-219B; [0C 64, 05, 05][, 9E, 05]
+21EC; [0C 6D 44, 05, 05]
-2191; [0C 66, 05, 05]
-FFEA; [0C 66, 05, A0]
+21ED; [0C 6D 4B, 05, 05]
-2193; [0C 68, 05, 05]
-FFEC; [0C 68, 05, A0]
+21EE; [0C 6D 52, 05, 05]
-2194; [0C 6A 02, 05, 05]
-21AE; [0C 6A 02, 05, 05][, 9E, 05]
+21EF; [0C 6D 59, 05, 05]
-2195; [0C 6A 09, 05, 05]
+21F0; [0C 6D 60, 05, 05]
-2196; [0C 6A 10, 05, 05]
+21F1; [0C 6D 67, 05, 05]
-2197; [0C 6A 17, 05, 05]
+21F2; [0C 6D 6E, 05, 05]
-2198; [0C 6A 1E, 05, 05]
+21F3; [0C 6D 75, 05, 05]
-2199; [0C 6A 25, 05, 05]
+21F4; [0C 6D 7C, 05, 05]
-219C; [0C 6A 2C, 05, 05]
+21F5; [0C 6D 83, 05, 05]
-219D; [0C 6A 33, 05, 05]
+21F6; [0C 6D 8A, 05, 05]
-219E; [0C 6A 3A, 05, 05]
+21F7; [0C 6D 91, 05, 05]
-219F; [0C 6A 41, 05, 05]
+21F8; [0C 6D 98, 05, 05]
-21A0; [0C 6A 48, 05, 05]
+21F9; [0C 6D 9F, 05, 05]
-21A1; [0C 6A 4F, 05, 05]
+21FA; [0C 6D A6, 05, 05]
-21A2; [0C 6A 56, 05, 05]
+21FB; [0C 6D AD, 05, 05]
-21A3; [0C 6A 5D, 05, 05]
+21FC; [0C 6D B4, 05, 05]
-21A4; [0C 6A 64, 05, 05]
+21FD; [0C 6D BB, 05, 05]
-21A5; [0C 6A 6B, 05, 05]
+21FE; [0C 6D C2, 05, 05]
-21A6; [0C 6A 72, 05, 05]
+21FF; [0C 6D C9, 05, 05]
-21A7; [0C 6A 79, 05, 05]
+2200; [0C 6D D0, 05, 05]
-21A8; [0C 6A 80, 05, 05]
+2201; [0C 6D D7, 05, 05]
-21A9; [0C 6A 87, 05, 05]
+2202; [0C 6F, 05, 05]
+1D6DB; [0C 6F, 05, 20]
+1D715; [0C 6F, 05, 20]
+1D74F; [0C 6F, 05, 20]
+1D789; [0C 6F, 05, 20]
+1D7C3; [0C 6F, 05, 20]
-21AA; [0C 6A 8E, 05, 05]
+2203; [0C 71 02, 05, 05]
+2204; [0C 71 02, 05, 05][, 9E, 05]
-21AB; [0C 6A 95, 05, 05]
+2205; [0C 71 09, 05, 05]
-21AC; [0C 6A 9C, 05, 05]
+2206; [0C 71 10, 05, 05]
-21AD; [0C 6A A3, 05, 05]
+2207; [0C 73, 05, 05]
+1D6C1; [0C 73, 05, 20]
+1D6FB; [0C 73, 05, 20]
+1D735; [0C 73, 05, 20]
+1D76F; [0C 73, 05, 20]
+1D7A9; [0C 73, 05, 20]
-21AF; [0C 6A AA, 05, 05]
+2208; [0C 75 02, 05, 05]
+2209; [0C 75 02, 05, 05][, 9E, 05]
-21B0; [0C 6A B1, 05, 05]
+220A; [0C 75 09, 05, 05]
-21B1; [0C 6A B8, 05, 05]
+220B; [0C 75 10, 05, 05]
+220C; [0C 75 10, 05, 05][, 9E, 05]
-21B2; [0C 6A BF, 05, 05]
+220D; [0C 75 17, 05, 05]
-21B3; [0C 6A C6, 05, 05]
+03F6; [0C 75 1E, 05, 05]
-21B4; [0C 6A CD, 05, 05]
+220E; [0C 75 25, 05, 05]
-21B5; [0C 6A D4, 05, 05]
+220F; [0C 75 2C, 05, 05]
-21B6; [0C 6A DB, 05, 05]
+2210; [0C 75 33, 05, 05]
-21B7; [0C 6A E2, 05, 05]
+2211; [0C 77, 05, 05]
+2140; [0C 77, 05, 20]
-21B8; [0C 6A E9, 05, 05]
+002B; [0C 79, 05, 05]
+FF0B; [0C 79, 05, 10]
+FB29; [0C 79, 05, 18]
+FE62; [0C 79, 05, 20]
+207A; [0C 79, 05, 28]
+208A; [0C 79, 05, 30]
-21B9; [0C 6A F0, 05, 05]
+00B1; [0C 7B, 05, 05]
-21BA; [0C 6A F7, 05, 05]
+00F7; [0C 7D, 05, 05]
-21BB; [0C 6A FE, 05, 05]
+00D7; [0C 7F, 05, 05]
-21BC; [0C 6B 07, 05, 05]
+003C; [0C 81, 05, 05]
+FF1C; [0C 81, 05, 20]
+FE64; [0C 81, 05, 2E]
+226E; [0C 81, 05, 05][, 9E, 05]
-21BD; [0C 6B 0E, 05, 05]
+003D; [0C 83, 05, 05]
+FF1D; [0C 83, 05, 10]
+FE66; [0C 83, 05, 20]
+207C; [0C 83, 05, 28]
+208C; [0C 83, 05, 30]
+2260; [0C 83, 05, 05][, 9E, 05]
+2A75; [0C 83, 05, 18][0C 83, 05, 18]
+2A76; [0C 83, 05, 18][0C 83, 05, 18][0C 83, 05, 18]
-21BE; [0C 6B 15, 05, 05]
+003E; [0C 85, 05, 05]
+FF1E; [0C 85, 05, 20]
+FE65; [0C 85, 05, 2E]
+226F; [0C 85, 05, 05][, 9E, 05]
-21BF; [0C 6B 1C, 05, 05]
+00AC; [0C 87, 05, 05]
+FFE2; [0C 87, 05, 20]
-21C0; [0C 6B 23, 05, 05]
+007C; [0C 89, 05, 05]
+FF5C; [0C 89, 05, 20]
-21C1; [0C 6B 2A, 05, 05]
+00A6; [0C 8B, 05, 05]
+FFE4; [0C 8B, 05, 20]
-21C2; [0C 6B 31, 05, 05]
+007E; [0C 8D, 05, 05]
+FF5E; [0C 8D, 05, 20]
-21C3; [0C 6B 38, 05, 05]
+2212; [0C 8F, 05, 05]
+207B; [0C 8F, 05, 20]
+208B; [0C 8F, 05, 2E]
-21C4; [0C 6B 3F, 05, 05]
+2052; [0C 91 02, 05, 05]
-21C5; [0C 6B 46, 05, 05]
+2213; [0C 91 09, 05, 05]
-21C6; [0C 6B 4D, 05, 05]
+2214; [0C 91 10, 05, 05]
-21C7; [0C 6B 54, 05, 05]
+2215; [0C 93, 05, 05]
-21C8; [0C 6B 5B, 05, 05]
+2044; [0C 95, 05, 05]
-21C9; [0C 6B 62, 05, 05]
+2216; [0C 97 02, 05, 05]
-21CA; [0C 6B 69, 05, 05]
+2217; [0C 97 09, 05, 05]
-21CB; [0C 6B 70, 05, 05]
+2218; [0C 97 10, 05, 05]
-21CC; [0C 6B 77, 05, 05]
+2219; [0C 97 17, 05, 05]
-21D0; [0C 6B 7E, 05, 05]
-21CD; [0C 6B 7E, 05, 05][, 9E, 05]
+221A; [0C 97 1E, 05, 05]
-21D1; [0C 6B 85, 05, 05]
+221B; [0C 97 25, 05, 05]
-21D2; [0C 6B 8C, 05, 05]
-21CF; [0C 6B 8C, 05, 05][, 9E, 05]
+0606; [0C 97 2C, 05, 05]
-21D3; [0C 6B 93, 05, 05]
+221C; [0C 97 33, 05, 05]
-21D4; [0C 6B 9A, 05, 05]
-21CE; [0C 6B 9A, 05, 05][, 9E, 05]
+0607; [0C 97 3A, 05, 05]
-21D5; [0C 6B A1, 05, 05]
+221D; [0C 97 41, 05, 05]
-21D6; [0C 6B A8, 05, 05]
+221E; [0C 97 48, 05, 05]
-21D7; [0C 6B AF, 05, 05]
+221F; [0C 97 4F, 05, 05]
-21D8; [0C 6B B6, 05, 05]
+2220; [0C 97 56, 05, 05]
-21D9; [0C 6B BD, 05, 05]
+2221; [0C 97 5D, 05, 05]
-21DA; [0C 6B C4, 05, 05]
+2222; [0C 97 64, 05, 05]
-21DB; [0C 6B CB, 05, 05]
+2223; [0C 97 6B, 05, 05]
+2224; [0C 97 6B, 05, 05][, 9E, 05]
-21DC; [0C 6B D2, 05, 05]
+2225; [0C 97 72, 05, 05]
+2226; [0C 97 72, 05, 05][, 9E, 05]
-21DD; [0C 6B D9, 05, 05]
+2227; [0C 97 79, 05, 05]
-21DE; [0C 6B E0, 05, 05]
+2228; [0C 97 80, 05, 05]
-21DF; [0C 6B E7, 05, 05]
+2229; [0C 97 87, 05, 05]
-21E0; [0C 6B EE, 05, 05]
+222A; [0C 97 8E, 05, 05]
-21E1; [0C 6B F5, 05, 05]
+222B; [0C 99, 05, 05]
+222C; [0C 99, 05, 20][0C 99, 05, 20]
+222D; [0C 99, 05, 20][0C 99, 05, 20][0C 99, 05, 20]
+2A0C; [0C 99, 05, 20][0C 99, 05, 20][0C 99, 05, 20][0C 99, 05, 20]
-21E2; [0C 6B FC, 05, 05]
+222E; [0C 9B, 05, 05]
+222F; [0C 9B, 05, 20][0C 9B, 05, 20]
+2230; [0C 9B, 05, 20][0C 9B, 05, 20][0C 9B, 05, 20]
-21E3; [0C 6C 05, 05, 05]
+2231; [0C 9D 02, 05, 05]
-21E4; [0C 6C 0C, 05, 05]
+2232; [0C 9D 09, 05, 05]
-21E5; [0C 6C 13, 05, 05]
+2233; [0C 9D 10, 05, 05]
-21E6; [0C 6C 1A, 05, 05]
+2234; [0C 9D 17, 05, 05]
-21E7; [0C 6C 21, 05, 05]
+2235; [0C 9D 1E, 05, 05]
-21E8; [0C 6C 28, 05, 05]
+2236; [0C 9D 25, 05, 05]
-21E9; [0C 6C 2F, 05, 05]
+2237; [0C 9D 2C, 05, 05]
-21EA; [0C 6C 36, 05, 05]
+2238; [0C 9D 33, 05, 05]
-21EB; [0C 6C 3D, 05, 05]
+2239; [0C 9D 3A, 05, 05]
-21EC; [0C 6C 44, 05, 05]
+223A; [0C 9D 41, 05, 05]
-21ED; [0C 6C 4B, 05, 05]
+223B; [0C 9D 48, 05, 05]
-21EE; [0C 6C 52, 05, 05]
+223C; [0C 9D 4F, 05, 05]
+2241; [0C 9D 4F, 05, 05][, 9E, 05]
-21EF; [0C 6C 59, 05, 05]
+223D; [0C 9D 56, 05, 05]
-21F0; [0C 6C 60, 05, 05]
+223E; [0C 9D 5D, 05, 05]
-21F1; [0C 6C 67, 05, 05]
+223F; [0C 9D 64, 05, 05]
-21F2; [0C 6C 6E, 05, 05]
+2240; [0C 9D 6B, 05, 05]
-21F3; [0C 6C 75, 05, 05]
+2242; [0C 9D 72, 05, 05]
-21F4; [0C 6C 7C, 05, 05]
+2243; [0C 9D 79, 05, 05]
+2244; [0C 9D 79, 05, 05][, 9E, 05]
-21F5; [0C 6C 83, 05, 05]
+2245; [0C 9D 80, 05, 05]
+2247; [0C 9D 80, 05, 05][, 9E, 05]
-21F6; [0C 6C 8A, 05, 05]
+2246; [0C 9D 87, 05, 05]
-21F7; [0C 6C 91, 05, 05]
+2248; [0C 9D 8E, 05, 05]
+2249; [0C 9D 8E, 05, 05][, 9E, 05]
-21F8; [0C 6C 98, 05, 05]
+224A; [0C 9D 95, 05, 05]
-21F9; [0C 6C 9F, 05, 05]
+224B; [0C 9D 9C, 05, 05]
-21FA; [0C 6C A6, 05, 05]
+224C; [0C 9D A3, 05, 05]
-21FB; [0C 6C AD, 05, 05]
+224D; [0C 9D AA, 05, 05]
+226D; [0C 9D AA, 05, 05][, 9E, 05]
-21FC; [0C 6C B4, 05, 05]
+224E; [0C 9D B1, 05, 05]
-21FD; [0C 6C BB, 05, 05]
+224F; [0C 9D B8, 05, 05]
-21FE; [0C 6C C2, 05, 05]
+2250; [0C 9D BF, 05, 05]
-21FF; [0C 6C C9, 05, 05]
+2251; [0C 9D C6, 05, 05]
-2200; [0C 6C D0, 05, 05]
+2252; [0C 9D CD, 05, 05]
-2201; [0C 6C D7, 05, 05]
+2253; [0C 9D D4, 05, 05]
-2202; [0C 6E, 05, 05]
-1D6DB; [0C 6E, 05, 20]
-1D715; [0C 6E, 05, 20]
-1D74F; [0C 6E, 05, 20]
-1D789; [0C 6E, 05, 20]
-1D7C3; [0C 6E, 05, 20]
+2254; [0C 9D DB, 05, 05]
-2203; [0C 70 02, 05, 05]
-2204; [0C 70 02, 05, 05][, 9E, 05]
+2255; [0C 9D E2, 05, 05]
-2205; [0C 70 09, 05, 05]
+2256; [0C 9D E9, 05, 05]
-2206; [0C 70 10, 05, 05]
+2257; [0C 9D F0, 05, 05]
-2207; [0C 72, 05, 05]
-1D6C1; [0C 72, 05, 20]
-1D6FB; [0C 72, 05, 20]
-1D735; [0C 72, 05, 20]
-1D76F; [0C 72, 05, 20]
-1D7A9; [0C 72, 05, 20]
+2258; [0C 9D F7, 05, 05]
-2208; [0C 74 02, 05, 05]
-2209; [0C 74 02, 05, 05][, 9E, 05]
+2259; [0C 9D FE, 05, 05]
-220A; [0C 74 09, 05, 05]
+225A; [0C 9E 07, 05, 05]
-220B; [0C 74 10, 05, 05]
-220C; [0C 74 10, 05, 05][, 9E, 05]
+225B; [0C 9E 0E, 05, 05]
-220D; [0C 74 17, 05, 05]
+225C; [0C 9E 15, 05, 05]
-03F6; [0C 74 1E, 05, 05]
+225D; [0C 9E 1C, 05, 05]
-220E; [0C 74 25, 05, 05]
+225E; [0C 9E 23, 05, 05]
-220F; [0C 74 2C, 05, 05]
+225F; [0C 9E 2A, 05, 05]
-2210; [0C 74 33, 05, 05]
+2261; [0C 9E 31, 05, 05]
+2262; [0C 9E 31, 05, 05][, 9E, 05]
-2211; [0C 76, 05, 05]
-2140; [0C 76, 05, 20]
+2263; [0C 9E 38, 05, 05]
-002B; [0C 78, 05, 05]
-FF0B; [0C 78, 05, 10]
-FB29; [0C 78, 05, 18]
-FE62; [0C 78, 05, 20]
-207A; [0C 78, 05, 28]
-208A; [0C 78, 05, 30]
+2264; [0C 9E 3F, 05, 05]
+2270; [0C 9E 3F, 05, 05][, 9E, 05]
-00B1; [0C 7A, 05, 05]
+2265; [0C 9E 46, 05, 05]
+2271; [0C 9E 46, 05, 05][, 9E, 05]
-00F7; [0C 7C, 05, 05]
+2266; [0C 9E 4D, 05, 05]
-00D7; [0C 7E, 05, 05]
+2267; [0C 9E 54, 05, 05]
-003C; [0C 80, 05, 05]
-FF1C; [0C 80, 05, 20]
-FE64; [0C 80, 05, 2E]
-226E; [0C 80, 05, 05][, 9E, 05]
+2268; [0C 9E 5B, 05, 05]
-003D; [0C 82, 05, 05]
-FF1D; [0C 82, 05, 10]
-FE66; [0C 82, 05, 20]
-207C; [0C 82, 05, 28]
-208C; [0C 82, 05, 30]
-2260; [0C 82, 05, 05][, 9E, 05]
-2A75; [0C 82, 05, 18][0C 82, 05, 18]
-2A76; [0C 82, 05, 18][0C 82, 05, 18][0C 82, 05, 18]
+2269; [0C 9E 62, 05, 05]
-003E; [0C 84, 05, 05]
-FF1E; [0C 84, 05, 20]
-FE65; [0C 84, 05, 2E]
-226F; [0C 84, 05, 05][, 9E, 05]
+226A; [0C 9E 69, 05, 05]
-00AC; [0C 86, 05, 05]
-FFE2; [0C 86, 05, 20]
+226B; [0C 9E 70, 05, 05]
-007C; [0C 88, 05, 05]
-FF5C; [0C 88, 05, 20]
+226C; [0C 9E 77, 05, 05]
-00A6; [0C 8A, 05, 05]
-FFE4; [0C 8A, 05, 20]
+2272; [0C 9E 7E, 05, 05]
+2274; [0C 9E 7E, 05, 05][, 9E, 05]
-007E; [0C 8C, 05, 05]
-FF5E; [0C 8C, 05, 20]
+2273; [0C 9E 85, 05, 05]
+2275; [0C 9E 85, 05, 05][, 9E, 05]
-2212; [0C 8E, 05, 05]
-207B; [0C 8E, 05, 20]
-208B; [0C 8E, 05, 2E]
+2276; [0C 9E 8C, 05, 05]
+2278; [0C 9E 8C, 05, 05][, 9E, 05]
-2052; [0C 90 02, 05, 05]
+2277; [0C 9E 93, 05, 05]
+2279; [0C 9E 93, 05, 05][, 9E, 05]
-2213; [0C 90 09, 05, 05]
+227A; [0C 9E 9A, 05, 05]
+2280; [0C 9E 9A, 05, 05][, 9E, 05]
-2214; [0C 90 10, 05, 05]
+227B; [0C 9E A1, 05, 05]
+2281; [0C 9E A1, 05, 05][, 9E, 05]
-2215; [0C 92, 05, 05]
+227C; [0C 9E A8, 05, 05]
+22E0; [0C 9E A8, 05, 05][, 9E, 05]
-2044; [0C 94, 05, 05]
+227D; [0C 9E AF, 05, 05]
+22E1; [0C 9E AF, 05, 05][, 9E, 05]
-2216; [0C 96 02, 05, 05]
+227E; [0C 9E B6, 05, 05]
-2217; [0C 96 09, 05, 05]
+227F; [0C 9E BD, 05, 05]
-2218; [0C 96 10, 05, 05]
+2282; [0C 9E C4, 05, 05]
+2284; [0C 9E C4, 05, 05][, 9E, 05]
-2219; [0C 96 17, 05, 05]
+2283; [0C 9E CB, 05, 05]
+2285; [0C 9E CB, 05, 05][, 9E, 05]
-221A; [0C 96 1E, 05, 05]
+2286; [0C 9E D2, 05, 05]
+2288; [0C 9E D2, 05, 05][, 9E, 05]
-221B; [0C 96 25, 05, 05]
+2287; [0C 9E D9, 05, 05]
+2289; [0C 9E D9, 05, 05][, 9E, 05]
-0606; [0C 96 2C, 05, 05]
+228A; [0C 9E E0, 05, 05]
-221C; [0C 96 33, 05, 05]
+228B; [0C 9E E7, 05, 05]
-0607; [0C 96 3A, 05, 05]
+228C; [0C 9E EE, 05, 05]
-221D; [0C 96 41, 05, 05]
+228D; [0C 9E F5, 05, 05]
-221E; [0C 96 48, 05, 05]
+228E; [0C 9E FC, 05, 05]
-221F; [0C 96 4F, 05, 05]
+228F; [0C 9F 05, 05, 05]
-2220; [0C 96 56, 05, 05]
+2290; [0C 9F 0C, 05, 05]
-2221; [0C 96 5D, 05, 05]
+2291; [0C 9F 13, 05, 05]
+22E2; [0C 9F 13, 05, 05][, 9E, 05]
-2222; [0C 96 64, 05, 05]
+2292; [0C 9F 1A, 05, 05]
+22E3; [0C 9F 1A, 05, 05][, 9E, 05]
-2223; [0C 96 6B, 05, 05]
-2224; [0C 96 6B, 05, 05][, 9E, 05]
+2293; [0C 9F 21, 05, 05]
-2225; [0C 96 72, 05, 05]
-2226; [0C 96 72, 05, 05][, 9E, 05]
+2294; [0C 9F 28, 05, 05]
-2227; [0C 96 79, 05, 05]
+2295; [0C 9F 2F, 05, 05]
-2228; [0C 96 80, 05, 05]
+2296; [0C 9F 36, 05, 05]
-2229; [0C 96 87, 05, 05]
+2297; [0C 9F 3D, 05, 05]
-222A; [0C 96 8E, 05, 05]
+2298; [0C 9F 44, 05, 05]
-222B; [0C 98, 05, 05]
-222C; [0C 98, 05, 20][0C 98, 05, 20]
-222D; [0C 98, 05, 20][0C 98, 05, 20][0C 98, 05, 20]
-2A0C; [0C 98, 05, 20][0C 98, 05, 20][0C 98, 05, 20][0C 98, 05, 20]
+2299; [0C 9F 4B, 05, 05]
-222E; [0C 9A, 05, 05]
-222F; [0C 9A, 05, 20][0C 9A, 05, 20]
-2230; [0C 9A, 05, 20][0C 9A, 05, 20][0C 9A, 05, 20]
+229A; [0C 9F 52, 05, 05]
-2231; [0C 9C 02, 05, 05]
+229B; [0C 9F 59, 05, 05]
-2232; [0C 9C 09, 05, 05]
+229C; [0C 9F 60, 05, 05]
-2233; [0C 9C 10, 05, 05]
+229D; [0C 9F 67, 05, 05]
-2234; [0C 9C 17, 05, 05]
+229E; [0C 9F 6E, 05, 05]
-2235; [0C 9C 1E, 05, 05]
+229F; [0C 9F 75, 05, 05]
-2236; [0C 9C 25, 05, 05]
+22A0; [0C 9F 7C, 05, 05]
-2237; [0C 9C 2C, 05, 05]
+22A1; [0C 9F 83, 05, 05]
-2238; [0C 9C 33, 05, 05]
+22A2; [0C 9F 8A, 05, 05]
+22AC; [0C 9F 8A, 05, 05][, 9E, 05]
-2239; [0C 9C 3A, 05, 05]
+22A3; [0C 9F 91, 05, 05]
-223A; [0C 9C 41, 05, 05]
+22A4; [0C 9F 98, 05, 05]
-223B; [0C 9C 48, 05, 05]
+22A5; [0C 9F 9F, 05, 05]
-223C; [0C 9C 4F, 05, 05]
-2241; [0C 9C 4F, 05, 05][, 9E, 05]
+22A6; [0C 9F A6, 05, 05]
-223D; [0C 9C 56, 05, 05]
+22A7; [0C 9F AD, 05, 05]
-223E; [0C 9C 5D, 05, 05]
+22A8; [0C 9F B4, 05, 05]
+22AD; [0C 9F B4, 05, 05][, 9E, 05]
-223F; [0C 9C 64, 05, 05]
+22A9; [0C 9F BB, 05, 05]
+22AE; [0C 9F BB, 05, 05][, 9E, 05]
-2240; [0C 9C 6B, 05, 05]
+22AA; [0C 9F C2, 05, 05]
-2242; [0C 9C 72, 05, 05]
+22AB; [0C 9F C9, 05, 05]
+22AF; [0C 9F C9, 05, 05][, 9E, 05]
-2243; [0C 9C 79, 05, 05]
-2244; [0C 9C 79, 05, 05][, 9E, 05]
+22B0; [0C 9F D0, 05, 05]
-2245; [0C 9C 80, 05, 05]
-2247; [0C 9C 80, 05, 05][, 9E, 05]
+22B1; [0C 9F D7, 05, 05]
-2246; [0C 9C 87, 05, 05]
+22B2; [0C 9F DE, 05, 05]
+22EA; [0C 9F DE, 05, 05][, 9E, 05]
-2248; [0C 9C 8E, 05, 05]
-2249; [0C 9C 8E, 05, 05][, 9E, 05]
+22B3; [0C 9F E5, 05, 05]
+22EB; [0C 9F E5, 05, 05][, 9E, 05]
-224A; [0C 9C 95, 05, 05]
+22B4; [0C 9F EC, 05, 05]
+22EC; [0C 9F EC, 05, 05][, 9E, 05]
-224B; [0C 9C 9C, 05, 05]
+22B5; [0C 9F F3, 05, 05]
+22ED; [0C 9F F3, 05, 05][, 9E, 05]
-224C; [0C 9C A3, 05, 05]
+22B6; [0C 9F FA, 05, 05]
-224D; [0C 9C AA, 05, 05]
-226D; [0C 9C AA, 05, 05][, 9E, 05]
+22B7; [0C A0 03, 05, 05]
-224E; [0C 9C B1, 05, 05]
+22B8; [0C A0 0A, 05, 05]
-224F; [0C 9C B8, 05, 05]
+22B9; [0C A0 11, 05, 05]
-2250; [0C 9C BF, 05, 05]
+22BA; [0C A0 18, 05, 05]
-2251; [0C 9C C6, 05, 05]
+22BB; [0C A0 1F, 05, 05]
-2252; [0C 9C CD, 05, 05]
+22BC; [0C A0 26, 05, 05]
-2253; [0C 9C D4, 05, 05]
+214B; [0C A0 2D, 05, 05]
-2254; [0C 9C DB, 05, 05]
+22BD; [0C A0 34, 05, 05]
-2255; [0C 9C E2, 05, 05]
+22BE; [0C A0 3B, 05, 05]
-2256; [0C 9C E9, 05, 05]
+22BF; [0C A0 42, 05, 05]
-2257; [0C 9C F0, 05, 05]
+22C0; [0C A0 49, 05, 05]
-2258; [0C 9C F7, 05, 05]
+22C1; [0C A0 50, 05, 05]
-2259; [0C 9C FE, 05, 05]
+22C2; [0C A0 57, 05, 05]
-225A; [0C 9D 07, 05, 05]
+22C3; [0C A0 5E, 05, 05]
-225B; [0C 9D 0E, 05, 05]
+22C4; [0C A0 65, 05, 05]
-225C; [0C 9D 15, 05, 05]
+22C5; [0C A0 6C, 05, 05]
-225D; [0C 9D 1C, 05, 05]
+22C6; [0C A0 73, 05, 05]
-225E; [0C 9D 23, 05, 05]
+22C7; [0C A0 7A, 05, 05]
-225F; [0C 9D 2A, 05, 05]
+22C8; [0C A0 81, 05, 05]
-2261; [0C 9D 31, 05, 05]
-2262; [0C 9D 31, 05, 05][, 9E, 05]
+22C9; [0C A0 88, 05, 05]
-2263; [0C 9D 38, 05, 05]
+22CA; [0C A0 8F, 05, 05]
-2264; [0C 9D 3F, 05, 05]
-2270; [0C 9D 3F, 05, 05][, 9E, 05]
+22CB; [0C A0 96, 05, 05]
-2265; [0C 9D 46, 05, 05]
-2271; [0C 9D 46, 05, 05][, 9E, 05]
+22CC; [0C A0 9D, 05, 05]
-2266; [0C 9D 4D, 05, 05]
+22CD; [0C A0 A4, 05, 05]
-2267; [0C 9D 54, 05, 05]
+22CE; [0C A0 AB, 05, 05]
-2268; [0C 9D 5B, 05, 05]
+22CF; [0C A0 B2, 05, 05]
-2269; [0C 9D 62, 05, 05]
+22D0; [0C A0 B9, 05, 05]
-226A; [0C 9D 69, 05, 05]
+22D1; [0C A0 C0, 05, 05]
-226B; [0C 9D 70, 05, 05]
+22D2; [0C A0 C7, 05, 05]
-226C; [0C 9D 77, 05, 05]
+22D3; [0C A0 CE, 05, 05]
-2272; [0C 9D 7E, 05, 05]
-2274; [0C 9D 7E, 05, 05][, 9E, 05]
+22D4; [0C A0 D5, 05, 05]
-2273; [0C 9D 85, 05, 05]
-2275; [0C 9D 85, 05, 05][, 9E, 05]
+22D5; [0C A0 DC, 05, 05]
-2276; [0C 9D 8C, 05, 05]
-2278; [0C 9D 8C, 05, 05][, 9E, 05]
+22D6; [0C A0 E3, 05, 05]
-2277; [0C 9D 93, 05, 05]
-2279; [0C 9D 93, 05, 05][, 9E, 05]
+22D7; [0C A0 EA, 05, 05]
-227A; [0C 9D 9A, 05, 05]
-2280; [0C 9D 9A, 05, 05][, 9E, 05]
+22D8; [0C A0 F1, 05, 05]
-227B; [0C 9D A1, 05, 05]
-2281; [0C 9D A1, 05, 05][, 9E, 05]
+22D9; [0C A0 F8, 05, 05]
-227C; [0C 9D A8, 05, 05]
-22E0; [0C 9D A8, 05, 05][, 9E, 05]
+22DA; [0C A0 FF, 05, 05]
-227D; [0C 9D AF, 05, 05]
-22E1; [0C 9D AF, 05, 05][, 9E, 05]
+22DB; [0C A1 08, 05, 05]
-227E; [0C 9D B6, 05, 05]
+22DC; [0C A1 0F, 05, 05]
-227F; [0C 9D BD, 05, 05]
+22DD; [0C A1 16, 05, 05]
-2282; [0C 9D C4, 05, 05]
-2284; [0C 9D C4, 05, 05][, 9E, 05]
+22DE; [0C A1 1D, 05, 05]
-2283; [0C 9D CB, 05, 05]
-2285; [0C 9D CB, 05, 05][, 9E, 05]
+22DF; [0C A1 24, 05, 05]
-2286; [0C 9D D2, 05, 05]
-2288; [0C 9D D2, 05, 05][, 9E, 05]
+22E4; [0C A1 2B, 05, 05]
-2287; [0C 9D D9, 05, 05]
-2289; [0C 9D D9, 05, 05][, 9E, 05]
+22E5; [0C A1 32, 05, 05]
-228A; [0C 9D E0, 05, 05]
+22E6; [0C A1 39, 05, 05]
-228B; [0C 9D E7, 05, 05]
+22E7; [0C A1 40, 05, 05]
-228C; [0C 9D EE, 05, 05]
+22E8; [0C A1 47, 05, 05]
-228D; [0C 9D F5, 05, 05]
+22E9; [0C A1 4E, 05, 05]
-228E; [0C 9D FC, 05, 05]
+22EE; [0C A1 55, 05, 05]
-228F; [0C 9E 05, 05, 05]
+22EF; [0C A1 5C, 05, 05]
-2290; [0C 9E 0C, 05, 05]
+22F0; [0C A1 63, 05, 05]
-2291; [0C 9E 13, 05, 05]
-22E2; [0C 9E 13, 05, 05][, 9E, 05]
+22F1; [0C A1 6A, 05, 05]
-2292; [0C 9E 1A, 05, 05]
-22E3; [0C 9E 1A, 05, 05][, 9E, 05]
+22F2; [0C A1 71, 05, 05]
-2293; [0C 9E 21, 05, 05]
+22F3; [0C A1 78, 05, 05]
-2294; [0C 9E 28, 05, 05]
+22F4; [0C A1 7F, 05, 05]
-2295; [0C 9E 2F, 05, 05]
+22F5; [0C A1 86, 05, 05]
-2296; [0C 9E 36, 05, 05]
+22F6; [0C A1 8D, 05, 05]
-2297; [0C 9E 3D, 05, 05]
+22F7; [0C A1 94, 05, 05]
-2298; [0C 9E 44, 05, 05]
+22F8; [0C A1 9B, 05, 05]
-2299; [0C 9E 4B, 05, 05]
+22F9; [0C A1 A2, 05, 05]
-229A; [0C 9E 52, 05, 05]
+22FA; [0C A1 A9, 05, 05]
-229B; [0C 9E 59, 05, 05]
+22FB; [0C A1 B0, 05, 05]
-229C; [0C 9E 60, 05, 05]
+22FC; [0C A1 B7, 05, 05]
-229D; [0C 9E 67, 05, 05]
+22FD; [0C A1 BE, 05, 05]
-229E; [0C 9E 6E, 05, 05]
+22FE; [0C A1 C5, 05, 05]
-229F; [0C 9E 75, 05, 05]
+22FF; [0C A1 CC, 05, 05]
-22A0; [0C 9E 7C, 05, 05]
+2300; [0C A1 D3, 05, 05]
-22A1; [0C 9E 83, 05, 05]
+2301; [0C A1 DA, 05, 05]
-22A2; [0C 9E 8A, 05, 05]
-22AC; [0C 9E 8A, 05, 05][, 9E, 05]
+2302; [0C A1 E1, 05, 05]
-22A3; [0C 9E 91, 05, 05]
+2303; [0C A1 E8, 05, 05]
-22A4; [0C 9E 98, 05, 05]
+2304; [0C A1 EF, 05, 05]
-22A5; [0C 9E 9F, 05, 05]
+2305; [0C A1 F6, 05, 05]
-22A6; [0C 9E A6, 05, 05]
+2306; [0C A1 FD, 05, 05]
-22A7; [0C 9E AD, 05, 05]
+2307; [0C A2 06, 05, 05]
-22A8; [0C 9E B4, 05, 05]
-22AD; [0C 9E B4, 05, 05][, 9E, 05]
+230C; [0C A2 0D, 05, 05]
-22A9; [0C 9E BB, 05, 05]
-22AE; [0C 9E BB, 05, 05][, 9E, 05]
+230D; [0C A2 14, 05, 05]
-22AA; [0C 9E C2, 05, 05]
+230E; [0C A2 1B, 05, 05]
-22AB; [0C 9E C9, 05, 05]
-22AF; [0C 9E C9, 05, 05][, 9E, 05]
+230F; [0C A2 22, 05, 05]
-22B0; [0C 9E D0, 05, 05]
+2310; [0C A2 29, 05, 05]
-22B1; [0C 9E D7, 05, 05]
+2311; [0C A2 30, 05, 05]
-22B2; [0C 9E DE, 05, 05]
-22EA; [0C 9E DE, 05, 05][, 9E, 05]
+2312; [0C A2 37, 05, 05]
-22B3; [0C 9E E5, 05, 05]
-22EB; [0C 9E E5, 05, 05][, 9E, 05]
+2313; [0C A2 3E, 05, 05]
-22B4; [0C 9E EC, 05, 05]
-22EC; [0C 9E EC, 05, 05][, 9E, 05]
+2314; [0C A2 45, 05, 05]
-22B5; [0C 9E F3, 05, 05]
-22ED; [0C 9E F3, 05, 05][, 9E, 05]
+2315; [0C A2 4C, 05, 05]
-22B6; [0C 9E FA, 05, 05]
+2316; [0C A2 53, 05, 05]
-22B7; [0C 9F 03, 05, 05]
+2317; [0C A2 5A, 05, 05]
-22B8; [0C 9F 0A, 05, 05]
+2318; [0C A2 61, 05, 05]
-22B9; [0C 9F 11, 05, 05]
+2319; [0C A2 68, 05, 05]
-22BA; [0C 9F 18, 05, 05]
+231A; [0C A2 6F, 05, 05]
-22BB; [0C 9F 1F, 05, 05]
+231B; [0C A2 76, 05, 05]
-22BC; [0C 9F 26, 05, 05]
+231C; [0C A2 7D, 05, 05]
-214B; [0C 9F 2D, 05, 05]
+231D; [0C A2 84, 05, 05]
-22BD; [0C 9F 34, 05, 05]
+231E; [0C A2 8B, 05, 05]
-22BE; [0C 9F 3B, 05, 05]
+231F; [0C A2 92, 05, 05]
-22BF; [0C 9F 42, 05, 05]
+2320; [0C A2 99, 05, 05]
-22C0; [0C 9F 49, 05, 05]
+2321; [0C A2 A0, 05, 05]
-22C1; [0C 9F 50, 05, 05]
+2322; [0C A2 A7, 05, 05]
-22C2; [0C 9F 57, 05, 05]
+2323; [0C A2 AE, 05, 05]
-22C3; [0C 9F 5E, 05, 05]
+2324; [0C A2 B5, 05, 05]
-22C4; [0C 9F 65, 05, 05]
+2325; [0C A2 BC, 05, 05]
-22C5; [0C 9F 6C, 05, 05]
+2326; [0C A2 C3, 05, 05]
-22C6; [0C 9F 73, 05, 05]
+2327; [0C A2 CA, 05, 05]
-22C7; [0C 9F 7A, 05, 05]
+2328; [0C A2 D1, 05, 05]
-22C8; [0C 9F 81, 05, 05]
+232B; [0C A2 D8, 05, 05]
-22C9; [0C 9F 88, 05, 05]
+232C; [0C A2 DF, 05, 05]
-22CA; [0C 9F 8F, 05, 05]
+232D; [0C A2 E6, 05, 05]
-22CB; [0C 9F 96, 05, 05]
+232E; [0C A2 ED, 05, 05]
-22CC; [0C 9F 9D, 05, 05]
+232F; [0C A2 F4, 05, 05]
-22CD; [0C 9F A4, 05, 05]
+2330; [0C A2 FB, 05, 05]
-22CE; [0C 9F AB, 05, 05]
+2331; [0C A3 04, 05, 05]
-22CF; [0C 9F B2, 05, 05]
+2332; [0C A3 0B, 05, 05]
-22D0; [0C 9F B9, 05, 05]
+2333; [0C A3 12, 05, 05]
-22D1; [0C 9F C0, 05, 05]
+2334; [0C A3 19, 05, 05]
-22D2; [0C 9F C7, 05, 05]
+2335; [0C A3 20, 05, 05]
-22D3; [0C 9F CE, 05, 05]
+2336; [0C A3 27, 05, 05]
-22D4; [0C 9F D5, 05, 05]
+2337; [0C A3 2E, 05, 05]
-22D5; [0C 9F DC, 05, 05]
+2338; [0C A3 35, 05, 05]
-22D6; [0C 9F E3, 05, 05]
+2339; [0C A3 3C, 05, 05]
-22D7; [0C 9F EA, 05, 05]
+233A; [0C A3 43, 05, 05]
-22D8; [0C 9F F1, 05, 05]
+233B; [0C A3 4A, 05, 05]
-22D9; [0C 9F F8, 05, 05]
+233C; [0C A3 51, 05, 05]
-22DA; [0C 9F FF, 05, 05]
+233D; [0C A3 58, 05, 05]
-22DB; [0C A0 08, 05, 05]
+233E; [0C A3 5F, 05, 05]
-22DC; [0C A0 0F, 05, 05]
+233F; [0C A3 66, 05, 05]
-22DD; [0C A0 16, 05, 05]
+2340; [0C A3 6D, 05, 05]
-22DE; [0C A0 1D, 05, 05]
+2341; [0C A3 74, 05, 05]
-22DF; [0C A0 24, 05, 05]
+2342; [0C A3 7B, 05, 05]
-22E4; [0C A0 2B, 05, 05]
+2343; [0C A3 82, 05, 05]
-22E5; [0C A0 32, 05, 05]
+2344; [0C A3 89, 05, 05]
-22E6; [0C A0 39, 05, 05]
+2345; [0C A3 90, 05, 05]
-22E7; [0C A0 40, 05, 05]
+2346; [0C A3 97, 05, 05]
-22E8; [0C A0 47, 05, 05]
+2347; [0C A3 9E, 05, 05]
-22E9; [0C A0 4E, 05, 05]
+2348; [0C A3 A5, 05, 05]
-22EE; [0C A0 55, 05, 05]
+2349; [0C A3 AC, 05, 05]
-22EF; [0C A0 5C, 05, 05]
+234A; [0C A3 B3, 05, 05]
-22F0; [0C A0 63, 05, 05]
+234B; [0C A3 BA, 05, 05]
-22F1; [0C A0 6A, 05, 05]
+234C; [0C A3 C1, 05, 05]
-22F2; [0C A0 71, 05, 05]
+234D; [0C A3 C8, 05, 05]
-22F3; [0C A0 78, 05, 05]
+234E; [0C A3 CF, 05, 05]
-22F4; [0C A0 7F, 05, 05]
+234F; [0C A3 D6, 05, 05]
-22F5; [0C A0 86, 05, 05]
+2350; [0C A3 DD, 05, 05]
-22F6; [0C A0 8D, 05, 05]
+2351; [0C A3 E4, 05, 05]
-22F7; [0C A0 94, 05, 05]
+2352; [0C A3 EB, 05, 05]
-22F8; [0C A0 9B, 05, 05]
+2353; [0C A3 F2, 05, 05]
-22F9; [0C A0 A2, 05, 05]
+2354; [0C A3 F9, 05, 05]
-22FA; [0C A0 A9, 05, 05]
+2355; [0C A4 02, 05, 05]
-22FB; [0C A0 B0, 05, 05]
+2356; [0C A4 09, 05, 05]
-22FC; [0C A0 B7, 05, 05]
+2357; [0C A4 10, 05, 05]
-22FD; [0C A0 BE, 05, 05]
+2358; [0C A4 17, 05, 05]
-22FE; [0C A0 C5, 05, 05]
+2359; [0C A4 1E, 05, 05]
-22FF; [0C A0 CC, 05, 05]
+235A; [0C A4 25, 05, 05]
-2300; [0C A0 D3, 05, 05]
+235B; [0C A4 2C, 05, 05]
-2301; [0C A0 DA, 05, 05]
+235C; [0C A4 33, 05, 05]
-2302; [0C A0 E1, 05, 05]
+235D; [0C A4 3A, 05, 05]
-2303; [0C A0 E8, 05, 05]
+235E; [0C A4 41, 05, 05]
-2304; [0C A0 EF, 05, 05]
+235F; [0C A4 48, 05, 05]
-2305; [0C A0 F6, 05, 05]
+2360; [0C A4 4F, 05, 05]
-2306; [0C A0 FD, 05, 05]
+2361; [0C A4 56, 05, 05]
-2307; [0C A1 06, 05, 05]
+2362; [0C A4 5D, 05, 05]
-230C; [0C A1 0D, 05, 05]
+2363; [0C A4 64, 05, 05]
-230D; [0C A1 14, 05, 05]
+2364; [0C A4 6B, 05, 05]
-230E; [0C A1 1B, 05, 05]
+2365; [0C A4 72, 05, 05]
-230F; [0C A1 22, 05, 05]
+2366; [0C A4 79, 05, 05]
-2310; [0C A1 29, 05, 05]
+2367; [0C A4 80, 05, 05]
-2311; [0C A1 30, 05, 05]
+2368; [0C A4 87, 05, 05]
-2312; [0C A1 37, 05, 05]
+2369; [0C A4 8E, 05, 05]
-2313; [0C A1 3E, 05, 05]
+236A; [0C A4 95, 05, 05]
-2314; [0C A1 45, 05, 05]
+236B; [0C A4 9C, 05, 05]
-2315; [0C A1 4C, 05, 05]
+236C; [0C A4 A3, 05, 05]
-2316; [0C A1 53, 05, 05]
+236D; [0C A4 AA, 05, 05]
-2317; [0C A1 5A, 05, 05]
+236E; [0C A4 B1, 05, 05]
-2318; [0C A1 61, 05, 05]
+236F; [0C A4 B8, 05, 05]
-2319; [0C A1 68, 05, 05]
+2370; [0C A4 BF, 05, 05]
-231A; [0C A1 6F, 05, 05]
+2371; [0C A4 C6, 05, 05]
-231B; [0C A1 76, 05, 05]
+2372; [0C A4 CD, 05, 05]
-231C; [0C A1 7D, 05, 05]
+2373; [0C A4 D4, 05, 05]
-231D; [0C A1 84, 05, 05]
+2374; [0C A4 DB, 05, 05]
-231E; [0C A1 8B, 05, 05]
+2375; [0C A4 E2, 05, 05]
-231F; [0C A1 92, 05, 05]
+2376; [0C A4 E9, 05, 05]
-2320; [0C A1 99, 05, 05]
+2377; [0C A4 F0, 05, 05]
-2321; [0C A1 A0, 05, 05]
+2378; [0C A4 F7, 05, 05]
-2322; [0C A1 A7, 05, 05]
+2379; [0C A4 FE, 05, 05]
-2323; [0C A1 AE, 05, 05]
+237A; [0C A5 07, 05, 05]
-2324; [0C A1 B5, 05, 05]
+237B; [0C A5 0E, 05, 05]
-2325; [0C A1 BC, 05, 05]
+237C; [0C A5 15, 05, 05]
-2326; [0C A1 C3, 05, 05]
+237D; [0C A5 1C, 05, 05]
-2327; [0C A1 CA, 05, 05]
+237E; [0C A5 23, 05, 05]
-2328; [0C A1 D1, 05, 05]
+237F; [0C A5 2A, 05, 05]
-232B; [0C A1 D8, 05, 05]
+2380; [0C A5 31, 05, 05]
-232C; [0C A1 DF, 05, 05]
+2381; [0C A5 38, 05, 05]
-232D; [0C A1 E6, 05, 05]
+2382; [0C A5 3F, 05, 05]
-232E; [0C A1 ED, 05, 05]
+2383; [0C A5 46, 05, 05]
-232F; [0C A1 F4, 05, 05]
+2384; [0C A5 4D, 05, 05]
-2330; [0C A1 FB, 05, 05]
+2385; [0C A5 54, 05, 05]
-2331; [0C A2 04, 05, 05]
+2386; [0C A5 5B, 05, 05]
-2332; [0C A2 0B, 05, 05]
+2387; [0C A5 62, 05, 05]
-2333; [0C A2 12, 05, 05]
+2388; [0C A5 69, 05, 05]
-2334; [0C A2 19, 05, 05]
+2389; [0C A5 70, 05, 05]
-2335; [0C A2 20, 05, 05]
+238A; [0C A5 77, 05, 05]
-2336; [0C A2 27, 05, 05]
+238B; [0C A5 7E, 05, 05]
-2337; [0C A2 2E, 05, 05]
+238C; [0C A5 85, 05, 05]
-2338; [0C A2 35, 05, 05]
+238D; [0C A5 8C, 05, 05]
-2339; [0C A2 3C, 05, 05]
+238E; [0C A5 93, 05, 05]
-233A; [0C A2 43, 05, 05]
+238F; [0C A5 9A, 05, 05]
-233B; [0C A2 4A, 05, 05]
+2390; [0C A5 A1, 05, 05]
-233C; [0C A2 51, 05, 05]
+2391; [0C A5 A8, 05, 05]
-233D; [0C A2 58, 05, 05]
+2392; [0C A5 AF, 05, 05]
-233E; [0C A2 5F, 05, 05]
+2393; [0C A5 B6, 05, 05]
-233F; [0C A2 66, 05, 05]
+2394; [0C A5 BD, 05, 05]
-2340; [0C A2 6D, 05, 05]
+2395; [0C A5 C4, 05, 05]
-2341; [0C A2 74, 05, 05]
+2396; [0C A5 CB, 05, 05]
-2342; [0C A2 7B, 05, 05]
+2397; [0C A5 D2, 05, 05]
-2343; [0C A2 82, 05, 05]
+2398; [0C A5 D9, 05, 05]
-2344; [0C A2 89, 05, 05]
+2399; [0C A5 E0, 05, 05]
-2345; [0C A2 90, 05, 05]
+239A; [0C A5 E7, 05, 05]
-2346; [0C A2 97, 05, 05]
+239B; [0C A5 EE, 05, 05]
-2347; [0C A2 9E, 05, 05]
+239C; [0C A5 F5, 05, 05]
-2348; [0C A2 A5, 05, 05]
+239D; [0C A5 FC, 05, 05]
-2349; [0C A2 AC, 05, 05]
+239E; [0C A6 05, 05, 05]
-234A; [0C A2 B3, 05, 05]
+239F; [0C A6 0C, 05, 05]
-234B; [0C A2 BA, 05, 05]
+23A0; [0C A6 13, 05, 05]
-234C; [0C A2 C1, 05, 05]
+23A1; [0C A6 1A, 05, 05]
-234D; [0C A2 C8, 05, 05]
+23A2; [0C A6 21, 05, 05]
-234E; [0C A2 CF, 05, 05]
+23A3; [0C A6 28, 05, 05]
-234F; [0C A2 D6, 05, 05]
+23A4; [0C A6 2F, 05, 05]
-2350; [0C A2 DD, 05, 05]
+23A5; [0C A6 36, 05, 05]
-2351; [0C A2 E4, 05, 05]
+23A6; [0C A6 3D, 05, 05]
-2352; [0C A2 EB, 05, 05]
+23A7; [0C A6 44, 05, 05]
-2353; [0C A2 F2, 05, 05]
+23A8; [0C A6 4B, 05, 05]
-2354; [0C A2 F9, 05, 05]
+23A9; [0C A6 52, 05, 05]
-2355; [0C A3 02, 05, 05]
+23AA; [0C A6 59, 05, 05]
-2356; [0C A3 09, 05, 05]
+23AB; [0C A6 60, 05, 05]
-2357; [0C A3 10, 05, 05]
+23AC; [0C A6 67, 05, 05]
-2358; [0C A3 17, 05, 05]
+23AD; [0C A6 6E, 05, 05]
-2359; [0C A3 1E, 05, 05]
+23AE; [0C A6 75, 05, 05]
-235A; [0C A3 25, 05, 05]
+23AF; [0C A6 7C, 05, 05]
-235B; [0C A3 2C, 05, 05]
+23B0; [0C A6 83, 05, 05]
-235C; [0C A3 33, 05, 05]
+23B1; [0C A6 8A, 05, 05]
-235D; [0C A3 3A, 05, 05]
+23B2; [0C A6 91, 05, 05]
-235E; [0C A3 41, 05, 05]
+23B3; [0C A6 98, 05, 05]
-235F; [0C A3 48, 05, 05]
+23B4; [0C A6 9F, 05, 05]
-2360; [0C A3 4F, 05, 05]
+23B5; [0C A6 A6, 05, 05]
-2361; [0C A3 56, 05, 05]
+23B6; [0C A6 AD, 05, 05]
-2362; [0C A3 5D, 05, 05]
+23B7; [0C A6 B4, 05, 05]
-2363; [0C A3 64, 05, 05]
+23B8; [0C A6 BB, 05, 05]
-2364; [0C A3 6B, 05, 05]
+23B9; [0C A6 C2, 05, 05]
-2365; [0C A3 72, 05, 05]
+23BA; [0C A6 C9, 05, 05]
-2366; [0C A3 79, 05, 05]
+23BB; [0C A6 D0, 05, 05]
-2367; [0C A3 80, 05, 05]
+23BC; [0C A6 D7, 05, 05]
-2368; [0C A3 87, 05, 05]
+23BD; [0C A6 DE, 05, 05]
-2369; [0C A3 8E, 05, 05]
+23BE; [0C A6 E5, 05, 05]
-236A; [0C A3 95, 05, 05]
+23BF; [0C A6 EC, 05, 05]
-236B; [0C A3 9C, 05, 05]
+23C0; [0C A6 F3, 05, 05]
-236C; [0C A3 A3, 05, 05]
+23C1; [0C A6 FA, 05, 05]
-236D; [0C A3 AA, 05, 05]
+23C2; [0C A7 03, 05, 05]
-236E; [0C A3 B1, 05, 05]
+23C3; [0C A7 0A, 05, 05]
-236F; [0C A3 B8, 05, 05]
+23C4; [0C A7 11, 05, 05]
-2370; [0C A3 BF, 05, 05]
+23C5; [0C A7 18, 05, 05]
-2371; [0C A3 C6, 05, 05]
+23C6; [0C A7 1F, 05, 05]
-2372; [0C A3 CD, 05, 05]
+23C7; [0C A7 26, 05, 05]
-2373; [0C A3 D4, 05, 05]
+23C8; [0C A7 2D, 05, 05]
-2374; [0C A3 DB, 05, 05]
+23C9; [0C A7 34, 05, 05]
-2375; [0C A3 E2, 05, 05]
+23CA; [0C A7 3B, 05, 05]
-2376; [0C A3 E9, 05, 05]
+23CB; [0C A7 42, 05, 05]
-2377; [0C A3 F0, 05, 05]
+23CC; [0C A7 49, 05, 05]
-2378; [0C A3 F7, 05, 05]
+23CD; [0C A7 50, 05, 05]
-2379; [0C A3 FE, 05, 05]
+23CE; [0C A7 57, 05, 05]
-237A; [0C A4 07, 05, 05]
+23CF; [0C A7 5E, 05, 05]
-237B; [0C A4 0E, 05, 05]
+23D0; [0C A7 65, 05, 05]
-237C; [0C A4 15, 05, 05]
+23D1; [0C A7 6C, 05, 05]
-237D; [0C A4 1C, 05, 05]
+23D2; [0C A7 73, 05, 05]
-237E; [0C A4 23, 05, 05]
+23D3; [0C A7 7A, 05, 05]
-237F; [0C A4 2A, 05, 05]
+23D4; [0C A7 81, 05, 05]
-2380; [0C A4 31, 05, 05]
+23D5; [0C A7 88, 05, 05]
-2381; [0C A4 38, 05, 05]
+23D6; [0C A7 8F, 05, 05]
-2382; [0C A4 3F, 05, 05]
+23D7; [0C A7 96, 05, 05]
-2383; [0C A4 46, 05, 05]
+23D8; [0C A7 9D, 05, 05]
-2384; [0C A4 4D, 05, 05]
+23D9; [0C A7 A4, 05, 05]
-2385; [0C A4 54, 05, 05]
+23DA; [0C A7 AB, 05, 05]
-2386; [0C A4 5B, 05, 05]
+23DB; [0C A7 B2, 05, 05]
-2387; [0C A4 62, 05, 05]
+23DC; [0C A7 B9, 05, 05]
-2388; [0C A4 69, 05, 05]
+23DD; [0C A7 C0, 05, 05]
-2389; [0C A4 70, 05, 05]
+23DE; [0C A7 C7, 05, 05]
-238A; [0C A4 77, 05, 05]
+23DF; [0C A7 CE, 05, 05]
-238B; [0C A4 7E, 05, 05]
+23E0; [0C A7 D5, 05, 05]
-238C; [0C A4 85, 05, 05]
+23E1; [0C A7 DC, 05, 05]
-238D; [0C A4 8C, 05, 05]
+23E2; [0C A7 E3, 05, 05]
-238E; [0C A4 93, 05, 05]
+23E3; [0C A7 EA, 05, 05]
-238F; [0C A4 9A, 05, 05]
+23E4; [0C A7 F1, 05, 05]
-2390; [0C A4 A1, 05, 05]
+23E5; [0C A7 F8, 05, 05]
-2391; [0C A4 A8, 05, 05]
+23E6; [0C A7 FF, 05, 05]
-2392; [0C A4 AF, 05, 05]
+23E7; [0C A8 08, 05, 05]
-2393; [0C A4 B6, 05, 05]
+23E8; [0C A8 0F, 05, 05]
-2394; [0C A4 BD, 05, 05]
+23E9; [0C A8 16, 05, 05]
-2395; [0C A4 C4, 05, 05]
+23EA; [0C A8 1D, 05, 05]
-2396; [0C A4 CB, 05, 05]
+23EB; [0C A8 24, 05, 05]
-2397; [0C A4 D2, 05, 05]
+23EC; [0C A8 2B, 05, 05]
-2398; [0C A4 D9, 05, 05]
+23ED; [0C A8 32, 05, 05]
-2399; [0C A4 E0, 05, 05]
+23EE; [0C A8 39, 05, 05]
-239A; [0C A4 E7, 05, 05]
+23EF; [0C A8 40, 05, 05]
-239B; [0C A4 EE, 05, 05]
+23F0; [0C A8 47, 05, 05]
-239C; [0C A4 F5, 05, 05]
+23F1; [0C A8 4E, 05, 05]
-239D; [0C A4 FC, 05, 05]
+23F2; [0C A8 55, 05, 05]
-239E; [0C A5 05, 05, 05]
+23F3; [0C A8 5C, 05, 05]
-239F; [0C A5 0C, 05, 05]
+23F4; [0C A8 63, 05, 05]
-23A0; [0C A5 13, 05, 05]
+23F5; [0C A8 6A, 05, 05]
-23A1; [0C A5 1A, 05, 05]
+23F6; [0C A8 71, 05, 05]
-23A2; [0C A5 21, 05, 05]
+23F7; [0C A8 78, 05, 05]
-23A3; [0C A5 28, 05, 05]
+23F8; [0C A8 7F, 05, 05]
-23A4; [0C A5 2F, 05, 05]
+23F9; [0C A8 86, 05, 05]
-23A5; [0C A5 36, 05, 05]
+23FA; [0C A8 8D, 05, 05]
-23A6; [0C A5 3D, 05, 05]
+23FB; [0C A8 94, 05, 05]
-23A7; [0C A5 44, 05, 05]
+23FC; [0C A8 9B, 05, 05]
-23A8; [0C A5 4B, 05, 05]
+23FD; [0C A8 A2, 05, 05]
-23A9; [0C A5 52, 05, 05]
+23FE; [0C A8 A9, 05, 05]
-23AA; [0C A5 59, 05, 05]
+23FF; [0C A8 B0, 05, 05]
-23AB; [0C A5 60, 05, 05]
+2400; [0C A8 B7, 05, 05]
-23AC; [0C A5 67, 05, 05]
+2401; [0C A8 BE, 05, 05]
-23AD; [0C A5 6E, 05, 05]
+2402; [0C A8 C5, 05, 05]
-23AE; [0C A5 75, 05, 05]
+2403; [0C A8 CC, 05, 05]
-23AF; [0C A5 7C, 05, 05]
+2404; [0C A8 D3, 05, 05]
-23B0; [0C A5 83, 05, 05]
+2405; [0C A8 DA, 05, 05]
-23B1; [0C A5 8A, 05, 05]
+2406; [0C A8 E1, 05, 05]
-23B2; [0C A5 91, 05, 05]
+2407; [0C A8 E8, 05, 05]
-23B3; [0C A5 98, 05, 05]
+2408; [0C A8 EF, 05, 05]
-23B4; [0C A5 9F, 05, 05]
+2409; [0C A8 F6, 05, 05]
-23B5; [0C A5 A6, 05, 05]
+240A; [0C A8 FD, 05, 05]
-23B6; [0C A5 AD, 05, 05]
+240B; [0C A9 06, 05, 05]
-23B7; [0C A5 B4, 05, 05]
+240C; [0C A9 0D, 05, 05]
-23B8; [0C A5 BB, 05, 05]
+240D; [0C A9 14, 05, 05]
-23B9; [0C A5 C2, 05, 05]
+240E; [0C A9 1B, 05, 05]
-23BA; [0C A5 C9, 05, 05]
+240F; [0C A9 22, 05, 05]
-23BB; [0C A5 D0, 05, 05]
+2410; [0C A9 29, 05, 05]
-23BC; [0C A5 D7, 05, 05]
+2411; [0C A9 30, 05, 05]
-23BD; [0C A5 DE, 05, 05]
+2412; [0C A9 37, 05, 05]
-23BE; [0C A5 E5, 05, 05]
+2413; [0C A9 3E, 05, 05]
-23BF; [0C A5 EC, 05, 05]
+2414; [0C A9 45, 05, 05]
-23C0; [0C A5 F3, 05, 05]
+2415; [0C A9 4C, 05, 05]
-23C1; [0C A5 FA, 05, 05]
+2416; [0C A9 53, 05, 05]
-23C2; [0C A6 03, 05, 05]
+2417; [0C A9 5A, 05, 05]
-23C3; [0C A6 0A, 05, 05]
+2418; [0C A9 61, 05, 05]
-23C4; [0C A6 11, 05, 05]
+2419; [0C A9 68, 05, 05]
-23C5; [0C A6 18, 05, 05]
+241A; [0C A9 6F, 05, 05]
-23C6; [0C A6 1F, 05, 05]
+241B; [0C A9 76, 05, 05]
-23C7; [0C A6 26, 05, 05]
+241C; [0C A9 7D, 05, 05]
-23C8; [0C A6 2D, 05, 05]
+241D; [0C A9 84, 05, 05]
-23C9; [0C A6 34, 05, 05]
+241E; [0C A9 8B, 05, 05]
-23CA; [0C A6 3B, 05, 05]
+241F; [0C A9 92, 05, 05]
-23CB; [0C A6 42, 05, 05]
+2420; [0C A9 99, 05, 05]
-23CC; [0C A6 49, 05, 05]
+2421; [0C A9 A0, 05, 05]
-23CD; [0C A6 50, 05, 05]
+2422; [0C A9 A7, 05, 05]
-23CE; [0C A6 57, 05, 05]
+2423; [0C A9 AE, 05, 05]
-23CF; [0C A6 5E, 05, 05]
+2424; [0C A9 B5, 05, 05]
-23D0; [0C A6 65, 05, 05]
+2425; [0C A9 BC, 05, 05]
-23D1; [0C A6 6C, 05, 05]
+2426; [0C A9 C3, 05, 05]
-23D2; [0C A6 73, 05, 05]
+2440; [0C A9 CA, 05, 05]
-23D3; [0C A6 7A, 05, 05]
+2441; [0C A9 D1, 05, 05]
-23D4; [0C A6 81, 05, 05]
+2442; [0C A9 D8, 05, 05]
-23D5; [0C A6 88, 05, 05]
+2443; [0C A9 DF, 05, 05]
-23D6; [0C A6 8F, 05, 05]
+2444; [0C A9 E6, 05, 05]
-23D7; [0C A6 96, 05, 05]
+2445; [0C A9 ED, 05, 05]
-23D8; [0C A6 9D, 05, 05]
+2446; [0C A9 F4, 05, 05]
-23D9; [0C A6 A4, 05, 05]
+2447; [0C A9 FB, 05, 05]
-23DA; [0C A6 AB, 05, 05]
+2448; [0C AA 04, 05, 05]
-23DB; [0C A6 B2, 05, 05]
+2449; [0C AA 0B, 05, 05]
-23DC; [0C A6 B9, 05, 05]
+244A; [0C AA 12, 05, 05]
-23DD; [0C A6 C0, 05, 05]
+2500; [0C AA 19, 05, 05]
-23DE; [0C A6 C7, 05, 05]
+2501; [0C AA 20, 05, 05]
-23DF; [0C A6 CE, 05, 05]
+2502; [0C AC, 05, 05]
+FFE8; [0C AC, 05, A0]
-23E0; [0C A6 D5, 05, 05]
+2503; [0C AE 02, 05, 05]
-23E1; [0C A6 DC, 05, 05]
+2504; [0C AE 09, 05, 05]
-23E2; [0C A6 E3, 05, 05]
+2505; [0C AE 10, 05, 05]
-23E3; [0C A6 EA, 05, 05]
+2506; [0C AE 17, 05, 05]
-23E4; [0C A6 F1, 05, 05]
+2507; [0C AE 1E, 05, 05]
-23E5; [0C A6 F8, 05, 05]
+2508; [0C AE 25, 05, 05]
-23E6; [0C A6 FF, 05, 05]
+2509; [0C AE 2C, 05, 05]
-23E7; [0C A7 08, 05, 05]
+250A; [0C AE 33, 05, 05]
-23E8; [0C A7 0F, 05, 05]
+250B; [0C AE 3A, 05, 05]
-23E9; [0C A7 16, 05, 05]
+250C; [0C AE 41, 05, 05]
-23EA; [0C A7 1D, 05, 05]
+250D; [0C AE 48, 05, 05]
-23EB; [0C A7 24, 05, 05]
+250E; [0C AE 4F, 05, 05]
-23EC; [0C A7 2B, 05, 05]
+250F; [0C AE 56, 05, 05]
-23ED; [0C A7 32, 05, 05]
+2510; [0C AE 5D, 05, 05]
-23EE; [0C A7 39, 05, 05]
+2511; [0C AE 64, 05, 05]
-23EF; [0C A7 40, 05, 05]
+2512; [0C AE 6B, 05, 05]
-23F0; [0C A7 47, 05, 05]
+2513; [0C AE 72, 05, 05]
-23F1; [0C A7 4E, 05, 05]
+2514; [0C AE 79, 05, 05]
-23F2; [0C A7 55, 05, 05]
+2515; [0C AE 80, 05, 05]
-23F3; [0C A7 5C, 05, 05]
+2516; [0C AE 87, 05, 05]
-23F4; [0C A7 63, 05, 05]
+2517; [0C AE 8E, 05, 05]
-23F5; [0C A7 6A, 05, 05]
+2518; [0C AE 95, 05, 05]
-23F6; [0C A7 71, 05, 05]
+2519; [0C AE 9C, 05, 05]
-23F7; [0C A7 78, 05, 05]
+251A; [0C AE A3, 05, 05]
-23F8; [0C A7 7F, 05, 05]
+251B; [0C AE AA, 05, 05]
-23F9; [0C A7 86, 05, 05]
+251C; [0C AE B1, 05, 05]
-23FA; [0C A7 8D, 05, 05]
+251D; [0C AE B8, 05, 05]
-23FB; [0C A7 94, 05, 05]
+251E; [0C AE BF, 05, 05]
-23FC; [0C A7 9B, 05, 05]
+251F; [0C AE C6, 05, 05]
-23FD; [0C A7 A2, 05, 05]
+2520; [0C AE CD, 05, 05]
-23FE; [0C A7 A9, 05, 05]
+2521; [0C AE D4, 05, 05]
-23FF; [0C A7 B0, 05, 05]
+2522; [0C AE DB, 05, 05]
-2400; [0C A7 B7, 05, 05]
+2523; [0C AE E2, 05, 05]
-2401; [0C A7 BE, 05, 05]
+2524; [0C AE E9, 05, 05]
-2402; [0C A7 C5, 05, 05]
+2525; [0C AE F0, 05, 05]
-2403; [0C A7 CC, 05, 05]
+2526; [0C AE F7, 05, 05]
-2404; [0C A7 D3, 05, 05]
+2527; [0C AE FE, 05, 05]
-2405; [0C A7 DA, 05, 05]
+2528; [0C AF 07, 05, 05]
-2406; [0C A7 E1, 05, 05]
+2529; [0C AF 0E, 05, 05]
-2407; [0C A7 E8, 05, 05]
+252A; [0C AF 15, 05, 05]
-2408; [0C A7 EF, 05, 05]
+252B; [0C AF 1C, 05, 05]
-2409; [0C A7 F6, 05, 05]
+252C; [0C AF 23, 05, 05]
-240A; [0C A7 FD, 05, 05]
+252D; [0C AF 2A, 05, 05]
-240B; [0C A8 06, 05, 05]
+252E; [0C AF 31, 05, 05]
-240C; [0C A8 0D, 05, 05]
+252F; [0C AF 38, 05, 05]
-240D; [0C A8 14, 05, 05]
+2530; [0C AF 3F, 05, 05]
-240E; [0C A8 1B, 05, 05]
+2531; [0C AF 46, 05, 05]
-240F; [0C A8 22, 05, 05]
+2532; [0C AF 4D, 05, 05]
-2410; [0C A8 29, 05, 05]
+2533; [0C AF 54, 05, 05]
-2411; [0C A8 30, 05, 05]
+2534; [0C AF 5B, 05, 05]
-2412; [0C A8 37, 05, 05]
+2535; [0C AF 62, 05, 05]
-2413; [0C A8 3E, 05, 05]
+2536; [0C AF 69, 05, 05]
-2414; [0C A8 45, 05, 05]
+2537; [0C AF 70, 05, 05]
-2415; [0C A8 4C, 05, 05]
+2538; [0C AF 77, 05, 05]
-2416; [0C A8 53, 05, 05]
+2539; [0C AF 7E, 05, 05]
-2417; [0C A8 5A, 05, 05]
+253A; [0C AF 85, 05, 05]
-2418; [0C A8 61, 05, 05]
+253B; [0C AF 8C, 05, 05]
-2419; [0C A8 68, 05, 05]
+253C; [0C AF 93, 05, 05]
-241A; [0C A8 6F, 05, 05]
+253D; [0C AF 9A, 05, 05]
-241B; [0C A8 76, 05, 05]
+253E; [0C AF A1, 05, 05]
-241C; [0C A8 7D, 05, 05]
+253F; [0C AF A8, 05, 05]
-241D; [0C A8 84, 05, 05]
+2540; [0C AF AF, 05, 05]
-241E; [0C A8 8B, 05, 05]
+2541; [0C AF B6, 05, 05]
-241F; [0C A8 92, 05, 05]
+2542; [0C AF BD, 05, 05]
-2420; [0C A8 99, 05, 05]
+2543; [0C AF C4, 05, 05]
-2421; [0C A8 A0, 05, 05]
+2544; [0C AF CB, 05, 05]
-2422; [0C A8 A7, 05, 05]
+2545; [0C AF D2, 05, 05]
-2423; [0C A8 AE, 05, 05]
+2546; [0C AF D9, 05, 05]
-2424; [0C A8 B5, 05, 05]
+2547; [0C AF E0, 05, 05]
-2425; [0C A8 BC, 05, 05]
+2548; [0C AF E7, 05, 05]
-2426; [0C A8 C3, 05, 05]
+2549; [0C AF EE, 05, 05]
-2440; [0C A8 CA, 05, 05]
+254A; [0C AF F5, 05, 05]
-2441; [0C A8 D1, 05, 05]
+254B; [0C AF FC, 05, 05]
-2442; [0C A8 D8, 05, 05]
+254C; [0C B0 05, 05, 05]
-2443; [0C A8 DF, 05, 05]
+254D; [0C B0 0C, 05, 05]
-2444; [0C A8 E6, 05, 05]
+254E; [0C B0 13, 05, 05]
-2445; [0C A8 ED, 05, 05]
+254F; [0C B0 1A, 05, 05]
-2446; [0C A8 F4, 05, 05]
+2550; [0C B0 21, 05, 05]
-2447; [0C A8 FB, 05, 05]
+2551; [0C B0 28, 05, 05]
-2448; [0C A9 04, 05, 05]
+2552; [0C B0 2F, 05, 05]
-2449; [0C A9 0B, 05, 05]
+2553; [0C B0 36, 05, 05]
-244A; [0C A9 12, 05, 05]
+2554; [0C B0 3D, 05, 05]
-2500; [0C A9 19, 05, 05]
+2555; [0C B0 44, 05, 05]
-2501; [0C A9 20, 05, 05]
+2556; [0C B0 4B, 05, 05]
-2502; [0C AB, 05, 05]
-FFE8; [0C AB, 05, A0]
+2557; [0C B0 52, 05, 05]
-2503; [0C AD 02, 05, 05]
+2558; [0C B0 59, 05, 05]
-2504; [0C AD 09, 05, 05]
+2559; [0C B0 60, 05, 05]
-2505; [0C AD 10, 05, 05]
+255A; [0C B0 67, 05, 05]
-2506; [0C AD 17, 05, 05]
+255B; [0C B0 6E, 05, 05]
-2507; [0C AD 1E, 05, 05]
+255C; [0C B0 75, 05, 05]
-2508; [0C AD 25, 05, 05]
+255D; [0C B0 7C, 05, 05]
-2509; [0C AD 2C, 05, 05]
+255E; [0C B0 83, 05, 05]
-250A; [0C AD 33, 05, 05]
+255F; [0C B0 8A, 05, 05]
-250B; [0C AD 3A, 05, 05]
+2560; [0C B0 91, 05, 05]
-250C; [0C AD 41, 05, 05]
+2561; [0C B0 98, 05, 05]
-250D; [0C AD 48, 05, 05]
+2562; [0C B0 9F, 05, 05]
-250E; [0C AD 4F, 05, 05]
+2563; [0C B0 A6, 05, 05]
-250F; [0C AD 56, 05, 05]
+2564; [0C B0 AD, 05, 05]
-2510; [0C AD 5D, 05, 05]
+2565; [0C B0 B4, 05, 05]
-2511; [0C AD 64, 05, 05]
+2566; [0C B0 BB, 05, 05]
-2512; [0C AD 6B, 05, 05]
+2567; [0C B0 C2, 05, 05]
-2513; [0C AD 72, 05, 05]
+2568; [0C B0 C9, 05, 05]
-2514; [0C AD 79, 05, 05]
+2569; [0C B0 D0, 05, 05]
-2515; [0C AD 80, 05, 05]
+256A; [0C B0 D7, 05, 05]
-2516; [0C AD 87, 05, 05]
+256B; [0C B0 DE, 05, 05]
-2517; [0C AD 8E, 05, 05]
+256C; [0C B0 E5, 05, 05]
-2518; [0C AD 95, 05, 05]
+256D; [0C B0 EC, 05, 05]
-2519; [0C AD 9C, 05, 05]
+256E; [0C B0 F3, 05, 05]
-251A; [0C AD A3, 05, 05]
+256F; [0C B0 FA, 05, 05]
-251B; [0C AD AA, 05, 05]
+2570; [0C B1 03, 05, 05]
-251C; [0C AD B1, 05, 05]
+2571; [0C B1 0A, 05, 05]
-251D; [0C AD B8, 05, 05]
+2572; [0C B1 11, 05, 05]
-251E; [0C AD BF, 05, 05]
+2573; [0C B1 18, 05, 05]
-251F; [0C AD C6, 05, 05]
+2574; [0C B1 1F, 05, 05]
-2520; [0C AD CD, 05, 05]
+2575; [0C B1 26, 05, 05]
-2521; [0C AD D4, 05, 05]
+2576; [0C B1 2D, 05, 05]
-2522; [0C AD DB, 05, 05]
+2577; [0C B1 34, 05, 05]
-2523; [0C AD E2, 05, 05]
+2578; [0C B1 3B, 05, 05]
-2524; [0C AD E9, 05, 05]
+2579; [0C B1 42, 05, 05]
-2525; [0C AD F0, 05, 05]
+257A; [0C B1 49, 05, 05]
-2526; [0C AD F7, 05, 05]
+257B; [0C B1 50, 05, 05]
-2527; [0C AD FE, 05, 05]
+257C; [0C B1 57, 05, 05]
-2528; [0C AE 07, 05, 05]
+257D; [0C B1 5E, 05, 05]
-2529; [0C AE 0E, 05, 05]
+257E; [0C B1 65, 05, 05]
-252A; [0C AE 15, 05, 05]
+257F; [0C B1 6C, 05, 05]
-252B; [0C AE 1C, 05, 05]
+2580; [0C B1 73, 05, 05]
-252C; [0C AE 23, 05, 05]
+2581; [0C B1 7A, 05, 05]
-252D; [0C AE 2A, 05, 05]
+2582; [0C B1 81, 05, 05]
-252E; [0C AE 31, 05, 05]
+2583; [0C B1 88, 05, 05]
-252F; [0C AE 38, 05, 05]
+2584; [0C B1 8F, 05, 05]
-2530; [0C AE 3F, 05, 05]
+2585; [0C B1 96, 05, 05]
-2531; [0C AE 46, 05, 05]
+2586; [0C B1 9D, 05, 05]
-2532; [0C AE 4D, 05, 05]
+2587; [0C B1 A4, 05, 05]
-2533; [0C AE 54, 05, 05]
+2588; [0C B1 AB, 05, 05]
-2534; [0C AE 5B, 05, 05]
+2589; [0C B1 B2, 05, 05]
-2535; [0C AE 62, 05, 05]
+258A; [0C B1 B9, 05, 05]
-2536; [0C AE 69, 05, 05]
+258B; [0C B1 C0, 05, 05]
-2537; [0C AE 70, 05, 05]
+258C; [0C B1 C7, 05, 05]
-2538; [0C AE 77, 05, 05]
+258D; [0C B1 CE, 05, 05]
-2539; [0C AE 7E, 05, 05]
+258E; [0C B1 D5, 05, 05]
-253A; [0C AE 85, 05, 05]
+258F; [0C B1 DC, 05, 05]
-253B; [0C AE 8C, 05, 05]
+2590; [0C B1 E3, 05, 05]
-253C; [0C AE 93, 05, 05]
+2591; [0C B1 EA, 05, 05]
-253D; [0C AE 9A, 05, 05]
+2592; [0C B1 F1, 05, 05]
-253E; [0C AE A1, 05, 05]
+2593; [0C B1 F8, 05, 05]
-253F; [0C AE A8, 05, 05]
+2594; [0C B1 FF, 05, 05]
-2540; [0C AE AF, 05, 05]
+2595; [0C B2 08, 05, 05]
-2541; [0C AE B6, 05, 05]
+2596; [0C B2 0F, 05, 05]
-2542; [0C AE BD, 05, 05]
+2597; [0C B2 16, 05, 05]
-2543; [0C AE C4, 05, 05]
+2598; [0C B2 1D, 05, 05]
-2544; [0C AE CB, 05, 05]
+2599; [0C B2 24, 05, 05]
-2545; [0C AE D2, 05, 05]
+259A; [0C B2 2B, 05, 05]
-2546; [0C AE D9, 05, 05]
+259B; [0C B2 32, 05, 05]
-2547; [0C AE E0, 05, 05]
+259C; [0C B2 39, 05, 05]
-2548; [0C AE E7, 05, 05]
+259D; [0C B2 40, 05, 05]
-2549; [0C AE EE, 05, 05]
+259E; [0C B2 47, 05, 05]
-254A; [0C AE F5, 05, 05]
+259F; [0C B2 4E, 05, 05]
-254B; [0C AE FC, 05, 05]
+25A0; [0C B4, 05, 05]
+FFED; [0C B4, 05, A0]
-254C; [0C AF 05, 05, 05]
+25A1; [0C B6 02, 05, 05]
-254D; [0C AF 0C, 05, 05]
+25A2; [0C B6 09, 05, 05]
-254E; [0C AF 13, 05, 05]
+25A3; [0C B6 10, 05, 05]
-254F; [0C AF 1A, 05, 05]
+25A4; [0C B6 17, 05, 05]
-2550; [0C AF 21, 05, 05]
+25A5; [0C B6 1E, 05, 05]
-2551; [0C AF 28, 05, 05]
+25A6; [0C B6 25, 05, 05]
-2552; [0C AF 2F, 05, 05]
+25A7; [0C B6 2C, 05, 05]
-2553; [0C AF 36, 05, 05]
+25A8; [0C B6 33, 05, 05]
-2554; [0C AF 3D, 05, 05]
+25A9; [0C B6 3A, 05, 05]
-2555; [0C AF 44, 05, 05]
+25AA; [0C B6 41, 05, 05]
-2556; [0C AF 4B, 05, 05]
+25AB; [0C B6 48, 05, 05]
-2557; [0C AF 52, 05, 05]
+25AC; [0C B6 4F, 05, 05]
-2558; [0C AF 59, 05, 05]
+25AD; [0C B6 56, 05, 05]
-2559; [0C AF 60, 05, 05]
+25AE; [0C B6 5D, 05, 05]
-255A; [0C AF 67, 05, 05]
+25AF; [0C B6 64, 05, 05]
-255B; [0C AF 6E, 05, 05]
+25B0; [0C B6 6B, 05, 05]
-255C; [0C AF 75, 05, 05]
+25B1; [0C B6 72, 05, 05]
-255D; [0C AF 7C, 05, 05]
+25B2; [0C B6 79, 05, 05]
-255E; [0C AF 83, 05, 05]
+25B3; [0C B6 80, 05, 05]
-255F; [0C AF 8A, 05, 05]
+25B4; [0C B6 87, 05, 05]
-2560; [0C AF 91, 05, 05]
+25B5; [0C B6 8E, 05, 05]
-2561; [0C AF 98, 05, 05]
+25B6; [0C B6 95, 05, 05]
-2562; [0C AF 9F, 05, 05]
+25B7; [0C B6 9C, 05, 05]
-2563; [0C AF A6, 05, 05]
+25B8; [0C B6 A3, 05, 05]
-2564; [0C AF AD, 05, 05]
+25B9; [0C B6 AA, 05, 05]
-2565; [0C AF B4, 05, 05]
+25BA; [0C B6 B1, 05, 05]
-2566; [0C AF BB, 05, 05]
+25BB; [0C B6 B8, 05, 05]
-2567; [0C AF C2, 05, 05]
+25BC; [0C B6 BF, 05, 05]
-2568; [0C AF C9, 05, 05]
+25BD; [0C B6 C6, 05, 05]
-2569; [0C AF D0, 05, 05]
+25BE; [0C B6 CD, 05, 05]
-256A; [0C AF D7, 05, 05]
+25BF; [0C B6 D4, 05, 05]
-256B; [0C AF DE, 05, 05]
+25C0; [0C B6 DB, 05, 05]
-256C; [0C AF E5, 05, 05]
+25C1; [0C B6 E2, 05, 05]
-256D; [0C AF EC, 05, 05]
+25C2; [0C B6 E9, 05, 05]
-256E; [0C AF F3, 05, 05]
+25C3; [0C B6 F0, 05, 05]
-256F; [0C AF FA, 05, 05]
+25C4; [0C B6 F7, 05, 05]
-2570; [0C B0 03, 05, 05]
+25C5; [0C B6 FE, 05, 05]
-2571; [0C B0 0A, 05, 05]
+25C6; [0C B7 07, 05, 05]
-2572; [0C B0 11, 05, 05]
+25C7; [0C B7 0E, 05, 05]
-2573; [0C B0 18, 05, 05]
+25C8; [0C B7 15, 05, 05]
-2574; [0C B0 1F, 05, 05]
+25C9; [0C B7 1C, 05, 05]
-2575; [0C B0 26, 05, 05]
+25CA; [0C B7 23, 05, 05]
-2576; [0C B0 2D, 05, 05]
+25CB; [0C B9, 05, 05]
+FFEE; [0C B9, 05, A0]
-2577; [0C B0 34, 05, 05]
+25CC; [0C BB 02, 05, 05]
-2578; [0C B0 3B, 05, 05]
+25CD; [0C BB 09, 05, 05]
-2579; [0C B0 42, 05, 05]
+25CE; [0C BB 10, 05, 05]
-257A; [0C B0 49, 05, 05]
+25CF; [0C BB 17, 05, 05]
-257B; [0C B0 50, 05, 05]
+25D0; [0C BB 1E, 05, 05]
-257C; [0C B0 57, 05, 05]
+25D1; [0C BB 25, 05, 05]
-257D; [0C B0 5E, 05, 05]
+25D2; [0C BB 2C, 05, 05]
-257E; [0C B0 65, 05, 05]
+25D3; [0C BB 33, 05, 05]
-257F; [0C B0 6C, 05, 05]
+25D4; [0C BB 3A, 05, 05]
-2580; [0C B0 73, 05, 05]
+25D5; [0C BB 41, 05, 05]
-2581; [0C B0 7A, 05, 05]
+25D6; [0C BB 48, 05, 05]
-2582; [0C B0 81, 05, 05]
+25D7; [0C BB 4F, 05, 05]
-2583; [0C B0 88, 05, 05]
+25D8; [0C BB 56, 05, 05]
-2584; [0C B0 8F, 05, 05]
+25D9; [0C BB 5D, 05, 05]
-2585; [0C B0 96, 05, 05]
+25DA; [0C BB 64, 05, 05]
-2586; [0C B0 9D, 05, 05]
+25DB; [0C BB 6B, 05, 05]
-2587; [0C B0 A4, 05, 05]
+25DC; [0C BB 72, 05, 05]
-2588; [0C B0 AB, 05, 05]
+25DD; [0C BB 79, 05, 05]
-2589; [0C B0 B2, 05, 05]
+25DE; [0C BB 80, 05, 05]
-258A; [0C B0 B9, 05, 05]
+25DF; [0C BB 87, 05, 05]
-258B; [0C B0 C0, 05, 05]
+25E0; [0C BB 8E, 05, 05]
-258C; [0C B0 C7, 05, 05]
+25E1; [0C BB 95, 05, 05]
-258D; [0C B0 CE, 05, 05]
+25E2; [0C BB 9C, 05, 05]
-258E; [0C B0 D5, 05, 05]
+25E3; [0C BB A3, 05, 05]
-258F; [0C B0 DC, 05, 05]
+25E4; [0C BB AA, 05, 05]
-2590; [0C B0 E3, 05, 05]
+25E5; [0C BB B1, 05, 05]
-2591; [0C B0 EA, 05, 05]
+25E6; [0C BB B8, 05, 05]
-2592; [0C B0 F1, 05, 05]
+25E7; [0C BB BF, 05, 05]
-2593; [0C B0 F8, 05, 05]
+25E8; [0C BB C6, 05, 05]
-2594; [0C B0 FF, 05, 05]
+25E9; [0C BB CD, 05, 05]
-2595; [0C B1 08, 05, 05]
+25EA; [0C BB D4, 05, 05]
-2596; [0C B1 0F, 05, 05]
+25EB; [0C BB DB, 05, 05]
-2597; [0C B1 16, 05, 05]
+25EC; [0C BB E2, 05, 05]
-2598; [0C B1 1D, 05, 05]
+25ED; [0C BB E9, 05, 05]
-2599; [0C B1 24, 05, 05]
+25EE; [0C BB F0, 05, 05]
-259A; [0C B1 2B, 05, 05]
+25EF; [0C BB F7, 05, 05]
-259B; [0C B1 32, 05, 05]
+25F0; [0C BB FE, 05, 05]
-259C; [0C B1 39, 05, 05]
+25F1; [0C BC 07, 05, 05]
-259D; [0C B1 40, 05, 05]
+25F2; [0C BC 0E, 05, 05]
-259E; [0C B1 47, 05, 05]
+25F3; [0C BC 15, 05, 05]
-259F; [0C B1 4E, 05, 05]
+25F4; [0C BC 1C, 05, 05]
-25A0; [0C B3, 05, 05]
-FFED; [0C B3, 05, A0]
+25F5; [0C BC 23, 05, 05]
-25A1; [0C B5 02, 05, 05]
+25F6; [0C BC 2A, 05, 05]
-25A2; [0C B5 09, 05, 05]
+25F7; [0C BC 31, 05, 05]
-25A3; [0C B5 10, 05, 05]
+25F8; [0C BC 38, 05, 05]
-25A4; [0C B5 17, 05, 05]
+25F9; [0C BC 3F, 05, 05]
-25A5; [0C B5 1E, 05, 05]
+25FA; [0C BC 46, 05, 05]
-25A6; [0C B5 25, 05, 05]
+25FB; [0C BC 4D, 05, 05]
-25A7; [0C B5 2C, 05, 05]
+25FC; [0C BC 54, 05, 05]
-25A8; [0C B5 33, 05, 05]
+25FD; [0C BC 5B, 05, 05]
-25A9; [0C B5 3A, 05, 05]
+25FE; [0C BC 62, 05, 05]
-25AA; [0C B5 41, 05, 05]
+25FF; [0C BC 69, 05, 05]
-25AB; [0C B5 48, 05, 05]
+2600; [0C BC 70, 05, 05]
-25AC; [0C B5 4F, 05, 05]
+2601; [0C BC 77, 05, 05]
-25AD; [0C B5 56, 05, 05]
+2602; [0C BC 7E, 05, 05]
-25AE; [0C B5 5D, 05, 05]
+2603; [0C BC 85, 05, 05]
-25AF; [0C B5 64, 05, 05]
+2604; [0C BC 8C, 05, 05]
-25B0; [0C B5 6B, 05, 05]
+2605; [0C BC 93, 05, 05]
-25B1; [0C B5 72, 05, 05]
+2606; [0C BC 9A, 05, 05]
-25B2; [0C B5 79, 05, 05]
+2607; [0C BC A1, 05, 05]
-25B3; [0C B5 80, 05, 05]
+2608; [0C BC A8, 05, 05]
-25B4; [0C B5 87, 05, 05]
+2609; [0C BC AF, 05, 05]
-25B5; [0C B5 8E, 05, 05]
+260A; [0C BC B6, 05, 05]
-25B6; [0C B5 95, 05, 05]
+260B; [0C BC BD, 05, 05]
-25B7; [0C B5 9C, 05, 05]
+260C; [0C BC C4, 05, 05]
-25B8; [0C B5 A3, 05, 05]
+260D; [0C BC CB, 05, 05]
-25B9; [0C B5 AA, 05, 05]
+260E; [0C BC D2, 05, 05]
-25BA; [0C B5 B1, 05, 05]
+260F; [0C BC D9, 05, 05]
-25BB; [0C B5 B8, 05, 05]
+2610; [0C BC E0, 05, 05]
-25BC; [0C B5 BF, 05, 05]
+2611; [0C BC E7, 05, 05]
-25BD; [0C B5 C6, 05, 05]
+2612; [0C BC EE, 05, 05]
-25BE; [0C B5 CD, 05, 05]
+2613; [0C BC F5, 05, 05]
-25BF; [0C B5 D4, 05, 05]
+2614; [0C BC FC, 05, 05]
-25C0; [0C B5 DB, 05, 05]
+2615; [0C BD 05, 05, 05]
-25C1; [0C B5 E2, 05, 05]
+2616; [0C BD 0C, 05, 05]
-25C2; [0C B5 E9, 05, 05]
+2617; [0C BD 13, 05, 05]
-25C3; [0C B5 F0, 05, 05]
+2618; [0C BD 1A, 05, 05]
-25C4; [0C B5 F7, 05, 05]
+2619; [0C BD 21, 05, 05]
-25C5; [0C B5 FE, 05, 05]
+261A; [0C BD 28, 05, 05]
-25C6; [0C B6 07, 05, 05]
+261B; [0C BD 2F, 05, 05]
-25C7; [0C B6 0E, 05, 05]
+261C; [0C BD 36, 05, 05]
-25C8; [0C B6 15, 05, 05]
+261D; [0C BD 3D, 05, 05]
-25C9; [0C B6 1C, 05, 05]
+261E; [0C BD 44, 05, 05]
-25CA; [0C B6 23, 05, 05]
+261F; [0C BD 4B, 05, 05]
-25CB; [0C B8, 05, 05]
-FFEE; [0C B8, 05, A0]
+2620; [0C BD 52, 05, 05]
-25CC; [0C BA 02, 05, 05]
+2621; [0C BD 59, 05, 05]
-25CD; [0C BA 09, 05, 05]
+2622; [0C BD 60, 05, 05]
-25CE; [0C BA 10, 05, 05]
+2623; [0C BD 67, 05, 05]
-25CF; [0C BA 17, 05, 05]
+2624; [0C BD 6E, 05, 05]
-25D0; [0C BA 1E, 05, 05]
+2625; [0C BD 75, 05, 05]
-25D1; [0C BA 25, 05, 05]
+2626; [0C BD 7C, 05, 05]
-25D2; [0C BA 2C, 05, 05]
+2627; [0C BD 83, 05, 05]
-25D3; [0C BA 33, 05, 05]
+2628; [0C BD 8A, 05, 05]
-25D4; [0C BA 3A, 05, 05]
+2629; [0C BD 91, 05, 05]
-25D5; [0C BA 41, 05, 05]
+262A; [0C BD 98, 05, 05]
-25D6; [0C BA 48, 05, 05]
+262B; [0C BD 9F, 05, 05]
-25D7; [0C BA 4F, 05, 05]
+262C; [0C BD A6, 05, 05]
-25D8; [0C BA 56, 05, 05]
+262D; [0C BD AD, 05, 05]
-25D9; [0C BA 5D, 05, 05]
+262E; [0C BD B4, 05, 05]
-25DA; [0C BA 64, 05, 05]
+262F; [0C BD BB, 05, 05]
-25DB; [0C BA 6B, 05, 05]
+2638; [0C BD C2, 05, 05]
-25DC; [0C BA 72, 05, 05]
+2639; [0C BD C9, 05, 05]
-25DD; [0C BA 79, 05, 05]
+263A; [0C BD D0, 05, 05]
-25DE; [0C BA 80, 05, 05]
+263B; [0C BD D7, 05, 05]
-25DF; [0C BA 87, 05, 05]
+263C; [0C BD DE, 05, 05]
-25E0; [0C BA 8E, 05, 05]
+263D; [0C BD E5, 05, 05]
-25E1; [0C BA 95, 05, 05]
+263E; [0C BD EC, 05, 05]
-25E2; [0C BA 9C, 05, 05]
+263F; [0C BD F3, 05, 05]
-25E3; [0C BA A3, 05, 05]
+2640; [0C BD FA, 05, 05]
-25E4; [0C BA AA, 05, 05]
+2641; [0C BE 03, 05, 05]
-25E5; [0C BA B1, 05, 05]
+2642; [0C BE 0A, 05, 05]
-25E6; [0C BA B8, 05, 05]
+2643; [0C BE 11, 05, 05]
-25E7; [0C BA BF, 05, 05]
+2644; [0C BE 18, 05, 05]
-25E8; [0C BA C6, 05, 05]
+2645; [0C BE 1F, 05, 05]
-25E9; [0C BA CD, 05, 05]
+2646; [0C BE 26, 05, 05]
-25EA; [0C BA D4, 05, 05]
+2647; [0C BE 2D, 05, 05]
-25EB; [0C BA DB, 05, 05]
+2648; [0C BE 34, 05, 05]
-25EC; [0C BA E2, 05, 05]
+2649; [0C BE 3B, 05, 05]
-25ED; [0C BA E9, 05, 05]
+264A; [0C BE 42, 05, 05]
-25EE; [0C BA F0, 05, 05]
+264B; [0C BE 49, 05, 05]
-25EF; [0C BA F7, 05, 05]
+264C; [0C BE 50, 05, 05]
-25F0; [0C BA FE, 05, 05]
+264D; [0C BE 57, 05, 05]
-25F1; [0C BB 07, 05, 05]
+264E; [0C BE 5E, 05, 05]
-25F2; [0C BB 0E, 05, 05]
+264F; [0C BE 65, 05, 05]
-25F3; [0C BB 15, 05, 05]
+2650; [0C BE 6C, 05, 05]
-25F4; [0C BB 1C, 05, 05]
+2651; [0C BE 73, 05, 05]
-25F5; [0C BB 23, 05, 05]
+2652; [0C BE 7A, 05, 05]
-25F6; [0C BB 2A, 05, 05]
+2653; [0C BE 81, 05, 05]
-25F7; [0C BB 31, 05, 05]
+2654; [0C BE 88, 05, 05]
-25F8; [0C BB 38, 05, 05]
+2655; [0C BE 8F, 05, 05]
-25F9; [0C BB 3F, 05, 05]
+2656; [0C BE 96, 05, 05]
-25FA; [0C BB 46, 05, 05]
+2657; [0C BE 9D, 05, 05]
-25FB; [0C BB 4D, 05, 05]
+2658; [0C BE A4, 05, 05]
-25FC; [0C BB 54, 05, 05]
+2659; [0C BE AB, 05, 05]
-25FD; [0C BB 5B, 05, 05]
+265A; [0C BE B2, 05, 05]
-25FE; [0C BB 62, 05, 05]
+265B; [0C BE B9, 05, 05]
-25FF; [0C BB 69, 05, 05]
+265C; [0C BE C0, 05, 05]
-2600; [0C BB 70, 05, 05]
+265D; [0C BE C7, 05, 05]
-2601; [0C BB 77, 05, 05]
+265E; [0C BE CE, 05, 05]
-2602; [0C BB 7E, 05, 05]
+265F; [0C BE D5, 05, 05]
-2603; [0C BB 85, 05, 05]
+2660; [0C BE DC, 05, 05]
-2604; [0C BB 8C, 05, 05]
+2661; [0C BE E3, 05, 05]
-2605; [0C BB 93, 05, 05]
+2662; [0C BE EA, 05, 05]
-2606; [0C BB 9A, 05, 05]
+2663; [0C BE F1, 05, 05]
-2607; [0C BB A1, 05, 05]
+2664; [0C BE F8, 05, 05]
-2608; [0C BB A8, 05, 05]
+2665; [0C BE FF, 05, 05]
-2609; [0C BB AF, 05, 05]
+2666; [0C BF 08, 05, 05]
-260A; [0C BB B6, 05, 05]
+2667; [0C BF 0F, 05, 05]
-260B; [0C BB BD, 05, 05]
+2668; [0C BF 16, 05, 05]
-260C; [0C BB C4, 05, 05]
+2669; [0C BF 1D, 05, 05]
-260D; [0C BB CB, 05, 05]
+266A; [0C BF 24, 05, 05]
-260E; [0C BB D2, 05, 05]
+266B; [0C BF 2B, 05, 05]
-260F; [0C BB D9, 05, 05]
+266C; [0C BF 32, 05, 05]
-2610; [0C BB E0, 05, 05]
+2670; [0C BF 39, 05, 05]
-2611; [0C BB E7, 05, 05]
+2671; [0C BF 40, 05, 05]
-2612; [0C BB EE, 05, 05]
+2672; [0C BF 47, 05, 05]
-2613; [0C BB F5, 05, 05]
+2673; [0C BF 4E, 05, 05]
-2614; [0C BB FC, 05, 05]
+2674; [0C BF 55, 05, 05]
-2615; [0C BC 05, 05, 05]
+2675; [0C BF 5C, 05, 05]
-2616; [0C BC 0C, 05, 05]
+2676; [0C BF 63, 05, 05]
-2617; [0C BC 13, 05, 05]
+2677; [0C BF 6A, 05, 05]
-2618; [0C BC 1A, 05, 05]
+2678; [0C BF 71, 05, 05]
-2619; [0C BC 21, 05, 05]
+2679; [0C BF 78, 05, 05]
-261A; [0C BC 28, 05, 05]
+267A; [0C BF 7F, 05, 05]
-261B; [0C BC 2F, 05, 05]
+267B; [0C BF 86, 05, 05]
-261C; [0C BC 36, 05, 05]
+267C; [0C BF 8D, 05, 05]
-261D; [0C BC 3D, 05, 05]
+267D; [0C BF 94, 05, 05]
-261E; [0C BC 44, 05, 05]
+267E; [0C BF 9B, 05, 05]
-261F; [0C BC 4B, 05, 05]
+267F; [0C BF A2, 05, 05]
-2620; [0C BC 52, 05, 05]
+2680; [0C BF A9, 05, 05]
-2621; [0C BC 59, 05, 05]
+2681; [0C BF B0, 05, 05]
-2622; [0C BC 60, 05, 05]
+2682; [0C BF B7, 05, 05]
-2623; [0C BC 67, 05, 05]
+2683; [0C BF BE, 05, 05]
-2624; [0C BC 6E, 05, 05]
+2684; [0C BF C5, 05, 05]
-2625; [0C BC 75, 05, 05]
+2685; [0C BF CC, 05, 05]
-2626; [0C BC 7C, 05, 05]
+2686; [0C BF D3, 05, 05]
-2627; [0C BC 83, 05, 05]
+2687; [0C BF DA, 05, 05]
-2628; [0C BC 8A, 05, 05]
+2688; [0C BF E1, 05, 05]
-2629; [0C BC 91, 05, 05]
+2689; [0C BF E8, 05, 05]
-262A; [0C BC 98, 05, 05]
+2690; [0C BF EF, 05, 05]
-262B; [0C BC 9F, 05, 05]
+2691; [0C BF F6, 05, 05]
-262C; [0C BC A6, 05, 05]
+2692; [0C BF FD, 05, 05]
-262D; [0C BC AD, 05, 05]
+2693; [0C C0 06, 05, 05]
-262E; [0C BC B4, 05, 05]
+2694; [0C C0 0D, 05, 05]
-262F; [0C BC BB, 05, 05]
+2695; [0C C0 14, 05, 05]
-2638; [0C BC C2, 05, 05]
+2696; [0C C0 1B, 05, 05]
-2639; [0C BC C9, 05, 05]
+2697; [0C C0 22, 05, 05]
-263A; [0C BC D0, 05, 05]
+2698; [0C C0 29, 05, 05]
-263B; [0C BC D7, 05, 05]
+2699; [0C C0 30, 05, 05]
-263C; [0C BC DE, 05, 05]
+269A; [0C C0 37, 05, 05]
-263D; [0C BC E5, 05, 05]
+269B; [0C C0 3E, 05, 05]
-263E; [0C BC EC, 05, 05]
+269C; [0C C0 45, 05, 05]
-263F; [0C BC F3, 05, 05]
+269D; [0C C0 4C, 05, 05]
-2640; [0C BC FA, 05, 05]
+269E; [0C C0 53, 05, 05]
-2641; [0C BD 03, 05, 05]
+269F; [0C C0 5A, 05, 05]
-2642; [0C BD 0A, 05, 05]
+26A0; [0C C0 61, 05, 05]
-2643; [0C BD 11, 05, 05]
+26A1; [0C C0 68, 05, 05]
-2644; [0C BD 18, 05, 05]
+26A2; [0C C0 6F, 05, 05]
-2645; [0C BD 1F, 05, 05]
+26A3; [0C C0 76, 05, 05]
-2646; [0C BD 26, 05, 05]
+26A4; [0C C0 7D, 05, 05]
-2647; [0C BD 2D, 05, 05]
+26A5; [0C C0 84, 05, 05]
-2648; [0C BD 34, 05, 05]
+26A6; [0C C0 8B, 05, 05]
-2649; [0C BD 3B, 05, 05]
+26A7; [0C C0 92, 05, 05]
-264A; [0C BD 42, 05, 05]
+26A8; [0C C0 99, 05, 05]
-264B; [0C BD 49, 05, 05]
+26A9; [0C C0 A0, 05, 05]
-264C; [0C BD 50, 05, 05]
+26AA; [0C C0 A7, 05, 05]
-264D; [0C BD 57, 05, 05]
+26AB; [0C C0 AE, 05, 05]
-264E; [0C BD 5E, 05, 05]
+26AC; [0C C0 B5, 05, 05]
-264F; [0C BD 65, 05, 05]
+26AD; [0C C0 BC, 05, 05]
-2650; [0C BD 6C, 05, 05]
+26AE; [0C C0 C3, 05, 05]
-2651; [0C BD 73, 05, 05]
+26AF; [0C C0 CA, 05, 05]
-2652; [0C BD 7A, 05, 05]
+26B0; [0C C0 D1, 05, 05]
-2653; [0C BD 81, 05, 05]
+26B1; [0C C0 D8, 05, 05]
-2654; [0C BD 88, 05, 05]
+26B2; [0C C0 DF, 05, 05]
-2655; [0C BD 8F, 05, 05]
+26B3; [0C C0 E6, 05, 05]
-2656; [0C BD 96, 05, 05]
+26B4; [0C C0 ED, 05, 05]
-2657; [0C BD 9D, 05, 05]
+26B5; [0C C0 F4, 05, 05]
-2658; [0C BD A4, 05, 05]
+26B6; [0C C0 FB, 05, 05]
-2659; [0C BD AB, 05, 05]
+26B7; [0C C1 04, 05, 05]
-265A; [0C BD B2, 05, 05]
+26B8; [0C C1 0B, 05, 05]
-265B; [0C BD B9, 05, 05]
+26B9; [0C C1 12, 05, 05]
-265C; [0C BD C0, 05, 05]
+26BA; [0C C1 19, 05, 05]
-265D; [0C BD C7, 05, 05]
+26BB; [0C C1 20, 05, 05]
-265E; [0C BD CE, 05, 05]
+26BC; [0C C1 27, 05, 05]
-265F; [0C BD D5, 05, 05]
+26BD; [0C C1 2E, 05, 05]
-2660; [0C BD DC, 05, 05]
+26BE; [0C C1 35, 05, 05]
-2661; [0C BD E3, 05, 05]
+26BF; [0C C1 3C, 05, 05]
-2662; [0C BD EA, 05, 05]
+26C0; [0C C1 43, 05, 05]
-2663; [0C BD F1, 05, 05]
+26C1; [0C C1 4A, 05, 05]
-2664; [0C BD F8, 05, 05]
+26C2; [0C C1 51, 05, 05]
-2665; [0C BD FF, 05, 05]
+26C3; [0C C1 58, 05, 05]
-2666; [0C BE 08, 05, 05]
+26C4; [0C C1 5F, 05, 05]
-2667; [0C BE 0F, 05, 05]
+26C5; [0C C1 66, 05, 05]
-2668; [0C BE 16, 05, 05]
+26C6; [0C C1 6D, 05, 05]
-2669; [0C BE 1D, 05, 05]
+26C7; [0C C1 74, 05, 05]
-266A; [0C BE 24, 05, 05]
+26C8; [0C C1 7B, 05, 05]
-266B; [0C BE 2B, 05, 05]
+26C9; [0C C1 82, 05, 05]
-266C; [0C BE 32, 05, 05]
+26CA; [0C C1 89, 05, 05]
-2670; [0C BE 39, 05, 05]
+26CB; [0C C1 90, 05, 05]
-2671; [0C BE 40, 05, 05]
+26CC; [0C C1 97, 05, 05]
-2672; [0C BE 47, 05, 05]
+26CD; [0C C1 9E, 05, 05]
-2673; [0C BE 4E, 05, 05]
+26CE; [0C C1 A5, 05, 05]
-2674; [0C BE 55, 05, 05]
+26CF; [0C C1 AC, 05, 05]
-2675; [0C BE 5C, 05, 05]
+26D0; [0C C1 B3, 05, 05]
-2676; [0C BE 63, 05, 05]
+26D1; [0C C1 BA, 05, 05]
-2677; [0C BE 6A, 05, 05]
+26D2; [0C C1 C1, 05, 05]
-2678; [0C BE 71, 05, 05]
+26D3; [0C C1 C8, 05, 05]
-2679; [0C BE 78, 05, 05]
+26D4; [0C C1 CF, 05, 05]
-267A; [0C BE 7F, 05, 05]
+26D5; [0C C1 D6, 05, 05]
-267B; [0C BE 86, 05, 05]
+26D6; [0C C1 DD, 05, 05]
-267C; [0C BE 8D, 05, 05]
+26D7; [0C C1 E4, 05, 05]
-267D; [0C BE 94, 05, 05]
+26D8; [0C C1 EB, 05, 05]
-267E; [0C BE 9B, 05, 05]
+26D9; [0C C1 F2, 05, 05]
-267F; [0C BE A2, 05, 05]
+26DA; [0C C1 F9, 05, 05]
-2680; [0C BE A9, 05, 05]
+26DB; [0C C2 02, 05, 05]
-2681; [0C BE B0, 05, 05]
+26DC; [0C C2 09, 05, 05]
-2682; [0C BE B7, 05, 05]
+26DD; [0C C2 10, 05, 05]
-2683; [0C BE BE, 05, 05]
+26DE; [0C C2 17, 05, 05]
-2684; [0C BE C5, 05, 05]
+26DF; [0C C2 1E, 05, 05]
-2685; [0C BE CC, 05, 05]
+26E0; [0C C2 25, 05, 05]
-2686; [0C BE D3, 05, 05]
+26E1; [0C C2 2C, 05, 05]
-2687; [0C BE DA, 05, 05]
+26E2; [0C C2 33, 05, 05]
-2688; [0C BE E1, 05, 05]
+26E3; [0C C2 3A, 05, 05]
-2689; [0C BE E8, 05, 05]
+26E4; [0C C2 41, 05, 05]
-2690; [0C BE EF, 05, 05]
+26E5; [0C C2 48, 05, 05]
-2691; [0C BE F6, 05, 05]
+26E6; [0C C2 4F, 05, 05]
-2692; [0C BE FD, 05, 05]
+26E7; [0C C2 56, 05, 05]
-2693; [0C BF 06, 05, 05]
+26E8; [0C C2 5D, 05, 05]
-2694; [0C BF 0D, 05, 05]
+26E9; [0C C2 64, 05, 05]
-2695; [0C BF 14, 05, 05]
+26EA; [0C C2 6B, 05, 05]
-2696; [0C BF 1B, 05, 05]
+26EB; [0C C2 72, 05, 05]
-2697; [0C BF 22, 05, 05]
+26EC; [0C C2 79, 05, 05]
-2698; [0C BF 29, 05, 05]
+26ED; [0C C2 80, 05, 05]
-2699; [0C BF 30, 05, 05]
+26EE; [0C C2 87, 05, 05]
-269A; [0C BF 37, 05, 05]
+26EF; [0C C2 8E, 05, 05]
-269B; [0C BF 3E, 05, 05]
+26F0; [0C C2 95, 05, 05]
-269C; [0C BF 45, 05, 05]
+26F1; [0C C2 9C, 05, 05]
-269D; [0C BF 4C, 05, 05]
+26F2; [0C C2 A3, 05, 05]
-269E; [0C BF 53, 05, 05]
+26F3; [0C C2 AA, 05, 05]
-269F; [0C BF 5A, 05, 05]
+26F4; [0C C2 B1, 05, 05]
-26A0; [0C BF 61, 05, 05]
+26F5; [0C C2 B8, 05, 05]
-26A1; [0C BF 68, 05, 05]
+26F6; [0C C2 BF, 05, 05]
-26A2; [0C BF 6F, 05, 05]
+26F7; [0C C2 C6, 05, 05]
-26A3; [0C BF 76, 05, 05]
+26F8; [0C C2 CD, 05, 05]
-26A4; [0C BF 7D, 05, 05]
+26F9; [0C C2 D4, 05, 05]
-26A5; [0C BF 84, 05, 05]
+26FA; [0C C2 DB, 05, 05]
-26A6; [0C BF 8B, 05, 05]
+26FB; [0C C2 E2, 05, 05]
-26A7; [0C BF 92, 05, 05]
+26FC; [0C C2 E9, 05, 05]
-26A8; [0C BF 99, 05, 05]
+26FD; [0C C2 F0, 05, 05]
-26A9; [0C BF A0, 05, 05]
+26FE; [0C C2 F7, 05, 05]
-26AA; [0C BF A7, 05, 05]
+26FF; [0C C2 FE, 05, 05]
-26AB; [0C BF AE, 05, 05]
+1F1E6; [0C C3 07, 05, 05]
-26AC; [0C BF B5, 05, 05]
+1F1E7; [0C C3 0E, 05, 05]
-26AD; [0C BF BC, 05, 05]
+1F1E8; [0C C3 15, 05, 05]
-26AE; [0C BF C3, 05, 05]
+1F1E9; [0C C3 1C, 05, 05]
-26AF; [0C BF CA, 05, 05]
+1F1EA; [0C C3 23, 05, 05]
-26B0; [0C BF D1, 05, 05]
+1F1EB; [0C C3 2A, 05, 05]
-26B1; [0C BF D8, 05, 05]
+1F1EC; [0C C3 31, 05, 05]
-26B2; [0C BF DF, 05, 05]
+1F1ED; [0C C3 38, 05, 05]
-26B3; [0C BF E6, 05, 05]
+1F1EE; [0C C3 3F, 05, 05]
-26B4; [0C BF ED, 05, 05]
+1F1EF; [0C C3 46, 05, 05]
-26B5; [0C BF F4, 05, 05]
+1F1F0; [0C C3 4D, 05, 05]
-26B6; [0C BF FB, 05, 05]
+1F1F1; [0C C3 54, 05, 05]
-26B7; [0C C0 04, 05, 05]
+1F1F2; [0C C3 5B, 05, 05]
-26B8; [0C C0 0B, 05, 05]
+1F1F3; [0C C3 62, 05, 05]
-26B9; [0C C0 12, 05, 05]
+1F1F4; [0C C3 69, 05, 05]
-26BA; [0C C0 19, 05, 05]
+1F1F5; [0C C3 70, 05, 05]
-26BB; [0C C0 20, 05, 05]
+1F1F6; [0C C3 77, 05, 05]
-26BC; [0C C0 27, 05, 05]
+1F1F7; [0C C3 7E, 05, 05]
-26BD; [0C C0 2E, 05, 05]
+1F1F8; [0C C3 85, 05, 05]
-26BE; [0C C0 35, 05, 05]
+1F1F9; [0C C3 8C, 05, 05]
-26BF; [0C C0 3C, 05, 05]
+1F1FA; [0C C3 93, 05, 05]
-26C0; [0C C0 43, 05, 05]
+1F1FB; [0C C3 9A, 05, 05]
-26C1; [0C C0 4A, 05, 05]
+1F1FC; [0C C3 A1, 05, 05]
-26C2; [0C C0 51, 05, 05]
+1F1FD; [0C C3 A8, 05, 05]
-26C3; [0C C0 58, 05, 05]
+1F1FE; [0C C3 AF, 05, 05]
-26C4; [0C C0 5F, 05, 05]
+1F1FF; [0C C3 B6, 05, 05]
-26C5; [0C C0 66, 05, 05]
+2700; [0C C3 BD, 05, 05]
-26C6; [0C C0 6D, 05, 05]
+2701; [0C C3 C4, 05, 05]
-26C7; [0C C0 74, 05, 05]
+2702; [0C C3 CB, 05, 05]
-26C8; [0C C0 7B, 05, 05]
+2703; [0C C3 D2, 05, 05]
-26C9; [0C C0 82, 05, 05]
+2704; [0C C3 D9, 05, 05]
-26CA; [0C C0 89, 05, 05]
+2705; [0C C3 E0, 05, 05]
-26CB; [0C C0 90, 05, 05]
+2706; [0C C3 E7, 05, 05]
-26CC; [0C C0 97, 05, 05]
+2707; [0C C3 EE, 05, 05]
-26CD; [0C C0 9E, 05, 05]
+2708; [0C C3 F5, 05, 05]
-26CE; [0C C0 A5, 05, 05]
+2709; [0C C3 FC, 05, 05]
-26CF; [0C C0 AC, 05, 05]
+270A; [0C C4 05, 05, 05]
-26D0; [0C C0 B3, 05, 05]
+270B; [0C C4 0C, 05, 05]
-26D1; [0C C0 BA, 05, 05]
+270C; [0C C4 13, 05, 05]
-26D2; [0C C0 C1, 05, 05]
+270D; [0C C4 1A, 05, 05]
-26D3; [0C C0 C8, 05, 05]
+270E; [0C C4 21, 05, 05]
-26D4; [0C C0 CF, 05, 05]
+270F; [0C C4 28, 05, 05]
-26D5; [0C C0 D6, 05, 05]
+2710; [0C C4 2F, 05, 05]
-26D6; [0C C0 DD, 05, 05]
+2711; [0C C4 36, 05, 05]
-26D7; [0C C0 E4, 05, 05]
+2712; [0C C4 3D, 05, 05]
-26D8; [0C C0 EB, 05, 05]
+2713; [0C C4 44, 05, 05]
-26D9; [0C C0 F2, 05, 05]
+2714; [0C C4 4B, 05, 05]
-26DA; [0C C0 F9, 05, 05]
+2715; [0C C4 52, 05, 05]
-26DB; [0C C1 02, 05, 05]
+2716; [0C C4 59, 05, 05]
-26DC; [0C C1 09, 05, 05]
+2717; [0C C4 60, 05, 05]
-26DD; [0C C1 10, 05, 05]
+2718; [0C C4 67, 05, 05]
-26DE; [0C C1 17, 05, 05]
+2719; [0C C4 6E, 05, 05]
-26DF; [0C C1 1E, 05, 05]
+271A; [0C C4 75, 05, 05]
-26E0; [0C C1 25, 05, 05]
+271B; [0C C4 7C, 05, 05]
-26E1; [0C C1 2C, 05, 05]
+271C; [0C C4 83, 05, 05]
-26E2; [0C C1 33, 05, 05]
+271D; [0C C4 8A, 05, 05]
-26E3; [0C C1 3A, 05, 05]
+271E; [0C C4 91, 05, 05]
-26E4; [0C C1 41, 05, 05]
+271F; [0C C4 98, 05, 05]
-26E5; [0C C1 48, 05, 05]
+2720; [0C C4 9F, 05, 05]
-26E6; [0C C1 4F, 05, 05]
+2721; [0C C4 A6, 05, 05]
-26E7; [0C C1 56, 05, 05]
+2722; [0C C4 AD, 05, 05]
-26E8; [0C C1 5D, 05, 05]
+2723; [0C C4 B4, 05, 05]
-26E9; [0C C1 64, 05, 05]
+2724; [0C C4 BB, 05, 05]
-26EA; [0C C1 6B, 05, 05]
+2725; [0C C4 C2, 05, 05]
-26EB; [0C C1 72, 05, 05]
+2726; [0C C4 C9, 05, 05]
-26EC; [0C C1 79, 05, 05]
+2727; [0C C4 D0, 05, 05]
-26ED; [0C C1 80, 05, 05]
+2728; [0C C4 D7, 05, 05]
-26EE; [0C C1 87, 05, 05]
+2729; [0C C4 DE, 05, 05]
-26EF; [0C C1 8E, 05, 05]
+272A; [0C C4 E5, 05, 05]
-26F0; [0C C1 95, 05, 05]
+272B; [0C C4 EC, 05, 05]
-26F1; [0C C1 9C, 05, 05]
+272C; [0C C4 F3, 05, 05]
-26F2; [0C C1 A3, 05, 05]
+272D; [0C C4 FA, 05, 05]
-26F3; [0C C1 AA, 05, 05]
+272E; [0C C5 03, 05, 05]
-26F4; [0C C1 B1, 05, 05]
+272F; [0C C5 0A, 05, 05]
-26F5; [0C C1 B8, 05, 05]
+2730; [0C C5 11, 05, 05]
-26F6; [0C C1 BF, 05, 05]
+2731; [0C C5 18, 05, 05]
-26F7; [0C C1 C6, 05, 05]
+2732; [0C C5 1F, 05, 05]
-26F8; [0C C1 CD, 05, 05]
+2733; [0C C5 26, 05, 05]
-26F9; [0C C1 D4, 05, 05]
+2734; [0C C5 2D, 05, 05]
-26FA; [0C C1 DB, 05, 05]
+2735; [0C C5 34, 05, 05]
-26FB; [0C C1 E2, 05, 05]
+2736; [0C C5 3B, 05, 05]
-26FC; [0C C1 E9, 05, 05]
+2737; [0C C5 42, 05, 05]
-26FD; [0C C1 F0, 05, 05]
+2738; [0C C5 49, 05, 05]
-26FE; [0C C1 F7, 05, 05]
+2739; [0C C5 50, 05, 05]
-26FF; [0C C1 FE, 05, 05]
+273A; [0C C5 57, 05, 05]
-1F1E6; [0C C2 07, 05, 05]
+273B; [0C C5 5E, 05, 05]
-1F1E7; [0C C2 0E, 05, 05]
+273C; [0C C5 65, 05, 05]
-1F1E8; [0C C2 15, 05, 05]
+273D; [0C C5 6C, 05, 05]
-1F1E9; [0C C2 1C, 05, 05]
+273E; [0C C5 73, 05, 05]
-1F1EA; [0C C2 23, 05, 05]
+273F; [0C C5 7A, 05, 05]
-1F1EB; [0C C2 2A, 05, 05]
+2740; [0C C5 81, 05, 05]
-1F1EC; [0C C2 31, 05, 05]
+2741; [0C C5 88, 05, 05]
-1F1ED; [0C C2 38, 05, 05]
+2742; [0C C5 8F, 05, 05]
-1F1EE; [0C C2 3F, 05, 05]
+2743; [0C C5 96, 05, 05]
-1F1EF; [0C C2 46, 05, 05]
+2744; [0C C5 9D, 05, 05]
-1F1F0; [0C C2 4D, 05, 05]
+2745; [0C C5 A4, 05, 05]
-1F1F1; [0C C2 54, 05, 05]
+2746; [0C C5 AB, 05, 05]
-1F1F2; [0C C2 5B, 05, 05]
+2747; [0C C5 B2, 05, 05]
-1F1F3; [0C C2 62, 05, 05]
+2748; [0C C5 B9, 05, 05]
-1F1F4; [0C C2 69, 05, 05]
+2749; [0C C5 C0, 05, 05]
-1F1F5; [0C C2 70, 05, 05]
+274A; [0C C5 C7, 05, 05]
-1F1F6; [0C C2 77, 05, 05]
+274B; [0C C5 CE, 05, 05]
-1F1F7; [0C C2 7E, 05, 05]
+274C; [0C C5 D5, 05, 05]
-1F1F8; [0C C2 85, 05, 05]
+274D; [0C C5 DC, 05, 05]
-1F1F9; [0C C2 8C, 05, 05]
+274E; [0C C5 E3, 05, 05]
-1F1FA; [0C C2 93, 05, 05]
+274F; [0C C5 EA, 05, 05]
-1F1FB; [0C C2 9A, 05, 05]
+2750; [0C C5 F1, 05, 05]
-1F1FC; [0C C2 A1, 05, 05]
+2751; [0C C5 F8, 05, 05]
-1F1FD; [0C C2 A8, 05, 05]
+2752; [0C C5 FF, 05, 05]
-1F1FE; [0C C2 AF, 05, 05]
+2753; [0C C6 08, 05, 05]
-1F1FF; [0C C2 B6, 05, 05]
+2754; [0C C6 0F, 05, 05]
-2700; [0C C2 BD, 05, 05]
+2755; [0C C6 16, 05, 05]
-2701; [0C C2 C4, 05, 05]
+2756; [0C C6 1D, 05, 05]
-2702; [0C C2 CB, 05, 05]
+2757; [0C C6 24, 05, 05]
-2703; [0C C2 D2, 05, 05]
+2758; [0C C6 2B, 05, 05]
-2704; [0C C2 D9, 05, 05]
+2759; [0C C6 32, 05, 05]
-2705; [0C C2 E0, 05, 05]
+275A; [0C C6 39, 05, 05]
-2706; [0C C2 E7, 05, 05]
+275B; [0C C6 40, 05, 05]
-2707; [0C C2 EE, 05, 05]
+275C; [0C C6 47, 05, 05]
-2708; [0C C2 F5, 05, 05]
+275D; [0C C6 4E, 05, 05]
-2709; [0C C2 FC, 05, 05]
+275E; [0C C6 55, 05, 05]
-270A; [0C C3 05, 05, 05]
+275F; [0C C6 5C, 05, 05]
-270B; [0C C3 0C, 05, 05]
+2760; [0C C6 63, 05, 05]
-270C; [0C C3 13, 05, 05]
+2761; [0C C6 6A, 05, 05]
-270D; [0C C3 1A, 05, 05]
+2762; [0C C6 71, 05, 05]
-270E; [0C C3 21, 05, 05]
+2763; [0C C6 78, 05, 05]
-270F; [0C C3 28, 05, 05]
+2764; [0C C6 7F, 05, 05]
-2710; [0C C3 2F, 05, 05]
+2765; [0C C6 86, 05, 05]
-2711; [0C C3 36, 05, 05]
+2766; [0C C6 8D, 05, 05]
-2712; [0C C3 3D, 05, 05]
+2767; [0C C6 94, 05, 05]
-2713; [0C C3 44, 05, 05]
+2794; [0C C6 9B, 05, 05]
-2714; [0C C3 4B, 05, 05]
+2795; [0C C6 A2, 05, 05]
-2715; [0C C3 52, 05, 05]
+2796; [0C C6 A9, 05, 05]
-2716; [0C C3 59, 05, 05]
+2797; [0C C6 B0, 05, 05]
-2717; [0C C3 60, 05, 05]
+2798; [0C C6 B7, 05, 05]
-2718; [0C C3 67, 05, 05]
+2799; [0C C6 BE, 05, 05]
-2719; [0C C3 6E, 05, 05]
+279A; [0C C6 C5, 05, 05]
-271A; [0C C3 75, 05, 05]
+279B; [0C C6 CC, 05, 05]
-271B; [0C C3 7C, 05, 05]
+279C; [0C C6 D3, 05, 05]
-271C; [0C C3 83, 05, 05]
+279D; [0C C6 DA, 05, 05]
-271D; [0C C3 8A, 05, 05]
+279E; [0C C6 E1, 05, 05]
-271E; [0C C3 91, 05, 05]
+279F; [0C C6 E8, 05, 05]
-271F; [0C C3 98, 05, 05]
+27A0; [0C C6 EF, 05, 05]
-2720; [0C C3 9F, 05, 05]
+27A1; [0C C6 F6, 05, 05]
-2721; [0C C3 A6, 05, 05]
+27A2; [0C C6 FD, 05, 05]
-2722; [0C C3 AD, 05, 05]
+27A3; [0C C7 06, 05, 05]
-2723; [0C C3 B4, 05, 05]
+27A4; [0C C7 0D, 05, 05]
-2724; [0C C3 BB, 05, 05]
+27A5; [0C C7 14, 05, 05]
-2725; [0C C3 C2, 05, 05]
+27A6; [0C C7 1B, 05, 05]
-2726; [0C C3 C9, 05, 05]
+27A7; [0C C7 22, 05, 05]
-2727; [0C C3 D0, 05, 05]
+27A8; [0C C7 29, 05, 05]
-2728; [0C C3 D7, 05, 05]
+27A9; [0C C7 30, 05, 05]
-2729; [0C C3 DE, 05, 05]
+27AA; [0C C7 37, 05, 05]
-272A; [0C C3 E5, 05, 05]
+27AB; [0C C7 3E, 05, 05]
-272B; [0C C3 EC, 05, 05]
+27AC; [0C C7 45, 05, 05]
-272C; [0C C3 F3, 05, 05]
+27AD; [0C C7 4C, 05, 05]
-272D; [0C C3 FA, 05, 05]
+27AE; [0C C7 53, 05, 05]
-272E; [0C C4 03, 05, 05]
+27AF; [0C C7 5A, 05, 05]
-272F; [0C C4 0A, 05, 05]
+27B0; [0C C7 61, 05, 05]
-2730; [0C C4 11, 05, 05]
+27B1; [0C C7 68, 05, 05]
-2731; [0C C4 18, 05, 05]
+27B2; [0C C7 6F, 05, 05]
-2732; [0C C4 1F, 05, 05]
+27B3; [0C C7 76, 05, 05]
-2733; [0C C4 26, 05, 05]
+27B4; [0C C7 7D, 05, 05]
-2734; [0C C4 2D, 05, 05]
+27B5; [0C C7 84, 05, 05]
-2735; [0C C4 34, 05, 05]
+27B6; [0C C7 8B, 05, 05]
-2736; [0C C4 3B, 05, 05]
+27B7; [0C C7 92, 05, 05]
-2737; [0C C4 42, 05, 05]
+27B8; [0C C7 99, 05, 05]
-2738; [0C C4 49, 05, 05]
+27B9; [0C C7 A0, 05, 05]
-2739; [0C C4 50, 05, 05]
+27BA; [0C C7 A7, 05, 05]
-273A; [0C C4 57, 05, 05]
+27BB; [0C C7 AE, 05, 05]
-273B; [0C C4 5E, 05, 05]
+27BC; [0C C7 B5, 05, 05]
-273C; [0C C4 65, 05, 05]
+27BD; [0C C7 BC, 05, 05]
-273D; [0C C4 6C, 05, 05]
+27BE; [0C C7 C3, 05, 05]
-273E; [0C C4 73, 05, 05]
+27BF; [0C C7 CA, 05, 05]
-273F; [0C C4 7A, 05, 05]
+27C0; [0C C7 D1, 05, 05]
-2740; [0C C4 81, 05, 05]
+27C1; [0C C7 D8, 05, 05]
-2741; [0C C4 88, 05, 05]
+27C2; [0C C7 DF, 05, 05]
-2742; [0C C4 8F, 05, 05]
+27C3; [0C C7 E6, 05, 05]
-2743; [0C C4 96, 05, 05]
+27C4; [0C C7 ED, 05, 05]
-2744; [0C C4 9D, 05, 05]
+27C7; [0C C7 F4, 05, 05]
-2745; [0C C4 A4, 05, 05]
+27C8; [0C C7 FB, 05, 05]
-2746; [0C C4 AB, 05, 05]
+27C9; [0C C8 04, 05, 05]
-2747; [0C C4 B2, 05, 05]
+27CA; [0C C8 0B, 05, 05]
-2748; [0C C4 B9, 05, 05]
+27CB; [0C C8 12, 05, 05]
-2749; [0C C4 C0, 05, 05]
+27CC; [0C C8 19, 05, 05]
-274A; [0C C4 C7, 05, 05]
+27CD; [0C C8 20, 05, 05]
-274B; [0C C4 CE, 05, 05]
+27CE; [0C C8 27, 05, 05]
-274C; [0C C4 D5, 05, 05]
+27CF; [0C C8 2E, 05, 05]
-274D; [0C C4 DC, 05, 05]
+27D0; [0C C8 35, 05, 05]
-274E; [0C C4 E3, 05, 05]
+27D1; [0C C8 3C, 05, 05]
-274F; [0C C4 EA, 05, 05]
+27D2; [0C C8 43, 05, 05]
-2750; [0C C4 F1, 05, 05]
+27D3; [0C C8 4A, 05, 05]
-2751; [0C C4 F8, 05, 05]
+27D4; [0C C8 51, 05, 05]
-2752; [0C C4 FF, 05, 05]
+27D5; [0C C8 58, 05, 05]
-2753; [0C C5 08, 05, 05]
+27D6; [0C C8 5F, 05, 05]
-2754; [0C C5 0F, 05, 05]
+27D7; [0C C8 66, 05, 05]
-2755; [0C C5 16, 05, 05]
+27D8; [0C C8 6D, 05, 05]
-2756; [0C C5 1D, 05, 05]
+27D9; [0C C8 74, 05, 05]
-2757; [0C C5 24, 05, 05]
+27DA; [0C C8 7B, 05, 05]
-2758; [0C C5 2B, 05, 05]
+27DB; [0C C8 82, 05, 05]
-2759; [0C C5 32, 05, 05]
+27DC; [0C C8 89, 05, 05]
-275A; [0C C5 39, 05, 05]
+27DD; [0C C8 90, 05, 05]
-275B; [0C C5 40, 05, 05]
+27DE; [0C C8 97, 05, 05]
-275C; [0C C5 47, 05, 05]
+27DF; [0C C8 9E, 05, 05]
-275D; [0C C5 4E, 05, 05]
+27E0; [0C C8 A5, 05, 05]
-275E; [0C C5 55, 05, 05]
+27E1; [0C C8 AC, 05, 05]
-275F; [0C C5 5C, 05, 05]
+27E2; [0C C8 B3, 05, 05]
-2760; [0C C5 63, 05, 05]
+27E3; [0C C8 BA, 05, 05]
-2761; [0C C5 6A, 05, 05]
+27E4; [0C C8 C1, 05, 05]
-2762; [0C C5 71, 05, 05]
+27E5; [0C C8 C8, 05, 05]
-2763; [0C C5 78, 05, 05]
+27F0; [0C C8 CF, 05, 05]
-2764; [0C C5 7F, 05, 05]
+27F1; [0C C8 D6, 05, 05]
-2765; [0C C5 86, 05, 05]
+27F2; [0C C8 DD, 05, 05]
-2766; [0C C5 8D, 05, 05]
+27F3; [0C C8 E4, 05, 05]
-2767; [0C C5 94, 05, 05]
+27F4; [0C C8 EB, 05, 05]
-2794; [0C C5 9B, 05, 05]
+27F5; [0C C8 F2, 05, 05]
-2795; [0C C5 A2, 05, 05]
+27F6; [0C C8 F9, 05, 05]
-2796; [0C C5 A9, 05, 05]
+27F7; [0C C9 02, 05, 05]
-2797; [0C C5 B0, 05, 05]
+27F8; [0C C9 09, 05, 05]
-2798; [0C C5 B7, 05, 05]
+27F9; [0C C9 10, 05, 05]
-2799; [0C C5 BE, 05, 05]
+27FA; [0C C9 17, 05, 05]
-279A; [0C C5 C5, 05, 05]
+27FB; [0C C9 1E, 05, 05]
-279B; [0C C5 CC, 05, 05]
+27FC; [0C C9 25, 05, 05]
-279C; [0C C5 D3, 05, 05]
+27FD; [0C C9 2C, 05, 05]
-279D; [0C C5 DA, 05, 05]
+27FE; [0C C9 33, 05, 05]
-279E; [0C C5 E1, 05, 05]
+27FF; [0C C9 3A, 05, 05]
-279F; [0C C5 E8, 05, 05]
+2900; [0C C9 41, 05, 05]
-27A0; [0C C5 EF, 05, 05]
+2901; [0C C9 48, 05, 05]
-27A1; [0C C5 F6, 05, 05]
+2902; [0C C9 4F, 05, 05]
-27A2; [0C C5 FD, 05, 05]
+2903; [0C C9 56, 05, 05]
-27A3; [0C C6 06, 05, 05]
+2904; [0C C9 5D, 05, 05]
-27A4; [0C C6 0D, 05, 05]
+2905; [0C C9 64, 05, 05]
-27A5; [0C C6 14, 05, 05]
+2906; [0C C9 6B, 05, 05]
-27A6; [0C C6 1B, 05, 05]
+2907; [0C C9 72, 05, 05]
-27A7; [0C C6 22, 05, 05]
+2908; [0C C9 79, 05, 05]
-27A8; [0C C6 29, 05, 05]
+2909; [0C C9 80, 05, 05]
-27A9; [0C C6 30, 05, 05]
+290A; [0C C9 87, 05, 05]
-27AA; [0C C6 37, 05, 05]
+290B; [0C C9 8E, 05, 05]
-27AB; [0C C6 3E, 05, 05]
+290C; [0C C9 95, 05, 05]
-27AC; [0C C6 45, 05, 05]
+290D; [0C C9 9C, 05, 05]
-27AD; [0C C6 4C, 05, 05]
+290E; [0C C9 A3, 05, 05]
-27AE; [0C C6 53, 05, 05]
+290F; [0C C9 AA, 05, 05]
-27AF; [0C C6 5A, 05, 05]
+2910; [0C C9 B1, 05, 05]
-27B0; [0C C6 61, 05, 05]
+2911; [0C C9 B8, 05, 05]
-27B1; [0C C6 68, 05, 05]
+2912; [0C C9 BF, 05, 05]
-27B2; [0C C6 6F, 05, 05]
+2913; [0C C9 C6, 05, 05]
-27B3; [0C C6 76, 05, 05]
+2914; [0C C9 CD, 05, 05]
-27B4; [0C C6 7D, 05, 05]
+2915; [0C C9 D4, 05, 05]
-27B5; [0C C6 84, 05, 05]
+2916; [0C C9 DB, 05, 05]
-27B6; [0C C6 8B, 05, 05]
+2917; [0C C9 E2, 05, 05]
-27B7; [0C C6 92, 05, 05]
+2918; [0C C9 E9, 05, 05]
-27B8; [0C C6 99, 05, 05]
+2919; [0C C9 F0, 05, 05]
-27B9; [0C C6 A0, 05, 05]
+291A; [0C C9 F7, 05, 05]
-27BA; [0C C6 A7, 05, 05]
+291B; [0C C9 FE, 05, 05]
-27BB; [0C C6 AE, 05, 05]
+291C; [0C CA 07, 05, 05]
-27BC; [0C C6 B5, 05, 05]
+291D; [0C CA 0E, 05, 05]
-27BD; [0C C6 BC, 05, 05]
+291E; [0C CA 15, 05, 05]
-27BE; [0C C6 C3, 05, 05]
+291F; [0C CA 1C, 05, 05]
-27BF; [0C C6 CA, 05, 05]
+2920; [0C CA 23, 05, 05]
-27C0; [0C C6 D1, 05, 05]
+2921; [0C CA 2A, 05, 05]
-27C1; [0C C6 D8, 05, 05]
+2922; [0C CA 31, 05, 05]
-27C2; [0C C6 DF, 05, 05]
+2923; [0C CA 38, 05, 05]
-27C3; [0C C6 E6, 05, 05]
+2924; [0C CA 3F, 05, 05]
-27C4; [0C C6 ED, 05, 05]
+2925; [0C CA 46, 05, 05]
-27C7; [0C C6 F4, 05, 05]
+2926; [0C CA 4D, 05, 05]
-27C8; [0C C6 FB, 05, 05]
+2927; [0C CA 54, 05, 05]
-27C9; [0C C7 04, 05, 05]
+2928; [0C CA 5B, 05, 05]
-27CA; [0C C7 0B, 05, 05]
+2929; [0C CA 62, 05, 05]
-27CB; [0C C7 12, 05, 05]
+292A; [0C CA 69, 05, 05]
-27CC; [0C C7 19, 05, 05]
+292B; [0C CA 70, 05, 05]
-27CD; [0C C7 20, 05, 05]
+292C; [0C CA 77, 05, 05]
-27CE; [0C C7 27, 05, 05]
+292D; [0C CA 7E, 05, 05]
-27CF; [0C C7 2E, 05, 05]
+292E; [0C CA 85, 05, 05]
-27D0; [0C C7 35, 05, 05]
+292F; [0C CA 8C, 05, 05]
-27D1; [0C C7 3C, 05, 05]
+2930; [0C CA 93, 05, 05]
-27D2; [0C C7 43, 05, 05]
+2931; [0C CA 9A, 05, 05]
-27D3; [0C C7 4A, 05, 05]
+2932; [0C CA A1, 05, 05]
-27D4; [0C C7 51, 05, 05]
+2933; [0C CA A8, 05, 05]
-27D5; [0C C7 58, 05, 05]
+2934; [0C CA AF, 05, 05]
-27D6; [0C C7 5F, 05, 05]
+2935; [0C CA B6, 05, 05]
-27D7; [0C C7 66, 05, 05]
+2936; [0C CA BD, 05, 05]
-27D8; [0C C7 6D, 05, 05]
+2937; [0C CA C4, 05, 05]
-27D9; [0C C7 74, 05, 05]
+2938; [0C CA CB, 05, 05]
-27DA; [0C C7 7B, 05, 05]
+2939; [0C CA D2, 05, 05]
-27DB; [0C C7 82, 05, 05]
+293A; [0C CA D9, 05, 05]
-27DC; [0C C7 89, 05, 05]
+293B; [0C CA E0, 05, 05]
-27DD; [0C C7 90, 05, 05]
+293C; [0C CA E7, 05, 05]
-27DE; [0C C7 97, 05, 05]
+293D; [0C CA EE, 05, 05]
-27DF; [0C C7 9E, 05, 05]
+293E; [0C CA F5, 05, 05]
-27E0; [0C C7 A5, 05, 05]
+293F; [0C CA FC, 05, 05]
-27E1; [0C C7 AC, 05, 05]
+2940; [0C CB 05, 05, 05]
-27E2; [0C C7 B3, 05, 05]
+2941; [0C CB 0C, 05, 05]
-27E3; [0C C7 BA, 05, 05]
+2942; [0C CB 13, 05, 05]
-27E4; [0C C7 C1, 05, 05]
+2943; [0C CB 1A, 05, 05]
-27E5; [0C C7 C8, 05, 05]
+2944; [0C CB 21, 05, 05]
-27F0; [0C C7 CF, 05, 05]
+2945; [0C CB 28, 05, 05]
-27F1; [0C C7 D6, 05, 05]
+2946; [0C CB 2F, 05, 05]
-27F2; [0C C7 DD, 05, 05]
+2947; [0C CB 36, 05, 05]
-27F3; [0C C7 E4, 05, 05]
+2948; [0C CB 3D, 05, 05]
-27F4; [0C C7 EB, 05, 05]
+2949; [0C CB 44, 05, 05]
-27F5; [0C C7 F2, 05, 05]
+294A; [0C CB 4B, 05, 05]
-27F6; [0C C7 F9, 05, 05]
+294B; [0C CB 52, 05, 05]
-27F7; [0C C8 02, 05, 05]
+294C; [0C CB 59, 05, 05]
-27F8; [0C C8 09, 05, 05]
+294D; [0C CB 60, 05, 05]
-27F9; [0C C8 10, 05, 05]
+294E; [0C CB 67, 05, 05]
-27FA; [0C C8 17, 05, 05]
+294F; [0C CB 6E, 05, 05]
-27FB; [0C C8 1E, 05, 05]
+2950; [0C CB 75, 05, 05]
-27FC; [0C C8 25, 05, 05]
+2951; [0C CB 7C, 05, 05]
-27FD; [0C C8 2C, 05, 05]
+2952; [0C CB 83, 05, 05]
-27FE; [0C C8 33, 05, 05]
+2953; [0C CB 8A, 05, 05]
-27FF; [0C C8 3A, 05, 05]
+2954; [0C CB 91, 05, 05]
-2900; [0C C8 41, 05, 05]
+2955; [0C CB 98, 05, 05]
-2901; [0C C8 48, 05, 05]
+2956; [0C CB 9F, 05, 05]
-2902; [0C C8 4F, 05, 05]
+2957; [0C CB A6, 05, 05]
-2903; [0C C8 56, 05, 05]
+2958; [0C CB AD, 05, 05]
-2904; [0C C8 5D, 05, 05]
+2959; [0C CB B4, 05, 05]
-2905; [0C C8 64, 05, 05]
+295A; [0C CB BB, 05, 05]
-2906; [0C C8 6B, 05, 05]
+295B; [0C CB C2, 05, 05]
-2907; [0C C8 72, 05, 05]
+295C; [0C CB C9, 05, 05]
-2908; [0C C8 79, 05, 05]
+295D; [0C CB D0, 05, 05]
-2909; [0C C8 80, 05, 05]
+295E; [0C CB D7, 05, 05]
-290A; [0C C8 87, 05, 05]
+295F; [0C CB DE, 05, 05]
-290B; [0C C8 8E, 05, 05]
+2960; [0C CB E5, 05, 05]
-290C; [0C C8 95, 05, 05]
+2961; [0C CB EC, 05, 05]
-290D; [0C C8 9C, 05, 05]
+2962; [0C CB F3, 05, 05]
-290E; [0C C8 A3, 05, 05]
+2963; [0C CB FA, 05, 05]
-290F; [0C C8 AA, 05, 05]
+2964; [0C CC 03, 05, 05]
-2910; [0C C8 B1, 05, 05]
+2965; [0C CC 0A, 05, 05]
-2911; [0C C8 B8, 05, 05]
+2966; [0C CC 11, 05, 05]
-2912; [0C C8 BF, 05, 05]
+2967; [0C CC 18, 05, 05]
-2913; [0C C8 C6, 05, 05]
+2968; [0C CC 1F, 05, 05]
-2914; [0C C8 CD, 05, 05]
+2969; [0C CC 26, 05, 05]
-2915; [0C C8 D4, 05, 05]
+296A; [0C CC 2D, 05, 05]
-2916; [0C C8 DB, 05, 05]
+296B; [0C CC 34, 05, 05]
-2917; [0C C8 E2, 05, 05]
+296C; [0C CC 3B, 05, 05]
-2918; [0C C8 E9, 05, 05]
+296D; [0C CC 42, 05, 05]
-2919; [0C C8 F0, 05, 05]
+296E; [0C CC 49, 05, 05]
-291A; [0C C8 F7, 05, 05]
+296F; [0C CC 50, 05, 05]
-291B; [0C C8 FE, 05, 05]
+2970; [0C CC 57, 05, 05]
-291C; [0C C9 07, 05, 05]
+2971; [0C CC 5E, 05, 05]
-291D; [0C C9 0E, 05, 05]
+2972; [0C CC 65, 05, 05]
-291E; [0C C9 15, 05, 05]
+2973; [0C CC 6C, 05, 05]
-291F; [0C C9 1C, 05, 05]
+2974; [0C CC 73, 05, 05]
-2920; [0C C9 23, 05, 05]
+2975; [0C CC 7A, 05, 05]
-2921; [0C C9 2A, 05, 05]
+2976; [0C CC 81, 05, 05]
-2922; [0C C9 31, 05, 05]
+2977; [0C CC 88, 05, 05]
-2923; [0C C9 38, 05, 05]
+2978; [0C CC 8F, 05, 05]
-2924; [0C C9 3F, 05, 05]
+2979; [0C CC 96, 05, 05]
-2925; [0C C9 46, 05, 05]
+297A; [0C CC 9D, 05, 05]
-2926; [0C C9 4D, 05, 05]
+297B; [0C CC A4, 05, 05]
-2927; [0C C9 54, 05, 05]
+297C; [0C CC AB, 05, 05]
-2928; [0C C9 5B, 05, 05]
+297D; [0C CC B2, 05, 05]
-2929; [0C C9 62, 05, 05]
+297E; [0C CC B9, 05, 05]
-292A; [0C C9 69, 05, 05]
+297F; [0C CC C0, 05, 05]
-292B; [0C C9 70, 05, 05]
+2980; [0C CC C7, 05, 05]
-292C; [0C C9 77, 05, 05]
+2981; [0C CC CE, 05, 05]
-292D; [0C C9 7E, 05, 05]
+2982; [0C CC D5, 05, 05]
-292E; [0C C9 85, 05, 05]
+2999; [0C CC DC, 05, 05]
-292F; [0C C9 8C, 05, 05]
+299A; [0C CC E3, 05, 05]
-2930; [0C C9 93, 05, 05]
+299B; [0C CC EA, 05, 05]
-2931; [0C C9 9A, 05, 05]
+299C; [0C CC F1, 05, 05]
-2932; [0C C9 A1, 05, 05]
+299D; [0C CC F8, 05, 05]
-2933; [0C C9 A8, 05, 05]
+299E; [0C CC FF, 05, 05]
-2934; [0C C9 AF, 05, 05]
+299F; [0C CD 08, 05, 05]
-2935; [0C C9 B6, 05, 05]
+29A0; [0C CD 0F, 05, 05]
-2936; [0C C9 BD, 05, 05]
+29A1; [0C CD 16, 05, 05]
-2937; [0C C9 C4, 05, 05]
+29A2; [0C CD 1D, 05, 05]
-2938; [0C C9 CB, 05, 05]
+29A3; [0C CD 24, 05, 05]
-2939; [0C C9 D2, 05, 05]
+29A4; [0C CD 2B, 05, 05]
-293A; [0C C9 D9, 05, 05]
+29A5; [0C CD 32, 05, 05]
-293B; [0C C9 E0, 05, 05]
+29A6; [0C CD 39, 05, 05]
-293C; [0C C9 E7, 05, 05]
+29A7; [0C CD 40, 05, 05]
-293D; [0C C9 EE, 05, 05]
+29A8; [0C CD 47, 05, 05]
-293E; [0C C9 F5, 05, 05]
+29A9; [0C CD 4E, 05, 05]
-293F; [0C C9 FC, 05, 05]
+29AA; [0C CD 55, 05, 05]
-2940; [0C CA 05, 05, 05]
+29AB; [0C CD 5C, 05, 05]
-2941; [0C CA 0C, 05, 05]
+29AC; [0C CD 63, 05, 05]
-2942; [0C CA 13, 05, 05]
+29AD; [0C CD 6A, 05, 05]
-2943; [0C CA 1A, 05, 05]
+29AE; [0C CD 71, 05, 05]
-2944; [0C CA 21, 05, 05]
+29AF; [0C CD 78, 05, 05]
-2945; [0C CA 28, 05, 05]
+29B0; [0C CD 7F, 05, 05]
-2946; [0C CA 2F, 05, 05]
+29B1; [0C CD 86, 05, 05]
-2947; [0C CA 36, 05, 05]
+29B2; [0C CD 8D, 05, 05]
-2948; [0C CA 3D, 05, 05]
+29B3; [0C CD 94, 05, 05]
-2949; [0C CA 44, 05, 05]
+29B4; [0C CD 9B, 05, 05]
-294A; [0C CA 4B, 05, 05]
+29B5; [0C CD A2, 05, 05]
-294B; [0C CA 52, 05, 05]
+29B6; [0C CD A9, 05, 05]
-294C; [0C CA 59, 05, 05]
+29B7; [0C CD B0, 05, 05]
-294D; [0C CA 60, 05, 05]
+29B8; [0C CD B7, 05, 05]
-294E; [0C CA 67, 05, 05]
+29B9; [0C CD BE, 05, 05]
-294F; [0C CA 6E, 05, 05]
+29BA; [0C CD C5, 05, 05]
-2950; [0C CA 75, 05, 05]
+29BB; [0C CD CC, 05, 05]
-2951; [0C CA 7C, 05, 05]
+29BC; [0C CD D3, 05, 05]
-2952; [0C CA 83, 05, 05]
+29BD; [0C CD DA, 05, 05]
-2953; [0C CA 8A, 05, 05]
+29BE; [0C CD E1, 05, 05]
-2954; [0C CA 91, 05, 05]
+29BF; [0C CD E8, 05, 05]
-2955; [0C CA 98, 05, 05]
+29C0; [0C CD EF, 05, 05]
-2956; [0C CA 9F, 05, 05]
+29C1; [0C CD F6, 05, 05]
-2957; [0C CA A6, 05, 05]
+29C2; [0C CD FD, 05, 05]
-2958; [0C CA AD, 05, 05]
+29C3; [0C CE 06, 05, 05]
-2959; [0C CA B4, 05, 05]
+29C4; [0C CE 0D, 05, 05]
-295A; [0C CA BB, 05, 05]
+29C5; [0C CE 14, 05, 05]
-295B; [0C CA C2, 05, 05]
+29C6; [0C CE 1B, 05, 05]
-295C; [0C CA C9, 05, 05]
+29C7; [0C CE 22, 05, 05]
-295D; [0C CA D0, 05, 05]
+29C8; [0C CE 29, 05, 05]
-295E; [0C CA D7, 05, 05]
+29C9; [0C CE 30, 05, 05]
-295F; [0C CA DE, 05, 05]
+29CA; [0C CE 37, 05, 05]
-2960; [0C CA E5, 05, 05]
+29CB; [0C CE 3E, 05, 05]
-2961; [0C CA EC, 05, 05]
+29CC; [0C CE 45, 05, 05]
-2962; [0C CA F3, 05, 05]
+29CD; [0C CE 4C, 05, 05]
-2963; [0C CA FA, 05, 05]
+29CE; [0C CE 53, 05, 05]
-2964; [0C CB 03, 05, 05]
+29CF; [0C CE 5A, 05, 05]
-2965; [0C CB 0A, 05, 05]
+29D0; [0C CE 61, 05, 05]
-2966; [0C CB 11, 05, 05]
+29D1; [0C CE 68, 05, 05]
-2967; [0C CB 18, 05, 05]
+29D2; [0C CE 6F, 05, 05]
-2968; [0C CB 1F, 05, 05]
+29D3; [0C CE 76, 05, 05]
-2969; [0C CB 26, 05, 05]
+29D4; [0C CE 7D, 05, 05]
-296A; [0C CB 2D, 05, 05]
+29D5; [0C CE 84, 05, 05]
-296B; [0C CB 34, 05, 05]
+29D6; [0C CE 8B, 05, 05]
-296C; [0C CB 3B, 05, 05]
+29D7; [0C CE 92, 05, 05]
-296D; [0C CB 42, 05, 05]
+29DC; [0C CE 99, 05, 05]
-296E; [0C CB 49, 05, 05]
+29DD; [0C CE A0, 05, 05]
-296F; [0C CB 50, 05, 05]
+29DE; [0C CE A7, 05, 05]
-2970; [0C CB 57, 05, 05]
+29DF; [0C CE AE, 05, 05]
-2971; [0C CB 5E, 05, 05]
+29E0; [0C CE B5, 05, 05]
-2972; [0C CB 65, 05, 05]
+29E1; [0C CE BC, 05, 05]
-2973; [0C CB 6C, 05, 05]
+29E2; [0C CE C3, 05, 05]
-2974; [0C CB 73, 05, 05]
+29E3; [0C CE CA, 05, 05]
-2975; [0C CB 7A, 05, 05]
+29E4; [0C CE D1, 05, 05]
-2976; [0C CB 81, 05, 05]
+29E5; [0C CE D8, 05, 05]
-2977; [0C CB 88, 05, 05]
+29E6; [0C CE DF, 05, 05]
-2978; [0C CB 8F, 05, 05]
+29E7; [0C CE E6, 05, 05]
-2979; [0C CB 96, 05, 05]
+29E8; [0C CE ED, 05, 05]
-297A; [0C CB 9D, 05, 05]
+29E9; [0C CE F4, 05, 05]
-297B; [0C CB A4, 05, 05]
+29EA; [0C CE FB, 05, 05]
-297C; [0C CB AB, 05, 05]
+29EB; [0C CF 04, 05, 05]
-297D; [0C CB B2, 05, 05]
+29EC; [0C CF 0B, 05, 05]
-297E; [0C CB B9, 05, 05]
+29ED; [0C CF 12, 05, 05]
-297F; [0C CB C0, 05, 05]
+29EE; [0C CF 19, 05, 05]
-2980; [0C CB C7, 05, 05]
+29EF; [0C CF 20, 05, 05]
-2981; [0C CB CE, 05, 05]
+29F0; [0C CF 27, 05, 05]
-2982; [0C CB D5, 05, 05]
+29F1; [0C CF 2E, 05, 05]
-2999; [0C CB DC, 05, 05]
+29F2; [0C CF 35, 05, 05]
-299A; [0C CB E3, 05, 05]
+29F3; [0C CF 3C, 05, 05]
-299B; [0C CB EA, 05, 05]
+29F4; [0C CF 43, 05, 05]
-299C; [0C CB F1, 05, 05]
+29F5; [0C CF 4A, 05, 05]
-299D; [0C CB F8, 05, 05]
+29F6; [0C CF 51, 05, 05]
-299E; [0C CB FF, 05, 05]
+29F7; [0C CF 58, 05, 05]
-299F; [0C CC 08, 05, 05]
+29F8; [0C CF 5F, 05, 05]
-29A0; [0C CC 0F, 05, 05]
+29F9; [0C CF 66, 05, 05]
-29A1; [0C CC 16, 05, 05]
+29FA; [0C CF 6D, 05, 05]
-29A2; [0C CC 1D, 05, 05]
+29FB; [0C CF 74, 05, 05]
-29A3; [0C CC 24, 05, 05]
+29FE; [0C CF 7B, 05, 05]
-29A4; [0C CC 2B, 05, 05]
+29FF; [0C CF 82, 05, 05]
-29A5; [0C CC 32, 05, 05]
+2A00; [0C CF 89, 05, 05]
-29A6; [0C CC 39, 05, 05]
+2A01; [0C CF 90, 05, 05]
-29A7; [0C CC 40, 05, 05]
+2A02; [0C CF 97, 05, 05]
-29A8; [0C CC 47, 05, 05]
+2A03; [0C CF 9E, 05, 05]
-29A9; [0C CC 4E, 05, 05]
+2A04; [0C CF A5, 05, 05]
-29AA; [0C CC 55, 05, 05]
+2A05; [0C CF AC, 05, 05]
-29AB; [0C CC 5C, 05, 05]
+2A06; [0C CF B3, 05, 05]
-29AC; [0C CC 63, 05, 05]
+2A07; [0C CF BA, 05, 05]
-29AD; [0C CC 6A, 05, 05]
+2A08; [0C CF C1, 05, 05]
-29AE; [0C CC 71, 05, 05]
+2A09; [0C CF C8, 05, 05]
-29AF; [0C CC 78, 05, 05]
+2A0A; [0C CF CF, 05, 05]
-29B0; [0C CC 7F, 05, 05]
+2A0B; [0C CF D6, 05, 05]
-29B1; [0C CC 86, 05, 05]
+2A0D; [0C CF DD, 05, 05]
-29B2; [0C CC 8D, 05, 05]
+2A0E; [0C CF E4, 05, 05]
-29B3; [0C CC 94, 05, 05]
+2A0F; [0C CF EB, 05, 05]
-29B4; [0C CC 9B, 05, 05]
+2A10; [0C CF F2, 05, 05]
-29B5; [0C CC A2, 05, 05]
+2A11; [0C CF F9, 05, 05]
-29B6; [0C CC A9, 05, 05]
+2A12; [0C D0 02, 05, 05]
-29B7; [0C CC B0, 05, 05]
+2A13; [0C D0 09, 05, 05]
-29B8; [0C CC B7, 05, 05]
+2A14; [0C D0 10, 05, 05]
-29B9; [0C CC BE, 05, 05]
+2A15; [0C D0 17, 05, 05]
-29BA; [0C CC C5, 05, 05]
+2A16; [0C D0 1E, 05, 05]
-29BB; [0C CC CC, 05, 05]
+2A17; [0C D0 25, 05, 05]
-29BC; [0C CC D3, 05, 05]
+2A18; [0C D0 2C, 05, 05]
-29BD; [0C CC DA, 05, 05]
+2A19; [0C D0 33, 05, 05]
-29BE; [0C CC E1, 05, 05]
+2A1A; [0C D0 3A, 05, 05]
-29BF; [0C CC E8, 05, 05]
+2A1B; [0C D0 41, 05, 05]
-29C0; [0C CC EF, 05, 05]
+2A1C; [0C D0 48, 05, 05]
-29C1; [0C CC F6, 05, 05]
+2A1D; [0C D0 4F, 05, 05]
-29C2; [0C CC FD, 05, 05]
+2A1E; [0C D0 56, 05, 05]
-29C3; [0C CD 06, 05, 05]
+2A1F; [0C D0 5D, 05, 05]
-29C4; [0C CD 0D, 05, 05]
+2A20; [0C D0 64, 05, 05]
-29C5; [0C CD 14, 05, 05]
+2A21; [0C D0 6B, 05, 05]
-29C6; [0C CD 1B, 05, 05]
+2A22; [0C D0 72, 05, 05]
-29C7; [0C CD 22, 05, 05]
+2A23; [0C D0 79, 05, 05]
-29C8; [0C CD 29, 05, 05]
+2A24; [0C D0 80, 05, 05]
-29C9; [0C CD 30, 05, 05]
+2A25; [0C D0 87, 05, 05]
-29CA; [0C CD 37, 05, 05]
+2A26; [0C D0 8E, 05, 05]
-29CB; [0C CD 3E, 05, 05]
+2A27; [0C D0 95, 05, 05]
-29CC; [0C CD 45, 05, 05]
+2A28; [0C D0 9C, 05, 05]
-29CD; [0C CD 4C, 05, 05]
+2A29; [0C D0 A3, 05, 05]
-29CE; [0C CD 53, 05, 05]
+2A2A; [0C D0 AA, 05, 05]
-29CF; [0C CD 5A, 05, 05]
+2A2B; [0C D0 B1, 05, 05]
-29D0; [0C CD 61, 05, 05]
+2A2C; [0C D0 B8, 05, 05]
-29D1; [0C CD 68, 05, 05]
+2A2D; [0C D0 BF, 05, 05]
-29D2; [0C CD 6F, 05, 05]
+2A2E; [0C D0 C6, 05, 05]
-29D3; [0C CD 76, 05, 05]
+2A2F; [0C D0 CD, 05, 05]
-29D4; [0C CD 7D, 05, 05]
+2A30; [0C D0 D4, 05, 05]
-29D5; [0C CD 84, 05, 05]
+2A31; [0C D0 DB, 05, 05]
-29D6; [0C CD 8B, 05, 05]
+2A32; [0C D0 E2, 05, 05]
-29D7; [0C CD 92, 05, 05]
+2A33; [0C D0 E9, 05, 05]
-29DC; [0C CD 99, 05, 05]
+2A34; [0C D0 F0, 05, 05]
-29DD; [0C CD A0, 05, 05]
+2A35; [0C D0 F7, 05, 05]
-29DE; [0C CD A7, 05, 05]
+2A36; [0C D0 FE, 05, 05]
-29DF; [0C CD AE, 05, 05]
+2A37; [0C D1 07, 05, 05]
-29E0; [0C CD B5, 05, 05]
+2A38; [0C D1 0E, 05, 05]
-29E1; [0C CD BC, 05, 05]
+2A39; [0C D1 15, 05, 05]
-29E2; [0C CD C3, 05, 05]
+2A3A; [0C D1 1C, 05, 05]
-29E3; [0C CD CA, 05, 05]
+2A3B; [0C D1 23, 05, 05]
-29E4; [0C CD D1, 05, 05]
+2A3C; [0C D1 2A, 05, 05]
-29E5; [0C CD D8, 05, 05]
+2A3D; [0C D1 31, 05, 05]
-29E6; [0C CD DF, 05, 05]
+2A3E; [0C D1 38, 05, 05]
-29E7; [0C CD E6, 05, 05]
+2A3F; [0C D1 3F, 05, 05]
-29E8; [0C CD ED, 05, 05]
+2A40; [0C D1 46, 05, 05]
-29E9; [0C CD F4, 05, 05]
+2A41; [0C D1 4D, 05, 05]
-29EA; [0C CD FB, 05, 05]
+2A42; [0C D1 54, 05, 05]
-29EB; [0C CE 04, 05, 05]
+2A43; [0C D1 5B, 05, 05]
-29EC; [0C CE 0B, 05, 05]
+2A44; [0C D1 62, 05, 05]
-29ED; [0C CE 12, 05, 05]
+2A45; [0C D1 69, 05, 05]
-29EE; [0C CE 19, 05, 05]
+2A46; [0C D1 70, 05, 05]
-29EF; [0C CE 20, 05, 05]
+2A47; [0C D1 77, 05, 05]
-29F0; [0C CE 27, 05, 05]
+2A48; [0C D1 7E, 05, 05]
-29F1; [0C CE 2E, 05, 05]
+2A49; [0C D1 85, 05, 05]
-29F2; [0C CE 35, 05, 05]
+2A4A; [0C D1 8C, 05, 05]
-29F3; [0C CE 3C, 05, 05]
+2A4B; [0C D1 93, 05, 05]
-29F4; [0C CE 43, 05, 05]
+2A4C; [0C D1 9A, 05, 05]
-29F5; [0C CE 4A, 05, 05]
+2A4D; [0C D1 A1, 05, 05]
-29F6; [0C CE 51, 05, 05]
+2A4E; [0C D1 A8, 05, 05]
-29F7; [0C CE 58, 05, 05]
+2A4F; [0C D1 AF, 05, 05]
-29F8; [0C CE 5F, 05, 05]
+2A50; [0C D1 B6, 05, 05]
-29F9; [0C CE 66, 05, 05]
+2A51; [0C D1 BD, 05, 05]
-29FA; [0C CE 6D, 05, 05]
+2A52; [0C D1 C4, 05, 05]
-29FB; [0C CE 74, 05, 05]
+2A53; [0C D1 CB, 05, 05]
-29FE; [0C CE 7B, 05, 05]
+2A54; [0C D1 D2, 05, 05]
-29FF; [0C CE 82, 05, 05]
+2A55; [0C D1 D9, 05, 05]
-2A00; [0C CE 89, 05, 05]
+2A56; [0C D1 E0, 05, 05]
-2A01; [0C CE 90, 05, 05]
+2A57; [0C D1 E7, 05, 05]
-2A02; [0C CE 97, 05, 05]
+2A58; [0C D1 EE, 05, 05]
-2A03; [0C CE 9E, 05, 05]
+2A59; [0C D1 F5, 05, 05]
-2A04; [0C CE A5, 05, 05]
+2A5A; [0C D1 FC, 05, 05]
-2A05; [0C CE AC, 05, 05]
+2A5B; [0C D2 05, 05, 05]
-2A06; [0C CE B3, 05, 05]
+2A5C; [0C D2 0C, 05, 05]
-2A07; [0C CE BA, 05, 05]
+2A5D; [0C D2 13, 05, 05]
-2A08; [0C CE C1, 05, 05]
+2A5E; [0C D2 1A, 05, 05]
-2A09; [0C CE C8, 05, 05]
+2A5F; [0C D2 21, 05, 05]
-2A0A; [0C CE CF, 05, 05]
+2A60; [0C D2 28, 05, 05]
-2A0B; [0C CE D6, 05, 05]
+2A61; [0C D2 2F, 05, 05]
-2A0D; [0C CE DD, 05, 05]
+2A62; [0C D2 36, 05, 05]
-2A0E; [0C CE E4, 05, 05]
+2A63; [0C D2 3D, 05, 05]
-2A0F; [0C CE EB, 05, 05]
+2A64; [0C D2 44, 05, 05]
-2A10; [0C CE F2, 05, 05]
+2A65; [0C D2 4B, 05, 05]
-2A11; [0C CE F9, 05, 05]
+2A66; [0C D2 52, 05, 05]
-2A12; [0C CF 02, 05, 05]
+2A67; [0C D2 59, 05, 05]
-2A13; [0C CF 09, 05, 05]
+2A68; [0C D2 60, 05, 05]
-2A14; [0C CF 10, 05, 05]
+2A69; [0C D2 67, 05, 05]
-2A15; [0C CF 17, 05, 05]
+2A6A; [0C D2 6E, 05, 05]
-2A16; [0C CF 1E, 05, 05]
+2A6B; [0C D2 75, 05, 05]
-2A17; [0C CF 25, 05, 05]
+2A6C; [0C D2 7C, 05, 05]
-2A18; [0C CF 2C, 05, 05]
+2A6D; [0C D2 83, 05, 05]
-2A19; [0C CF 33, 05, 05]
+2A6E; [0C D2 8A, 05, 05]
-2A1A; [0C CF 3A, 05, 05]
+2A6F; [0C D2 91, 05, 05]
-2A1B; [0C CF 41, 05, 05]
+2A70; [0C D2 98, 05, 05]
-2A1C; [0C CF 48, 05, 05]
+2A71; [0C D2 9F, 05, 05]
-2A1D; [0C CF 4F, 05, 05]
+2A72; [0C D2 A6, 05, 05]
-2A1E; [0C CF 56, 05, 05]
+2A73; [0C D2 AD, 05, 05]
-2A1F; [0C CF 5D, 05, 05]
+2A77; [0C D2 B4, 05, 05]
-2A20; [0C CF 64, 05, 05]
+2A78; [0C D2 BB, 05, 05]
-2A21; [0C CF 6B, 05, 05]
+2A79; [0C D2 C2, 05, 05]
-2A22; [0C CF 72, 05, 05]
+2A7A; [0C D2 C9, 05, 05]
-2A23; [0C CF 79, 05, 05]
+2A7B; [0C D2 D0, 05, 05]
-2A24; [0C CF 80, 05, 05]
+2A7C; [0C D2 D7, 05, 05]
-2A25; [0C CF 87, 05, 05]
+2A7D; [0C D2 DE, 05, 05]
-2A26; [0C CF 8E, 05, 05]
+2A7E; [0C D2 E5, 05, 05]
-2A27; [0C CF 95, 05, 05]
+2A7F; [0C D2 EC, 05, 05]
-2A28; [0C CF 9C, 05, 05]
+2A80; [0C D2 F3, 05, 05]
-2A29; [0C CF A3, 05, 05]
+2A81; [0C D2 FA, 05, 05]
-2A2A; [0C CF AA, 05, 05]
+2A82; [0C D3 03, 05, 05]
-2A2B; [0C CF B1, 05, 05]
+2A83; [0C D3 0A, 05, 05]
-2A2C; [0C CF B8, 05, 05]
+2A84; [0C D3 11, 05, 05]
-2A2D; [0C CF BF, 05, 05]
+2A85; [0C D3 18, 05, 05]
-2A2E; [0C CF C6, 05, 05]
+2A86; [0C D3 1F, 05, 05]
-2A2F; [0C CF CD, 05, 05]
+2A87; [0C D3 26, 05, 05]
-2A30; [0C CF D4, 05, 05]
+2A88; [0C D3 2D, 05, 05]
-2A31; [0C CF DB, 05, 05]
+2A89; [0C D3 34, 05, 05]
-2A32; [0C CF E2, 05, 05]
+2A8A; [0C D3 3B, 05, 05]
-2A33; [0C CF E9, 05, 05]
+2A8B; [0C D3 42, 05, 05]
-2A34; [0C CF F0, 05, 05]
+2A8C; [0C D3 49, 05, 05]
-2A35; [0C CF F7, 05, 05]
+2A8D; [0C D3 50, 05, 05]
-2A36; [0C CF FE, 05, 05]
+2A8E; [0C D3 57, 05, 05]
-2A37; [0C D0 07, 05, 05]
+2A8F; [0C D3 5E, 05, 05]
-2A38; [0C D0 0E, 05, 05]
+2A90; [0C D3 65, 05, 05]
-2A39; [0C D0 15, 05, 05]
+2A91; [0C D3 6C, 05, 05]
-2A3A; [0C D0 1C, 05, 05]
+2A92; [0C D3 73, 05, 05]
-2A3B; [0C D0 23, 05, 05]
+2A93; [0C D3 7A, 05, 05]
-2A3C; [0C D0 2A, 05, 05]
+2A94; [0C D3 81, 05, 05]
-2A3D; [0C D0 31, 05, 05]
+2A95; [0C D3 88, 05, 05]
-2A3E; [0C D0 38, 05, 05]
+2A96; [0C D3 8F, 05, 05]
-2A3F; [0C D0 3F, 05, 05]
+2A97; [0C D3 96, 05, 05]
-2A40; [0C D0 46, 05, 05]
+2A98; [0C D3 9D, 05, 05]
-2A41; [0C D0 4D, 05, 05]
+2A99; [0C D3 A4, 05, 05]
-2A42; [0C D0 54, 05, 05]
+2A9A; [0C D3 AB, 05, 05]
-2A43; [0C D0 5B, 05, 05]
+2A9B; [0C D3 B2, 05, 05]
-2A44; [0C D0 62, 05, 05]
+2A9C; [0C D3 B9, 05, 05]
-2A45; [0C D0 69, 05, 05]
+2A9D; [0C D3 C0, 05, 05]
-2A46; [0C D0 70, 05, 05]
+2A9E; [0C D3 C7, 05, 05]
-2A47; [0C D0 77, 05, 05]
+2A9F; [0C D3 CE, 05, 05]
-2A48; [0C D0 7E, 05, 05]
+2AA0; [0C D3 D5, 05, 05]
-2A49; [0C D0 85, 05, 05]
+2AA1; [0C D3 DC, 05, 05]
-2A4A; [0C D0 8C, 05, 05]
+2AA2; [0C D3 E3, 05, 05]
-2A4B; [0C D0 93, 05, 05]
+2AA3; [0C D3 EA, 05, 05]
-2A4C; [0C D0 9A, 05, 05]
+2AA4; [0C D3 F1, 05, 05]
-2A4D; [0C D0 A1, 05, 05]
+2AA5; [0C D3 F8, 05, 05]
-2A4E; [0C D0 A8, 05, 05]
+2AA6; [0C D3 FF, 05, 05]
-2A4F; [0C D0 AF, 05, 05]
+2AA7; [0C D4 08, 05, 05]
-2A50; [0C D0 B6, 05, 05]
+2AA8; [0C D4 0F, 05, 05]
-2A51; [0C D0 BD, 05, 05]
+2AA9; [0C D4 16, 05, 05]
-2A52; [0C D0 C4, 05, 05]
+2AAA; [0C D4 1D, 05, 05]
-2A53; [0C D0 CB, 05, 05]
+2AAB; [0C D4 24, 05, 05]
-2A54; [0C D0 D2, 05, 05]
+2AAC; [0C D4 2B, 05, 05]
-2A55; [0C D0 D9, 05, 05]
+2AAD; [0C D4 32, 05, 05]
-2A56; [0C D0 E0, 05, 05]
+2AAE; [0C D4 39, 05, 05]
-2A57; [0C D0 E7, 05, 05]
+2AAF; [0C D4 40, 05, 05]
-2A58; [0C D0 EE, 05, 05]
+2AB0; [0C D4 47, 05, 05]
-2A59; [0C D0 F5, 05, 05]
+2AB1; [0C D4 4E, 05, 05]
-2A5A; [0C D0 FC, 05, 05]
+2AB2; [0C D4 55, 05, 05]
-2A5B; [0C D1 05, 05, 05]
+2AB3; [0C D4 5C, 05, 05]
-2A5C; [0C D1 0C, 05, 05]
+2AB4; [0C D4 63, 05, 05]
-2A5D; [0C D1 13, 05, 05]
+2AB5; [0C D4 6A, 05, 05]
-2A5E; [0C D1 1A, 05, 05]
+2AB6; [0C D4 71, 05, 05]
-2A5F; [0C D1 21, 05, 05]
+2AB7; [0C D4 78, 05, 05]
-2A60; [0C D1 28, 05, 05]
+2AB8; [0C D4 7F, 05, 05]
-2A61; [0C D1 2F, 05, 05]
+2AB9; [0C D4 86, 05, 05]
-2A62; [0C D1 36, 05, 05]
+2ABA; [0C D4 8D, 05, 05]
-2A63; [0C D1 3D, 05, 05]
+2ABB; [0C D4 94, 05, 05]
-2A64; [0C D1 44, 05, 05]
+2ABC; [0C D4 9B, 05, 05]
-2A65; [0C D1 4B, 05, 05]
+2ABD; [0C D4 A2, 05, 05]
-2A66; [0C D1 52, 05, 05]
+2ABE; [0C D4 A9, 05, 05]
-2A67; [0C D1 59, 05, 05]
+2ABF; [0C D4 B0, 05, 05]
-2A68; [0C D1 60, 05, 05]
+2AC0; [0C D4 B7, 05, 05]
-2A69; [0C D1 67, 05, 05]
+2AC1; [0C D4 BE, 05, 05]
-2A6A; [0C D1 6E, 05, 05]
+2AC2; [0C D4 C5, 05, 05]
-2A6B; [0C D1 75, 05, 05]
+2AC3; [0C D4 CC, 05, 05]
-2A6C; [0C D1 7C, 05, 05]
+2AC4; [0C D4 D3, 05, 05]
-2A6D; [0C D1 83, 05, 05]
+2AC5; [0C D4 DA, 05, 05]
-2A6E; [0C D1 8A, 05, 05]
+2AC6; [0C D4 E1, 05, 05]
-2A6F; [0C D1 91, 05, 05]
+2AC7; [0C D4 E8, 05, 05]
-2A70; [0C D1 98, 05, 05]
+2AC8; [0C D4 EF, 05, 05]
-2A71; [0C D1 9F, 05, 05]
+2AC9; [0C D4 F6, 05, 05]
-2A72; [0C D1 A6, 05, 05]
+2ACA; [0C D4 FD, 05, 05]
-2A73; [0C D1 AD, 05, 05]
+2ACB; [0C D5 06, 05, 05]
-2A77; [0C D1 B4, 05, 05]
+2ACC; [0C D5 0D, 05, 05]
-2A78; [0C D1 BB, 05, 05]
+2ACD; [0C D5 14, 05, 05]
-2A79; [0C D1 C2, 05, 05]
+2ACE; [0C D5 1B, 05, 05]
-2A7A; [0C D1 C9, 05, 05]
+2ACF; [0C D5 22, 05, 05]
-2A7B; [0C D1 D0, 05, 05]
+2AD0; [0C D5 29, 05, 05]
-2A7C; [0C D1 D7, 05, 05]
+2AD1; [0C D5 30, 05, 05]
-2A7D; [0C D1 DE, 05, 05]
+2AD2; [0C D5 37, 05, 05]
-2A7E; [0C D1 E5, 05, 05]
+2AD3; [0C D5 3E, 05, 05]
-2A7F; [0C D1 EC, 05, 05]
+2AD4; [0C D5 45, 05, 05]
-2A80; [0C D1 F3, 05, 05]
+2AD5; [0C D5 4C, 05, 05]
-2A81; [0C D1 FA, 05, 05]
+2AD6; [0C D5 53, 05, 05]
-2A82; [0C D2 03, 05, 05]
+2AD7; [0C D5 5A, 05, 05]
-2A83; [0C D2 0A, 05, 05]
+2AD8; [0C D5 61, 05, 05]
-2A84; [0C D2 11, 05, 05]
+2AD9; [0C D5 68, 05, 05]
-2A85; [0C D2 18, 05, 05]
+2ADA; [0C D5 6F, 05, 05]
-2A86; [0C D2 1F, 05, 05]
+2ADB; [0C D5 76, 05, 05]
-2A87; [0C D2 26, 05, 05]
+2ADD; [0C D5 7D, 05, 05]
+2ADC; [0C D5 7D, 05, 05][, 9E, 05]
-2A88; [0C D2 2D, 05, 05]
+2ADE; [0C D5 84, 05, 05]
-2A89; [0C D2 34, 05, 05]
+2ADF; [0C D5 8B, 05, 05]
-2A8A; [0C D2 3B, 05, 05]
+2AE0; [0C D5 92, 05, 05]
-2A8B; [0C D2 42, 05, 05]
+2AE1; [0C D5 99, 05, 05]
-2A8C; [0C D2 49, 05, 05]
+2AE2; [0C D5 A0, 05, 05]
-2A8D; [0C D2 50, 05, 05]
+2AE3; [0C D5 A7, 05, 05]
-2A8E; [0C D2 57, 05, 05]
+2AE4; [0C D5 AE, 05, 05]
-2A8F; [0C D2 5E, 05, 05]
+2AE5; [0C D5 B5, 05, 05]
-2A90; [0C D2 65, 05, 05]
+2AE6; [0C D5 BC, 05, 05]
-2A91; [0C D2 6C, 05, 05]
+2AE7; [0C D5 C3, 05, 05]
-2A92; [0C D2 73, 05, 05]
+2AE8; [0C D5 CA, 05, 05]
-2A93; [0C D2 7A, 05, 05]
+2AE9; [0C D5 D1, 05, 05]
-2A94; [0C D2 81, 05, 05]
+2AEA; [0C D5 D8, 05, 05]
-2A95; [0C D2 88, 05, 05]
+2AEB; [0C D5 DF, 05, 05]
-2A96; [0C D2 8F, 05, 05]
+2AEC; [0C D5 E6, 05, 05]
-2A97; [0C D2 96, 05, 05]
+2AED; [0C D5 ED, 05, 05]
-2A98; [0C D2 9D, 05, 05]
+2AEE; [0C D5 F4, 05, 05]
-2A99; [0C D2 A4, 05, 05]
+2AEF; [0C D5 FB, 05, 05]
-2A9A; [0C D2 AB, 05, 05]
+2AF0; [0C D6 04, 05, 05]
-2A9B; [0C D2 B2, 05, 05]
+2AF1; [0C D6 0B, 05, 05]
-2A9C; [0C D2 B9, 05, 05]
+2AF2; [0C D6 12, 05, 05]
-2A9D; [0C D2 C0, 05, 05]
+2AF3; [0C D6 19, 05, 05]
-2A9E; [0C D2 C7, 05, 05]
+2AF4; [0C D6 20, 05, 05]
-2A9F; [0C D2 CE, 05, 05]
+2AF5; [0C D6 27, 05, 05]
-2AA0; [0C D2 D5, 05, 05]
+2AF6; [0C D6 2E, 05, 05]
-2AA1; [0C D2 DC, 05, 05]
+2AF7; [0C D6 35, 05, 05]
-2AA2; [0C D2 E3, 05, 05]
+2AF8; [0C D6 3C, 05, 05]
-2AA3; [0C D2 EA, 05, 05]
+2AF9; [0C D6 43, 05, 05]
-2AA4; [0C D2 F1, 05, 05]
+2AFA; [0C D6 4A, 05, 05]
-2AA5; [0C D2 F8, 05, 05]
+2AFB; [0C D6 51, 05, 05]
-2AA6; [0C D2 FF, 05, 05]
+2AFC; [0C D6 58, 05, 05]
-2AA7; [0C D3 08, 05, 05]
+2AFD; [0C D6 5F, 05, 05]
-2AA8; [0C D3 0F, 05, 05]
+2AFE; [0C D6 66, 05, 05]
-2AA9; [0C D3 16, 05, 05]
+2AFF; [0C D6 6D, 05, 05]
-2AAA; [0C D3 1D, 05, 05]
+2B00; [0C D6 74, 05, 05]
-2AAB; [0C D3 24, 05, 05]
+2B01; [0C D6 7B, 05, 05]
-2AAC; [0C D3 2B, 05, 05]
+2B02; [0C D6 82, 05, 05]
-2AAD; [0C D3 32, 05, 05]
+2B03; [0C D6 89, 05, 05]
-2AAE; [0C D3 39, 05, 05]
+2B04; [0C D6 90, 05, 05]
-2AAF; [0C D3 40, 05, 05]
+2B05; [0C D6 97, 05, 05]
-2AB0; [0C D3 47, 05, 05]
+2B06; [0C D6 9E, 05, 05]
-2AB1; [0C D3 4E, 05, 05]
+2B07; [0C D6 A5, 05, 05]
-2AB2; [0C D3 55, 05, 05]
+2B08; [0C D6 AC, 05, 05]
-2AB3; [0C D3 5C, 05, 05]
+2B09; [0C D6 B3, 05, 05]
-2AB4; [0C D3 63, 05, 05]
+2B0A; [0C D6 BA, 05, 05]
-2AB5; [0C D3 6A, 05, 05]
+2B0B; [0C D6 C1, 05, 05]
-2AB6; [0C D3 71, 05, 05]
+2B0C; [0C D6 C8, 05, 05]
-2AB7; [0C D3 78, 05, 05]
+2B0D; [0C D6 CF, 05, 05]
-2AB8; [0C D3 7F, 05, 05]
+2B0E; [0C D6 D6, 05, 05]
-2AB9; [0C D3 86, 05, 05]
+2B0F; [0C D6 DD, 05, 05]
-2ABA; [0C D3 8D, 05, 05]
+2B10; [0C D6 E4, 05, 05]
-2ABB; [0C D3 94, 05, 05]
+2B11; [0C D6 EB, 05, 05]
-2ABC; [0C D3 9B, 05, 05]
+2B12; [0C D6 F2, 05, 05]
-2ABD; [0C D3 A2, 05, 05]
+2B13; [0C D6 F9, 05, 05]
-2ABE; [0C D3 A9, 05, 05]
+2B14; [0C D7 02, 05, 05]
-2ABF; [0C D3 B0, 05, 05]
+2B15; [0C D7 09, 05, 05]
-2AC0; [0C D3 B7, 05, 05]
+2B16; [0C D7 10, 05, 05]
-2AC1; [0C D3 BE, 05, 05]
+2B17; [0C D7 17, 05, 05]
-2AC2; [0C D3 C5, 05, 05]
+2B18; [0C D7 1E, 05, 05]
-2AC3; [0C D3 CC, 05, 05]
+2B19; [0C D7 25, 05, 05]
-2AC4; [0C D3 D3, 05, 05]
+2B1A; [0C D7 2C, 05, 05]
-2AC5; [0C D3 DA, 05, 05]
+2B1B; [0C D7 33, 05, 05]
-2AC6; [0C D3 E1, 05, 05]
+2B1C; [0C D7 3A, 05, 05]
-2AC7; [0C D3 E8, 05, 05]
+2B1D; [0C D7 41, 05, 05]
-2AC8; [0C D3 EF, 05, 05]
+2B1E; [0C D7 48, 05, 05]
-2AC9; [0C D3 F6, 05, 05]
+2B1F; [0C D7 4F, 05, 05]
-2ACA; [0C D3 FD, 05, 05]
+2B20; [0C D7 56, 05, 05]
-2ACB; [0C D4 06, 05, 05]
+2B21; [0C D7 5D, 05, 05]
-2ACC; [0C D4 0D, 05, 05]
+2B22; [0C D7 64, 05, 05]
-2ACD; [0C D4 14, 05, 05]
+2B23; [0C D7 6B, 05, 05]
-2ACE; [0C D4 1B, 05, 05]
+2B24; [0C D7 72, 05, 05]
-2ACF; [0C D4 22, 05, 05]
+2B25; [0C D7 79, 05, 05]
-2AD0; [0C D4 29, 05, 05]
+2B26; [0C D7 80, 05, 05]
-2AD1; [0C D4 30, 05, 05]
+2B27; [0C D7 87, 05, 05]
-2AD2; [0C D4 37, 05, 05]
+2B28; [0C D7 8E, 05, 05]
-2AD3; [0C D4 3E, 05, 05]
+2B29; [0C D7 95, 05, 05]
-2AD4; [0C D4 45, 05, 05]
+2B2A; [0C D7 9C, 05, 05]
-2AD5; [0C D4 4C, 05, 05]
+2B2B; [0C D7 A3, 05, 05]
-2AD6; [0C D4 53, 05, 05]
+2B2C; [0C D7 AA, 05, 05]
-2AD7; [0C D4 5A, 05, 05]
+2B2D; [0C D7 B1, 05, 05]
-2AD8; [0C D4 61, 05, 05]
+2B2E; [0C D7 B8, 05, 05]
-2AD9; [0C D4 68, 05, 05]
+2B2F; [0C D7 BF, 05, 05]
-2ADA; [0C D4 6F, 05, 05]
+2B30; [0C D7 C6, 05, 05]
-2ADB; [0C D4 76, 05, 05]
+2B31; [0C D7 CD, 05, 05]
-2ADD; [0C D4 7D, 05, 05]
-2ADC; [0C D4 7D, 05, 05][, 9E, 05]
+2B32; [0C D7 D4, 05, 05]
-2ADE; [0C D4 84, 05, 05]
+2B33; [0C D7 DB, 05, 05]
-2ADF; [0C D4 8B, 05, 05]
+2B34; [0C D7 E2, 05, 05]
-2AE0; [0C D4 92, 05, 05]
+2B35; [0C D7 E9, 05, 05]
-2AE1; [0C D4 99, 05, 05]
+2B36; [0C D7 F0, 05, 05]
-2AE2; [0C D4 A0, 05, 05]
+2B37; [0C D7 F7, 05, 05]
-2AE3; [0C D4 A7, 05, 05]
+2B38; [0C D7 FE, 05, 05]
-2AE4; [0C D4 AE, 05, 05]
+2B39; [0C D8 07, 05, 05]
-2AE5; [0C D4 B5, 05, 05]
+2B3A; [0C D8 0E, 05, 05]
-2AE6; [0C D4 BC, 05, 05]
+2B3B; [0C D8 15, 05, 05]
-2AE7; [0C D4 C3, 05, 05]
+2B3C; [0C D8 1C, 05, 05]
-2AE8; [0C D4 CA, 05, 05]
+2B3D; [0C D8 23, 05, 05]
-2AE9; [0C D4 D1, 05, 05]
+2B3E; [0C D8 2A, 05, 05]
-2AEA; [0C D4 D8, 05, 05]
+2B3F; [0C D8 31, 05, 05]
-2AEB; [0C D4 DF, 05, 05]
+2B40; [0C D8 38, 05, 05]
-2AEC; [0C D4 E6, 05, 05]
+2B41; [0C D8 3F, 05, 05]
-2AED; [0C D4 ED, 05, 05]
+2B42; [0C D8 46, 05, 05]
-2AEE; [0C D4 F4, 05, 05]
+2B43; [0C D8 4D, 05, 05]
-2AEF; [0C D4 FB, 05, 05]
+2B44; [0C D8 54, 05, 05]
-2AF0; [0C D5 04, 05, 05]
+2B45; [0C D8 5B, 05, 05]
-2AF1; [0C D5 0B, 05, 05]
+2B46; [0C D8 62, 05, 05]
-2AF2; [0C D5 12, 05, 05]
+2B47; [0C D8 69, 05, 05]
-2AF3; [0C D5 19, 05, 05]
+2B48; [0C D8 70, 05, 05]
-2AF4; [0C D5 20, 05, 05]
+2B49; [0C D8 77, 05, 05]
-2AF5; [0C D5 27, 05, 05]
+2B4A; [0C D8 7E, 05, 05]
-2AF6; [0C D5 2E, 05, 05]
+2B4B; [0C D8 85, 05, 05]
-2AF7; [0C D5 35, 05, 05]
+2B4C; [0C D8 8C, 05, 05]
-2AF8; [0C D5 3C, 05, 05]
+2B4D; [0C D8 93, 05, 05]
-2AF9; [0C D5 43, 05, 05]
+2B4E; [0C D8 9A, 05, 05]
-2AFA; [0C D5 4A, 05, 05]
+2B4F; [0C D8 A1, 05, 05]
-2AFB; [0C D5 51, 05, 05]
+2B50; [0C D8 A8, 05, 05]
-2AFC; [0C D5 58, 05, 05]
+2B51; [0C D8 AF, 05, 05]
-2AFD; [0C D5 5F, 05, 05]
+2B52; [0C D8 B6, 05, 05]
-2AFE; [0C D5 66, 05, 05]
+2B53; [0C D8 BD, 05, 05]
-2AFF; [0C D5 6D, 05, 05]
+2B54; [0C D8 C4, 05, 05]
-2B00; [0C D5 74, 05, 05]
+2B55; [0C D8 CB, 05, 05]
-2B01; [0C D5 7B, 05, 05]
+2B56; [0C D8 D2, 05, 05]
-2B02; [0C D5 82, 05, 05]
+2B57; [0C D8 D9, 05, 05]
-2B03; [0C D5 89, 05, 05]
+2B58; [0C D8 E0, 05, 05]
-2B04; [0C D5 90, 05, 05]
+2B59; [0C D8 E7, 05, 05]
-2B05; [0C D5 97, 05, 05]
+2B5A; [0C D8 EE, 05, 05]
-2B06; [0C D5 9E, 05, 05]
+2B5B; [0C D8 F5, 05, 05]
-2B07; [0C D5 A5, 05, 05]
+2B5C; [0C D8 FC, 05, 05]
-2B08; [0C D5 AC, 05, 05]
+2B5D; [0C D9 05, 05, 05]
-2B09; [0C D5 B3, 05, 05]
+2B5E; [0C D9 0C, 05, 05]
-2B0A; [0C D5 BA, 05, 05]
+2B5F; [0C D9 13, 05, 05]
-2B0B; [0C D5 C1, 05, 05]
+2B60; [0C D9 1A, 05, 05]
-2B0C; [0C D5 C8, 05, 05]
+2B61; [0C D9 21, 05, 05]
-2B0D; [0C D5 CF, 05, 05]
+2B62; [0C D9 28, 05, 05]
-2B0E; [0C D5 D6, 05, 05]
+2B63; [0C D9 2F, 05, 05]
-2B0F; [0C D5 DD, 05, 05]
+2B64; [0C D9 36, 05, 05]
-2B10; [0C D5 E4, 05, 05]
+2B65; [0C D9 3D, 05, 05]
-2B11; [0C D5 EB, 05, 05]
+2B66; [0C D9 44, 05, 05]
-2B12; [0C D5 F2, 05, 05]
+2B67; [0C D9 4B, 05, 05]
-2B13; [0C D5 F9, 05, 05]
+2B68; [0C D9 52, 05, 05]
-2B14; [0C D6 02, 05, 05]
+2B69; [0C D9 59, 05, 05]
-2B15; [0C D6 09, 05, 05]
+2B6A; [0C D9 60, 05, 05]
-2B16; [0C D6 10, 05, 05]
+2B6B; [0C D9 67, 05, 05]
-2B17; [0C D6 17, 05, 05]
+2B6C; [0C D9 6E, 05, 05]
-2B18; [0C D6 1E, 05, 05]
+2B6D; [0C D9 75, 05, 05]
-2B19; [0C D6 25, 05, 05]
+2B6E; [0C D9 7C, 05, 05]
-2B1A; [0C D6 2C, 05, 05]
+2B6F; [0C D9 83, 05, 05]
-2B1B; [0C D6 33, 05, 05]
+2B70; [0C D9 8A, 05, 05]
-2B1C; [0C D6 3A, 05, 05]
+2B71; [0C D9 91, 05, 05]
-2B1D; [0C D6 41, 05, 05]
+2B72; [0C D9 98, 05, 05]
-2B1E; [0C D6 48, 05, 05]
+2B73; [0C D9 9F, 05, 05]
-2B1F; [0C D6 4F, 05, 05]
+2B76; [0C D9 A6, 05, 05]
-2B20; [0C D6 56, 05, 05]
+2B77; [0C D9 AD, 05, 05]
-2B21; [0C D6 5D, 05, 05]
+2B78; [0C D9 B4, 05, 05]
-2B22; [0C D6 64, 05, 05]
+2B79; [0C D9 BB, 05, 05]
-2B23; [0C D6 6B, 05, 05]
+2B7A; [0C D9 C2, 05, 05]
-2B24; [0C D6 72, 05, 05]
+2B7B; [0C D9 C9, 05, 05]
-2B25; [0C D6 79, 05, 05]
+2B7C; [0C D9 D0, 05, 05]
-2B26; [0C D6 80, 05, 05]
+2B7D; [0C D9 D7, 05, 05]
-2B27; [0C D6 87, 05, 05]
+2B7E; [0C D9 DE, 05, 05]
-2B28; [0C D6 8E, 05, 05]
+2B7F; [0C D9 E5, 05, 05]
-2B29; [0C D6 95, 05, 05]
+2B80; [0C D9 EC, 05, 05]
-2B2A; [0C D6 9C, 05, 05]
+2B81; [0C D9 F3, 05, 05]
-2B2B; [0C D6 A3, 05, 05]
+2B82; [0C D9 FA, 05, 05]
-2B2C; [0C D6 AA, 05, 05]
+2B83; [0C DA 03, 05, 05]
-2B2D; [0C D6 B1, 05, 05]
+2B84; [0C DA 0A, 05, 05]
-2B2E; [0C D6 B8, 05, 05]
+2B85; [0C DA 11, 05, 05]
-2B2F; [0C D6 BF, 05, 05]
+2B86; [0C DA 18, 05, 05]
-2B30; [0C D6 C6, 05, 05]
+2B87; [0C DA 1F, 05, 05]
-2B31; [0C D6 CD, 05, 05]
+2B88; [0C DA 26, 05, 05]
-2B32; [0C D6 D4, 05, 05]
+2B89; [0C DA 2D, 05, 05]
-2B33; [0C D6 DB, 05, 05]
+2B8A; [0C DA 34, 05, 05]
-2B34; [0C D6 E2, 05, 05]
+2B8B; [0C DA 3B, 05, 05]
-2B35; [0C D6 E9, 05, 05]
+2B8C; [0C DA 42, 05, 05]
-2B36; [0C D6 F0, 05, 05]
+2B8D; [0C DA 49, 05, 05]
-2B37; [0C D6 F7, 05, 05]
+2B8E; [0C DA 50, 05, 05]
-2B38; [0C D6 FE, 05, 05]
+2B8F; [0C DA 57, 05, 05]
-2B39; [0C D7 07, 05, 05]
+2B90; [0C DA 5E, 05, 05]
-2B3A; [0C D7 0E, 05, 05]
+2B91; [0C DA 65, 05, 05]
-2B3B; [0C D7 15, 05, 05]
+2B92; [0C DA 6C, 05, 05]
-2B3C; [0C D7 1C, 05, 05]
+2B93; [0C DA 73, 05, 05]
-2B3D; [0C D7 23, 05, 05]
+2B94; [0C DA 7A, 05, 05]
-2B3E; [0C D7 2A, 05, 05]
+2B95; [0C DA 81, 05, 05]
-2B3F; [0C D7 31, 05, 05]
+2B98; [0C DA 88, 05, 05]
-2B40; [0C D7 38, 05, 05]
+2B99; [0C DA 8F, 05, 05]
-2B41; [0C D7 3F, 05, 05]
+2B9A; [0C DA 96, 05, 05]
-2B42; [0C D7 46, 05, 05]
+2B9B; [0C DA 9D, 05, 05]
-2B43; [0C D7 4D, 05, 05]
+2B9C; [0C DA A4, 05, 05]
-2B44; [0C D7 54, 05, 05]
+2B9D; [0C DA AB, 05, 05]
-2B45; [0C D7 5B, 05, 05]
+2B9E; [0C DA B2, 05, 05]
-2B46; [0C D7 62, 05, 05]
+2B9F; [0C DA B9, 05, 05]
-2B47; [0C D7 69, 05, 05]
+2BA0; [0C DA C0, 05, 05]
-2B48; [0C D7 70, 05, 05]
+2BA1; [0C DA C7, 05, 05]
-2B49; [0C D7 77, 05, 05]
+2BA2; [0C DA CE, 05, 05]
-2B4A; [0C D7 7E, 05, 05]
+2BA3; [0C DA D5, 05, 05]
-2B4B; [0C D7 85, 05, 05]
+2BA4; [0C DA DC, 05, 05]
-2B4C; [0C D7 8C, 05, 05]
+2BA5; [0C DA E3, 05, 05]
-2B4D; [0C D7 93, 05, 05]
+2BA6; [0C DA EA, 05, 05]
-2B4E; [0C D7 9A, 05, 05]
+2BA7; [0C DA F1, 05, 05]
-2B4F; [0C D7 A1, 05, 05]
+2BA8; [0C DA F8, 05, 05]
-2B50; [0C D7 A8, 05, 05]
+2BA9; [0C DA FF, 05, 05]
-2B51; [0C D7 AF, 05, 05]
+2BAA; [0C DB 08, 05, 05]
-2B52; [0C D7 B6, 05, 05]
+2BAB; [0C DB 0F, 05, 05]
-2B53; [0C D7 BD, 05, 05]
+2BAC; [0C DB 16, 05, 05]
-2B54; [0C D7 C4, 05, 05]
+2BAD; [0C DB 1D, 05, 05]
-2B55; [0C D7 CB, 05, 05]
+2BAE; [0C DB 24, 05, 05]
-2B56; [0C D7 D2, 05, 05]
+2BAF; [0C DB 2B, 05, 05]
-2B57; [0C D7 D9, 05, 05]
+2BB0; [0C DB 32, 05, 05]
-2B58; [0C D7 E0, 05, 05]
+2BB1; [0C DB 39, 05, 05]
-2B59; [0C D7 E7, 05, 05]
+2BB2; [0C DB 40, 05, 05]
-2B5A; [0C D7 EE, 05, 05]
+2BB3; [0C DB 47, 05, 05]
-2B5B; [0C D7 F5, 05, 05]
+2BB4; [0C DB 4E, 05, 05]
-2B5C; [0C D7 FC, 05, 05]
+2BB5; [0C DB 55, 05, 05]
-2B5D; [0C D8 05, 05, 05]
+2BB6; [0C DB 5C, 05, 05]
-2B5E; [0C D8 0C, 05, 05]
+2BB7; [0C DB 63, 05, 05]
-2B5F; [0C D8 13, 05, 05]
+2BB8; [0C DB 6A, 05, 05]
-2B60; [0C D8 1A, 05, 05]
+2BB9; [0C DB 71, 05, 05]
-2B61; [0C D8 21, 05, 05]
+2BBA; [0C DB 78, 05, 05]
-2B62; [0C D8 28, 05, 05]
+2BBB; [0C DB 7F, 05, 05]
-2B63; [0C D8 2F, 05, 05]
+2BBC; [0C DB 86, 05, 05]
-2B64; [0C D8 36, 05, 05]
+2BBD; [0C DB 8D, 05, 05]
-2B65; [0C D8 3D, 05, 05]
+2BBE; [0C DB 94, 05, 05]
-2B66; [0C D8 44, 05, 05]
+2BBF; [0C DB 9B, 05, 05]
-2B67; [0C D8 4B, 05, 05]
+2BC0; [0C DB A2, 05, 05]
-2B68; [0C D8 52, 05, 05]
+2BC1; [0C DB A9, 05, 05]
-2B69; [0C D8 59, 05, 05]
+2BC2; [0C DB B0, 05, 05]
-2B6A; [0C D8 60, 05, 05]
+2BC3; [0C DB B7, 05, 05]
-2B6B; [0C D8 67, 05, 05]
+2BC4; [0C DB BE, 05, 05]
-2B6C; [0C D8 6E, 05, 05]
+2BC5; [0C DB C5, 05, 05]
-2B6D; [0C D8 75, 05, 05]
+2BC6; [0C DB CC, 05, 05]
-2B6E; [0C D8 7C, 05, 05]
+2BC7; [0C DB D3, 05, 05]
-2B6F; [0C D8 83, 05, 05]
+2BC8; [0C DB DA, 05, 05]
-2B70; [0C D8 8A, 05, 05]
+2BC9; [0C DB E1, 05, 05]
-2B71; [0C D8 91, 05, 05]
+2BCA; [0C DB E8, 05, 05]
-2B72; [0C D8 98, 05, 05]
+2BCB; [0C DB EF, 05, 05]
-2B73; [0C D8 9F, 05, 05]
+2BCC; [0C DB F6, 05, 05]
-2B76; [0C D8 A6, 05, 05]
+2BCD; [0C DB FD, 05, 05]
-2B77; [0C D8 AD, 05, 05]
+2BCE; [0C DC 06, 05, 05]
-2B78; [0C D8 B4, 05, 05]
+2BCF; [0C DC 0D, 05, 05]
-2B79; [0C D8 BB, 05, 05]
+2BD0; [0C DC 14, 05, 05]
-2B7A; [0C D8 C2, 05, 05]
+2BD1; [0C DC 1B, 05, 05]
-2B7B; [0C D8 C9, 05, 05]
+2BD2; [0C DC 22, 05, 05]
-2B7C; [0C D8 D0, 05, 05]
+2BD3; [0C DC 29, 05, 05]
-2B7D; [0C D8 D7, 05, 05]
+2BD4; [0C DC 30, 05, 05]
-2B7E; [0C D8 DE, 05, 05]
+2BD5; [0C DC 37, 05, 05]
-2B7F; [0C D8 E5, 05, 05]
+2BD6; [0C DC 3E, 05, 05]
-2B80; [0C D8 EC, 05, 05]
+2BD7; [0C DC 45, 05, 05]
-2B81; [0C D8 F3, 05, 05]
+2BD8; [0C DC 4C, 05, 05]
-2B82; [0C D8 FA, 05, 05]
+2BD9; [0C DC 53, 05, 05]
-2B83; [0C D9 03, 05, 05]
+2BDA; [0C DC 5A, 05, 05]
-2B84; [0C D9 0A, 05, 05]
+2BDB; [0C DC 61, 05, 05]
-2B85; [0C D9 11, 05, 05]
+2BDC; [0C DC 68, 05, 05]
-2B86; [0C D9 18, 05, 05]
+2BDD; [0C DC 6F, 05, 05]
-2B87; [0C D9 1F, 05, 05]
+2BDE; [0C DC 76, 05, 05]
-2B88; [0C D9 26, 05, 05]
+2BDF; [0C DC 7D, 05, 05]
-2B89; [0C D9 2D, 05, 05]
+2BE0; [0C DC 84, 05, 05]
-2B8A; [0C D9 34, 05, 05]
+2BE1; [0C DC 8B, 05, 05]
-2B8B; [0C D9 3B, 05, 05]
+2BE2; [0C DC 92, 05, 05]
-2B8C; [0C D9 42, 05, 05]
+2BE3; [0C DC 99, 05, 05]
-2B8D; [0C D9 49, 05, 05]
+2BE4; [0C DC A0, 05, 05]
-2B8E; [0C D9 50, 05, 05]
+2BE5; [0C DC A7, 05, 05]
-2B8F; [0C D9 57, 05, 05]
+2BE6; [0C DC AE, 05, 05]
-2B90; [0C D9 5E, 05, 05]
+2BE7; [0C DC B5, 05, 05]
-2B91; [0C D9 65, 05, 05]
+2BE8; [0C DC BC, 05, 05]
-2B92; [0C D9 6C, 05, 05]
+2BE9; [0C DC C3, 05, 05]
-2B93; [0C D9 73, 05, 05]
+2BEA; [0C DC CA, 05, 05]
-2B94; [0C D9 7A, 05, 05]
+2BEB; [0C DC D1, 05, 05]
-2B95; [0C D9 81, 05, 05]
+2BEC; [0C DC D8, 05, 05]
-2B98; [0C D9 88, 05, 05]
+2BED; [0C DC DF, 05, 05]
-2B99; [0C D9 8F, 05, 05]
+2BEE; [0C DC E6, 05, 05]
-2B9A; [0C D9 96, 05, 05]
+2BEF; [0C DC ED, 05, 05]
-2B9B; [0C D9 9D, 05, 05]
+2BF0; [0C DC F4, 05, 05]
-2B9C; [0C D9 A4, 05, 05]
+2BF1; [0C DC FB, 05, 05]
-2B9D; [0C D9 AB, 05, 05]
+2BF2; [0C DD 04, 05, 05]
-2B9E; [0C D9 B2, 05, 05]
+2BF3; [0C DD 0B, 05, 05]
-2B9F; [0C D9 B9, 05, 05]
+2BF4; [0C DD 12, 05, 05]
-2BA0; [0C D9 C0, 05, 05]
+2BF5; [0C DD 19, 05, 05]
-2BA1; [0C D9 C7, 05, 05]
+2BF6; [0C DD 20, 05, 05]
-2BA2; [0C D9 CE, 05, 05]
+2BF7; [0C DD 27, 05, 05]
-2BA3; [0C D9 D5, 05, 05]
+2BF8; [0C DD 2E, 05, 05]
-2BA4; [0C D9 DC, 05, 05]
+2BF9; [0C DD 35, 05, 05]
-2BA5; [0C D9 E3, 05, 05]
+2BFA; [0C DD 3C, 05, 05]
-2BA6; [0C D9 EA, 05, 05]
+2BFB; [0C DD 43, 05, 05]
-2BA7; [0C D9 F1, 05, 05]
+2BFC; [0C DD 4A, 05, 05]
-2BA8; [0C D9 F8, 05, 05]
+2BFD; [0C DD 51, 05, 05]
-2BA9; [0C D9 FF, 05, 05]
+2BFE; [0C DD 58, 05, 05]
-2BAA; [0C DA 08, 05, 05]
+2BFF; [0C DD 5F, 05, 05]
-2BAB; [0C DA 0F, 05, 05]
+2CE5; [0C DD 66, 05, 05]
-2BAC; [0C DA 16, 05, 05]
+2CE6; [0C DD 6D, 05, 05]
-2BAD; [0C DA 1D, 05, 05]
+2CE7; [0C DD 74, 05, 05]
-2BAE; [0C DA 24, 05, 05]
+2CE8; [0C DD 7B, 05, 05]
-2BAF; [0C DA 2B, 05, 05]
+2CE9; [0C DD 82, 05, 05]
-2BB0; [0C DA 32, 05, 05]
+2CEA; [0C DD 89, 05, 05]
-2BB1; [0C DA 39, 05, 05]
+2800; [0C DD 90, 05, 05]
-2BB2; [0C DA 40, 05, 05]
+2801; [0C DD 97, 05, 05]
-2BB3; [0C DA 47, 05, 05]
+2802; [0C DD 9E, 05, 05]
-2BB4; [0C DA 4E, 05, 05]
+2803; [0C DD A5, 05, 05]
-2BB5; [0C DA 55, 05, 05]
+2804; [0C DD AC, 05, 05]
-2BB6; [0C DA 5C, 05, 05]
+2805; [0C DD B3, 05, 05]
-2BB7; [0C DA 63, 05, 05]
+2806; [0C DD BA, 05, 05]
-2BB8; [0C DA 6A, 05, 05]
+2807; [0C DD C1, 05, 05]
-2BB9; [0C DA 71, 05, 05]
+2808; [0C DD C8, 05, 05]
-2BBA; [0C DA 78, 05, 05]
+2809; [0C DD CF, 05, 05]
-2BBB; [0C DA 7F, 05, 05]
+280A; [0C DD D6, 05, 05]
-2BBC; [0C DA 86, 05, 05]
+280B; [0C DD DD, 05, 05]
-2BBD; [0C DA 8D, 05, 05]
+280C; [0C DD E4, 05, 05]
-2BBE; [0C DA 94, 05, 05]
+280D; [0C DD EB, 05, 05]
-2BBF; [0C DA 9B, 05, 05]
+280E; [0C DD F2, 05, 05]
-2BC0; [0C DA A2, 05, 05]
+280F; [0C DD F9, 05, 05]
-2BC1; [0C DA A9, 05, 05]
+2810; [0C DE 02, 05, 05]
-2BC2; [0C DA B0, 05, 05]
+2811; [0C DE 09, 05, 05]
-2BC3; [0C DA B7, 05, 05]
+2812; [0C DE 10, 05, 05]
-2BC4; [0C DA BE, 05, 05]
+2813; [0C DE 17, 05, 05]
-2BC5; [0C DA C5, 05, 05]
+2814; [0C DE 1E, 05, 05]
-2BC6; [0C DA CC, 05, 05]
+2815; [0C DE 25, 05, 05]
-2BC7; [0C DA D3, 05, 05]
+2816; [0C DE 2C, 05, 05]
-2BC8; [0C DA DA, 05, 05]
+2817; [0C DE 33, 05, 05]
-2BCA; [0C DA E1, 05, 05]
+2818; [0C DE 3A, 05, 05]
-2BCB; [0C DA E8, 05, 05]
+2819; [0C DE 41, 05, 05]
-2BCC; [0C DA EF, 05, 05]
+281A; [0C DE 48, 05, 05]
-2BCD; [0C DA F6, 05, 05]
+281B; [0C DE 4F, 05, 05]
-2BCE; [0C DA FD, 05, 05]
+281C; [0C DE 56, 05, 05]
-2BCF; [0C DB 06, 05, 05]
+281D; [0C DE 5D, 05, 05]
-2BD0; [0C DB 0D, 05, 05]
+281E; [0C DE 64, 05, 05]
-2BD1; [0C DB 14, 05, 05]
+281F; [0C DE 6B, 05, 05]
-2BD2; [0C DB 1B, 05, 05]
+2820; [0C DE 72, 05, 05]
-2BD3; [0C DB 22, 05, 05]
+2821; [0C DE 79, 05, 05]
-2BD4; [0C DB 29, 05, 05]
+2822; [0C DE 80, 05, 05]
-2BD5; [0C DB 30, 05, 05]
+2823; [0C DE 87, 05, 05]
-2BD6; [0C DB 37, 05, 05]
+2824; [0C DE 8E, 05, 05]
-2BD7; [0C DB 3E, 05, 05]
+2825; [0C DE 95, 05, 05]
-2BD8; [0C DB 45, 05, 05]
+2826; [0C DE 9C, 05, 05]
-2BD9; [0C DB 4C, 05, 05]
+2827; [0C DE A3, 05, 05]
-2BDA; [0C DB 53, 05, 05]
+2828; [0C DE AA, 05, 05]
-2BDB; [0C DB 5A, 05, 05]
+2829; [0C DE B1, 05, 05]
-2BDC; [0C DB 61, 05, 05]
+282A; [0C DE B8, 05, 05]
-2BDD; [0C DB 68, 05, 05]
+282B; [0C DE BF, 05, 05]
-2BDE; [0C DB 6F, 05, 05]
+282C; [0C DE C6, 05, 05]
-2BDF; [0C DB 76, 05, 05]
+282D; [0C DE CD, 05, 05]
-2BE0; [0C DB 7D, 05, 05]
+282E; [0C DE D4, 05, 05]
-2BE1; [0C DB 84, 05, 05]
+282F; [0C DE DB, 05, 05]
-2BE2; [0C DB 8B, 05, 05]
+2830; [0C DE E2, 05, 05]
-2BE3; [0C DB 92, 05, 05]
+2831; [0C DE E9, 05, 05]
-2BE4; [0C DB 99, 05, 05]
+2832; [0C DE F0, 05, 05]
-2BE5; [0C DB A0, 05, 05]
+2833; [0C DE F7, 05, 05]
-2BE6; [0C DB A7, 05, 05]
+2834; [0C DE FE, 05, 05]
-2BE7; [0C DB AE, 05, 05]
+2835; [0C DF 07, 05, 05]
-2BE8; [0C DB B5, 05, 05]
+2836; [0C DF 0E, 05, 05]
-2BE9; [0C DB BC, 05, 05]
+2837; [0C DF 15, 05, 05]
-2BEA; [0C DB C3, 05, 05]
+2838; [0C DF 1C, 05, 05]
-2BEB; [0C DB CA, 05, 05]
+2839; [0C DF 23, 05, 05]
-2BEC; [0C DB D1, 05, 05]
+283A; [0C DF 2A, 05, 05]
-2BED; [0C DB D8, 05, 05]
+283B; [0C DF 31, 05, 05]
-2BEE; [0C DB DF, 05, 05]
+283C; [0C DF 38, 05, 05]
-2BEF; [0C DB E6, 05, 05]
+283D; [0C DF 3F, 05, 05]
-2BF0; [0C DB ED, 05, 05]
+283E; [0C DF 46, 05, 05]
-2BF1; [0C DB F4, 05, 05]
+283F; [0C DF 4D, 05, 05]
-2BF2; [0C DB FB, 05, 05]
+2840; [0C DF 54, 05, 05]
-2BF3; [0C DC 04, 05, 05]
+2841; [0C DF 5B, 05, 05]
-2BF4; [0C DC 0B, 05, 05]
+2842; [0C DF 62, 05, 05]
-2BF5; [0C DC 12, 05, 05]
+2843; [0C DF 69, 05, 05]
-2BF6; [0C DC 19, 05, 05]
+2844; [0C DF 70, 05, 05]
-2BF7; [0C DC 20, 05, 05]
+2845; [0C DF 77, 05, 05]
-2BF8; [0C DC 27, 05, 05]
+2846; [0C DF 7E, 05, 05]
-2BF9; [0C DC 2E, 05, 05]
+2847; [0C DF 85, 05, 05]
-2BFA; [0C DC 35, 05, 05]
+2848; [0C DF 8C, 05, 05]
-2BFB; [0C DC 3C, 05, 05]
+2849; [0C DF 93, 05, 05]
-2BFC; [0C DC 43, 05, 05]
+284A; [0C DF 9A, 05, 05]
-2BFD; [0C DC 4A, 05, 05]
+284B; [0C DF A1, 05, 05]
-2BFE; [0C DC 51, 05, 05]
+284C; [0C DF A8, 05, 05]
-2CE5; [0C DC 58, 05, 05]
+284D; [0C DF AF, 05, 05]
-2CE6; [0C DC 5F, 05, 05]
+284E; [0C DF B6, 05, 05]
-2CE7; [0C DC 66, 05, 05]
+284F; [0C DF BD, 05, 05]
-2CE8; [0C DC 6D, 05, 05]
+2850; [0C DF C4, 05, 05]
-2CE9; [0C DC 74, 05, 05]
+2851; [0C DF CB, 05, 05]
-2CEA; [0C DC 7B, 05, 05]
+2852; [0C DF D2, 05, 05]
-2800; [0C DC 82, 05, 05]
+2853; [0C DF D9, 05, 05]
-2801; [0C DC 89, 05, 05]
+2854; [0C DF E0, 05, 05]
-2802; [0C DC 90, 05, 05]
+2855; [0C DF E7, 05, 05]
-2803; [0C DC 97, 05, 05]
+2856; [0C DF EE, 05, 05]
-2804; [0C DC 9E, 05, 05]
+2857; [0C DF F5, 05, 05]
-2805; [0C DC A5, 05, 05]
+2858; [0C DF FC, 05, 05]
-2806; [0C DC AC, 05, 05]
+2859; [0C E0 05, 05, 05]
-2807; [0C DC B3, 05, 05]
+285A; [0C E0 0C, 05, 05]
-2808; [0C DC BA, 05, 05]
+285B; [0C E0 13, 05, 05]
-2809; [0C DC C1, 05, 05]
+285C; [0C E0 1A, 05, 05]
-280A; [0C DC C8, 05, 05]
+285D; [0C E0 21, 05, 05]
-280B; [0C DC CF, 05, 05]
+285E; [0C E0 28, 05, 05]
-280C; [0C DC D6, 05, 05]
+285F; [0C E0 2F, 05, 05]
-280D; [0C DC DD, 05, 05]
+2860; [0C E0 36, 05, 05]
-280E; [0C DC E4, 05, 05]
+2861; [0C E0 3D, 05, 05]
-280F; [0C DC EB, 05, 05]
+2862; [0C E0 44, 05, 05]
-2810; [0C DC F2, 05, 05]
+2863; [0C E0 4B, 05, 05]
-2811; [0C DC F9, 05, 05]
+2864; [0C E0 52, 05, 05]
-2812; [0C DD 02, 05, 05]
+2865; [0C E0 59, 05, 05]
-2813; [0C DD 09, 05, 05]
+2866; [0C E0 60, 05, 05]
-2814; [0C DD 10, 05, 05]
+2867; [0C E0 67, 05, 05]
-2815; [0C DD 17, 05, 05]
+2868; [0C E0 6E, 05, 05]
-2816; [0C DD 1E, 05, 05]
+2869; [0C E0 75, 05, 05]
-2817; [0C DD 25, 05, 05]
+286A; [0C E0 7C, 05, 05]
-2818; [0C DD 2C, 05, 05]
+286B; [0C E0 83, 05, 05]
-2819; [0C DD 33, 05, 05]
+286C; [0C E0 8A, 05, 05]
-281A; [0C DD 3A, 05, 05]
+286D; [0C E0 91, 05, 05]
-281B; [0C DD 41, 05, 05]
+286E; [0C E0 98, 05, 05]
-281C; [0C DD 48, 05, 05]
+286F; [0C E0 9F, 05, 05]
-281D; [0C DD 4F, 05, 05]
+2870; [0C E0 A6, 05, 05]
-281E; [0C DD 56, 05, 05]
+2871; [0C E0 AD, 05, 05]
-281F; [0C DD 5D, 05, 05]
+2872; [0C E0 B4, 05, 05]
-2820; [0C DD 64, 05, 05]
+2873; [0C E0 BB, 05, 05]
-2821; [0C DD 6B, 05, 05]
+2874; [0C E0 C2, 05, 05]
-2822; [0C DD 72, 05, 05]
+2875; [0C E0 C9, 05, 05]
-2823; [0C DD 79, 05, 05]
+2876; [0C E0 D0, 05, 05]
-2824; [0C DD 80, 05, 05]
+2877; [0C E0 D7, 05, 05]
-2825; [0C DD 87, 05, 05]
+2878; [0C E0 DE, 05, 05]
-2826; [0C DD 8E, 05, 05]
+2879; [0C E0 E5, 05, 05]
-2827; [0C DD 95, 05, 05]
+287A; [0C E0 EC, 05, 05]
-2828; [0C DD 9C, 05, 05]
+287B; [0C E0 F3, 05, 05]
-2829; [0C DD A3, 05, 05]
+287C; [0C E0 FA, 05, 05]
-282A; [0C DD AA, 05, 05]
+287D; [0C E1 03, 05, 05]
-282B; [0C DD B1, 05, 05]
+287E; [0C E1 0A, 05, 05]
-282C; [0C DD B8, 05, 05]
+287F; [0C E1 11, 05, 05]
-282D; [0C DD BF, 05, 05]
+2880; [0C E1 18, 05, 05]
-282E; [0C DD C6, 05, 05]
+2881; [0C E1 1F, 05, 05]
-282F; [0C DD CD, 05, 05]
+2882; [0C E1 26, 05, 05]
-2830; [0C DD D4, 05, 05]
+2883; [0C E1 2D, 05, 05]
-2831; [0C DD DB, 05, 05]
+2884; [0C E1 34, 05, 05]
-2832; [0C DD E2, 05, 05]
+2885; [0C E1 3B, 05, 05]
-2833; [0C DD E9, 05, 05]
+2886; [0C E1 42, 05, 05]
-2834; [0C DD F0, 05, 05]
+2887; [0C E1 49, 05, 05]
-2835; [0C DD F7, 05, 05]
+2888; [0C E1 50, 05, 05]
-2836; [0C DD FE, 05, 05]
+2889; [0C E1 57, 05, 05]
-2837; [0C DE 07, 05, 05]
+288A; [0C E1 5E, 05, 05]
-2838; [0C DE 0E, 05, 05]
+288B; [0C E1 65, 05, 05]
-2839; [0C DE 15, 05, 05]
+288C; [0C E1 6C, 05, 05]
-283A; [0C DE 1C, 05, 05]
+288D; [0C E1 73, 05, 05]
-283B; [0C DE 23, 05, 05]
+288E; [0C E1 7A, 05, 05]
-283C; [0C DE 2A, 05, 05]
+288F; [0C E1 81, 05, 05]
-283D; [0C DE 31, 05, 05]
+2890; [0C E1 88, 05, 05]
-283E; [0C DE 38, 05, 05]
+2891; [0C E1 8F, 05, 05]
-283F; [0C DE 3F, 05, 05]
+2892; [0C E1 96, 05, 05]
-2840; [0C DE 46, 05, 05]
+2893; [0C E1 9D, 05, 05]
-2841; [0C DE 4D, 05, 05]
+2894; [0C E1 A4, 05, 05]
-2842; [0C DE 54, 05, 05]
+2895; [0C E1 AB, 05, 05]
-2843; [0C DE 5B, 05, 05]
+2896; [0C E1 B2, 05, 05]
-2844; [0C DE 62, 05, 05]
+2897; [0C E1 B9, 05, 05]
-2845; [0C DE 69, 05, 05]
+2898; [0C E1 C0, 05, 05]
-2846; [0C DE 70, 05, 05]
+2899; [0C E1 C7, 05, 05]
-2847; [0C DE 77, 05, 05]
+289A; [0C E1 CE, 05, 05]
-2848; [0C DE 7E, 05, 05]
+289B; [0C E1 D5, 05, 05]
-2849; [0C DE 85, 05, 05]
+289C; [0C E1 DC, 05, 05]
-284A; [0C DE 8C, 05, 05]
+289D; [0C E1 E3, 05, 05]
-284B; [0C DE 93, 05, 05]
+289E; [0C E1 EA, 05, 05]
-284C; [0C DE 9A, 05, 05]
+289F; [0C E1 F1, 05, 05]
-284D; [0C DE A1, 05, 05]
+28A0; [0C E1 F8, 05, 05]
-284E; [0C DE A8, 05, 05]
+28A1; [0C E1 FF, 05, 05]
-284F; [0C DE AF, 05, 05]
+28A2; [0C E2 08, 05, 05]
-2850; [0C DE B6, 05, 05]
+28A3; [0C E2 0F, 05, 05]
-2851; [0C DE BD, 05, 05]
+28A4; [0C E2 16, 05, 05]
-2852; [0C DE C4, 05, 05]
+28A5; [0C E2 1D, 05, 05]
-2853; [0C DE CB, 05, 05]
+28A6; [0C E2 24, 05, 05]
-2854; [0C DE D2, 05, 05]
+28A7; [0C E2 2B, 05, 05]
-2855; [0C DE D9, 05, 05]
+28A8; [0C E2 32, 05, 05]
-2856; [0C DE E0, 05, 05]
+28A9; [0C E2 39, 05, 05]
-2857; [0C DE E7, 05, 05]
+28AA; [0C E2 40, 05, 05]
-2858; [0C DE EE, 05, 05]
+28AB; [0C E2 47, 05, 05]
-2859; [0C DE F5, 05, 05]
+28AC; [0C E2 4E, 05, 05]
-285A; [0C DE FC, 05, 05]
+28AD; [0C E2 55, 05, 05]
-285B; [0C DF 05, 05, 05]
+28AE; [0C E2 5C, 05, 05]
-285C; [0C DF 0C, 05, 05]
+28AF; [0C E2 63, 05, 05]
-285D; [0C DF 13, 05, 05]
+28B0; [0C E2 6A, 05, 05]
-285E; [0C DF 1A, 05, 05]
+28B1; [0C E2 71, 05, 05]
-285F; [0C DF 21, 05, 05]
+28B2; [0C E2 78, 05, 05]
-2860; [0C DF 28, 05, 05]
+28B3; [0C E2 7F, 05, 05]
-2861; [0C DF 2F, 05, 05]
+28B4; [0C E2 86, 05, 05]
-2862; [0C DF 36, 05, 05]
+28B5; [0C E2 8D, 05, 05]
-2863; [0C DF 3D, 05, 05]
+28B6; [0C E2 94, 05, 05]
-2864; [0C DF 44, 05, 05]
+28B7; [0C E2 9B, 05, 05]
-2865; [0C DF 4B, 05, 05]
+28B8; [0C E2 A2, 05, 05]
-2866; [0C DF 52, 05, 05]
+28B9; [0C E2 A9, 05, 05]
-2867; [0C DF 59, 05, 05]
+28BA; [0C E2 B0, 05, 05]
-2868; [0C DF 60, 05, 05]
+28BB; [0C E2 B7, 05, 05]
-2869; [0C DF 67, 05, 05]
+28BC; [0C E2 BE, 05, 05]
-286A; [0C DF 6E, 05, 05]
+28BD; [0C E2 C5, 05, 05]
-286B; [0C DF 75, 05, 05]
+28BE; [0C E2 CC, 05, 05]
-286C; [0C DF 7C, 05, 05]
+28BF; [0C E2 D3, 05, 05]
-286D; [0C DF 83, 05, 05]
+28C0; [0C E2 DA, 05, 05]
-286E; [0C DF 8A, 05, 05]
+28C1; [0C E2 E1, 05, 05]
-286F; [0C DF 91, 05, 05]
+28C2; [0C E2 E8, 05, 05]
-2870; [0C DF 98, 05, 05]
+28C3; [0C E2 EF, 05, 05]
-2871; [0C DF 9F, 05, 05]
+28C4; [0C E2 F6, 05, 05]
-2872; [0C DF A6, 05, 05]
+28C5; [0C E2 FD, 05, 05]
-2873; [0C DF AD, 05, 05]
+28C6; [0C E3 06, 05, 05]
-2874; [0C DF B4, 05, 05]
+28C7; [0C E3 0D, 05, 05]
-2875; [0C DF BB, 05, 05]
+28C8; [0C E3 14, 05, 05]
-2876; [0C DF C2, 05, 05]
+28C9; [0C E3 1B, 05, 05]
-2877; [0C DF C9, 05, 05]
+28CA; [0C E3 22, 05, 05]
-2878; [0C DF D0, 05, 05]
+28CB; [0C E3 29, 05, 05]
-2879; [0C DF D7, 05, 05]
+28CC; [0C E3 30, 05, 05]
-287A; [0C DF DE, 05, 05]
+28CD; [0C E3 37, 05, 05]
-287B; [0C DF E5, 05, 05]
+28CE; [0C E3 3E, 05, 05]
-287C; [0C DF EC, 05, 05]
+28CF; [0C E3 45, 05, 05]
-287D; [0C DF F3, 05, 05]
+28D0; [0C E3 4C, 05, 05]
-287E; [0C DF FA, 05, 05]
+28D1; [0C E3 53, 05, 05]
-287F; [0C E0 03, 05, 05]
+28D2; [0C E3 5A, 05, 05]
-2880; [0C E0 0A, 05, 05]
+28D3; [0C E3 61, 05, 05]
-2881; [0C E0 11, 05, 05]
+28D4; [0C E3 68, 05, 05]
-2882; [0C E0 18, 05, 05]
+28D5; [0C E3 6F, 05, 05]
-2883; [0C E0 1F, 05, 05]
+28D6; [0C E3 76, 05, 05]
-2884; [0C E0 26, 05, 05]
+28D7; [0C E3 7D, 05, 05]
-2885; [0C E0 2D, 05, 05]
+28D8; [0C E3 84, 05, 05]
-2886; [0C E0 34, 05, 05]
+28D9; [0C E3 8B, 05, 05]
-2887; [0C E0 3B, 05, 05]
+28DA; [0C E3 92, 05, 05]
-2888; [0C E0 42, 05, 05]
+28DB; [0C E3 99, 05, 05]
-2889; [0C E0 49, 05, 05]
+28DC; [0C E3 A0, 05, 05]
-288A; [0C E0 50, 05, 05]
+28DD; [0C E3 A7, 05, 05]
-288B; [0C E0 57, 05, 05]
+28DE; [0C E3 AE, 05, 05]
-288C; [0C E0 5E, 05, 05]
+28DF; [0C E3 B5, 05, 05]
-288D; [0C E0 65, 05, 05]
+28E0; [0C E3 BC, 05, 05]
-288E; [0C E0 6C, 05, 05]
+28E1; [0C E3 C3, 05, 05]
-288F; [0C E0 73, 05, 05]
+28E2; [0C E3 CA, 05, 05]
-2890; [0C E0 7A, 05, 05]
+28E3; [0C E3 D1, 05, 05]
-2891; [0C E0 81, 05, 05]
+28E4; [0C E3 D8, 05, 05]
-2892; [0C E0 88, 05, 05]
+28E5; [0C E3 DF, 05, 05]
-2893; [0C E0 8F, 05, 05]
+28E6; [0C E3 E6, 05, 05]
-2894; [0C E0 96, 05, 05]
+28E7; [0C E3 ED, 05, 05]
-2895; [0C E0 9D, 05, 05]
+28E8; [0C E3 F4, 05, 05]
-2896; [0C E0 A4, 05, 05]
+28E9; [0C E3 FB, 05, 05]
-2897; [0C E0 AB, 05, 05]
+28EA; [0C E4 04, 05, 05]
-2898; [0C E0 B2, 05, 05]
+28EB; [0C E4 0B, 05, 05]
-2899; [0C E0 B9, 05, 05]
+28EC; [0C E4 12, 05, 05]
-289A; [0C E0 C0, 05, 05]
+28ED; [0C E4 19, 05, 05]
-289B; [0C E0 C7, 05, 05]
+28EE; [0C E4 20, 05, 05]
-289C; [0C E0 CE, 05, 05]
+28EF; [0C E4 27, 05, 05]
-289D; [0C E0 D5, 05, 05]
+28F0; [0C E4 2E, 05, 05]
-289E; [0C E0 DC, 05, 05]
+28F1; [0C E4 35, 05, 05]
-289F; [0C E0 E3, 05, 05]
+28F2; [0C E4 3C, 05, 05]
-28A0; [0C E0 EA, 05, 05]
+28F3; [0C E4 43, 05, 05]
-28A1; [0C E0 F1, 05, 05]
+28F4; [0C E4 4A, 05, 05]
-28A2; [0C E0 F8, 05, 05]
+28F5; [0C E4 51, 05, 05]
-28A3; [0C E0 FF, 05, 05]
+28F6; [0C E4 58, 05, 05]
-28A4; [0C E1 08, 05, 05]
+28F7; [0C E4 5F, 05, 05]
-28A5; [0C E1 0F, 05, 05]
+28F8; [0C E4 66, 05, 05]
-28A6; [0C E1 16, 05, 05]
+28F9; [0C E4 6D, 05, 05]
-28A7; [0C E1 1D, 05, 05]
+28FA; [0C E4 74, 05, 05]
-28A8; [0C E1 24, 05, 05]
+28FB; [0C E4 7B, 05, 05]
-28A9; [0C E1 2B, 05, 05]
+28FC; [0C E4 82, 05, 05]
-28AA; [0C E1 32, 05, 05]
+28FD; [0C E4 89, 05, 05]
-28AB; [0C E1 39, 05, 05]
+28FE; [0C E4 90, 05, 05]
-28AC; [0C E1 40, 05, 05]
+28FF; [0C E4 97, 05, 05]
-28AD; [0C E1 47, 05, 05]
+268A; [0C E4 9E, 05, 05]
-28AE; [0C E1 4E, 05, 05]
+268B; [0C E4 A5, 05, 05]
-28AF; [0C E1 55, 05, 05]
+268C; [0C E4 AC, 05, 05]
-28B0; [0C E1 5C, 05, 05]
+268D; [0C E4 B3, 05, 05]
-28B1; [0C E1 63, 05, 05]
+268E; [0C E4 BA, 05, 05]
-28B2; [0C E1 6A, 05, 05]
+268F; [0C E4 C1, 05, 05]
-28B3; [0C E1 71, 05, 05]
+2630; [0C E4 C8, 05, 05]
-28B4; [0C E1 78, 05, 05]
+2631; [0C E4 CF, 05, 05]
-28B5; [0C E1 7F, 05, 05]
+2632; [0C E4 D6, 05, 05]
-28B6; [0C E1 86, 05, 05]
+2633; [0C E4 DD, 05, 05]
-28B7; [0C E1 8D, 05, 05]
+2634; [0C E4 E4, 05, 05]
-28B8; [0C E1 94, 05, 05]
+2635; [0C E4 EB, 05, 05]
-28B9; [0C E1 9B, 05, 05]
+2636; [0C E4 F2, 05, 05]
-28BA; [0C E1 A2, 05, 05]
+2637; [0C E4 F9, 05, 05]
-28BB; [0C E1 A9, 05, 05]
+4DC0; [0C E5 02, 05, 05]
-28BC; [0C E1 B0, 05, 05]
+4DC1; [0C E5 09, 05, 05]
-28BD; [0C E1 B7, 05, 05]
+4DC2; [0C E5 10, 05, 05]
-28BE; [0C E1 BE, 05, 05]
+4DC3; [0C E5 17, 05, 05]
-28BF; [0C E1 C5, 05, 05]
+4DC4; [0C E5 1E, 05, 05]
-28C0; [0C E1 CC, 05, 05]
+4DC5; [0C E5 25, 05, 05]
-28C1; [0C E1 D3, 05, 05]
+4DC6; [0C E5 2C, 05, 05]
-28C2; [0C E1 DA, 05, 05]
+4DC7; [0C E5 33, 05, 05]
-28C3; [0C E1 E1, 05, 05]
+4DC8; [0C E5 3A, 05, 05]
-28C4; [0C E1 E8, 05, 05]
+4DC9; [0C E5 41, 05, 05]
-28C5; [0C E1 EF, 05, 05]
+4DCA; [0C E5 48, 05, 05]
-28C6; [0C E1 F6, 05, 05]
+4DCB; [0C E5 4F, 05, 05]
-28C7; [0C E1 FD, 05, 05]
+4DCC; [0C E5 56, 05, 05]
-28C8; [0C E2 06, 05, 05]
+4DCD; [0C E5 5D, 05, 05]
-28C9; [0C E2 0D, 05, 05]
+4DCE; [0C E5 64, 05, 05]
-28CA; [0C E2 14, 05, 05]
+4DCF; [0C E5 6B, 05, 05]
-28CB; [0C E2 1B, 05, 05]
+4DD0; [0C E5 72, 05, 05]
-28CC; [0C E2 22, 05, 05]
+4DD1; [0C E5 79, 05, 05]
-28CD; [0C E2 29, 05, 05]
+4DD2; [0C E5 80, 05, 05]
-28CE; [0C E2 30, 05, 05]
+4DD3; [0C E5 87, 05, 05]
-28CF; [0C E2 37, 05, 05]
+4DD4; [0C E5 8E, 05, 05]
-28D0; [0C E2 3E, 05, 05]
+4DD5; [0C E5 95, 05, 05]
-28D1; [0C E2 45, 05, 05]
+4DD6; [0C E5 9C, 05, 05]
-28D2; [0C E2 4C, 05, 05]
+4DD7; [0C E5 A3, 05, 05]
-28D3; [0C E2 53, 05, 05]
+4DD8; [0C E5 AA, 05, 05]
-28D4; [0C E2 5A, 05, 05]
+4DD9; [0C E5 B1, 05, 05]
-28D5; [0C E2 61, 05, 05]
+4DDA; [0C E5 B8, 05, 05]
-28D6; [0C E2 68, 05, 05]
+4DDB; [0C E5 BF, 05, 05]
-28D7; [0C E2 6F, 05, 05]
+4DDC; [0C E5 C6, 05, 05]
-28D8; [0C E2 76, 05, 05]
+4DDD; [0C E5 CD, 05, 05]
-28D9; [0C E2 7D, 05, 05]
+4DDE; [0C E5 D4, 05, 05]
-28DA; [0C E2 84, 05, 05]
+4DDF; [0C E5 DB, 05, 05]
-28DB; [0C E2 8B, 05, 05]
+4DE0; [0C E5 E2, 05, 05]
-28DC; [0C E2 92, 05, 05]
+4DE1; [0C E5 E9, 05, 05]
-28DD; [0C E2 99, 05, 05]
+4DE2; [0C E5 F0, 05, 05]
-28DE; [0C E2 A0, 05, 05]
+4DE3; [0C E5 F7, 05, 05]
-28DF; [0C E2 A7, 05, 05]
+4DE4; [0C E5 FE, 05, 05]
-28E0; [0C E2 AE, 05, 05]
+4DE5; [0C E6 07, 05, 05]
-28E1; [0C E2 B5, 05, 05]
+4DE6; [0C E6 0E, 05, 05]
-28E2; [0C E2 BC, 05, 05]
+4DE7; [0C E6 15, 05, 05]
-28E3; [0C E2 C3, 05, 05]
+4DE8; [0C E6 1C, 05, 05]
-28E4; [0C E2 CA, 05, 05]
+4DE9; [0C E6 23, 05, 05]
-28E5; [0C E2 D1, 05, 05]
+4DEA; [0C E6 2A, 05, 05]
-28E6; [0C E2 D8, 05, 05]
+4DEB; [0C E6 31, 05, 05]
-28E7; [0C E2 DF, 05, 05]
+4DEC; [0C E6 38, 05, 05]
-28E8; [0C E2 E6, 05, 05]
+4DED; [0C E6 3F, 05, 05]
-28E9; [0C E2 ED, 05, 05]
+4DEE; [0C E6 46, 05, 05]
-28EA; [0C E2 F4, 05, 05]
+4DEF; [0C E6 4D, 05, 05]
-28EB; [0C E2 FB, 05, 05]
+4DF0; [0C E6 54, 05, 05]
-28EC; [0C E3 04, 05, 05]
+4DF1; [0C E6 5B, 05, 05]
-28ED; [0C E3 0B, 05, 05]
+4DF2; [0C E6 62, 05, 05]
-28EE; [0C E3 12, 05, 05]
+4DF3; [0C E6 69, 05, 05]
-28EF; [0C E3 19, 05, 05]
+4DF4; [0C E6 70, 05, 05]
-28F0; [0C E3 20, 05, 05]
+4DF5; [0C E6 77, 05, 05]
-28F1; [0C E3 27, 05, 05]
+4DF6; [0C E6 7E, 05, 05]
-28F2; [0C E3 2E, 05, 05]
+4DF7; [0C E6 85, 05, 05]
-28F3; [0C E3 35, 05, 05]
+4DF8; [0C E6 8C, 05, 05]
-28F4; [0C E3 3C, 05, 05]
+4DF9; [0C E6 93, 05, 05]
-28F5; [0C E3 43, 05, 05]
+4DFA; [0C E6 9A, 05, 05]
-28F6; [0C E3 4A, 05, 05]
+4DFB; [0C E6 A1, 05, 05]
-28F7; [0C E3 51, 05, 05]
+4DFC; [0C E6 A8, 05, 05]
-28F8; [0C E3 58, 05, 05]
+4DFD; [0C E6 AF, 05, 05]
-28F9; [0C E3 5F, 05, 05]
+4DFE; [0C E6 B6, 05, 05]
-28FA; [0C E3 66, 05, 05]
+4DFF; [0C E6 BD, 05, 05]
-28FB; [0C E3 6D, 05, 05]
+1D300; [0C E6 C4, 05, 05]
-28FC; [0C E3 74, 05, 05]
+1D301; [0C E6 CB, 05, 05]
-28FD; [0C E3 7B, 05, 05]
+1D302; [0C E6 D2, 05, 05]
-28FE; [0C E3 82, 05, 05]
+1D303; [0C E6 D9, 05, 05]
-28FF; [0C E3 89, 05, 05]
+1D304; [0C E6 E0, 05, 05]
-268A; [0C E3 90, 05, 05]
+1D305; [0C E6 E7, 05, 05]
-268B; [0C E3 97, 05, 05]
+1D306; [0C E6 EE, 05, 05]
-268C; [0C E3 9E, 05, 05]
+1D307; [0C E6 F5, 05, 05]
-268D; [0C E3 A5, 05, 05]
+1D308; [0C E6 FC, 05, 05]
-268E; [0C E3 AC, 05, 05]
+1D309; [0C E7 05, 05, 05]
-268F; [0C E3 B3, 05, 05]
+1D30A; [0C E7 0C, 05, 05]
-2630; [0C E3 BA, 05, 05]
+1D30B; [0C E7 13, 05, 05]
-2631; [0C E3 C1, 05, 05]
+1D30C; [0C E7 1A, 05, 05]
-2632; [0C E3 C8, 05, 05]
+1D30D; [0C E7 21, 05, 05]
-2633; [0C E3 CF, 05, 05]
+1D30E; [0C E7 28, 05, 05]
-2634; [0C E3 D6, 05, 05]
+1D30F; [0C E7 2F, 05, 05]
-2635; [0C E3 DD, 05, 05]
+1D310; [0C E7 36, 05, 05]
-2636; [0C E3 E4, 05, 05]
+1D311; [0C E7 3D, 05, 05]
-2637; [0C E3 EB, 05, 05]
+1D312; [0C E7 44, 05, 05]
-4DC0; [0C E3 F2, 05, 05]
+1D313; [0C E7 4B, 05, 05]
-4DC1; [0C E3 F9, 05, 05]
+1D314; [0C E7 52, 05, 05]
-4DC2; [0C E4 02, 05, 05]
+1D315; [0C E7 59, 05, 05]
-4DC3; [0C E4 09, 05, 05]
+1D316; [0C E7 60, 05, 05]
-4DC4; [0C E4 10, 05, 05]
+1D317; [0C E7 67, 05, 05]
-4DC5; [0C E4 17, 05, 05]
+1D318; [0C E7 6E, 05, 05]
-4DC6; [0C E4 1E, 05, 05]
+1D319; [0C E7 75, 05, 05]
-4DC7; [0C E4 25, 05, 05]
+1D31A; [0C E7 7C, 05, 05]
-4DC8; [0C E4 2C, 05, 05]
+1D31B; [0C E7 83, 05, 05]
-4DC9; [0C E4 33, 05, 05]
+1D31C; [0C E7 8A, 05, 05]
-4DCA; [0C E4 3A, 05, 05]
+1D31D; [0C E7 91, 05, 05]
-4DCB; [0C E4 41, 05, 05]
+1D31E; [0C E7 98, 05, 05]
-4DCC; [0C E4 48, 05, 05]
+1D31F; [0C E7 9F, 05, 05]
-4DCD; [0C E4 4F, 05, 05]
+1D320; [0C E7 A6, 05, 05]
-4DCE; [0C E4 56, 05, 05]
+1D321; [0C E7 AD, 05, 05]
-4DCF; [0C E4 5D, 05, 05]
+1D322; [0C E7 B4, 05, 05]
-4DD0; [0C E4 64, 05, 05]
+1D323; [0C E7 BB, 05, 05]
-4DD1; [0C E4 6B, 05, 05]
+1D324; [0C E7 C2, 05, 05]
-4DD2; [0C E4 72, 05, 05]
+1D325; [0C E7 C9, 05, 05]
-4DD3; [0C E4 79, 05, 05]
+1D326; [0C E7 D0, 05, 05]
-4DD4; [0C E4 80, 05, 05]
+1D327; [0C E7 D7, 05, 05]
-4DD5; [0C E4 87, 05, 05]
+1D328; [0C E7 DE, 05, 05]
-4DD6; [0C E4 8E, 05, 05]
+1D329; [0C E7 E5, 05, 05]
-4DD7; [0C E4 95, 05, 05]
+1D32A; [0C E7 EC, 05, 05]
-4DD8; [0C E4 9C, 05, 05]
+1D32B; [0C E7 F3, 05, 05]
-4DD9; [0C E4 A3, 05, 05]
+1D32C; [0C E7 FA, 05, 05]
-4DDA; [0C E4 AA, 05, 05]
+1D32D; [0C E8 03, 05, 05]
-4DDB; [0C E4 B1, 05, 05]
+1D32E; [0C E8 0A, 05, 05]
-4DDC; [0C E4 B8, 05, 05]
+1D32F; [0C E8 11, 05, 05]
-4DDD; [0C E4 BF, 05, 05]
+1D330; [0C E8 18, 05, 05]
-4DDE; [0C E4 C6, 05, 05]
+1D331; [0C E8 1F, 05, 05]
-4DDF; [0C E4 CD, 05, 05]
+1D332; [0C E8 26, 05, 05]
-4DE0; [0C E4 D4, 05, 05]
+1D333; [0C E8 2D, 05, 05]
-4DE1; [0C E4 DB, 05, 05]
+1D334; [0C E8 34, 05, 05]
-4DE2; [0C E4 E2, 05, 05]
+1D335; [0C E8 3B, 05, 05]
-4DE3; [0C E4 E9, 05, 05]
+1D336; [0C E8 42, 05, 05]
-4DE4; [0C E4 F0, 05, 05]
+1D337; [0C E8 49, 05, 05]
-4DE5; [0C E4 F7, 05, 05]
+1D338; [0C E8 50, 05, 05]
-4DE6; [0C E4 FE, 05, 05]
+1D339; [0C E8 57, 05, 05]
-4DE7; [0C E5 07, 05, 05]
+1D33A; [0C E8 5E, 05, 05]
-4DE8; [0C E5 0E, 05, 05]
+1D33B; [0C E8 65, 05, 05]
-4DE9; [0C E5 15, 05, 05]
+1D33C; [0C E8 6C, 05, 05]
-4DEA; [0C E5 1C, 05, 05]
+1D33D; [0C E8 73, 05, 05]
-4DEB; [0C E5 23, 05, 05]
+1D33E; [0C E8 7A, 05, 05]
-4DEC; [0C E5 2A, 05, 05]
+1D33F; [0C E8 81, 05, 05]
-4DED; [0C E5 31, 05, 05]
+1D340; [0C E8 88, 05, 05]
-4DEE; [0C E5 38, 05, 05]
+1D341; [0C E8 8F, 05, 05]
-4DEF; [0C E5 3F, 05, 05]
+1D342; [0C E8 96, 05, 05]
-4DF0; [0C E5 46, 05, 05]
+1D343; [0C E8 9D, 05, 05]
-4DF1; [0C E5 4D, 05, 05]
+1D344; [0C E8 A4, 05, 05]
-4DF2; [0C E5 54, 05, 05]
+1D345; [0C E8 AB, 05, 05]
-4DF3; [0C E5 5B, 05, 05]
+1D346; [0C E8 B2, 05, 05]
-4DF4; [0C E5 62, 05, 05]
+1D347; [0C E8 B9, 05, 05]
-4DF5; [0C E5 69, 05, 05]
+1D348; [0C E8 C0, 05, 05]
-4DF6; [0C E5 70, 05, 05]
+1D349; [0C E8 C7, 05, 05]
-4DF7; [0C E5 77, 05, 05]
+1D34A; [0C E8 CE, 05, 05]
-4DF8; [0C E5 7E, 05, 05]
+1D34B; [0C E8 D5, 05, 05]
-4DF9; [0C E5 85, 05, 05]
+1D34C; [0C E8 DC, 05, 05]
-4DFA; [0C E5 8C, 05, 05]
+1D34D; [0C E8 E3, 05, 05]
-4DFB; [0C E5 93, 05, 05]
+1D34E; [0C E8 EA, 05, 05]
-4DFC; [0C E5 9A, 05, 05]
+1D34F; [0C E8 F1, 05, 05]
-4DFD; [0C E5 A1, 05, 05]
+1D350; [0C E8 F8, 05, 05]
-4DFE; [0C E5 A8, 05, 05]
+1D351; [0C E8 FF, 05, 05]
-4DFF; [0C E5 AF, 05, 05]
+1D352; [0C E9 08, 05, 05]
-1D300; [0C E5 B6, 05, 05]
+1D353; [0C E9 0F, 05, 05]
-1D301; [0C E5 BD, 05, 05]
+1D354; [0C E9 16, 05, 05]
-1D302; [0C E5 C4, 05, 05]
+1D355; [0C E9 1D, 05, 05]
-1D303; [0C E5 CB, 05, 05]
+1D356; [0C E9 24, 05, 05]
-1D304; [0C E5 D2, 05, 05]
+A490; [0C E9 2B, 05, 05]
-1D305; [0C E5 D9, 05, 05]
+A491; [0C E9 32, 05, 05]
-1D306; [0C E5 E0, 05, 05]
+A492; [0C E9 39, 05, 05]
-1D307; [0C E5 E7, 05, 05]
+A493; [0C E9 40, 05, 05]
-1D308; [0C E5 EE, 05, 05]
+A494; [0C E9 47, 05, 05]
-1D309; [0C E5 F5, 05, 05]
+A495; [0C E9 4E, 05, 05]
-1D30A; [0C E5 FC, 05, 05]
+A496; [0C E9 55, 05, 05]
-1D30B; [0C E6 05, 05, 05]
+A497; [0C E9 5C, 05, 05]
-1D30C; [0C E6 0C, 05, 05]
+A498; [0C E9 63, 05, 05]
-1D30D; [0C E6 13, 05, 05]
+A499; [0C E9 6A, 05, 05]
-1D30E; [0C E6 1A, 05, 05]
+A49A; [0C E9 71, 05, 05]
-1D30F; [0C E6 21, 05, 05]
+A49B; [0C E9 78, 05, 05]
-1D310; [0C E6 28, 05, 05]
+A49C; [0C E9 7F, 05, 05]
-1D311; [0C E6 2F, 05, 05]
+A49D; [0C E9 86, 05, 05]
-1D312; [0C E6 36, 05, 05]
+A49E; [0C E9 8D, 05, 05]
-1D313; [0C E6 3D, 05, 05]
+A49F; [0C E9 94, 05, 05]
-1D314; [0C E6 44, 05, 05]
+A4A0; [0C E9 9B, 05, 05]
-1D315; [0C E6 4B, 05, 05]
+A4A1; [0C E9 A2, 05, 05]
-1D316; [0C E6 52, 05, 05]
+A4A2; [0C E9 A9, 05, 05]
-1D317; [0C E6 59, 05, 05]
+A4A3; [0C E9 B0, 05, 05]
-1D318; [0C E6 60, 05, 05]
+A4A4; [0C E9 B7, 05, 05]
-1D319; [0C E6 67, 05, 05]
+A4A5; [0C E9 BE, 05, 05]
-1D31A; [0C E6 6E, 05, 05]
+A4A6; [0C E9 C5, 05, 05]
-1D31B; [0C E6 75, 05, 05]
+A4A7; [0C E9 CC, 05, 05]
-1D31C; [0C E6 7C, 05, 05]
+A4A8; [0C E9 D3, 05, 05]
-1D31D; [0C E6 83, 05, 05]
+A4A9; [0C E9 DA, 05, 05]
-1D31E; [0C E6 8A, 05, 05]
+A4AA; [0C E9 E1, 05, 05]
-1D31F; [0C E6 91, 05, 05]
+A4AB; [0C E9 E8, 05, 05]
-1D320; [0C E6 98, 05, 05]
+A4AC; [0C E9 EF, 05, 05]
-1D321; [0C E6 9F, 05, 05]
+A4AD; [0C E9 F6, 05, 05]
-1D322; [0C E6 A6, 05, 05]
+A4AE; [0C E9 FD, 05, 05]
-1D323; [0C E6 AD, 05, 05]
+A4AF; [0C EA 06, 05, 05]
-1D324; [0C E6 B4, 05, 05]
+A4B0; [0C EA 0D, 05, 05]
-1D325; [0C E6 BB, 05, 05]
+A4B1; [0C EA 14, 05, 05]
-1D326; [0C E6 C2, 05, 05]
+A4B2; [0C EA 1B, 05, 05]
-1D327; [0C E6 C9, 05, 05]
+A4B3; [0C EA 22, 05, 05]
-1D328; [0C E6 D0, 05, 05]
+A4B4; [0C EA 29, 05, 05]
-1D329; [0C E6 D7, 05, 05]
+A4B5; [0C EA 30, 05, 05]
-1D32A; [0C E6 DE, 05, 05]
+A4B6; [0C EA 37, 05, 05]
-1D32B; [0C E6 E5, 05, 05]
+A4B7; [0C EA 3E, 05, 05]
-1D32C; [0C E6 EC, 05, 05]
+A4B8; [0C EA 45, 05, 05]
-1D32D; [0C E6 F3, 05, 05]
+A4B9; [0C EA 4C, 05, 05]
-1D32E; [0C E6 FA, 05, 05]
+A4BA; [0C EA 53, 05, 05]
-1D32F; [0C E7 03, 05, 05]
+A4BB; [0C EA 5A, 05, 05]
-1D330; [0C E7 0A, 05, 05]
+A4BC; [0C EA 61, 05, 05]
-1D331; [0C E7 11, 05, 05]
+A4BD; [0C EA 68, 05, 05]
-1D332; [0C E7 18, 05, 05]
+A4BE; [0C EA 6F, 05, 05]
-1D333; [0C E7 1F, 05, 05]
+A4BF; [0C EA 76, 05, 05]
-1D334; [0C E7 26, 05, 05]
+A4C0; [0C EA 7D, 05, 05]
-1D335; [0C E7 2D, 05, 05]
+A4C1; [0C EA 84, 05, 05]
-1D336; [0C E7 34, 05, 05]
+A4C2; [0C EA 8B, 05, 05]
-1D337; [0C E7 3B, 05, 05]
+A4C3; [0C EA 92, 05, 05]
-1D338; [0C E7 42, 05, 05]
+A4C4; [0C EA 99, 05, 05]
-1D339; [0C E7 49, 05, 05]
+A4C5; [0C EA A0, 05, 05]
-1D33A; [0C E7 50, 05, 05]
+A4C6; [0C EA A7, 05, 05]
-1D33B; [0C E7 57, 05, 05]
+10137; [0C EA AE, 05, 05]
-1D33C; [0C E7 5E, 05, 05]
+10138; [0C EA B5, 05, 05]
-1D33D; [0C E7 65, 05, 05]
+10139; [0C EA BC, 05, 05]
-1D33E; [0C E7 6C, 05, 05]
+1013A; [0C EA C3, 05, 05]
-1D33F; [0C E7 73, 05, 05]
+1013B; [0C EA CA, 05, 05]
-1D340; [0C E7 7A, 05, 05]
+1013C; [0C EA D1, 05, 05]
-1D341; [0C E7 81, 05, 05]
+1013D; [0C EA D8, 05, 05]
-1D342; [0C E7 88, 05, 05]
+1013E; [0C EA DF, 05, 05]
-1D343; [0C E7 8F, 05, 05]
+1013F; [0C EA E6, 05, 05]
-1D344; [0C E7 96, 05, 05]
+10179; [0C EA ED, 05, 05]
-1D345; [0C E7 9D, 05, 05]
+1017A; [0C EA F4, 05, 05]
-1D346; [0C E7 A4, 05, 05]
+1017B; [0C EA FB, 05, 05]
-1D347; [0C E7 AB, 05, 05]
+1017C; [0C EB 04, 05, 05]
-1D348; [0C E7 B2, 05, 05]
+1017D; [0C EB 0B, 05, 05]
-1D349; [0C E7 B9, 05, 05]
+1017E; [0C EB 12, 05, 05]
-1D34A; [0C E7 C0, 05, 05]
+1017F; [0C EB 19, 05, 05]
-1D34B; [0C E7 C7, 05, 05]
+10180; [0C EB 20, 05, 05]
-1D34C; [0C E7 CE, 05, 05]
+10181; [0C EB 27, 05, 05]
-1D34D; [0C E7 D5, 05, 05]
+10182; [0C EB 2E, 05, 05]
-1D34E; [0C E7 DC, 05, 05]
+10183; [0C EB 35, 05, 05]
-1D34F; [0C E7 E3, 05, 05]
+10184; [0C EB 3C, 05, 05]
-1D350; [0C E7 EA, 05, 05]
+10185; [0C EB 43, 05, 05]
-1D351; [0C E7 F1, 05, 05]
+10186; [0C EB 4A, 05, 05]
-1D352; [0C E7 F8, 05, 05]
+10187; [0C EB 51, 05, 05]
-1D353; [0C E7 FF, 05, 05]
+10188; [0C EB 58, 05, 05]
-1D354; [0C E8 08, 05, 05]
+10189; [0C EB 5F, 05, 05]
-1D355; [0C E8 0F, 05, 05]
+1018C; [0C EB 66, 05, 05]
-1D356; [0C E8 16, 05, 05]
+1018D; [0C EB 6D, 05, 05]
-A490; [0C E8 1D, 05, 05]
+1018E; [0C EB 74, 05, 05]
-A491; [0C E8 24, 05, 05]
+10190; [0C EB 7B, 05, 05]
-A492; [0C E8 2B, 05, 05]
+10191; [0C EB 82, 05, 05]
-A493; [0C E8 32, 05, 05]
+10192; [0C EB 89, 05, 05]
-A494; [0C E8 39, 05, 05]
+10193; [0C EB 90, 05, 05]
-A495; [0C E8 40, 05, 05]
+10194; [0C EB 97, 05, 05]
-A496; [0C E8 47, 05, 05]
+10195; [0C EB 9E, 05, 05]
-A497; [0C E8 4E, 05, 05]
+10196; [0C EB A5, 05, 05]
-A498; [0C E8 55, 05, 05]
+10197; [0C EB AC, 05, 05]
-A499; [0C E8 5C, 05, 05]
+10198; [0C EB B3, 05, 05]
-A49A; [0C E8 63, 05, 05]
+10199; [0C EB BA, 05, 05]
-A49B; [0C E8 6A, 05, 05]
+1019A; [0C EB C1, 05, 05]
-A49C; [0C E8 71, 05, 05]
+1019B; [0C EB C8, 05, 05]
-A49D; [0C E8 78, 05, 05]
+101A0; [0C EB CF, 05, 05]
-A49E; [0C E8 7F, 05, 05]
+101D0; [0C EB D6, 05, 05]
-A49F; [0C E8 86, 05, 05]
+101D1; [0C EB DD, 05, 05]
-A4A0; [0C E8 8D, 05, 05]
+101D2; [0C EB E4, 05, 05]
-A4A1; [0C E8 94, 05, 05]
+101D3; [0C EB EB, 05, 05]
-A4A2; [0C E8 9B, 05, 05]
+101D4; [0C EB F2, 05, 05]
-A4A3; [0C E8 A2, 05, 05]
+101D5; [0C EB F9, 05, 05]
-A4A4; [0C E8 A9, 05, 05]
+101D6; [0C EC 02, 05, 05]
-A4A5; [0C E8 B0, 05, 05]
+101D7; [0C EC 09, 05, 05]
-A4A6; [0C E8 B7, 05, 05]
+101D8; [0C EC 10, 05, 05]
-A4A7; [0C E8 BE, 05, 05]
+101D9; [0C EC 17, 05, 05]
-A4A8; [0C E8 C5, 05, 05]
+101DA; [0C EC 1E, 05, 05]
-A4A9; [0C E8 CC, 05, 05]
+101DB; [0C EC 25, 05, 05]
-A4AA; [0C E8 D3, 05, 05]
+101DC; [0C EC 2C, 05, 05]
-A4AB; [0C E8 DA, 05, 05]
+101DD; [0C EC 33, 05, 05]
-A4AC; [0C E8 E1, 05, 05]
+101DE; [0C EC 3A, 05, 05]
-A4AD; [0C E8 E8, 05, 05]
+101DF; [0C EC 41, 05, 05]
-A4AE; [0C E8 EF, 05, 05]
+101E0; [0C EC 48, 05, 05]
-A4AF; [0C E8 F6, 05, 05]
+101E1; [0C EC 4F, 05, 05]
-A4B0; [0C E8 FD, 05, 05]
+101E2; [0C EC 56, 05, 05]
-A4B1; [0C E9 06, 05, 05]
+101E3; [0C EC 5D, 05, 05]
-A4B2; [0C E9 0D, 05, 05]
+101E4; [0C EC 64, 05, 05]
-A4B3; [0C E9 14, 05, 05]
+101E5; [0C EC 6B, 05, 05]
-A4B4; [0C E9 1B, 05, 05]
+101E6; [0C EC 72, 05, 05]
-A4B5; [0C E9 22, 05, 05]
+101E7; [0C EC 79, 05, 05]
-A4B6; [0C E9 29, 05, 05]
+101E8; [0C EC 80, 05, 05]
-A4B7; [0C E9 30, 05, 05]
+101E9; [0C EC 87, 05, 05]
-A4B8; [0C E9 37, 05, 05]
+101EA; [0C EC 8E, 05, 05]
-A4B9; [0C E9 3E, 05, 05]
+101EB; [0C EC 95, 05, 05]
-A4BA; [0C E9 45, 05, 05]
+101EC; [0C EC 9C, 05, 05]
-A4BB; [0C E9 4C, 05, 05]
+101ED; [0C EC A3, 05, 05]
-A4BC; [0C E9 53, 05, 05]
+101EE; [0C EC AA, 05, 05]
-A4BD; [0C E9 5A, 05, 05]
+101EF; [0C EC B1, 05, 05]
-A4BE; [0C E9 61, 05, 05]
+101F0; [0C EC B8, 05, 05]
-A4BF; [0C E9 68, 05, 05]
+101F1; [0C EC BF, 05, 05]
-A4C0; [0C E9 6F, 05, 05]
+101F2; [0C EC C6, 05, 05]
-A4C1; [0C E9 76, 05, 05]
+101F3; [0C EC CD, 05, 05]
-A4C2; [0C E9 7D, 05, 05]
+101F4; [0C EC D4, 05, 05]
-A4C3; [0C E9 84, 05, 05]
+101F5; [0C EC DB, 05, 05]
-A4C4; [0C E9 8B, 05, 05]
+101F6; [0C EC E2, 05, 05]
-A4C5; [0C E9 92, 05, 05]
+101F7; [0C EC E9, 05, 05]
-A4C6; [0C E9 99, 05, 05]
+101F8; [0C EC F0, 05, 05]
-10137; [0C E9 A0, 05, 05]
+101F9; [0C EC F7, 05, 05]
-10138; [0C E9 A7, 05, 05]
+101FA; [0C EC FE, 05, 05]
-10139; [0C E9 AE, 05, 05]
+101FB; [0C ED 07, 05, 05]
-1013A; [0C E9 B5, 05, 05]
+101FC; [0C ED 0E, 05, 05]
-1013B; [0C E9 BC, 05, 05]
+10877; [0C ED 15, 05, 05]
-1013C; [0C E9 C3, 05, 05]
+10878; [0C ED 1C, 05, 05]
-1013D; [0C E9 CA, 05, 05]
+16B3C; [0C ED 23, 05, 05]
-1013E; [0C E9 D1, 05, 05]
+16B3D; [0C ED 2A, 05, 05]
-1013F; [0C E9 D8, 05, 05]
+16B3E; [0C ED 31, 05, 05]
-10179; [0C E9 DF, 05, 05]
+16B3F; [0C ED 38, 05, 05]
-1017A; [0C E9 E6, 05, 05]
+16B45; [0C ED 3F, 05, 05]
-1017B; [0C E9 ED, 05, 05]
+1E14F; [0C ED 46, 05, 05]
-1017C; [0C E9 F4, 05, 05]
+1D000; [0C ED 4D, 05, 05]
-1017D; [0C E9 FB, 05, 05]
+1D001; [0C ED 54, 05, 05]
-1017E; [0C EA 04, 05, 05]
+1D002; [0C ED 5B, 05, 05]
-1017F; [0C EA 0B, 05, 05]
+1D003; [0C ED 62, 05, 05]
-10180; [0C EA 12, 05, 05]
+1D004; [0C ED 69, 05, 05]
-10181; [0C EA 19, 05, 05]
+1D005; [0C ED 70, 05, 05]
-10182; [0C EA 20, 05, 05]
+1D006; [0C ED 77, 05, 05]
-10183; [0C EA 27, 05, 05]
+1D007; [0C ED 7E, 05, 05]
-10184; [0C EA 2E, 05, 05]
+1D008; [0C ED 85, 05, 05]
-10185; [0C EA 35, 05, 05]
+1D009; [0C ED 8C, 05, 05]
-10186; [0C EA 3C, 05, 05]
+1D00A; [0C ED 93, 05, 05]
-10187; [0C EA 43, 05, 05]
+1D00B; [0C ED 9A, 05, 05]
-10188; [0C EA 4A, 05, 05]
+1D00C; [0C ED A1, 05, 05]
-10189; [0C EA 51, 05, 05]
+1D00D; [0C ED A8, 05, 05]
-1018C; [0C EA 58, 05, 05]
+1D00E; [0C ED AF, 05, 05]
-1018D; [0C EA 5F, 05, 05]
+1D00F; [0C ED B6, 05, 05]
-1018E; [0C EA 66, 05, 05]
+1D010; [0C ED BD, 05, 05]
-10190; [0C EA 6D, 05, 05]
+1D011; [0C ED C4, 05, 05]
-10191; [0C EA 74, 05, 05]
+1D012; [0C ED CB, 05, 05]
-10192; [0C EA 7B, 05, 05]
+1D013; [0C ED D2, 05, 05]
-10193; [0C EA 82, 05, 05]
+1D014; [0C ED D9, 05, 05]
-10194; [0C EA 89, 05, 05]
+1D015; [0C ED E0, 05, 05]
-10195; [0C EA 90, 05, 05]
+1D016; [0C ED E7, 05, 05]
-10196; [0C EA 97, 05, 05]
+1D017; [0C ED EE, 05, 05]
-10197; [0C EA 9E, 05, 05]
+1D018; [0C ED F5, 05, 05]
-10198; [0C EA A5, 05, 05]
+1D019; [0C ED FC, 05, 05]
-10199; [0C EA AC, 05, 05]
+1D01A; [0C EE 05, 05, 05]
-1019A; [0C EA B3, 05, 05]
+1D01B; [0C EE 0C, 05, 05]
-1019B; [0C EA BA, 05, 05]
+1D01C; [0C EE 13, 05, 05]
-101A0; [0C EA C1, 05, 05]
+1D01D; [0C EE 1A, 05, 05]
-101D0; [0C EA C8, 05, 05]
+1D01E; [0C EE 21, 05, 05]
-101D1; [0C EA CF, 05, 05]
+1D01F; [0C EE 28, 05, 05]
-101D2; [0C EA D6, 05, 05]
+1D020; [0C EE 2F, 05, 05]
-101D3; [0C EA DD, 05, 05]
+1D021; [0C EE 36, 05, 05]
-101D4; [0C EA E4, 05, 05]
+1D022; [0C EE 3D, 05, 05]
-101D5; [0C EA EB, 05, 05]
+1D023; [0C EE 44, 05, 05]
-101D6; [0C EA F2, 05, 05]
+1D024; [0C EE 4B, 05, 05]
-101D7; [0C EA F9, 05, 05]
+1D025; [0C EE 52, 05, 05]
-101D8; [0C EB 02, 05, 05]
+1D026; [0C EE 59, 05, 05]
-101D9; [0C EB 09, 05, 05]
+1D027; [0C EE 60, 05, 05]
-101DA; [0C EB 10, 05, 05]
+1D028; [0C EE 67, 05, 05]
-101DB; [0C EB 17, 05, 05]
+1D029; [0C EE 6E, 05, 05]
-101DC; [0C EB 1E, 05, 05]
+1D02A; [0C EE 75, 05, 05]
-101DD; [0C EB 25, 05, 05]
+1D02B; [0C EE 7C, 05, 05]
-101DE; [0C EB 2C, 05, 05]
+1D02C; [0C EE 83, 05, 05]
-101DF; [0C EB 33, 05, 05]
+1D02D; [0C EE 8A, 05, 05]
-101E0; [0C EB 3A, 05, 05]
+1D02E; [0C EE 91, 05, 05]
-101E1; [0C EB 41, 05, 05]
+1D02F; [0C EE 98, 05, 05]
-101E2; [0C EB 48, 05, 05]
+1D030; [0C EE 9F, 05, 05]
-101E3; [0C EB 4F, 05, 05]
+1D031; [0C EE A6, 05, 05]
-101E4; [0C EB 56, 05, 05]
+1D032; [0C EE AD, 05, 05]
-101E5; [0C EB 5D, 05, 05]
+1D033; [0C EE B4, 05, 05]
-101E6; [0C EB 64, 05, 05]
+1D034; [0C EE BB, 05, 05]
-101E7; [0C EB 6B, 05, 05]
+1D035; [0C EE C2, 05, 05]
-101E8; [0C EB 72, 05, 05]
+1D036; [0C EE C9, 05, 05]
-101E9; [0C EB 79, 05, 05]
+1D037; [0C EE D0, 05, 05]
-101EA; [0C EB 80, 05, 05]
+1D038; [0C EE D7, 05, 05]
-101EB; [0C EB 87, 05, 05]
+1D039; [0C EE DE, 05, 05]
-101EC; [0C EB 8E, 05, 05]
+1D03A; [0C EE E5, 05, 05]
-101ED; [0C EB 95, 05, 05]
+1D03B; [0C EE EC, 05, 05]
-101EE; [0C EB 9C, 05, 05]
+1D03C; [0C EE F3, 05, 05]
-101EF; [0C EB A3, 05, 05]
+1D03D; [0C EE FA, 05, 05]
-101F0; [0C EB AA, 05, 05]
+1D03E; [0C EF 03, 05, 05]
-101F1; [0C EB B1, 05, 05]
+1D03F; [0C EF 0A, 05, 05]
-101F2; [0C EB B8, 05, 05]
+1D040; [0C EF 11, 05, 05]
-101F3; [0C EB BF, 05, 05]
+1D041; [0C EF 18, 05, 05]
-101F4; [0C EB C6, 05, 05]
+1D042; [0C EF 1F, 05, 05]
-101F5; [0C EB CD, 05, 05]
+1D043; [0C EF 26, 05, 05]
-101F6; [0C EB D4, 05, 05]
+1D044; [0C EF 2D, 05, 05]
-101F7; [0C EB DB, 05, 05]
+1D045; [0C EF 34, 05, 05]
-101F8; [0C EB E2, 05, 05]
+1D046; [0C EF 3B, 05, 05]
-101F9; [0C EB E9, 05, 05]
+1D047; [0C EF 42, 05, 05]
-101FA; [0C EB F0, 05, 05]
+1D048; [0C EF 49, 05, 05]
-101FB; [0C EB F7, 05, 05]
+1D049; [0C EF 50, 05, 05]
-101FC; [0C EB FE, 05, 05]
+1D04A; [0C EF 57, 05, 05]
-10877; [0C EC 07, 05, 05]
+1D04B; [0C EF 5E, 05, 05]
-10878; [0C EC 0E, 05, 05]
+1D04C; [0C EF 65, 05, 05]
-16B3C; [0C EC 15, 05, 05]
+1D04D; [0C EF 6C, 05, 05]
-16B3D; [0C EC 1C, 05, 05]
+1D04E; [0C EF 73, 05, 05]
-16B3E; [0C EC 23, 05, 05]
+1D04F; [0C EF 7A, 05, 05]
-16B3F; [0C EC 2A, 05, 05]
+1D050; [0C EF 81, 05, 05]
-16B45; [0C EC 31, 05, 05]
+1D051; [0C EF 88, 05, 05]
-1D000; [0C EC 38, 05, 05]
+1D052; [0C EF 8F, 05, 05]
-1D001; [0C EC 3F, 05, 05]
+1D053; [0C EF 96, 05, 05]
-1D002; [0C EC 46, 05, 05]
+1D054; [0C EF 9D, 05, 05]
-1D003; [0C EC 4D, 05, 05]
+1D055; [0C EF A4, 05, 05]
-1D004; [0C EC 54, 05, 05]
+1D056; [0C EF AB, 05, 05]
-1D005; [0C EC 5B, 05, 05]
+1D057; [0C EF B2, 05, 05]
-1D006; [0C EC 62, 05, 05]
+1D058; [0C EF B9, 05, 05]
-1D007; [0C EC 69, 05, 05]
+1D059; [0C EF C0, 05, 05]
-1D008; [0C EC 70, 05, 05]
+1D05A; [0C EF C7, 05, 05]
-1D009; [0C EC 77, 05, 05]
+1D05B; [0C EF CE, 05, 05]
-1D00A; [0C EC 7E, 05, 05]
+1D05C; [0C EF D5, 05, 05]
-1D00B; [0C EC 85, 05, 05]
+1D05D; [0C EF DC, 05, 05]
-1D00C; [0C EC 8C, 05, 05]
+1D05E; [0C EF E3, 05, 05]
-1D00D; [0C EC 93, 05, 05]
+1D05F; [0C EF EA, 05, 05]
-1D00E; [0C EC 9A, 05, 05]
+1D060; [0C EF F1, 05, 05]
-1D00F; [0C EC A1, 05, 05]
+1D061; [0C EF F8, 05, 05]
-1D010; [0C EC A8, 05, 05]
+1D062; [0C EF FF, 05, 05]
-1D011; [0C EC AF, 05, 05]
+1D063; [0C F0 08, 05, 05]
-1D012; [0C EC B6, 05, 05]
+1D064; [0C F0 0F, 05, 05]
-1D013; [0C EC BD, 05, 05]
+1D065; [0C F0 16, 05, 05]
-1D014; [0C EC C4, 05, 05]
+1D066; [0C F0 1D, 05, 05]
-1D015; [0C EC CB, 05, 05]
+1D067; [0C F0 24, 05, 05]
-1D016; [0C EC D2, 05, 05]
+1D068; [0C F0 2B, 05, 05]
-1D017; [0C EC D9, 05, 05]
+1D069; [0C F0 32, 05, 05]
-1D018; [0C EC E0, 05, 05]
+1D06A; [0C F0 39, 05, 05]
-1D019; [0C EC E7, 05, 05]
+1D06B; [0C F0 40, 05, 05]
-1D01A; [0C EC EE, 05, 05]
+1D06C; [0C F0 47, 05, 05]
-1D01B; [0C EC F5, 05, 05]
+1D06D; [0C F0 4E, 05, 05]
-1D01C; [0C EC FC, 05, 05]
+1D06E; [0C F0 55, 05, 05]
-1D01D; [0C ED 05, 05, 05]
+1D06F; [0C F0 5C, 05, 05]
-1D01E; [0C ED 0C, 05, 05]
+1D070; [0C F0 63, 05, 05]
-1D01F; [0C ED 13, 05, 05]
+1D071; [0C F0 6A, 05, 05]
-1D020; [0C ED 1A, 05, 05]
+1D072; [0C F0 71, 05, 05]
-1D021; [0C ED 21, 05, 05]
+1D073; [0C F0 78, 05, 05]
-1D022; [0C ED 28, 05, 05]
+1D074; [0C F0 7F, 05, 05]
-1D023; [0C ED 2F, 05, 05]
+1D075; [0C F0 86, 05, 05]
-1D024; [0C ED 36, 05, 05]
+1D076; [0C F0 8D, 05, 05]
-1D025; [0C ED 3D, 05, 05]
+1D077; [0C F0 94, 05, 05]
-1D026; [0C ED 44, 05, 05]
+1D078; [0C F0 9B, 05, 05]
-1D027; [0C ED 4B, 05, 05]
+1D079; [0C F0 A2, 05, 05]
-1D028; [0C ED 52, 05, 05]
+1D07A; [0C F0 A9, 05, 05]
-1D029; [0C ED 59, 05, 05]
+1D07B; [0C F0 B0, 05, 05]
-1D02A; [0C ED 60, 05, 05]
+1D07C; [0C F0 B7, 05, 05]
-1D02B; [0C ED 67, 05, 05]
+1D07D; [0C F0 BE, 05, 05]
-1D02C; [0C ED 6E, 05, 05]
+1D07E; [0C F0 C5, 05, 05]
-1D02D; [0C ED 75, 05, 05]
+1D07F; [0C F0 CC, 05, 05]
-1D02E; [0C ED 7C, 05, 05]
+1D080; [0C F0 D3, 05, 05]
-1D02F; [0C ED 83, 05, 05]
+1D081; [0C F0 DA, 05, 05]
-1D030; [0C ED 8A, 05, 05]
+1D082; [0C F0 E1, 05, 05]
-1D031; [0C ED 91, 05, 05]
+1D083; [0C F0 E8, 05, 05]
-1D032; [0C ED 98, 05, 05]
+1D084; [0C F0 EF, 05, 05]
-1D033; [0C ED 9F, 05, 05]
+1D085; [0C F0 F6, 05, 05]
-1D034; [0C ED A6, 05, 05]
+1D086; [0C F0 FD, 05, 05]
-1D035; [0C ED AD, 05, 05]
+1D087; [0C F1 06, 05, 05]
-1D036; [0C ED B4, 05, 05]
+1D088; [0C F1 0D, 05, 05]
-1D037; [0C ED BB, 05, 05]
+1D089; [0C F1 14, 05, 05]
-1D038; [0C ED C2, 05, 05]
+1D08A; [0C F1 1B, 05, 05]
-1D039; [0C ED C9, 05, 05]
+1D08B; [0C F1 22, 05, 05]
-1D03A; [0C ED D0, 05, 05]
+1D08C; [0C F1 29, 05, 05]
-1D03B; [0C ED D7, 05, 05]
+1D08D; [0C F1 30, 05, 05]
-1D03C; [0C ED DE, 05, 05]
+1D08E; [0C F1 37, 05, 05]
-1D03D; [0C ED E5, 05, 05]
+1D08F; [0C F1 3E, 05, 05]
-1D03E; [0C ED EC, 05, 05]
+1D090; [0C F1 45, 05, 05]
-1D03F; [0C ED F3, 05, 05]
+1D091; [0C F1 4C, 05, 05]
-1D040; [0C ED FA, 05, 05]
+1D092; [0C F1 53, 05, 05]
-1D041; [0C EE 03, 05, 05]
+1D093; [0C F1 5A, 05, 05]
-1D042; [0C EE 0A, 05, 05]
+1D094; [0C F1 61, 05, 05]
-1D043; [0C EE 11, 05, 05]
+1D095; [0C F1 68, 05, 05]
-1D044; [0C EE 18, 05, 05]
+1D096; [0C F1 6F, 05, 05]
-1D045; [0C EE 1F, 05, 05]
+1D097; [0C F1 76, 05, 05]
-1D046; [0C EE 26, 05, 05]
+1D098; [0C F1 7D, 05, 05]
-1D047; [0C EE 2D, 05, 05]
+1D099; [0C F1 84, 05, 05]
-1D048; [0C EE 34, 05, 05]
+1D09A; [0C F1 8B, 05, 05]
-1D049; [0C EE 3B, 05, 05]
+1D09B; [0C F1 92, 05, 05]
-1D04A; [0C EE 42, 05, 05]
+1D09C; [0C F1 99, 05, 05]
-1D04B; [0C EE 49, 05, 05]
+1D09D; [0C F1 A0, 05, 05]
-1D04C; [0C EE 50, 05, 05]
+1D09E; [0C F1 A7, 05, 05]
-1D04D; [0C EE 57, 05, 05]
+1D09F; [0C F1 AE, 05, 05]
-1D04E; [0C EE 5E, 05, 05]
+1D0A0; [0C F1 B5, 05, 05]
-1D04F; [0C EE 65, 05, 05]
+1D0A1; [0C F1 BC, 05, 05]
-1D050; [0C EE 6C, 05, 05]
+1D0A2; [0C F1 C3, 05, 05]
-1D051; [0C EE 73, 05, 05]
+1D0A3; [0C F1 CA, 05, 05]
-1D052; [0C EE 7A, 05, 05]
+1D0A4; [0C F1 D1, 05, 05]
-1D053; [0C EE 81, 05, 05]
+1D0A5; [0C F1 D8, 05, 05]
-1D054; [0C EE 88, 05, 05]
+1D0A6; [0C F1 DF, 05, 05]
-1D055; [0C EE 8F, 05, 05]
+1D0A7; [0C F1 E6, 05, 05]
-1D056; [0C EE 96, 05, 05]
+1D0A8; [0C F1 ED, 05, 05]
-1D057; [0C EE 9D, 05, 05]
+1D0A9; [0C F1 F4, 05, 05]
-1D058; [0C EE A4, 05, 05]
+1D0AA; [0C F1 FB, 05, 05]
-1D059; [0C EE AB, 05, 05]
+1D0AB; [0C F2 04, 05, 05]
-1D05A; [0C EE B2, 05, 05]
+1D0AC; [0C F2 0B, 05, 05]
-1D05B; [0C EE B9, 05, 05]
+1D0AD; [0C F2 12, 05, 05]
-1D05C; [0C EE C0, 05, 05]
+1D0AE; [0C F2 19, 05, 05]
-1D05D; [0C EE C7, 05, 05]
+1D0AF; [0C F2 20, 05, 05]
-1D05E; [0C EE CE, 05, 05]
+1D0B0; [0C F2 27, 05, 05]
-1D05F; [0C EE D5, 05, 05]
+1D0B1; [0C F2 2E, 05, 05]
-1D060; [0C EE DC, 05, 05]
+1D0B2; [0C F2 35, 05, 05]
-1D061; [0C EE E3, 05, 05]
+1D0B3; [0C F2 3C, 05, 05]
-1D062; [0C EE EA, 05, 05]
+1D0B4; [0C F2 43, 05, 05]
-1D063; [0C EE F1, 05, 05]
+1D0B5; [0C F2 4A, 05, 05]
-1D064; [0C EE F8, 05, 05]
+1D0B6; [0C F2 51, 05, 05]
-1D065; [0C EE FF, 05, 05]
+1D0B7; [0C F2 58, 05, 05]
-1D066; [0C EF 08, 05, 05]
+1D0B8; [0C F2 5F, 05, 05]
-1D067; [0C EF 0F, 05, 05]
+1D0B9; [0C F2 66, 05, 05]
-1D068; [0C EF 16, 05, 05]
+1D0BA; [0C F2 6D, 05, 05]
-1D069; [0C EF 1D, 05, 05]
+1D0BB; [0C F2 74, 05, 05]
-1D06A; [0C EF 24, 05, 05]
+1D0BC; [0C F2 7B, 05, 05]
-1D06B; [0C EF 2B, 05, 05]
+1D0BD; [0C F2 82, 05, 05]
-1D06C; [0C EF 32, 05, 05]
+1D0BE; [0C F2 89, 05, 05]
-1D06D; [0C EF 39, 05, 05]
+1D0BF; [0C F2 90, 05, 05]
-1D06E; [0C EF 40, 05, 05]
+1D0C0; [0C F2 97, 05, 05]
-1D06F; [0C EF 47, 05, 05]
+1D0C1; [0C F2 9E, 05, 05]
-1D070; [0C EF 4E, 05, 05]
+1D0C2; [0C F2 A5, 05, 05]
-1D071; [0C EF 55, 05, 05]
+1D0C3; [0C F2 AC, 05, 05]
-1D072; [0C EF 5C, 05, 05]
+1D0C4; [0C F2 B3, 05, 05]
-1D073; [0C EF 63, 05, 05]
+1D0C5; [0C F2 BA, 05, 05]
-1D074; [0C EF 6A, 05, 05]
+1D0C6; [0C F2 C1, 05, 05]
-1D075; [0C EF 71, 05, 05]
+1D0C7; [0C F2 C8, 05, 05]
-1D076; [0C EF 78, 05, 05]
+1D0C8; [0C F2 CF, 05, 05]
-1D077; [0C EF 7F, 05, 05]
+1D0C9; [0C F2 D6, 05, 05]
-1D078; [0C EF 86, 05, 05]
+1D0CA; [0C F2 DD, 05, 05]
-1D079; [0C EF 8D, 05, 05]
+1D0CB; [0C F2 E4, 05, 05]
-1D07A; [0C EF 94, 05, 05]
+1D0CC; [0C F2 EB, 05, 05]
-1D07B; [0C EF 9B, 05, 05]
+1D0CD; [0C F2 F2, 05, 05]
-1D07C; [0C EF A2, 05, 05]
+1D0CE; [0C F2 F9, 05, 05]
-1D07D; [0C EF A9, 05, 05]
+1D0CF; [0C F3 02, 05, 05]
-1D07E; [0C EF B0, 05, 05]
+1D0D0; [0C F3 09, 05, 05]
-1D07F; [0C EF B7, 05, 05]
+1D0D1; [0C F3 10, 05, 05]
-1D080; [0C EF BE, 05, 05]
+1D0D2; [0C F3 17, 05, 05]
-1D081; [0C EF C5, 05, 05]
+1D0D3; [0C F3 1E, 05, 05]
-1D082; [0C EF CC, 05, 05]
+1D0D4; [0C F3 25, 05, 05]
-1D083; [0C EF D3, 05, 05]
+1D0D5; [0C F3 2C, 05, 05]
-1D084; [0C EF DA, 05, 05]
+1D0D6; [0C F3 33, 05, 05]
-1D085; [0C EF E1, 05, 05]
+1D0D7; [0C F3 3A, 05, 05]
-1D086; [0C EF E8, 05, 05]
+1D0D8; [0C F3 41, 05, 05]
-1D087; [0C EF EF, 05, 05]
+1D0D9; [0C F3 48, 05, 05]
-1D088; [0C EF F6, 05, 05]
+1D0DA; [0C F3 4F, 05, 05]
-1D089; [0C EF FD, 05, 05]
+1D0DB; [0C F3 56, 05, 05]
-1D08A; [0C F0 06, 05, 05]
+1D0DC; [0C F3 5D, 05, 05]
-1D08B; [0C F0 0D, 05, 05]
+1D0DD; [0C F3 64, 05, 05]
-1D08C; [0C F0 14, 05, 05]
+1D0DE; [0C F3 6B, 05, 05]
-1D08D; [0C F0 1B, 05, 05]
+1D0DF; [0C F3 72, 05, 05]
-1D08E; [0C F0 22, 05, 05]
+1D0E0; [0C F3 79, 05, 05]
-1D08F; [0C F0 29, 05, 05]
+1D0E1; [0C F3 80, 05, 05]
-1D090; [0C F0 30, 05, 05]
+1D0E2; [0C F3 87, 05, 05]
-1D091; [0C F0 37, 05, 05]
+1D0E3; [0C F3 8E, 05, 05]
-1D092; [0C F0 3E, 05, 05]
+1D0E4; [0C F3 95, 05, 05]
-1D093; [0C F0 45, 05, 05]
+1D0E5; [0C F3 9C, 05, 05]
-1D094; [0C F0 4C, 05, 05]
+1D0E6; [0C F3 A3, 05, 05]
-1D095; [0C F0 53, 05, 05]
+1D0E7; [0C F3 AA, 05, 05]
-1D096; [0C F0 5A, 05, 05]
+1D0E8; [0C F3 B1, 05, 05]
-1D097; [0C F0 61, 05, 05]
+1D0E9; [0C F3 B8, 05, 05]
-1D098; [0C F0 68, 05, 05]
+1D0EA; [0C F3 BF, 05, 05]
-1D099; [0C F0 6F, 05, 05]
+1D0EB; [0C F3 C6, 05, 05]
-1D09A; [0C F0 76, 05, 05]
+1D0EC; [0C F3 CD, 05, 05]
-1D09B; [0C F0 7D, 05, 05]
+1D0ED; [0C F3 D4, 05, 05]
-1D09C; [0C F0 84, 05, 05]
+1D0EE; [0C F3 DB, 05, 05]
-1D09D; [0C F0 8B, 05, 05]
+1D0EF; [0C F3 E2, 05, 05]
-1D09E; [0C F0 92, 05, 05]
+1D0F0; [0C F3 E9, 05, 05]
-1D09F; [0C F0 99, 05, 05]
+1D0F1; [0C F3 F0, 05, 05]
-1D0A0; [0C F0 A0, 05, 05]
+1D0F2; [0C F3 F7, 05, 05]
-1D0A1; [0C F0 A7, 05, 05]
+1D0F3; [0C F3 FE, 05, 05]
-1D0A2; [0C F0 AE, 05, 05]
+1D0F4; [0C F4 07, 05, 05]
-1D0A3; [0C F0 B5, 05, 05]
+1D0F5; [0C F4 0E, 05, 05]
-1D0A4; [0C F0 BC, 05, 05]
+1D100; [0C F4 15, 05, 05]
-1D0A5; [0C F0 C3, 05, 05]
+1D101; [0C F4 1C, 05, 05]
-1D0A6; [0C F0 CA, 05, 05]
+1D102; [0C F4 23, 05, 05]
-1D0A7; [0C F0 D1, 05, 05]
+1D103; [0C F4 2A, 05, 05]
-1D0A8; [0C F0 D8, 05, 05]
+1D104; [0C F4 31, 05, 05]
-1D0A9; [0C F0 DF, 05, 05]
+1D105; [0C F4 38, 05, 05]
-1D0AA; [0C F0 E6, 05, 05]
+1D106; [0C F4 3F, 05, 05]
-1D0AB; [0C F0 ED, 05, 05]
+1D107; [0C F4 46, 05, 05]
-1D0AC; [0C F0 F4, 05, 05]
+1D108; [0C F4 4D, 05, 05]
-1D0AD; [0C F0 FB, 05, 05]
+1D109; [0C F4 54, 05, 05]
-1D0AE; [0C F1 04, 05, 05]
+1D10A; [0C F4 5B, 05, 05]
-1D0AF; [0C F1 0B, 05, 05]
+1D10B; [0C F4 62, 05, 05]
-1D0B0; [0C F1 12, 05, 05]
+1D10C; [0C F4 69, 05, 05]
-1D0B1; [0C F1 19, 05, 05]
+1D10D; [0C F4 70, 05, 05]
-1D0B2; [0C F1 20, 05, 05]
+1D10E; [0C F4 77, 05, 05]
-1D0B3; [0C F1 27, 05, 05]
+1D10F; [0C F4 7E, 05, 05]
-1D0B4; [0C F1 2E, 05, 05]
+1D110; [0C F4 85, 05, 05]
-1D0B5; [0C F1 35, 05, 05]
+1D111; [0C F4 8C, 05, 05]
-1D0B6; [0C F1 3C, 05, 05]
+1D112; [0C F4 93, 05, 05]
-1D0B7; [0C F1 43, 05, 05]
+1D113; [0C F4 9A, 05, 05]
-1D0B8; [0C F1 4A, 05, 05]
+1D114; [0C F4 A1, 05, 05]
-1D0B9; [0C F1 51, 05, 05]
+1D115; [0C F4 A8, 05, 05]
-1D0BA; [0C F1 58, 05, 05]
+1D116; [0C F4 AF, 05, 05]
-1D0BB; [0C F1 5F, 05, 05]
+1D117; [0C F4 B6, 05, 05]
-1D0BC; [0C F1 66, 05, 05]
+1D118; [0C F4 BD, 05, 05]
-1D0BD; [0C F1 6D, 05, 05]
+1D119; [0C F4 C4, 05, 05]
-1D0BE; [0C F1 74, 05, 05]
+1D11A; [0C F4 CB, 05, 05]
-1D0BF; [0C F1 7B, 05, 05]
+1D11B; [0C F4 D2, 05, 05]
-1D0C0; [0C F1 82, 05, 05]
+1D11C; [0C F4 D9, 05, 05]
-1D0C1; [0C F1 89, 05, 05]
+1D11D; [0C F4 E0, 05, 05]
-1D0C2; [0C F1 90, 05, 05]
+1D11E; [0C F4 E7, 05, 05]
-1D0C3; [0C F1 97, 05, 05]
+1D11F; [0C F4 EE, 05, 05]
-1D0C4; [0C F1 9E, 05, 05]
+1D120; [0C F4 F5, 05, 05]
-1D0C5; [0C F1 A5, 05, 05]
+1D121; [0C F4 FC, 05, 05]
-1D0C6; [0C F1 AC, 05, 05]
+1D122; [0C F5 05, 05, 05]
-1D0C7; [0C F1 B3, 05, 05]
+1D123; [0C F5 0C, 05, 05]
-1D0C8; [0C F1 BA, 05, 05]
+1D124; [0C F5 13, 05, 05]
-1D0C9; [0C F1 C1, 05, 05]
+1D125; [0C F5 1A, 05, 05]
-1D0CA; [0C F1 C8, 05, 05]
+1D126; [0C F5 21, 05, 05]
-1D0CB; [0C F1 CF, 05, 05]
+266D; [0C F5 28, 05, 05]
-1D0CC; [0C F1 D6, 05, 05]
+266E; [0C F5 2F, 05, 05]
-1D0CD; [0C F1 DD, 05, 05]
+266F; [0C F5 36, 05, 05]
-1D0CE; [0C F1 E4, 05, 05]
+1D12A; [0C F5 3D, 05, 05]
-1D0CF; [0C F1 EB, 05, 05]
+1D12B; [0C F5 44, 05, 05]
-1D0D0; [0C F1 F2, 05, 05]
+1D12C; [0C F5 4B, 05, 05]
-1D0D1; [0C F1 F9, 05, 05]
+1D12D; [0C F5 52, 05, 05]
-1D0D2; [0C F2 02, 05, 05]
+1D12E; [0C F5 59, 05, 05]
-1D0D3; [0C F2 09, 05, 05]
+1D12F; [0C F5 60, 05, 05]
-1D0D4; [0C F2 10, 05, 05]
+1D130; [0C F5 67, 05, 05]
-1D0D5; [0C F2 17, 05, 05]
+1D131; [0C F5 6E, 05, 05]
-1D0D6; [0C F2 1E, 05, 05]
+1D132; [0C F5 75, 05, 05]
-1D0D7; [0C F2 25, 05, 05]
+1D133; [0C F5 7C, 05, 05]
-1D0D8; [0C F2 2C, 05, 05]
+1D134; [0C F5 83, 05, 05]
-1D0D9; [0C F2 33, 05, 05]
+1D135; [0C F5 8A, 05, 05]
-1D0DA; [0C F2 3A, 05, 05]
+1D136; [0C F5 91, 05, 05]
-1D0DB; [0C F2 41, 05, 05]
+1D137; [0C F5 98, 05, 05]
-1D0DC; [0C F2 48, 05, 05]
+1D138; [0C F5 9F, 05, 05]
-1D0DD; [0C F2 4F, 05, 05]
+1D139; [0C F5 A6, 05, 05]
-1D0DE; [0C F2 56, 05, 05]
+1D129; [0C F5 AD, 05, 05]
-1D0DF; [0C F2 5D, 05, 05]
+1D13A; [0C F5 B4, 05, 05]
-1D0E0; [0C F2 64, 05, 05]
+1D13B; [0C F5 BB, 05, 05]
-1D0E1; [0C F2 6B, 05, 05]
+1D13C; [0C F5 C2, 05, 05]
-1D0E2; [0C F2 72, 05, 05]
+1D13D; [0C F5 C9, 05, 05]
-1D0E3; [0C F2 79, 05, 05]
+1D13E; [0C F5 D0, 05, 05]
-1D0E4; [0C F2 80, 05, 05]
+1D13F; [0C F5 D7, 05, 05]
-1D0E5; [0C F2 87, 05, 05]
+1D140; [0C F5 DE, 05, 05]
-1D0E6; [0C F2 8E, 05, 05]
+1D141; [0C F5 E5, 05, 05]
-1D0E7; [0C F2 95, 05, 05]
+1D142; [0C F5 EC, 05, 05]
-1D0E8; [0C F2 9C, 05, 05]
+1D143; [0C F5 F3, 05, 05]
-1D0E9; [0C F2 A3, 05, 05]
+1D144; [0C F5 FA, 05, 05]
-1D0EA; [0C F2 AA, 05, 05]
+1D145; [0C F6 03, 05, 05]
-1D0EB; [0C F2 B1, 05, 05]
+1D146; [0C F6 0A, 05, 05]
-1D0EC; [0C F2 B8, 05, 05]
+1D147; [0C F6 11, 05, 05]
-1D0ED; [0C F2 BF, 05, 05]
+1D148; [0C F6 18, 05, 05]
-1D0EE; [0C F2 C6, 05, 05]
+1D149; [0C F6 1F, 05, 05]
-1D0EF; [0C F2 CD, 05, 05]
+1D14A; [0C F6 26, 05, 05]
-1D0F0; [0C F2 D4, 05, 05]
+1D14B; [0C F6 2D, 05, 05]
-1D0F1; [0C F2 DB, 05, 05]
+1D14C; [0C F6 34, 05, 05]
-1D0F2; [0C F2 E2, 05, 05]
+1D14D; [0C F6 3B, 05, 05]
-1D0F3; [0C F2 E9, 05, 05]
+1D14E; [0C F6 42, 05, 05]
-1D0F4; [0C F2 F0, 05, 05]
+1D14F; [0C F6 49, 05, 05]
-1D0F5; [0C F2 F7, 05, 05]
+1D150; [0C F6 50, 05, 05]
-1D100; [0C F2 FE, 05, 05]
+1D151; [0C F6 57, 05, 05]
-1D101; [0C F3 07, 05, 05]
+1D152; [0C F6 5E, 05, 05]
-1D102; [0C F3 0E, 05, 05]
+1D153; [0C F6 65, 05, 05]
-1D103; [0C F3 15, 05, 05]
+1D154; [0C F6 6C, 05, 05]
-1D104; [0C F3 1C, 05, 05]
+1D155; [0C F6 73, 05, 05]
-1D105; [0C F3 23, 05, 05]
+1D156; [0C F6 7A, 05, 05]
-1D106; [0C F3 2A, 05, 05]
+1D157; [0C F6 81, 05, 05]
+1D15E; [0C F6 81, 05, 05]
-1D107; [0C F3 31, 05, 05]
+1D158; [0C F6 88, 05, 05]
+1D15F; [0C F6 88, 05, 05]
+1D160; [0C F6 88, 05, 05]
+1D161; [0C F6 88, 05, 05]
+1D162; [0C F6 88, 05, 05]
+1D163; [0C F6 88, 05, 05]
+1D164; [0C F6 88, 05, 05]
-1D108; [0C F3 38, 05, 05]
+1D159; [0C F6 8F, 05, 05]
-1D109; [0C F3 3F, 05, 05]
+1D15A; [0C F6 96, 05, 05]
-1D10A; [0C F3 46, 05, 05]
+1D15B; [0C F6 9D, 05, 05]
-1D10B; [0C F3 4D, 05, 05]
+1D15C; [0C F6 A4, 05, 05]
-1D10C; [0C F3 54, 05, 05]
+1D15D; [0C F6 AB, 05, 05]
-1D10D; [0C F3 5B, 05, 05]
+1D16A; [0C F6 B2, 05, 05]
-1D10E; [0C F3 62, 05, 05]
+1D16B; [0C F6 B9, 05, 05]
-1D10F; [0C F3 69, 05, 05]
+1D16C; [0C F6 C0, 05, 05]
-1D110; [0C F3 70, 05, 05]
+1D183; [0C F6 C7, 05, 05]
-1D111; [0C F3 77, 05, 05]
+1D184; [0C F6 CE, 05, 05]
-1D112; [0C F3 7E, 05, 05]
+1D18C; [0C F6 D5, 05, 05]
-1D113; [0C F3 85, 05, 05]
+1D18D; [0C F6 DC, 05, 05]
-1D114; [0C F3 8C, 05, 05]
+1D18E; [0C F6 E3, 05, 05]
-1D115; [0C F3 93, 05, 05]
+1D18F; [0C F6 EA, 05, 05]
-1D116; [0C F3 9A, 05, 05]
+1D190; [0C F6 F1, 05, 05]
-1D117; [0C F3 A1, 05, 05]
+1D191; [0C F6 F8, 05, 05]
-1D118; [0C F3 A8, 05, 05]
+1D192; [0C F6 FF, 05, 05]
-1D119; [0C F3 AF, 05, 05]
+1D193; [0C F7 08, 05, 05]
-1D11A; [0C F3 B6, 05, 05]
+1D194; [0C F7 0F, 05, 05]
-1D11B; [0C F3 BD, 05, 05]
+1D195; [0C F7 16, 05, 05]
-1D11C; [0C F3 C4, 05, 05]
+1D196; [0C F7 1D, 05, 05]
-1D11D; [0C F3 CB, 05, 05]
+1D197; [0C F7 24, 05, 05]
-1D11E; [0C F3 D2, 05, 05]
+1D198; [0C F7 2B, 05, 05]
-1D11F; [0C F3 D9, 05, 05]
+1D199; [0C F7 32, 05, 05]
-1D120; [0C F3 E0, 05, 05]
+1D19A; [0C F7 39, 05, 05]
-1D121; [0C F3 E7, 05, 05]
+1D19B; [0C F7 40, 05, 05]
-1D122; [0C F3 EE, 05, 05]
+1D19C; [0C F7 47, 05, 05]
-1D123; [0C F3 F5, 05, 05]
+1D19D; [0C F7 4E, 05, 05]
-1D124; [0C F3 FC, 05, 05]
+1D19E; [0C F7 55, 05, 05]
-1D125; [0C F4 05, 05, 05]
+1D19F; [0C F7 5C, 05, 05]
-1D126; [0C F4 0C, 05, 05]
+1D1A0; [0C F7 63, 05, 05]
-266D; [0C F4 13, 05, 05]
+1D1A1; [0C F7 6A, 05, 05]
-266E; [0C F4 1A, 05, 05]
+1D1A2; [0C F7 71, 05, 05]
-266F; [0C F4 21, 05, 05]
+1D1A3; [0C F7 78, 05, 05]
-1D12A; [0C F4 28, 05, 05]
+1D1A4; [0C F7 7F, 05, 05]
-1D12B; [0C F4 2F, 05, 05]
+1D1A5; [0C F7 86, 05, 05]
-1D12C; [0C F4 36, 05, 05]
+1D1A6; [0C F7 8D, 05, 05]
-1D12D; [0C F4 3D, 05, 05]
+1D1A7; [0C F7 94, 05, 05]
-1D12E; [0C F4 44, 05, 05]
+1D1A8; [0C F7 9B, 05, 05]
-1D12F; [0C F4 4B, 05, 05]
+1D1A9; [0C F7 A2, 05, 05]
-1D130; [0C F4 52, 05, 05]
+1D1AE; [0C F7 A9, 05, 05]
-1D131; [0C F4 59, 05, 05]
+1D1AF; [0C F7 B0, 05, 05]
-1D132; [0C F4 60, 05, 05]
+1D1B0; [0C F7 B7, 05, 05]
-1D133; [0C F4 67, 05, 05]
+1D1B1; [0C F7 BE, 05, 05]
-1D134; [0C F4 6E, 05, 05]
+1D1B2; [0C F7 C5, 05, 05]
-1D135; [0C F4 75, 05, 05]
+1D1B3; [0C F7 CC, 05, 05]
-1D136; [0C F4 7C, 05, 05]
+1D1B4; [0C F7 D3, 05, 05]
-1D137; [0C F4 83, 05, 05]
+1D1B5; [0C F7 DA, 05, 05]
-1D138; [0C F4 8A, 05, 05]
+1D1B6; [0C F7 E1, 05, 05]
-1D139; [0C F4 91, 05, 05]
+1D1B7; [0C F7 E8, 05, 05]
-1D129; [0C F4 98, 05, 05]
+1D1B8; [0C F7 EF, 05, 05]
-1D13A; [0C F4 9F, 05, 05]
+1D1B9; [0C F7 F6, 05, 05]
+1D1BB; [0C F7 F6, 05, 05]
+1D1BD; [0C F7 F6, 05, 05]
+1D1BF; [0C F7 F6, 05, 05]
-1D13B; [0C F4 A6, 05, 05]
+1D1BA; [0C F7 FD, 05, 05]
+1D1BC; [0C F7 FD, 05, 05]
+1D1BE; [0C F7 FD, 05, 05]
+1D1C0; [0C F7 FD, 05, 05]
-1D13C; [0C F4 AD, 05, 05]
+1D1C1; [0C F8 06, 05, 05]
-1D13D; [0C F4 B4, 05, 05]
+1D1C2; [0C F8 0D, 05, 05]
-1D13E; [0C F4 BB, 05, 05]
+1D1C3; [0C F8 14, 05, 05]
-1D13F; [0C F4 C2, 05, 05]
+1D1C4; [0C F8 1B, 05, 05]
-1D140; [0C F4 C9, 05, 05]
+1D1C5; [0C F8 22, 05, 05]
-1D141; [0C F4 D0, 05, 05]
+1D1C6; [0C F8 29, 05, 05]
-1D142; [0C F4 D7, 05, 05]
+1D1C7; [0C F8 30, 05, 05]
-1D143; [0C F4 DE, 05, 05]
+1D1C8; [0C F8 37, 05, 05]
-1D144; [0C F4 E5, 05, 05]
+1D1C9; [0C F8 3E, 05, 05]
-1D145; [0C F4 EC, 05, 05]
+1D1CA; [0C F8 45, 05, 05]
-1D146; [0C F4 F3, 05, 05]
+1D1CB; [0C F8 4C, 05, 05]
-1D147; [0C F4 FA, 05, 05]
+1D1CC; [0C F8 53, 05, 05]
-1D148; [0C F5 03, 05, 05]
+1D1CD; [0C F8 5A, 05, 05]
-1D149; [0C F5 0A, 05, 05]
+1D1CE; [0C F8 61, 05, 05]
-1D14A; [0C F5 11, 05, 05]
+1D1CF; [0C F8 68, 05, 05]
-1D14B; [0C F5 18, 05, 05]
+1D1D0; [0C F8 6F, 05, 05]
-1D14C; [0C F5 1F, 05, 05]
+1D1D1; [0C F8 76, 05, 05]
-1D14D; [0C F5 26, 05, 05]
+1D1D2; [0C F8 7D, 05, 05]
-1D14E; [0C F5 2D, 05, 05]
+1D1D3; [0C F8 84, 05, 05]
-1D14F; [0C F5 34, 05, 05]
+1D1D4; [0C F8 8B, 05, 05]
-1D150; [0C F5 3B, 05, 05]
+1D1D5; [0C F8 92, 05, 05]
-1D151; [0C F5 42, 05, 05]
+1D1D6; [0C F8 99, 05, 05]
-1D152; [0C F5 49, 05, 05]
+1D1D7; [0C F8 A0, 05, 05]
-1D153; [0C F5 50, 05, 05]
+1D1D8; [0C F8 A7, 05, 05]
-1D154; [0C F5 57, 05, 05]
+1D1D9; [0C F8 AE, 05, 05]
-1D155; [0C F5 5E, 05, 05]
+1D1DA; [0C F8 B5, 05, 05]
-1D156; [0C F5 65, 05, 05]
+1D1DB; [0C F8 BC, 05, 05]
-1D157; [0C F5 6C, 05, 05]
-1D15E; [0C F5 6C, 05, 05]
+1D1DC; [0C F8 C3, 05, 05]
-1D158; [0C F5 73, 05, 05]
-1D15F; [0C F5 73, 05, 05]
-1D160; [0C F5 73, 05, 05]
-1D161; [0C F5 73, 05, 05]
-1D162; [0C F5 73, 05, 05]
-1D163; [0C F5 73, 05, 05]
-1D164; [0C F5 73, 05, 05]
+1D1DD; [0C F8 CA, 05, 05]
-1D159; [0C F5 7A, 05, 05]
+1D1DE; [0C F8 D1, 05, 05]
-1D15A; [0C F5 81, 05, 05]
+1D1DF; [0C F8 D8, 05, 05]
-1D15B; [0C F5 88, 05, 05]
+1D1E0; [0C F8 DF, 05, 05]
-1D15C; [0C F5 8F, 05, 05]
+1D1E1; [0C F8 E6, 05, 05]
-1D15D; [0C F5 96, 05, 05]
+1D1E2; [0C F8 ED, 05, 05]
-1D16A; [0C F5 9D, 05, 05]
+1D1E3; [0C F8 F4, 05, 05]
-1D16B; [0C F5 A4, 05, 05]
+1D1E4; [0C F8 FB, 05, 05]
-1D16C; [0C F5 AB, 05, 05]
+1D1E5; [0C F9 04, 05, 05]
-1D183; [0C F5 B2, 05, 05]
+1D1E6; [0C F9 0B, 05, 05]
-1D184; [0C F5 B9, 05, 05]
+1D1E7; [0C F9 12, 05, 05]
-1D18C; [0C F5 C0, 05, 05]
+1D1E8; [0C F9 19, 05, 05]
-1D18D; [0C F5 C7, 05, 05]
+1D200; [0C F9 20, 05, 05]
-1D18E; [0C F5 CE, 05, 05]
+1D201; [0C F9 27, 05, 05]
-1D18F; [0C F5 D5, 05, 05]
+1D202; [0C F9 2E, 05, 05]
-1D190; [0C F5 DC, 05, 05]
+1D203; [0C F9 35, 05, 05]
-1D191; [0C F5 E3, 05, 05]
+1D204; [0C F9 3C, 05, 05]
-1D192; [0C F5 EA, 05, 05]
+1D205; [0C F9 43, 05, 05]
-1D193; [0C F5 F1, 05, 05]
+1D206; [0C F9 4A, 05, 05]
-1D194; [0C F5 F8, 05, 05]
+1D207; [0C F9 51, 05, 05]
-1D195; [0C F5 FF, 05, 05]
+1D208; [0C F9 58, 05, 05]
-1D196; [0C F6 08, 05, 05]
+1D209; [0C F9 5F, 05, 05]
-1D197; [0C F6 0F, 05, 05]
+1D20A; [0C F9 66, 05, 05]
-1D198; [0C F6 16, 05, 05]
+1D20B; [0C F9 6D, 05, 05]
-1D199; [0C F6 1D, 05, 05]
+1D20C; [0C F9 74, 05, 05]
-1D19A; [0C F6 24, 05, 05]
+1D20D; [0C F9 7B, 05, 05]
-1D19B; [0C F6 2B, 05, 05]
+1D20E; [0C F9 82, 05, 05]
-1D19C; [0C F6 32, 05, 05]
+1D20F; [0C F9 89, 05, 05]
-1D19D; [0C F6 39, 05, 05]
+1D210; [0C F9 90, 05, 05]
-1D19E; [0C F6 40, 05, 05]
+1D211; [0C F9 97, 05, 05]
-1D19F; [0C F6 47, 05, 05]
+1D212; [0C F9 9E, 05, 05]
-1D1A0; [0C F6 4E, 05, 05]
+1D213; [0C F9 A5, 05, 05]
-1D1A1; [0C F6 55, 05, 05]
+1D214; [0C F9 AC, 05, 05]
-1D1A2; [0C F6 5C, 05, 05]
+1D215; [0C F9 B3, 05, 05]
-1D1A3; [0C F6 63, 05, 05]
+1D216; [0C F9 BA, 05, 05]
-1D1A4; [0C F6 6A, 05, 05]
+1D217; [0C F9 C1, 05, 05]
-1D1A5; [0C F6 71, 05, 05]
+1D218; [0C F9 C8, 05, 05]
-1D1A6; [0C F6 78, 05, 05]
+1D219; [0C F9 CF, 05, 05]
-1D1A7; [0C F6 7F, 05, 05]
+1D21A; [0C F9 D6, 05, 05]
-1D1A8; [0C F6 86, 05, 05]
+1D21B; [0C F9 DD, 05, 05]
-1D1A9; [0C F6 8D, 05, 05]
+1D21C; [0C F9 E4, 05, 05]
-1D1AE; [0C F6 94, 05, 05]
+1D21D; [0C F9 EB, 05, 05]
-1D1AF; [0C F6 9B, 05, 05]
+1D21E; [0C F9 F2, 05, 05]
-1D1B0; [0C F6 A2, 05, 05]
+1D21F; [0C F9 F9, 05, 05]
-1D1B1; [0C F6 A9, 05, 05]
+1D220; [0C FA 02, 05, 05]
-1D1B2; [0C F6 B0, 05, 05]
+1D221; [0C FA 09, 05, 05]
-1D1B3; [0C F6 B7, 05, 05]
+1D222; [0C FA 10, 05, 05]
-1D1B4; [0C F6 BE, 05, 05]
+1D223; [0C FA 17, 05, 05]
-1D1B5; [0C F6 C5, 05, 05]
+1D224; [0C FA 1E, 05, 05]
-1D1B6; [0C F6 CC, 05, 05]
+1D225; [0C FA 25, 05, 05]
-1D1B7; [0C F6 D3, 05, 05]
+1D226; [0C FA 2C, 05, 05]
-1D1B8; [0C F6 DA, 05, 05]
+1D227; [0C FA 33, 05, 05]
-1D1B9; [0C F6 E1, 05, 05]
-1D1BB; [0C F6 E1, 05, 05]
-1D1BD; [0C F6 E1, 05, 05]
-1D1BF; [0C F6 E1, 05, 05]
+1D228; [0C FA 3A, 05, 05]
-1D1BA; [0C F6 E8, 05, 05]
-1D1BC; [0C F6 E8, 05, 05]
-1D1BE; [0C F6 E8, 05, 05]
-1D1C0; [0C F6 E8, 05, 05]
+1D229; [0C FA 41, 05, 05]
-1D1C1; [0C F6 EF, 05, 05]
+1D22A; [0C FA 48, 05, 05]
-1D1C2; [0C F6 F6, 05, 05]
+1D22B; [0C FA 4F, 05, 05]
-1D1C3; [0C F6 FD, 05, 05]
+1D22C; [0C FA 56, 05, 05]
-1D1C4; [0C F7 06, 05, 05]
+1D22D; [0C FA 5D, 05, 05]
-1D1C5; [0C F7 0D, 05, 05]
+1D22E; [0C FA 64, 05, 05]
-1D1C6; [0C F7 14, 05, 05]
+1D22F; [0C FA 6B, 05, 05]
-1D1C7; [0C F7 1B, 05, 05]
+1D230; [0C FA 72, 05, 05]
-1D1C8; [0C F7 22, 05, 05]
+1D231; [0C FA 79, 05, 05]
-1D1C9; [0C F7 29, 05, 05]
+1D232; [0C FA 80, 05, 05]
-1D1CA; [0C F7 30, 05, 05]
+1D233; [0C FA 87, 05, 05]
-1D1CB; [0C F7 37, 05, 05]
+1D234; [0C FA 8E, 05, 05]
-1D1CC; [0C F7 3E, 05, 05]
+1D235; [0C FA 95, 05, 05]
-1D1CD; [0C F7 45, 05, 05]
+1D236; [0C FA 9C, 05, 05]
-1D1CE; [0C F7 4C, 05, 05]
+1D237; [0C FA A3, 05, 05]
-1D1CF; [0C F7 53, 05, 05]
+1D238; [0C FA AA, 05, 05]
-1D1D0; [0C F7 5A, 05, 05]
+1D239; [0C FA B1, 05, 05]
-1D1D1; [0C F7 61, 05, 05]
+1D23A; [0C FA B8, 05, 05]
-1D1D2; [0C F7 68, 05, 05]
+1D23B; [0C FA BF, 05, 05]
-1D1D3; [0C F7 6F, 05, 05]
+1D23C; [0C FA C6, 05, 05]
-1D1D4; [0C F7 76, 05, 05]
+1D23D; [0C FA CD, 05, 05]
-1D1D5; [0C F7 7D, 05, 05]
+1D23E; [0C FA D4, 05, 05]
-1D1D6; [0C F7 84, 05, 05]
+1D23F; [0C FA DB, 05, 05]
-1D1D7; [0C F7 8B, 05, 05]
+1D240; [0C FA E2, 05, 05]
-1D1D8; [0C F7 92, 05, 05]
+1D241; [0C FA E9, 05, 05]
-1D1D9; [0C F7 99, 05, 05]
+1D245; [0C FA F0, 05, 05]
-1D1DA; [0C F7 A0, 05, 05]
+1BC9C; [0C FA F7, 05, 05]
-1D1DB; [0C F7 A7, 05, 05]
+1ECAC; [0C FA FE, 05, 05]
-1D1DC; [0C F7 AE, 05, 05]
+1ED2E; [0C FB 07, 05, 05]
-1D1DD; [0C F7 B5, 05, 05]
+1F000; [0C FB 0E, 05, 05]
-1D1DE; [0C F7 BC, 05, 05]
+1F001; [0C FB 15, 05, 05]
-1D1DF; [0C F7 C3, 05, 05]
+1F002; [0C FB 1C, 05, 05]
-1D1E0; [0C F7 CA, 05, 05]
+1F003; [0C FB 23, 05, 05]
-1D1E1; [0C F7 D1, 05, 05]
+1F004; [0C FB 2A, 05, 05]
-1D1E2; [0C F7 D8, 05, 05]
+1F005; [0C FB 31, 05, 05]
-1D1E3; [0C F7 DF, 05, 05]
+1F006; [0C FB 38, 05, 05]
-1D1E4; [0C F7 E6, 05, 05]
+1F007; [0C FB 3F, 05, 05]
-1D1E5; [0C F7 ED, 05, 05]
+1F008; [0C FB 46, 05, 05]
-1D1E6; [0C F7 F4, 05, 05]
+1F009; [0C FB 4D, 05, 05]
-1D1E7; [0C F7 FB, 05, 05]
+1F00A; [0C FB 54, 05, 05]
-1D1E8; [0C F8 04, 05, 05]
+1F00B; [0C FB 5B, 05, 05]
-1D200; [0C F8 0B, 05, 05]
+1F00C; [0C FB 62, 05, 05]
-1D201; [0C F8 12, 05, 05]
+1F00D; [0C FB 69, 05, 05]
-1D202; [0C F8 19, 05, 05]
+1F00E; [0C FB 70, 05, 05]
-1D203; [0C F8 20, 05, 05]
+1F00F; [0C FB 77, 05, 05]
-1D204; [0C F8 27, 05, 05]
+1F010; [0C FB 7E, 05, 05]
-1D205; [0C F8 2E, 05, 05]
+1F011; [0C FB 85, 05, 05]
-1D206; [0C F8 35, 05, 05]
+1F012; [0C FB 8C, 05, 05]
-1D207; [0C F8 3C, 05, 05]
+1F013; [0C FB 93, 05, 05]
-1D208; [0C F8 43, 05, 05]
+1F014; [0C FB 9A, 05, 05]
-1D209; [0C F8 4A, 05, 05]
+1F015; [0C FB A1, 05, 05]
-1D20A; [0C F8 51, 05, 05]
+1F016; [0C FB A8, 05, 05]
-1D20B; [0C F8 58, 05, 05]
+1F017; [0C FB AF, 05, 05]
-1D20C; [0C F8 5F, 05, 05]
+1F018; [0C FB B6, 05, 05]
-1D20D; [0C F8 66, 05, 05]
+1F019; [0C FB BD, 05, 05]
-1D20E; [0C F8 6D, 05, 05]
+1F01A; [0C FB C4, 05, 05]
-1D20F; [0C F8 74, 05, 05]
+1F01B; [0C FB CB, 05, 05]
-1D210; [0C F8 7B, 05, 05]
+1F01C; [0C FB D2, 05, 05]
-1D211; [0C F8 82, 05, 05]
+1F01D; [0C FB D9, 05, 05]
-1D212; [0C F8 89, 05, 05]
+1F01E; [0C FB E0, 05, 05]
-1D213; [0C F8 90, 05, 05]
+1F01F; [0C FB E7, 05, 05]
-1D214; [0C F8 97, 05, 05]
+1F020; [0C FB EE, 05, 05]
-1D215; [0C F8 9E, 05, 05]
+1F021; [0C FB F5, 05, 05]
-1D216; [0C F8 A5, 05, 05]
+1F022; [0C FB FC, 05, 05]
-1D217; [0C F8 AC, 05, 05]
+1F023; [0C FC 05, 05, 05]
-1D218; [0C F8 B3, 05, 05]
+1F024; [0C FC 0C, 05, 05]
-1D219; [0C F8 BA, 05, 05]
+1F025; [0C FC 13, 05, 05]
-1D21A; [0C F8 C1, 05, 05]
+1F026; [0C FC 1A, 05, 05]
-1D21B; [0C F8 C8, 05, 05]
+1F027; [0C FC 21, 05, 05]
-1D21C; [0C F8 CF, 05, 05]
+1F028; [0C FC 28, 05, 05]
-1D21D; [0C F8 D6, 05, 05]
+1F029; [0C FC 2F, 05, 05]
-1D21E; [0C F8 DD, 05, 05]
+1F02A; [0C FC 36, 05, 05]
-1D21F; [0C F8 E4, 05, 05]
+1F02B; [0C FC 3D, 05, 05]
-1D220; [0C F8 EB, 05, 05]
+1F030; [0C FC 44, 05, 05]
-1D221; [0C F8 F2, 05, 05]
+1F031; [0C FC 4B, 05, 05]
-1D222; [0C F8 F9, 05, 05]
+1F032; [0C FC 52, 05, 05]
-1D223; [0C F9 02, 05, 05]
+1F033; [0C FC 59, 05, 05]
-1D224; [0C F9 09, 05, 05]
+1F034; [0C FC 60, 05, 05]
-1D225; [0C F9 10, 05, 05]
+1F035; [0C FC 67, 05, 05]
-1D226; [0C F9 17, 05, 05]
+1F036; [0C FC 6E, 05, 05]
-1D227; [0C F9 1E, 05, 05]
+1F037; [0C FC 75, 05, 05]
-1D228; [0C F9 25, 05, 05]
+1F038; [0C FC 7C, 05, 05]
-1D229; [0C F9 2C, 05, 05]
+1F039; [0C FC 83, 05, 05]
-1D22A; [0C F9 33, 05, 05]
+1F03A; [0C FC 8A, 05, 05]
-1D22B; [0C F9 3A, 05, 05]
+1F03B; [0C FC 91, 05, 05]
-1D22C; [0C F9 41, 05, 05]
+1F03C; [0C FC 98, 05, 05]
-1D22D; [0C F9 48, 05, 05]
+1F03D; [0C FC 9F, 05, 05]
-1D22E; [0C F9 4F, 05, 05]
+1F03E; [0C FC A6, 05, 05]
-1D22F; [0C F9 56, 05, 05]
+1F03F; [0C FC AD, 05, 05]
-1D230; [0C F9 5D, 05, 05]
+1F040; [0C FC B4, 05, 05]
-1D231; [0C F9 64, 05, 05]
+1F041; [0C FC BB, 05, 05]
-1D232; [0C F9 6B, 05, 05]
+1F042; [0C FC C2, 05, 05]
-1D233; [0C F9 72, 05, 05]
+1F043; [0C FC C9, 05, 05]
-1D234; [0C F9 79, 05, 05]
+1F044; [0C FC D0, 05, 05]
-1D235; [0C F9 80, 05, 05]
+1F045; [0C FC D7, 05, 05]
-1D236; [0C F9 87, 05, 05]
+1F046; [0C FC DE, 05, 05]
-1D237; [0C F9 8E, 05, 05]
+1F047; [0C FC E5, 05, 05]
-1D238; [0C F9 95, 05, 05]
+1F048; [0C FC EC, 05, 05]
-1D239; [0C F9 9C, 05, 05]
+1F049; [0C FC F3, 05, 05]
-1D23A; [0C F9 A3, 05, 05]
+1F04A; [0C FC FA, 05, 05]
-1D23B; [0C F9 AA, 05, 05]
+1F04B; [0C FD 03, 05, 05]
-1D23C; [0C F9 B1, 05, 05]
+1F04C; [0C FD 0A, 05, 05]
-1D23D; [0C F9 B8, 05, 05]
+1F04D; [0C FD 11, 05, 05]
-1D23E; [0C F9 BF, 05, 05]
+1F04E; [0C FD 18, 05, 05]
-1D23F; [0C F9 C6, 05, 05]
+1F04F; [0C FD 1F, 05, 05]
-1D240; [0C F9 CD, 05, 05]
+1F050; [0C FD 26, 05, 05]
-1D241; [0C F9 D4, 05, 05]
+1F051; [0C FD 2D, 05, 05]
-1D245; [0C F9 DB, 05, 05]
+1F052; [0C FD 34, 05, 05]
-1BC9C; [0C F9 E2, 05, 05]
+1F053; [0C FD 3B, 05, 05]
-1ECAC; [0C F9 E9, 05, 05]
+1F054; [0C FD 42, 05, 05]
-1F000; [0C F9 F0, 05, 05]
+1F055; [0C FD 49, 05, 05]
-1F001; [0C F9 F7, 05, 05]
+1F056; [0C FD 50, 05, 05]
-1F002; [0C F9 FE, 05, 05]
+1F057; [0C FD 57, 05, 05]
-1F003; [0C FA 07, 05, 05]
+1F058; [0C FD 5E, 05, 05]
-1F004; [0C FA 0E, 05, 05]
+1F059; [0C FD 65, 05, 05]
-1F005; [0C FA 15, 05, 05]
+1F05A; [0C FD 6C, 05, 05]
-1F006; [0C FA 1C, 05, 05]
+1F05B; [0C FD 73, 05, 05]
-1F007; [0C FA 23, 05, 05]
+1F05C; [0C FD 7A, 05, 05]
-1F008; [0C FA 2A, 05, 05]
+1F05D; [0C FD 81, 05, 05]
-1F009; [0C FA 31, 05, 05]
+1F05E; [0C FD 88, 05, 05]
-1F00A; [0C FA 38, 05, 05]
+1F05F; [0C FD 8F, 05, 05]
-1F00B; [0C FA 3F, 05, 05]
+1F060; [0C FD 96, 05, 05]
-1F00C; [0C FA 46, 05, 05]
+1F061; [0C FD 9D, 05, 05]
-1F00D; [0C FA 4D, 05, 05]
+1F062; [0C FD A4, 05, 05]
-1F00E; [0C FA 54, 05, 05]
+1F063; [0C FD AB, 05, 05]
-1F00F; [0C FA 5B, 05, 05]
+1F064; [0C FD B2, 05, 05]
-1F010; [0C FA 62, 05, 05]
+1F065; [0C FD B9, 05, 05]
-1F011; [0C FA 69, 05, 05]
+1F066; [0C FD C0, 05, 05]
-1F012; [0C FA 70, 05, 05]
+1F067; [0C FD C7, 05, 05]
-1F013; [0C FA 77, 05, 05]
+1F068; [0C FD CE, 05, 05]
-1F014; [0C FA 7E, 05, 05]
+1F069; [0C FD D5, 05, 05]
-1F015; [0C FA 85, 05, 05]
+1F06A; [0C FD DC, 05, 05]
-1F016; [0C FA 8C, 05, 05]
+1F06B; [0C FD E3, 05, 05]
-1F017; [0C FA 93, 05, 05]
+1F06C; [0C FD EA, 05, 05]
-1F018; [0C FA 9A, 05, 05]
+1F06D; [0C FD F1, 05, 05]
-1F019; [0C FA A1, 05, 05]
+1F06E; [0C FD F8, 05, 05]
-1F01A; [0C FA A8, 05, 05]
+1F06F; [0C FD FF, 05, 05]
-1F01B; [0C FA AF, 05, 05]
+1F070; [0C FE 08, 05, 05]
-1F01C; [0C FA B6, 05, 05]
+1F071; [0C FE 0F, 05, 05]
-1F01D; [0C FA BD, 05, 05]
+1F072; [0C FE 16, 05, 05]
-1F01E; [0C FA C4, 05, 05]
+1F073; [0C FE 1D, 05, 05]
-1F01F; [0C FA CB, 05, 05]
+1F074; [0C FE 24, 05, 05]
-1F020; [0C FA D2, 05, 05]
+1F075; [0C FE 2B, 05, 05]
-1F021; [0C FA D9, 05, 05]
+1F076; [0C FE 32, 05, 05]
-1F022; [0C FA E0, 05, 05]
+1F077; [0C FE 39, 05, 05]
-1F023; [0C FA E7, 05, 05]
+1F078; [0C FE 40, 05, 05]
-1F024; [0C FA EE, 05, 05]
+1F079; [0C FE 47, 05, 05]
-1F025; [0C FA F5, 05, 05]
+1F07A; [0C FE 4E, 05, 05]
-1F026; [0C FA FC, 05, 05]
+1F07B; [0C FE 55, 05, 05]
-1F027; [0C FB 05, 05, 05]
+1F07C; [0C FE 5C, 05, 05]
-1F028; [0C FB 0C, 05, 05]
+1F07D; [0C FE 63, 05, 05]
-1F029; [0C FB 13, 05, 05]
+1F07E; [0C FE 6A, 05, 05]
-1F02A; [0C FB 1A, 05, 05]
+1F07F; [0C FE 71, 05, 05]
-1F02B; [0C FB 21, 05, 05]
+1F080; [0C FE 78, 05, 05]
-1F030; [0C FB 28, 05, 05]
+1F081; [0C FE 7F, 05, 05]
-1F031; [0C FB 2F, 05, 05]
+1F082; [0C FE 86, 05, 05]
-1F032; [0C FB 36, 05, 05]
+1F083; [0C FE 8D, 05, 05]
-1F033; [0C FB 3D, 05, 05]
+1F084; [0C FE 94, 05, 05]
-1F034; [0C FB 44, 05, 05]
+1F085; [0C FE 9B, 05, 05]
-1F035; [0C FB 4B, 05, 05]
+1F086; [0C FE A2, 05, 05]
-1F036; [0C FB 52, 05, 05]
+1F087; [0C FE A9, 05, 05]
-1F037; [0C FB 59, 05, 05]
+1F088; [0C FE B0, 05, 05]
-1F038; [0C FB 60, 05, 05]
+1F089; [0C FE B7, 05, 05]
-1F039; [0C FB 67, 05, 05]
+1F08A; [0C FE BE, 05, 05]
-1F03A; [0C FB 6E, 05, 05]
+1F08B; [0C FE C5, 05, 05]
-1F03B; [0C FB 75, 05, 05]
+1F08C; [0C FE CC, 05, 05]
-1F03C; [0C FB 7C, 05, 05]
+1F08D; [0C FE D3, 05, 05]
-1F03D; [0C FB 83, 05, 05]
+1F08E; [0C FE DA, 05, 05]
-1F03E; [0C FB 8A, 05, 05]
+1F08F; [0C FE E1, 05, 05]
-1F03F; [0C FB 91, 05, 05]
+1F090; [0C FE E8, 05, 05]
-1F040; [0C FB 98, 05, 05]
+1F091; [0C FE EF, 05, 05]
-1F041; [0C FB 9F, 05, 05]
+1F092; [0C FE F6, 05, 05]
-1F042; [0C FB A6, 05, 05]
+1F093; [0C FE FD, 05, 05]
-1F043; [0C FB AD, 05, 05]
+1F0A0; [0C FF 06, 05, 05]
-1F044; [0C FB B4, 05, 05]
+1F0A1; [0C FF 0D, 05, 05]
-1F045; [0C FB BB, 05, 05]
+1F0A2; [0C FF 14, 05, 05]
-1F046; [0C FB C2, 05, 05]
+1F0A3; [0C FF 1B, 05, 05]
-1F047; [0C FB C9, 05, 05]
+1F0A4; [0C FF 22, 05, 05]
-1F048; [0C FB D0, 05, 05]
+1F0A5; [0C FF 29, 05, 05]
-1F049; [0C FB D7, 05, 05]
+1F0A6; [0C FF 30, 05, 05]
-1F04A; [0C FB DE, 05, 05]
+1F0A7; [0C FF 37, 05, 05]
-1F04B; [0C FB E5, 05, 05]
+1F0A8; [0C FF 3E, 05, 05]
-1F04C; [0C FB EC, 05, 05]
+1F0A9; [0C FF 45, 05, 05]
-1F04D; [0C FB F3, 05, 05]
+1F0AA; [0C FF 4C, 05, 05]
-1F04E; [0C FB FA, 05, 05]
+1F0AB; [0C FF 53, 05, 05]
-1F04F; [0C FC 03, 05, 05]
+1F0AC; [0C FF 5A, 05, 05]
-1F050; [0C FC 0A, 05, 05]
+1F0AD; [0C FF 61, 05, 05]
-1F051; [0C FC 11, 05, 05]
+1F0AE; [0C FF 68, 05, 05]
-1F052; [0C FC 18, 05, 05]
+1F0B1; [0C FF 6F, 05, 05]
-1F053; [0C FC 1F, 05, 05]
+1F0B2; [0C FF 76, 05, 05]
-1F054; [0C FC 26, 05, 05]
+1F0B3; [0C FF 7D, 05, 05]
-1F055; [0C FC 2D, 05, 05]
+1F0B4; [0C FF 84, 05, 05]
-1F056; [0C FC 34, 05, 05]
+1F0B5; [0C FF 8B, 05, 05]
-1F057; [0C FC 3B, 05, 05]
+1F0B6; [0C FF 92, 05, 05]
-1F058; [0C FC 42, 05, 05]
+1F0B7; [0C FF 99, 05, 05]
-1F059; [0C FC 49, 05, 05]
+1F0B8; [0C FF A0, 05, 05]
-1F05A; [0C FC 50, 05, 05]
+1F0B9; [0C FF A7, 05, 05]
-1F05B; [0C FC 57, 05, 05]
+1F0BA; [0C FF AE, 05, 05]
-1F05C; [0C FC 5E, 05, 05]
+1F0BB; [0C FF B5, 05, 05]
-1F05D; [0C FC 65, 05, 05]
+1F0BC; [0C FF BC, 05, 05]
-1F05E; [0C FC 6C, 05, 05]
+1F0BD; [0C FF C3, 05, 05]
-1F05F; [0C FC 73, 05, 05]
+1F0BE; [0C FF CA, 05, 05]
-1F060; [0C FC 7A, 05, 05]
+1F0BF; [0C FF D1, 05, 05]
-1F061; [0C FC 81, 05, 05]
+1F0C1; [0C FF D8, 05, 05]
-1F062; [0C FC 88, 05, 05]
+1F0C2; [0C FF DF, 05, 05]
-1F063; [0C FC 8F, 05, 05]
+1F0C3; [0C FF E6, 05, 05]
-1F064; [0C FC 96, 05, 05]
+1F0C4; [0C FF ED, 05, 05]
-1F065; [0C FC 9D, 05, 05]
+1F0C5; [0C FF F4, 05, 05]
-1F066; [0C FC A4, 05, 05]
+1F0C6; [0C FF FB, 05, 05]
-1F067; [0C FC AB, 05, 05]
+1F0C7; [0D 02 04, 05, 05]
-1F068; [0C FC B2, 05, 05]
+1F0C8; [0D 02 0B, 05, 05]
-1F069; [0C FC B9, 05, 05]
+1F0C9; [0D 02 12, 05, 05]
-1F06A; [0C FC C0, 05, 05]
+1F0CA; [0D 02 19, 05, 05]
-1F06B; [0C FC C7, 05, 05]
+1F0CB; [0D 02 20, 05, 05]
-1F06C; [0C FC CE, 05, 05]
+1F0CC; [0D 02 27, 05, 05]
-1F06D; [0C FC D5, 05, 05]
+1F0CD; [0D 02 2E, 05, 05]
-1F06E; [0C FC DC, 05, 05]
+1F0CE; [0D 02 35, 05, 05]
-1F06F; [0C FC E3, 05, 05]
+1F0CF; [0D 02 3C, 05, 05]
-1F070; [0C FC EA, 05, 05]
+1F0D1; [0D 02 43, 05, 05]
-1F071; [0C FC F1, 05, 05]
+1F0D2; [0D 02 4A, 05, 05]
-1F072; [0C FC F8, 05, 05]
+1F0D3; [0D 02 51, 05, 05]
-1F073; [0C FC FF, 05, 05]
+1F0D4; [0D 02 58, 05, 05]
-1F074; [0C FD 08, 05, 05]
+1F0D5; [0D 02 5F, 05, 05]
-1F075; [0C FD 0F, 05, 05]
+1F0D6; [0D 02 66, 05, 05]
-1F076; [0C FD 16, 05, 05]
+1F0D7; [0D 02 6D, 05, 05]
-1F077; [0C FD 1D, 05, 05]
+1F0D8; [0D 02 74, 05, 05]
-1F078; [0C FD 24, 05, 05]
+1F0D9; [0D 02 7B, 05, 05]
-1F079; [0C FD 2B, 05, 05]
+1F0DA; [0D 02 82, 05, 05]
-1F07A; [0C FD 32, 05, 05]
+1F0DB; [0D 02 89, 05, 05]
-1F07B; [0C FD 39, 05, 05]
+1F0DC; [0D 02 90, 05, 05]
-1F07C; [0C FD 40, 05, 05]
+1F0DD; [0D 02 97, 05, 05]
-1F07D; [0C FD 47, 05, 05]
+1F0DE; [0D 02 9E, 05, 05]
-1F07E; [0C FD 4E, 05, 05]
+1F0DF; [0D 02 A5, 05, 05]
-1F07F; [0C FD 55, 05, 05]
+1F0E0; [0D 02 AC, 05, 05]
-1F080; [0C FD 5C, 05, 05]
+1F0E1; [0D 02 B3, 05, 05]
-1F081; [0C FD 63, 05, 05]
+1F0E2; [0D 02 BA, 05, 05]
-1F082; [0C FD 6A, 05, 05]
+1F0E3; [0D 02 C1, 05, 05]
-1F083; [0C FD 71, 05, 05]
+1F0E4; [0D 02 C8, 05, 05]
-1F084; [0C FD 78, 05, 05]
+1F0E5; [0D 02 CF, 05, 05]
-1F085; [0C FD 7F, 05, 05]
+1F0E6; [0D 02 D6, 05, 05]
-1F086; [0C FD 86, 05, 05]
+1F0E7; [0D 02 DD, 05, 05]
-1F087; [0C FD 8D, 05, 05]
+1F0E8; [0D 02 E4, 05, 05]
-1F088; [0C FD 94, 05, 05]
+1F0E9; [0D 02 EB, 05, 05]
-1F089; [0C FD 9B, 05, 05]
+1F0EA; [0D 02 F2, 05, 05]
-1F08A; [0C FD A2, 05, 05]
+1F0EB; [0D 02 F9, 05, 05]
-1F08B; [0C FD A9, 05, 05]
+1F0EC; [0D 03 02, 05, 05]
-1F08C; [0C FD B0, 05, 05]
+1F0ED; [0D 03 09, 05, 05]
-1F08D; [0C FD B7, 05, 05]
+1F0EE; [0D 03 10, 05, 05]
-1F08E; [0C FD BE, 05, 05]
+1F0EF; [0D 03 17, 05, 05]
-1F08F; [0C FD C5, 05, 05]
+1F0F0; [0D 03 1E, 05, 05]
-1F090; [0C FD CC, 05, 05]
+1F0F1; [0D 03 25, 05, 05]
-1F091; [0C FD D3, 05, 05]
+1F0F2; [0D 03 2C, 05, 05]
-1F092; [0C FD DA, 05, 05]
+1F0F3; [0D 03 33, 05, 05]
-1F093; [0C FD E1, 05, 05]
+1F0F4; [0D 03 3A, 05, 05]
-1F0A0; [0C FD E8, 05, 05]
+1F0F5; [0D 03 41, 05, 05]
-1F0A1; [0C FD EF, 05, 05]
+1FA00; [0D 03 48, 05, 05]
-1F0A2; [0C FD F6, 05, 05]
+1FA01; [0D 03 4F, 05, 05]
-1F0A3; [0C FD FD, 05, 05]
+1FA02; [0D 03 56, 05, 05]
-1F0A4; [0C FE 06, 05, 05]
+1FA03; [0D 03 5D, 05, 05]
-1F0A5; [0C FE 0D, 05, 05]
+1FA04; [0D 03 64, 05, 05]
-1F0A6; [0C FE 14, 05, 05]
+1FA05; [0D 03 6B, 05, 05]
-1F0A7; [0C FE 1B, 05, 05]
+1FA06; [0D 03 72, 05, 05]
-1F0A8; [0C FE 22, 05, 05]
+1FA07; [0D 03 79, 05, 05]
-1F0A9; [0C FE 29, 05, 05]
+1FA08; [0D 03 80, 05, 05]
-1F0AA; [0C FE 30, 05, 05]
+1FA09; [0D 03 87, 05, 05]
-1F0AB; [0C FE 37, 05, 05]
+1FA0A; [0D 03 8E, 05, 05]
-1F0AC; [0C FE 3E, 05, 05]
+1FA0B; [0D 03 95, 05, 05]
-1F0AD; [0C FE 45, 05, 05]
+1FA0C; [0D 03 9C, 05, 05]
-1F0AE; [0C FE 4C, 05, 05]
+1FA0D; [0D 03 A3, 05, 05]
-1F0B1; [0C FE 53, 05, 05]
+1FA0E; [0D 03 AA, 05, 05]
-1F0B2; [0C FE 5A, 05, 05]
+1FA0F; [0D 03 B1, 05, 05]
-1F0B3; [0C FE 61, 05, 05]
+1FA10; [0D 03 B8, 05, 05]
-1F0B4; [0C FE 68, 05, 05]
+1FA11; [0D 03 BF, 05, 05]
-1F0B5; [0C FE 6F, 05, 05]
+1FA12; [0D 03 C6, 05, 05]
-1F0B6; [0C FE 76, 05, 05]
+1FA13; [0D 03 CD, 05, 05]
-1F0B7; [0C FE 7D, 05, 05]
+1FA14; [0D 03 D4, 05, 05]
-1F0B8; [0C FE 84, 05, 05]
+1FA15; [0D 03 DB, 05, 05]
-1F0B9; [0C FE 8B, 05, 05]
+1FA16; [0D 03 E2, 05, 05]
-1F0BA; [0C FE 92, 05, 05]
+1FA17; [0D 03 E9, 05, 05]
-1F0BB; [0C FE 99, 05, 05]
+1FA18; [0D 03 F0, 05, 05]
-1F0BC; [0C FE A0, 05, 05]
+1FA19; [0D 03 F7, 05, 05]
-1F0BD; [0C FE A7, 05, 05]
+1FA1A; [0D 03 FE, 05, 05]
-1F0BE; [0C FE AE, 05, 05]
+1FA1B; [0D 04 07, 05, 05]
-1F0BF; [0C FE B5, 05, 05]
+1FA1C; [0D 04 0E, 05, 05]
-1F0C1; [0C FE BC, 05, 05]
+1FA1D; [0D 04 15, 05, 05]
-1F0C2; [0C FE C3, 05, 05]
+1FA1E; [0D 04 1C, 05, 05]
-1F0C3; [0C FE CA, 05, 05]
+1FA1F; [0D 04 23, 05, 05]
-1F0C4; [0C FE D1, 05, 05]
+1FA20; [0D 04 2A, 05, 05]
-1F0C5; [0C FE D8, 05, 05]
+1FA21; [0D 04 31, 05, 05]
-1F0C6; [0C FE DF, 05, 05]
+1FA22; [0D 04 38, 05, 05]
-1F0C7; [0C FE E6, 05, 05]
+1FA23; [0D 04 3F, 05, 05]
-1F0C8; [0C FE ED, 05, 05]
+1FA24; [0D 04 46, 05, 05]
-1F0C9; [0C FE F4, 05, 05]
+1FA25; [0D 04 4D, 05, 05]
-1F0CA; [0C FE FB, 05, 05]
+1FA26; [0D 04 54, 05, 05]
-1F0CB; [0C FF 04, 05, 05]
+1FA27; [0D 04 5B, 05, 05]
-1F0CC; [0C FF 0B, 05, 05]
+1FA28; [0D 04 62, 05, 05]
-1F0CD; [0C FF 12, 05, 05]
+1FA29; [0D 04 69, 05, 05]
-1F0CE; [0C FF 19, 05, 05]
+1FA2A; [0D 04 70, 05, 05]
-1F0CF; [0C FF 20, 05, 05]
+1FA2B; [0D 04 77, 05, 05]
-1F0D1; [0C FF 27, 05, 05]
+1FA2C; [0D 04 7E, 05, 05]
-1F0D2; [0C FF 2E, 05, 05]
+1FA2D; [0D 04 85, 05, 05]
-1F0D3; [0C FF 35, 05, 05]
+1FA2E; [0D 04 8C, 05, 05]
-1F0D4; [0C FF 3C, 05, 05]
+1FA2F; [0D 04 93, 05, 05]
-1F0D5; [0C FF 43, 05, 05]
+1FA30; [0D 04 9A, 05, 05]
-1F0D6; [0C FF 4A, 05, 05]
+1FA31; [0D 04 A1, 05, 05]
-1F0D7; [0C FF 51, 05, 05]
+1FA32; [0D 04 A8, 05, 05]
-1F0D8; [0C FF 58, 05, 05]
+1FA33; [0D 04 AF, 05, 05]
-1F0D9; [0C FF 5F, 05, 05]
+1FA34; [0D 04 B6, 05, 05]
-1F0DA; [0C FF 66, 05, 05]
+1FA35; [0D 04 BD, 05, 05]
-1F0DB; [0C FF 6D, 05, 05]
+1FA36; [0D 04 C4, 05, 05]
-1F0DC; [0C FF 74, 05, 05]
+1FA37; [0D 04 CB, 05, 05]
-1F0DD; [0C FF 7B, 05, 05]
+1FA38; [0D 04 D2, 05, 05]
-1F0DE; [0C FF 82, 05, 05]
+1FA39; [0D 04 D9, 05, 05]
-1F0DF; [0C FF 89, 05, 05]
+1FA3A; [0D 04 E0, 05, 05]
-1F0E0; [0C FF 90, 05, 05]
+1FA3B; [0D 04 E7, 05, 05]
-1F0E1; [0C FF 97, 05, 05]
+1FA3C; [0D 04 EE, 05, 05]
-1F0E2; [0C FF 9E, 05, 05]
+1FA3D; [0D 04 F5, 05, 05]
-1F0E3; [0C FF A5, 05, 05]
+1FA3E; [0D 04 FC, 05, 05]
-1F0E4; [0C FF AC, 05, 05]
+1FA3F; [0D 05 05, 05, 05]
-1F0E5; [0C FF B3, 05, 05]
+1FA40; [0D 05 0C, 05, 05]
-1F0E6; [0C FF BA, 05, 05]
+1FA41; [0D 05 13, 05, 05]
-1F0E7; [0C FF C1, 05, 05]
+1FA42; [0D 05 1A, 05, 05]
-1F0E8; [0C FF C8, 05, 05]
+1FA43; [0D 05 21, 05, 05]
-1F0E9; [0C FF CF, 05, 05]
+1FA44; [0D 05 28, 05, 05]
-1F0EA; [0C FF D6, 05, 05]
+1FA45; [0D 05 2F, 05, 05]
-1F0EB; [0C FF DD, 05, 05]
+1FA46; [0D 05 36, 05, 05]
-1F0EC; [0C FF E4, 05, 05]
+1FA47; [0D 05 3D, 05, 05]
-1F0ED; [0C FF EB, 05, 05]
+1FA48; [0D 05 44, 05, 05]
-1F0EE; [0C FF F2, 05, 05]
+1FA49; [0D 05 4B, 05, 05]
-1F0EF; [0C FF F9, 05, 05]
+1FA4A; [0D 05 52, 05, 05]
-1F0F0; [0D 02 02, 05, 05]
+1FA4B; [0D 05 59, 05, 05]
-1F0F1; [0D 02 09, 05, 05]
+1FA4C; [0D 05 60, 05, 05]
-1F0F2; [0D 02 10, 05, 05]
+1FA4D; [0D 05 67, 05, 05]
-1F0F3; [0D 02 17, 05, 05]
+1FA4E; [0D 05 6E, 05, 05]
-1F0F4; [0D 02 1E, 05, 05]
+1FA4F; [0D 05 75, 05, 05]
-1F0F5; [0D 02 25, 05, 05]
+1FA50; [0D 05 7C, 05, 05]
-1FA60; [0D 02 2C, 05, 05]
+1FA51; [0D 05 83, 05, 05]
-1FA61; [0D 02 33, 05, 05]
+1FA52; [0D 05 8A, 05, 05]
-1FA62; [0D 02 3A, 05, 05]
+1FA53; [0D 05 91, 05, 05]
-1FA63; [0D 02 41, 05, 05]
+1FA60; [0D 05 98, 05, 05]
-1FA64; [0D 02 48, 05, 05]
+1FA61; [0D 05 9F, 05, 05]
-1FA65; [0D 02 4F, 05, 05]
+1FA62; [0D 05 A6, 05, 05]
-1FA66; [0D 02 56, 05, 05]
+1FA63; [0D 05 AD, 05, 05]
-1FA67; [0D 02 5D, 05, 05]
+1FA64; [0D 05 B4, 05, 05]
-1FA68; [0D 02 64, 05, 05]
+1FA65; [0D 05 BB, 05, 05]
-1FA69; [0D 02 6B, 05, 05]
+1FA66; [0D 05 C2, 05, 05]
-1FA6A; [0D 02 72, 05, 05]
+1FA67; [0D 05 C9, 05, 05]
-1FA6B; [0D 02 79, 05, 05]
+1FA68; [0D 05 D0, 05, 05]
-1FA6C; [0D 02 80, 05, 05]
+1FA69; [0D 05 D7, 05, 05]
-1FA6D; [0D 02 87, 05, 05]
+1FA6A; [0D 05 DE, 05, 05]
-1F260; [0D 02 8E, 05, 05]
+1FA6B; [0D 05 E5, 05, 05]
-1F261; [0D 02 95, 05, 05]
+1FA6C; [0D 05 EC, 05, 05]
-1F262; [0D 02 9C, 05, 05]
+1FA6D; [0D 05 F3, 05, 05]
-1F263; [0D 02 A3, 05, 05]
+1F260; [0D 05 FA, 05, 05]
-1F264; [0D 02 AA, 05, 05]
+1F261; [0D 06 03, 05, 05]
-1F265; [0D 02 B1, 05, 05]
+1F262; [0D 06 0A, 05, 05]
-1F300; [0D 02 B8, 05, 05]
+1F263; [0D 06 11, 05, 05]
-1F301; [0D 02 BF, 05, 05]
+1F264; [0D 06 18, 05, 05]
-1F302; [0D 02 C6, 05, 05]
+1F265; [0D 06 1F, 05, 05]
-1F303; [0D 02 CD, 05, 05]
+1F300; [0D 06 26, 05, 05]
-1F304; [0D 02 D4, 05, 05]
+1F301; [0D 06 2D, 05, 05]
-1F305; [0D 02 DB, 05, 05]
+1F302; [0D 06 34, 05, 05]
-1F306; [0D 02 E2, 05, 05]
+1F303; [0D 06 3B, 05, 05]
-1F307; [0D 02 E9, 05, 05]
+1F304; [0D 06 42, 05, 05]
-1F308; [0D 02 F0, 05, 05]
+1F305; [0D 06 49, 05, 05]
-1F309; [0D 02 F7, 05, 05]
+1F306; [0D 06 50, 05, 05]
-1F30A; [0D 02 FE, 05, 05]
+1F307; [0D 06 57, 05, 05]
-1F30B; [0D 03 07, 05, 05]
+1F308; [0D 06 5E, 05, 05]
-1F30C; [0D 03 0E, 05, 05]
+1F309; [0D 06 65, 05, 05]
-1F30D; [0D 03 15, 05, 05]
+1F30A; [0D 06 6C, 05, 05]
-1F30E; [0D 03 1C, 05, 05]
+1F30B; [0D 06 73, 05, 05]
-1F30F; [0D 03 23, 05, 05]
+1F30C; [0D 06 7A, 05, 05]
-1F310; [0D 03 2A, 05, 05]
+1F30D; [0D 06 81, 05, 05]
-1F311; [0D 03 31, 05, 05]
+1F30E; [0D 06 88, 05, 05]
-1F312; [0D 03 38, 05, 05]
+1F30F; [0D 06 8F, 05, 05]
-1F313; [0D 03 3F, 05, 05]
+1F310; [0D 06 96, 05, 05]
-1F314; [0D 03 46, 05, 05]
+1F311; [0D 06 9D, 05, 05]
-1F315; [0D 03 4D, 05, 05]
+1F312; [0D 06 A4, 05, 05]
-1F316; [0D 03 54, 05, 05]
+1F313; [0D 06 AB, 05, 05]
-1F317; [0D 03 5B, 05, 05]
+1F314; [0D 06 B2, 05, 05]
-1F318; [0D 03 62, 05, 05]
+1F315; [0D 06 B9, 05, 05]
-1F319; [0D 03 69, 05, 05]
+1F316; [0D 06 C0, 05, 05]
-1F31A; [0D 03 70, 05, 05]
+1F317; [0D 06 C7, 05, 05]
-1F31B; [0D 03 77, 05, 05]
+1F318; [0D 06 CE, 05, 05]
-1F31C; [0D 03 7E, 05, 05]
+1F319; [0D 06 D5, 05, 05]
-1F31D; [0D 03 85, 05, 05]
+1F31A; [0D 06 DC, 05, 05]
-1F31E; [0D 03 8C, 05, 05]
+1F31B; [0D 06 E3, 05, 05]
-1F31F; [0D 03 93, 05, 05]
+1F31C; [0D 06 EA, 05, 05]
-1F320; [0D 03 9A, 05, 05]
+1F31D; [0D 06 F1, 05, 05]
-1F321; [0D 03 A1, 05, 05]
+1F31E; [0D 06 F8, 05, 05]
-1F322; [0D 03 A8, 05, 05]
+1F31F; [0D 06 FF, 05, 05]
-1F323; [0D 03 AF, 05, 05]
+1F320; [0D 07 08, 05, 05]
-1F324; [0D 03 B6, 05, 05]
+1F321; [0D 07 0F, 05, 05]
-1F325; [0D 03 BD, 05, 05]
+1F322; [0D 07 16, 05, 05]
-1F326; [0D 03 C4, 05, 05]
+1F323; [0D 07 1D, 05, 05]
-1F327; [0D 03 CB, 05, 05]
+1F324; [0D 07 24, 05, 05]
-1F328; [0D 03 D2, 05, 05]
+1F325; [0D 07 2B, 05, 05]
-1F329; [0D 03 D9, 05, 05]
+1F326; [0D 07 32, 05, 05]
-1F32A; [0D 03 E0, 05, 05]
+1F327; [0D 07 39, 05, 05]
-1F32B; [0D 03 E7, 05, 05]
+1F328; [0D 07 40, 05, 05]
-1F32C; [0D 03 EE, 05, 05]
+1F329; [0D 07 47, 05, 05]
-1F32D; [0D 03 F5, 05, 05]
+1F32A; [0D 07 4E, 05, 05]
-1F32E; [0D 03 FC, 05, 05]
+1F32B; [0D 07 55, 05, 05]
-1F32F; [0D 04 05, 05, 05]
+1F32C; [0D 07 5C, 05, 05]
-1F330; [0D 04 0C, 05, 05]
+1F32D; [0D 07 63, 05, 05]
-1F331; [0D 04 13, 05, 05]
+1F32E; [0D 07 6A, 05, 05]
-1F332; [0D 04 1A, 05, 05]
+1F32F; [0D 07 71, 05, 05]
-1F333; [0D 04 21, 05, 05]
+1F330; [0D 07 78, 05, 05]
-1F334; [0D 04 28, 05, 05]
+1F331; [0D 07 7F, 05, 05]
-1F335; [0D 04 2F, 05, 05]
+1F332; [0D 07 86, 05, 05]
-1F336; [0D 04 36, 05, 05]
+1F333; [0D 07 8D, 05, 05]
-1F337; [0D 04 3D, 05, 05]
+1F334; [0D 07 94, 05, 05]
-1F338; [0D 04 44, 05, 05]
+1F335; [0D 07 9B, 05, 05]
-1F339; [0D 04 4B, 05, 05]
+1F336; [0D 07 A2, 05, 05]
-1F33A; [0D 04 52, 05, 05]
+1F337; [0D 07 A9, 05, 05]
-1F33B; [0D 04 59, 05, 05]
+1F338; [0D 07 B0, 05, 05]
-1F33C; [0D 04 60, 05, 05]
+1F339; [0D 07 B7, 05, 05]
-1F33D; [0D 04 67, 05, 05]
+1F33A; [0D 07 BE, 05, 05]
-1F33E; [0D 04 6E, 05, 05]
+1F33B; [0D 07 C5, 05, 05]
-1F33F; [0D 04 75, 05, 05]
+1F33C; [0D 07 CC, 05, 05]
-1F340; [0D 04 7C, 05, 05]
+1F33D; [0D 07 D3, 05, 05]
-1F341; [0D 04 83, 05, 05]
+1F33E; [0D 07 DA, 05, 05]
-1F342; [0D 04 8A, 05, 05]
+1F33F; [0D 07 E1, 05, 05]
-1F343; [0D 04 91, 05, 05]
+1F340; [0D 07 E8, 05, 05]
-1F344; [0D 04 98, 05, 05]
+1F341; [0D 07 EF, 05, 05]
-1F345; [0D 04 9F, 05, 05]
+1F342; [0D 07 F6, 05, 05]
-1F346; [0D 04 A6, 05, 05]
+1F343; [0D 07 FD, 05, 05]
-1F347; [0D 04 AD, 05, 05]
+1F344; [0D 08 06, 05, 05]
-1F348; [0D 04 B4, 05, 05]
+1F345; [0D 08 0D, 05, 05]
-1F349; [0D 04 BB, 05, 05]
+1F346; [0D 08 14, 05, 05]
-1F34A; [0D 04 C2, 05, 05]
+1F347; [0D 08 1B, 05, 05]
-1F34B; [0D 04 C9, 05, 05]
+1F348; [0D 08 22, 05, 05]
-1F34C; [0D 04 D0, 05, 05]
+1F349; [0D 08 29, 05, 05]
-1F34D; [0D 04 D7, 05, 05]
+1F34A; [0D 08 30, 05, 05]
-1F34E; [0D 04 DE, 05, 05]
+1F34B; [0D 08 37, 05, 05]
-1F34F; [0D 04 E5, 05, 05]
+1F34C; [0D 08 3E, 05, 05]
-1F350; [0D 04 EC, 05, 05]
+1F34D; [0D 08 45, 05, 05]
-1F351; [0D 04 F3, 05, 05]
+1F34E; [0D 08 4C, 05, 05]
-1F352; [0D 04 FA, 05, 05]
+1F34F; [0D 08 53, 05, 05]
-1F353; [0D 05 03, 05, 05]
+1F350; [0D 08 5A, 05, 05]
-1F354; [0D 05 0A, 05, 05]
+1F351; [0D 08 61, 05, 05]
-1F355; [0D 05 11, 05, 05]
+1F352; [0D 08 68, 05, 05]
-1F356; [0D 05 18, 05, 05]
+1F353; [0D 08 6F, 05, 05]
-1F357; [0D 05 1F, 05, 05]
+1F354; [0D 08 76, 05, 05]
-1F358; [0D 05 26, 05, 05]
+1F355; [0D 08 7D, 05, 05]
-1F359; [0D 05 2D, 05, 05]
+1F356; [0D 08 84, 05, 05]
-1F35A; [0D 05 34, 05, 05]
+1F357; [0D 08 8B, 05, 05]
-1F35B; [0D 05 3B, 05, 05]
+1F358; [0D 08 92, 05, 05]
-1F35C; [0D 05 42, 05, 05]
+1F359; [0D 08 99, 05, 05]
-1F35D; [0D 05 49, 05, 05]
+1F35A; [0D 08 A0, 05, 05]
-1F35E; [0D 05 50, 05, 05]
+1F35B; [0D 08 A7, 05, 05]
-1F35F; [0D 05 57, 05, 05]
+1F35C; [0D 08 AE, 05, 05]
-1F360; [0D 05 5E, 05, 05]
+1F35D; [0D 08 B5, 05, 05]
-1F361; [0D 05 65, 05, 05]
+1F35E; [0D 08 BC, 05, 05]
-1F362; [0D 05 6C, 05, 05]
+1F35F; [0D 08 C3, 05, 05]
-1F363; [0D 05 73, 05, 05]
+1F360; [0D 08 CA, 05, 05]
-1F364; [0D 05 7A, 05, 05]
+1F361; [0D 08 D1, 05, 05]
-1F365; [0D 05 81, 05, 05]
+1F362; [0D 08 D8, 05, 05]
-1F366; [0D 05 88, 05, 05]
+1F363; [0D 08 DF, 05, 05]
-1F367; [0D 05 8F, 05, 05]
+1F364; [0D 08 E6, 05, 05]
-1F368; [0D 05 96, 05, 05]
+1F365; [0D 08 ED, 05, 05]
-1F369; [0D 05 9D, 05, 05]
+1F366; [0D 08 F4, 05, 05]
-1F36A; [0D 05 A4, 05, 05]
+1F367; [0D 08 FB, 05, 05]
-1F36B; [0D 05 AB, 05, 05]
+1F368; [0D 09 04, 05, 05]
-1F36C; [0D 05 B2, 05, 05]
+1F369; [0D 09 0B, 05, 05]
-1F36D; [0D 05 B9, 05, 05]
+1F36A; [0D 09 12, 05, 05]
-1F36E; [0D 05 C0, 05, 05]
+1F36B; [0D 09 19, 05, 05]
-1F36F; [0D 05 C7, 05, 05]
+1F36C; [0D 09 20, 05, 05]
-1F370; [0D 05 CE, 05, 05]
+1F36D; [0D 09 27, 05, 05]
-1F371; [0D 05 D5, 05, 05]
+1F36E; [0D 09 2E, 05, 05]
-1F372; [0D 05 DC, 05, 05]
+1F36F; [0D 09 35, 05, 05]
-1F373; [0D 05 E3, 05, 05]
+1F370; [0D 09 3C, 05, 05]
-1F374; [0D 05 EA, 05, 05]
+1F371; [0D 09 43, 05, 05]
-1F375; [0D 05 F1, 05, 05]
+1F372; [0D 09 4A, 05, 05]
-1F376; [0D 05 F8, 05, 05]
+1F373; [0D 09 51, 05, 05]
-1F377; [0D 05 FF, 05, 05]
+1F374; [0D 09 58, 05, 05]
-1F378; [0D 06 08, 05, 05]
+1F375; [0D 09 5F, 05, 05]
-1F379; [0D 06 0F, 05, 05]
+1F376; [0D 09 66, 05, 05]
-1F37A; [0D 06 16, 05, 05]
+1F377; [0D 09 6D, 05, 05]
-1F37B; [0D 06 1D, 05, 05]
+1F378; [0D 09 74, 05, 05]
-1F37C; [0D 06 24, 05, 05]
+1F379; [0D 09 7B, 05, 05]
-1F37D; [0D 06 2B, 05, 05]
+1F37A; [0D 09 82, 05, 05]
-1F37E; [0D 06 32, 05, 05]
+1F37B; [0D 09 89, 05, 05]
-1F37F; [0D 06 39, 05, 05]
+1F37C; [0D 09 90, 05, 05]
-1F380; [0D 06 40, 05, 05]
+1F37D; [0D 09 97, 05, 05]
-1F381; [0D 06 47, 05, 05]
+1F37E; [0D 09 9E, 05, 05]
-1F382; [0D 06 4E, 05, 05]
+1F37F; [0D 09 A5, 05, 05]
-1F383; [0D 06 55, 05, 05]
+1F380; [0D 09 AC, 05, 05]
-1F384; [0D 06 5C, 05, 05]
+1F381; [0D 09 B3, 05, 05]
-1F385; [0D 06 63, 05, 05]
+1F382; [0D 09 BA, 05, 05]
-1F386; [0D 06 6A, 05, 05]
+1F383; [0D 09 C1, 05, 05]
-1F387; [0D 06 71, 05, 05]
+1F384; [0D 09 C8, 05, 05]
-1F388; [0D 06 78, 05, 05]
+1F385; [0D 09 CF, 05, 05]
-1F389; [0D 06 7F, 05, 05]
+1F386; [0D 09 D6, 05, 05]
-1F38A; [0D 06 86, 05, 05]
+1F387; [0D 09 DD, 05, 05]
-1F38B; [0D 06 8D, 05, 05]
+1F388; [0D 09 E4, 05, 05]
-1F38C; [0D 06 94, 05, 05]
+1F389; [0D 09 EB, 05, 05]
-1F38D; [0D 06 9B, 05, 05]
+1F38A; [0D 09 F2, 05, 05]
-1F38E; [0D 06 A2, 05, 05]
+1F38B; [0D 09 F9, 05, 05]
-1F38F; [0D 06 A9, 05, 05]
+1F38C; [0D 0A 02, 05, 05]
-1F390; [0D 06 B0, 05, 05]
+1F38D; [0D 0A 09, 05, 05]
-1F391; [0D 06 B7, 05, 05]
+1F38E; [0D 0A 10, 05, 05]
-1F392; [0D 06 BE, 05, 05]
+1F38F; [0D 0A 17, 05, 05]
-1F393; [0D 06 C5, 05, 05]
+1F390; [0D 0A 1E, 05, 05]
-1F394; [0D 06 CC, 05, 05]
+1F391; [0D 0A 25, 05, 05]
-1F395; [0D 06 D3, 05, 05]
+1F392; [0D 0A 2C, 05, 05]
-1F396; [0D 06 DA, 05, 05]
+1F393; [0D 0A 33, 05, 05]
-1F397; [0D 06 E1, 05, 05]
+1F394; [0D 0A 3A, 05, 05]
-1F398; [0D 06 E8, 05, 05]
+1F395; [0D 0A 41, 05, 05]
-1F399; [0D 06 EF, 05, 05]
+1F396; [0D 0A 48, 05, 05]
-1F39A; [0D 06 F6, 05, 05]
+1F397; [0D 0A 4F, 05, 05]
-1F39B; [0D 06 FD, 05, 05]
+1F398; [0D 0A 56, 05, 05]
-1F39C; [0D 07 06, 05, 05]
+1F399; [0D 0A 5D, 05, 05]
-1F39D; [0D 07 0D, 05, 05]
+1F39A; [0D 0A 64, 05, 05]
-1F39E; [0D 07 14, 05, 05]
+1F39B; [0D 0A 6B, 05, 05]
-1F39F; [0D 07 1B, 05, 05]
+1F39C; [0D 0A 72, 05, 05]
-1F3A0; [0D 07 22, 05, 05]
+1F39D; [0D 0A 79, 05, 05]
-1F3A1; [0D 07 29, 05, 05]
+1F39E; [0D 0A 80, 05, 05]
-1F3A2; [0D 07 30, 05, 05]
+1F39F; [0D 0A 87, 05, 05]
-1F3A3; [0D 07 37, 05, 05]
+1F3A0; [0D 0A 8E, 05, 05]
-1F3A4; [0D 07 3E, 05, 05]
+1F3A1; [0D 0A 95, 05, 05]
-1F3A5; [0D 07 45, 05, 05]
+1F3A2; [0D 0A 9C, 05, 05]
-1F3A6; [0D 07 4C, 05, 05]
+1F3A3; [0D 0A A3, 05, 05]
-1F3A7; [0D 07 53, 05, 05]
+1F3A4; [0D 0A AA, 05, 05]
-1F3A8; [0D 07 5A, 05, 05]
+1F3A5; [0D 0A B1, 05, 05]
-1F3A9; [0D 07 61, 05, 05]
+1F3A6; [0D 0A B8, 05, 05]
-1F3AA; [0D 07 68, 05, 05]
+1F3A7; [0D 0A BF, 05, 05]
-1F3AB; [0D 07 6F, 05, 05]
+1F3A8; [0D 0A C6, 05, 05]
-1F3AC; [0D 07 76, 05, 05]
+1F3A9; [0D 0A CD, 05, 05]
-1F3AD; [0D 07 7D, 05, 05]
+1F3AA; [0D 0A D4, 05, 05]
-1F3AE; [0D 07 84, 05, 05]
+1F3AB; [0D 0A DB, 05, 05]
-1F3AF; [0D 07 8B, 05, 05]
+1F3AC; [0D 0A E2, 05, 05]
-1F3B0; [0D 07 92, 05, 05]
+1F3AD; [0D 0A E9, 05, 05]
-1F3B1; [0D 07 99, 05, 05]
+1F3AE; [0D 0A F0, 05, 05]
-1F3B2; [0D 07 A0, 05, 05]
+1F3AF; [0D 0A F7, 05, 05]
-1F3B3; [0D 07 A7, 05, 05]
+1F3B0; [0D 0A FE, 05, 05]
-1F3B4; [0D 07 AE, 05, 05]
+1F3B1; [0D 0B 07, 05, 05]
-1F3B5; [0D 07 B5, 05, 05]
+1F3B2; [0D 0B 0E, 05, 05]
-1F3B6; [0D 07 BC, 05, 05]
+1F3B3; [0D 0B 15, 05, 05]
-1F3B7; [0D 07 C3, 05, 05]
+1F3B4; [0D 0B 1C, 05, 05]
-1F3B8; [0D 07 CA, 05, 05]
+1F3B5; [0D 0B 23, 05, 05]
-1F3B9; [0D 07 D1, 05, 05]
+1F3B6; [0D 0B 2A, 05, 05]
-1F3BA; [0D 07 D8, 05, 05]
+1F3B7; [0D 0B 31, 05, 05]
-1F3BB; [0D 07 DF, 05, 05]
+1F3B8; [0D 0B 38, 05, 05]
-1F3BC; [0D 07 E6, 05, 05]
+1F3B9; [0D 0B 3F, 05, 05]
-1F3BD; [0D 07 ED, 05, 05]
+1F3BA; [0D 0B 46, 05, 05]
-1F3BE; [0D 07 F4, 05, 05]
+1F3BB; [0D 0B 4D, 05, 05]
-1F3BF; [0D 07 FB, 05, 05]
+1F3BC; [0D 0B 54, 05, 05]
-1F3C0; [0D 08 04, 05, 05]
+1F3BD; [0D 0B 5B, 05, 05]
-1F3C1; [0D 08 0B, 05, 05]
+1F3BE; [0D 0B 62, 05, 05]
-1F3C2; [0D 08 12, 05, 05]
+1F3BF; [0D 0B 69, 05, 05]
-1F3C3; [0D 08 19, 05, 05]
+1F3C0; [0D 0B 70, 05, 05]
-1F3C4; [0D 08 20, 05, 05]
+1F3C1; [0D 0B 77, 05, 05]
-1F3C5; [0D 08 27, 05, 05]
+1F3C2; [0D 0B 7E, 05, 05]
-1F3C6; [0D 08 2E, 05, 05]
+1F3C3; [0D 0B 85, 05, 05]
-1F3C7; [0D 08 35, 05, 05]
+1F3C4; [0D 0B 8C, 05, 05]
-1F3C8; [0D 08 3C, 05, 05]
+1F3C5; [0D 0B 93, 05, 05]
-1F3C9; [0D 08 43, 05, 05]
+1F3C6; [0D 0B 9A, 05, 05]
-1F3CA; [0D 08 4A, 05, 05]
+1F3C7; [0D 0B A1, 05, 05]
-1F3CB; [0D 08 51, 05, 05]
+1F3C8; [0D 0B A8, 05, 05]
-1F3CC; [0D 08 58, 05, 05]
+1F3C9; [0D 0B AF, 05, 05]
-1F3CD; [0D 08 5F, 05, 05]
+1F3CA; [0D 0B B6, 05, 05]
-1F3CE; [0D 08 66, 05, 05]
+1F3CB; [0D 0B BD, 05, 05]
-1F3CF; [0D 08 6D, 05, 05]
+1F3CC; [0D 0B C4, 05, 05]
-1F3D0; [0D 08 74, 05, 05]
+1F3CD; [0D 0B CB, 05, 05]
-1F3D1; [0D 08 7B, 05, 05]
+1F3CE; [0D 0B D2, 05, 05]
-1F3D2; [0D 08 82, 05, 05]
+1F3CF; [0D 0B D9, 05, 05]
-1F3D3; [0D 08 89, 05, 05]
+1F3D0; [0D 0B E0, 05, 05]
-1F3D4; [0D 08 90, 05, 05]
+1F3D1; [0D 0B E7, 05, 05]
-1F3D5; [0D 08 97, 05, 05]
+1F3D2; [0D 0B EE, 05, 05]
-1F3D6; [0D 08 9E, 05, 05]
+1F3D3; [0D 0B F5, 05, 05]
-1F3D7; [0D 08 A5, 05, 05]
+1F3D4; [0D 0B FC, 05, 05]
-1F3D8; [0D 08 AC, 05, 05]
+1F3D5; [0D 0C 05, 05, 05]
-1F3D9; [0D 08 B3, 05, 05]
+1F3D6; [0D 0C 0C, 05, 05]
-1F3DA; [0D 08 BA, 05, 05]
+1F3D7; [0D 0C 13, 05, 05]
-1F3DB; [0D 08 C1, 05, 05]
+1F3D8; [0D 0C 1A, 05, 05]
-1F3DC; [0D 08 C8, 05, 05]
+1F3D9; [0D 0C 21, 05, 05]
-1F3DD; [0D 08 CF, 05, 05]
+1F3DA; [0D 0C 28, 05, 05]
-1F3DE; [0D 08 D6, 05, 05]
+1F3DB; [0D 0C 2F, 05, 05]
-1F3DF; [0D 08 DD, 05, 05]
+1F3DC; [0D 0C 36, 05, 05]
-1F3E0; [0D 08 E4, 05, 05]
+1F3DD; [0D 0C 3D, 05, 05]
-1F3E1; [0D 08 EB, 05, 05]
+1F3DE; [0D 0C 44, 05, 05]
-1F3E2; [0D 08 F2, 05, 05]
+1F3DF; [0D 0C 4B, 05, 05]
-1F3E3; [0D 08 F9, 05, 05]
+1F3E0; [0D 0C 52, 05, 05]
-1F3E4; [0D 09 02, 05, 05]
+1F3E1; [0D 0C 59, 05, 05]
-1F3E5; [0D 09 09, 05, 05]
+1F3E2; [0D 0C 60, 05, 05]
-1F3E6; [0D 09 10, 05, 05]
+1F3E3; [0D 0C 67, 05, 05]
-1F3E7; [0D 09 17, 05, 05]
+1F3E4; [0D 0C 6E, 05, 05]
-1F3E8; [0D 09 1E, 05, 05]
+1F3E5; [0D 0C 75, 05, 05]
-1F3E9; [0D 09 25, 05, 05]
+1F3E6; [0D 0C 7C, 05, 05]
-1F3EA; [0D 09 2C, 05, 05]
+1F3E7; [0D 0C 83, 05, 05]
-1F3EB; [0D 09 33, 05, 05]
+1F3E8; [0D 0C 8A, 05, 05]
-1F3EC; [0D 09 3A, 05, 05]
+1F3E9; [0D 0C 91, 05, 05]
-1F3ED; [0D 09 41, 05, 05]
+1F3EA; [0D 0C 98, 05, 05]
-1F3EE; [0D 09 48, 05, 05]
+1F3EB; [0D 0C 9F, 05, 05]
-1F3EF; [0D 09 4F, 05, 05]
+1F3EC; [0D 0C A6, 05, 05]
-1F3F0; [0D 09 56, 05, 05]
+1F3ED; [0D 0C AD, 05, 05]
-1F3F1; [0D 09 5D, 05, 05]
+1F3EE; [0D 0C B4, 05, 05]
-1F3F2; [0D 09 64, 05, 05]
+1F3EF; [0D 0C BB, 05, 05]
-1F3F3; [0D 09 6B, 05, 05]
+1F3F0; [0D 0C C2, 05, 05]
-1F3F4; [0D 09 72, 05, 05]
+1F3F1; [0D 0C C9, 05, 05]
-1F3F5; [0D 09 79, 05, 05]
+1F3F2; [0D 0C D0, 05, 05]
-1F3F6; [0D 09 80, 05, 05]
+1F3F3; [0D 0C D7, 05, 05]
-1F3F7; [0D 09 87, 05, 05]
+1F3F4; [0D 0C DE, 05, 05]
-1F3F8; [0D 09 8E, 05, 05]
+1F3F5; [0D 0C E5, 05, 05]
-1F3F9; [0D 09 95, 05, 05]
+1F3F6; [0D 0C EC, 05, 05]
-1F3FA; [0D 09 9C, 05, 05]
+1F3F7; [0D 0C F3, 05, 05]
-1F3FB; [0D 09 A3, 05, 05]
+1F3F8; [0D 0C FA, 05, 05]
-1F3FC; [0D 09 AA, 05, 05]
+1F3F9; [0D 0D 03, 05, 05]
-1F3FD; [0D 09 B1, 05, 05]
+1F3FA; [0D 0D 0A, 05, 05]
-1F3FE; [0D 09 B8, 05, 05]
+1F3FB; [0D 0D 11, 05, 05]
-1F3FF; [0D 09 BF, 05, 05]
+1F3FC; [0D 0D 18, 05, 05]
-1F400; [0D 09 C6, 05, 05]
+1F3FD; [0D 0D 1F, 05, 05]
-1F401; [0D 09 CD, 05, 05]
+1F3FE; [0D 0D 26, 05, 05]
-1F402; [0D 09 D4, 05, 05]
+1F3FF; [0D 0D 2D, 05, 05]
-1F403; [0D 09 DB, 05, 05]
+1F400; [0D 0D 34, 05, 05]
-1F404; [0D 09 E2, 05, 05]
+1F401; [0D 0D 3B, 05, 05]
-1F405; [0D 09 E9, 05, 05]
+1F402; [0D 0D 42, 05, 05]
-1F406; [0D 09 F0, 05, 05]
+1F403; [0D 0D 49, 05, 05]
-1F407; [0D 09 F7, 05, 05]
+1F404; [0D 0D 50, 05, 05]
-1F408; [0D 09 FE, 05, 05]
+1F405; [0D 0D 57, 05, 05]
-1F409; [0D 0A 07, 05, 05]
+1F406; [0D 0D 5E, 05, 05]
-1F40A; [0D 0A 0E, 05, 05]
+1F407; [0D 0D 65, 05, 05]
-1F40B; [0D 0A 15, 05, 05]
+1F408; [0D 0D 6C, 05, 05]
-1F40C; [0D 0A 1C, 05, 05]
+1F409; [0D 0D 73, 05, 05]
-1F40D; [0D 0A 23, 05, 05]
+1F40A; [0D 0D 7A, 05, 05]
-1F40E; [0D 0A 2A, 05, 05]
+1F40B; [0D 0D 81, 05, 05]
-1F40F; [0D 0A 31, 05, 05]
+1F40C; [0D 0D 88, 05, 05]
-1F410; [0D 0A 38, 05, 05]
+1F40D; [0D 0D 8F, 05, 05]
-1F411; [0D 0A 3F, 05, 05]
+1F40E; [0D 0D 96, 05, 05]
-1F412; [0D 0A 46, 05, 05]
+1F40F; [0D 0D 9D, 05, 05]
-1F413; [0D 0A 4D, 05, 05]
+1F410; [0D 0D A4, 05, 05]
-1F414; [0D 0A 54, 05, 05]
+1F411; [0D 0D AB, 05, 05]
-1F415; [0D 0A 5B, 05, 05]
+1F412; [0D 0D B2, 05, 05]
-1F416; [0D 0A 62, 05, 05]
+1F413; [0D 0D B9, 05, 05]
-1F417; [0D 0A 69, 05, 05]
+1F414; [0D 0D C0, 05, 05]
-1F418; [0D 0A 70, 05, 05]
+1F415; [0D 0D C7, 05, 05]
-1F419; [0D 0A 77, 05, 05]
+1F416; [0D 0D CE, 05, 05]
-1F41A; [0D 0A 7E, 05, 05]
+1F417; [0D 0D D5, 05, 05]
-1F41B; [0D 0A 85, 05, 05]
+1F418; [0D 0D DC, 05, 05]
-1F41C; [0D 0A 8C, 05, 05]
+1F419; [0D 0D E3, 05, 05]
-1F41D; [0D 0A 93, 05, 05]
+1F41A; [0D 0D EA, 05, 05]
-1F41E; [0D 0A 9A, 05, 05]
+1F41B; [0D 0D F1, 05, 05]
-1F41F; [0D 0A A1, 05, 05]
+1F41C; [0D 0D F8, 05, 05]
-1F420; [0D 0A A8, 05, 05]
+1F41D; [0D 0D FF, 05, 05]
-1F421; [0D 0A AF, 05, 05]
+1F41E; [0D 0E 08, 05, 05]
-1F422; [0D 0A B6, 05, 05]
+1F41F; [0D 0E 0F, 05, 05]
-1F423; [0D 0A BD, 05, 05]
+1F420; [0D 0E 16, 05, 05]
-1F424; [0D 0A C4, 05, 05]
+1F421; [0D 0E 1D, 05, 05]
-1F425; [0D 0A CB, 05, 05]
+1F422; [0D 0E 24, 05, 05]
-1F426; [0D 0A D2, 05, 05]
+1F423; [0D 0E 2B, 05, 05]
-1F427; [0D 0A D9, 05, 05]
+1F424; [0D 0E 32, 05, 05]
-1F428; [0D 0A E0, 05, 05]
+1F425; [0D 0E 39, 05, 05]
-1F429; [0D 0A E7, 05, 05]
+1F426; [0D 0E 40, 05, 05]
-1F42A; [0D 0A EE, 05, 05]
+1F427; [0D 0E 47, 05, 05]
-1F42B; [0D 0A F5, 05, 05]
+1F428; [0D 0E 4E, 05, 05]
-1F42C; [0D 0A FC, 05, 05]
+1F429; [0D 0E 55, 05, 05]
-1F42D; [0D 0B 05, 05, 05]
+1F42A; [0D 0E 5C, 05, 05]
-1F42E; [0D 0B 0C, 05, 05]
+1F42B; [0D 0E 63, 05, 05]
-1F42F; [0D 0B 13, 05, 05]
+1F42C; [0D 0E 6A, 05, 05]
-1F430; [0D 0B 1A, 05, 05]
+1F42D; [0D 0E 71, 05, 05]
-1F431; [0D 0B 21, 05, 05]
+1F42E; [0D 0E 78, 05, 05]
-1F432; [0D 0B 28, 05, 05]
+1F42F; [0D 0E 7F, 05, 05]
-1F433; [0D 0B 2F, 05, 05]
+1F430; [0D 0E 86, 05, 05]
-1F434; [0D 0B 36, 05, 05]
+1F431; [0D 0E 8D, 05, 05]
-1F435; [0D 0B 3D, 05, 05]
+1F432; [0D 0E 94, 05, 05]
-1F436; [0D 0B 44, 05, 05]
+1F433; [0D 0E 9B, 05, 05]
-1F437; [0D 0B 4B, 05, 05]
+1F434; [0D 0E A2, 05, 05]
-1F438; [0D 0B 52, 05, 05]
+1F435; [0D 0E A9, 05, 05]
-1F439; [0D 0B 59, 05, 05]
+1F436; [0D 0E B0, 05, 05]
-1F43A; [0D 0B 60, 05, 05]
+1F437; [0D 0E B7, 05, 05]
-1F43B; [0D 0B 67, 05, 05]
+1F438; [0D 0E BE, 05, 05]
-1F43C; [0D 0B 6E, 05, 05]
+1F439; [0D 0E C5, 05, 05]
-1F43D; [0D 0B 75, 05, 05]
+1F43A; [0D 0E CC, 05, 05]
-1F43E; [0D 0B 7C, 05, 05]
+1F43B; [0D 0E D3, 05, 05]
-1F43F; [0D 0B 83, 05, 05]
+1F43C; [0D 0E DA, 05, 05]
-1F440; [0D 0B 8A, 05, 05]
+1F43D; [0D 0E E1, 05, 05]
-1F441; [0D 0B 91, 05, 05]
+1F43E; [0D 0E E8, 05, 05]
-1F442; [0D 0B 98, 05, 05]
+1F43F; [0D 0E EF, 05, 05]
-1F443; [0D 0B 9F, 05, 05]
+1F440; [0D 0E F6, 05, 05]
-1F444; [0D 0B A6, 05, 05]
+1F441; [0D 0E FD, 05, 05]
-1F445; [0D 0B AD, 05, 05]
+1F442; [0D 0F 06, 05, 05]
-1F446; [0D 0B B4, 05, 05]
+1F443; [0D 0F 0D, 05, 05]
-1F447; [0D 0B BB, 05, 05]
+1F444; [0D 0F 14, 05, 05]
-1F448; [0D 0B C2, 05, 05]
+1F445; [0D 0F 1B, 05, 05]
-1F449; [0D 0B C9, 05, 05]
+1F446; [0D 0F 22, 05, 05]
-1F44A; [0D 0B D0, 05, 05]
+1F447; [0D 0F 29, 05, 05]
-1F44B; [0D 0B D7, 05, 05]
+1F448; [0D 0F 30, 05, 05]
-1F44C; [0D 0B DE, 05, 05]
+1F449; [0D 0F 37, 05, 05]
-1F44D; [0D 0B E5, 05, 05]
+1F44A; [0D 0F 3E, 05, 05]
-1F44E; [0D 0B EC, 05, 05]
+1F44B; [0D 0F 45, 05, 05]
-1F44F; [0D 0B F3, 05, 05]
+1F44C; [0D 0F 4C, 05, 05]
-1F450; [0D 0B FA, 05, 05]
+1F44D; [0D 0F 53, 05, 05]
-1F451; [0D 0C 03, 05, 05]
+1F44E; [0D 0F 5A, 05, 05]
-1F452; [0D 0C 0A, 05, 05]
+1F44F; [0D 0F 61, 05, 05]
-1F453; [0D 0C 11, 05, 05]
+1F450; [0D 0F 68, 05, 05]
-1F454; [0D 0C 18, 05, 05]
+1F451; [0D 0F 6F, 05, 05]
-1F455; [0D 0C 1F, 05, 05]
+1F452; [0D 0F 76, 05, 05]
-1F456; [0D 0C 26, 05, 05]
+1F453; [0D 0F 7D, 05, 05]
-1F457; [0D 0C 2D, 05, 05]
+1F454; [0D 0F 84, 05, 05]
-1F458; [0D 0C 34, 05, 05]
+1F455; [0D 0F 8B, 05, 05]
-1F459; [0D 0C 3B, 05, 05]
+1F456; [0D 0F 92, 05, 05]
-1F45A; [0D 0C 42, 05, 05]
+1F457; [0D 0F 99, 05, 05]
-1F45B; [0D 0C 49, 05, 05]
+1F458; [0D 0F A0, 05, 05]
-1F45C; [0D 0C 50, 05, 05]
+1F459; [0D 0F A7, 05, 05]
-1F45D; [0D 0C 57, 05, 05]
+1F45A; [0D 0F AE, 05, 05]
-1F45E; [0D 0C 5E, 05, 05]
+1F45B; [0D 0F B5, 05, 05]
-1F45F; [0D 0C 65, 05, 05]
+1F45C; [0D 0F BC, 05, 05]
-1F460; [0D 0C 6C, 05, 05]
+1F45D; [0D 0F C3, 05, 05]
-1F461; [0D 0C 73, 05, 05]
+1F45E; [0D 0F CA, 05, 05]
-1F462; [0D 0C 7A, 05, 05]
+1F45F; [0D 0F D1, 05, 05]
-1F463; [0D 0C 81, 05, 05]
+1F460; [0D 0F D8, 05, 05]
-1F464; [0D 0C 88, 05, 05]
+1F461; [0D 0F DF, 05, 05]
-1F465; [0D 0C 8F, 05, 05]
+1F462; [0D 0F E6, 05, 05]
-1F466; [0D 0C 96, 05, 05]
+1F463; [0D 0F ED, 05, 05]
-1F467; [0D 0C 9D, 05, 05]
+1F464; [0D 0F F4, 05, 05]
-1F468; [0D 0C A4, 05, 05]
+1F465; [0D 0F FB, 05, 05]
-1F469; [0D 0C AB, 05, 05]
+1F466; [0D 10 04, 05, 05]
-1F46A; [0D 0C B2, 05, 05]
+1F467; [0D 10 0B, 05, 05]
-1F46B; [0D 0C B9, 05, 05]
+1F468; [0D 10 12, 05, 05]
-1F46C; [0D 0C C0, 05, 05]
+1F469; [0D 10 19, 05, 05]
-1F46D; [0D 0C C7, 05, 05]
+1F46A; [0D 10 20, 05, 05]
-1F46E; [0D 0C CE, 05, 05]
+1F46B; [0D 10 27, 05, 05]
-1F46F; [0D 0C D5, 05, 05]
+1F46C; [0D 10 2E, 05, 05]
-1F470; [0D 0C DC, 05, 05]
+1F46D; [0D 10 35, 05, 05]
-1F471; [0D 0C E3, 05, 05]
+1F46E; [0D 10 3C, 05, 05]
-1F472; [0D 0C EA, 05, 05]
+1F46F; [0D 10 43, 05, 05]
-1F473; [0D 0C F1, 05, 05]
+1F470; [0D 10 4A, 05, 05]
-1F474; [0D 0C F8, 05, 05]
+1F471; [0D 10 51, 05, 05]
-1F475; [0D 0C FF, 05, 05]
+1F472; [0D 10 58, 05, 05]
-1F476; [0D 0D 08, 05, 05]
+1F473; [0D 10 5F, 05, 05]
-1F477; [0D 0D 0F, 05, 05]
+1F474; [0D 10 66, 05, 05]
-1F478; [0D 0D 16, 05, 05]
+1F475; [0D 10 6D, 05, 05]
-1F479; [0D 0D 1D, 05, 05]
+1F476; [0D 10 74, 05, 05]
-1F47A; [0D 0D 24, 05, 05]
+1F477; [0D 10 7B, 05, 05]
-1F47B; [0D 0D 2B, 05, 05]
+1F478; [0D 10 82, 05, 05]
-1F47C; [0D 0D 32, 05, 05]
+1F479; [0D 10 89, 05, 05]
-1F47D; [0D 0D 39, 05, 05]
+1F47A; [0D 10 90, 05, 05]
-1F47E; [0D 0D 40, 05, 05]
+1F47B; [0D 10 97, 05, 05]
-1F47F; [0D 0D 47, 05, 05]
+1F47C; [0D 10 9E, 05, 05]
-1F480; [0D 0D 4E, 05, 05]
+1F47D; [0D 10 A5, 05, 05]
-1F481; [0D 0D 55, 05, 05]
+1F47E; [0D 10 AC, 05, 05]
-1F482; [0D 0D 5C, 05, 05]
+1F47F; [0D 10 B3, 05, 05]
-1F483; [0D 0D 63, 05, 05]
+1F480; [0D 10 BA, 05, 05]
-1F484; [0D 0D 6A, 05, 05]
+1F481; [0D 10 C1, 05, 05]
-1F485; [0D 0D 71, 05, 05]
+1F482; [0D 10 C8, 05, 05]
-1F486; [0D 0D 78, 05, 05]
+1F483; [0D 10 CF, 05, 05]
-1F487; [0D 0D 7F, 05, 05]
+1F484; [0D 10 D6, 05, 05]
-1F488; [0D 0D 86, 05, 05]
+1F485; [0D 10 DD, 05, 05]
-1F489; [0D 0D 8D, 05, 05]
+1F486; [0D 10 E4, 05, 05]
-1F48A; [0D 0D 94, 05, 05]
+1F487; [0D 10 EB, 05, 05]
-1F48B; [0D 0D 9B, 05, 05]
+1F488; [0D 10 F2, 05, 05]
-1F48C; [0D 0D A2, 05, 05]
+1F489; [0D 10 F9, 05, 05]
-1F48D; [0D 0D A9, 05, 05]
+1F48A; [0D 11 02, 05, 05]
-1F48E; [0D 0D B0, 05, 05]
+1F48B; [0D 11 09, 05, 05]
-1F48F; [0D 0D B7, 05, 05]
+1F48C; [0D 11 10, 05, 05]
-1F490; [0D 0D BE, 05, 05]
+1F48D; [0D 11 17, 05, 05]
-1F491; [0D 0D C5, 05, 05]
+1F48E; [0D 11 1E, 05, 05]
-1F492; [0D 0D CC, 05, 05]
+1F48F; [0D 11 25, 05, 05]
-1F493; [0D 0D D3, 05, 05]
+1F490; [0D 11 2C, 05, 05]
-1F494; [0D 0D DA, 05, 05]
+1F491; [0D 11 33, 05, 05]
-1F495; [0D 0D E1, 05, 05]
+1F492; [0D 11 3A, 05, 05]
-1F496; [0D 0D E8, 05, 05]
+1F493; [0D 11 41, 05, 05]
-1F497; [0D 0D EF, 05, 05]
+1F494; [0D 11 48, 05, 05]
-1F498; [0D 0D F6, 05, 05]
+1F495; [0D 11 4F, 05, 05]
-1F499; [0D 0D FD, 05, 05]
+1F496; [0D 11 56, 05, 05]
-1F49A; [0D 0E 06, 05, 05]
+1F497; [0D 11 5D, 05, 05]
-1F49B; [0D 0E 0D, 05, 05]
+1F498; [0D 11 64, 05, 05]
-1F49C; [0D 0E 14, 05, 05]
+1F499; [0D 11 6B, 05, 05]
-1F49D; [0D 0E 1B, 05, 05]
+1F49A; [0D 11 72, 05, 05]
-1F49E; [0D 0E 22, 05, 05]
+1F49B; [0D 11 79, 05, 05]
-1F49F; [0D 0E 29, 05, 05]
+1F49C; [0D 11 80, 05, 05]
-1F4A0; [0D 0E 30, 05, 05]
+1F49D; [0D 11 87, 05, 05]
-1F4A1; [0D 0E 37, 05, 05]
+1F49E; [0D 11 8E, 05, 05]
-1F4A2; [0D 0E 3E, 05, 05]
+1F49F; [0D 11 95, 05, 05]
-1F4A3; [0D 0E 45, 05, 05]
+1F4A0; [0D 11 9C, 05, 05]
-1F4A4; [0D 0E 4C, 05, 05]
+1F4A1; [0D 11 A3, 05, 05]
-1F4A5; [0D 0E 53, 05, 05]
+1F4A2; [0D 11 AA, 05, 05]
-1F4A6; [0D 0E 5A, 05, 05]
+1F4A3; [0D 11 B1, 05, 05]
-1F4A7; [0D 0E 61, 05, 05]
+1F4A4; [0D 11 B8, 05, 05]
-1F4A8; [0D 0E 68, 05, 05]
+1F4A5; [0D 11 BF, 05, 05]
-1F4A9; [0D 0E 6F, 05, 05]
+1F4A6; [0D 11 C6, 05, 05]
-1F4AA; [0D 0E 76, 05, 05]
+1F4A7; [0D 11 CD, 05, 05]
-1F4AB; [0D 0E 7D, 05, 05]
+1F4A8; [0D 11 D4, 05, 05]
-1F4AC; [0D 0E 84, 05, 05]
+1F4A9; [0D 11 DB, 05, 05]
-1F4AD; [0D 0E 8B, 05, 05]
+1F4AA; [0D 11 E2, 05, 05]
-1F4AE; [0D 0E 92, 05, 05]
+1F4AB; [0D 11 E9, 05, 05]
-1F4AF; [0D 0E 99, 05, 05]
+1F4AC; [0D 11 F0, 05, 05]
-1F4B0; [0D 0E A0, 05, 05]
+1F4AD; [0D 11 F7, 05, 05]
-1F4B1; [0D 0E A7, 05, 05]
+1F4AE; [0D 11 FE, 05, 05]
-1F4B2; [0D 0E AE, 05, 05]
+1F4AF; [0D 12 07, 05, 05]
-1F4B3; [0D 0E B5, 05, 05]
+1F4B0; [0D 12 0E, 05, 05]
-1F4B4; [0D 0E BC, 05, 05]
+1F4B1; [0D 12 15, 05, 05]
-1F4B5; [0D 0E C3, 05, 05]
+1F4B2; [0D 12 1C, 05, 05]
-1F4B6; [0D 0E CA, 05, 05]
+1F4B3; [0D 12 23, 05, 05]
-1F4B7; [0D 0E D1, 05, 05]
+1F4B4; [0D 12 2A, 05, 05]
-1F4B8; [0D 0E D8, 05, 05]
+1F4B5; [0D 12 31, 05, 05]
-1F4B9; [0D 0E DF, 05, 05]
+1F4B6; [0D 12 38, 05, 05]
-1F4BA; [0D 0E E6, 05, 05]
+1F4B7; [0D 12 3F, 05, 05]
-1F4BB; [0D 0E ED, 05, 05]
+1F4B8; [0D 12 46, 05, 05]
-1F4BC; [0D 0E F4, 05, 05]
+1F4B9; [0D 12 4D, 05, 05]
-1F4BD; [0D 0E FB, 05, 05]
+1F4BA; [0D 12 54, 05, 05]
-1F4BE; [0D 0F 04, 05, 05]
+1F4BB; [0D 12 5B, 05, 05]
-1F4BF; [0D 0F 0B, 05, 05]
+1F4BC; [0D 12 62, 05, 05]
-1F4C0; [0D 0F 12, 05, 05]
+1F4BD; [0D 12 69, 05, 05]
-1F4C1; [0D 0F 19, 05, 05]
+1F4BE; [0D 12 70, 05, 05]
-1F4C2; [0D 0F 20, 05, 05]
+1F4BF; [0D 12 77, 05, 05]
-1F4C3; [0D 0F 27, 05, 05]
+1F4C0; [0D 12 7E, 05, 05]
-1F4C4; [0D 0F 2E, 05, 05]
+1F4C1; [0D 12 85, 05, 05]
-1F4C5; [0D 0F 35, 05, 05]
+1F4C2; [0D 12 8C, 05, 05]
-1F4C6; [0D 0F 3C, 05, 05]
+1F4C3; [0D 12 93, 05, 05]
-1F4C7; [0D 0F 43, 05, 05]
+1F4C4; [0D 12 9A, 05, 05]
-1F4C8; [0D 0F 4A, 05, 05]
+1F4C5; [0D 12 A1, 05, 05]
-1F4C9; [0D 0F 51, 05, 05]
+1F4C6; [0D 12 A8, 05, 05]
-1F4CA; [0D 0F 58, 05, 05]
+1F4C7; [0D 12 AF, 05, 05]
-1F4CB; [0D 0F 5F, 05, 05]
+1F4C8; [0D 12 B6, 05, 05]
-1F4CC; [0D 0F 66, 05, 05]
+1F4C9; [0D 12 BD, 05, 05]
-1F4CD; [0D 0F 6D, 05, 05]
+1F4CA; [0D 12 C4, 05, 05]
-1F4CE; [0D 0F 74, 05, 05]
+1F4CB; [0D 12 CB, 05, 05]
-1F4CF; [0D 0F 7B, 05, 05]
+1F4CC; [0D 12 D2, 05, 05]
-1F4D0; [0D 0F 82, 05, 05]
+1F4CD; [0D 12 D9, 05, 05]
-1F4D1; [0D 0F 89, 05, 05]
+1F4CE; [0D 12 E0, 05, 05]
-1F4D2; [0D 0F 90, 05, 05]
+1F4CF; [0D 12 E7, 05, 05]
-1F4D3; [0D 0F 97, 05, 05]
+1F4D0; [0D 12 EE, 05, 05]
-1F4D4; [0D 0F 9E, 05, 05]
+1F4D1; [0D 12 F5, 05, 05]
-1F4D5; [0D 0F A5, 05, 05]
+1F4D2; [0D 12 FC, 05, 05]
-1F4D6; [0D 0F AC, 05, 05]
+1F4D3; [0D 13 05, 05, 05]
-1F4D7; [0D 0F B3, 05, 05]
+1F4D4; [0D 13 0C, 05, 05]
-1F4D8; [0D 0F BA, 05, 05]
+1F4D5; [0D 13 13, 05, 05]
-1F4D9; [0D 0F C1, 05, 05]
+1F4D6; [0D 13 1A, 05, 05]
-1F4DA; [0D 0F C8, 05, 05]
+1F4D7; [0D 13 21, 05, 05]
-1F4DB; [0D 0F CF, 05, 05]
+1F4D8; [0D 13 28, 05, 05]
-1F4DC; [0D 0F D6, 05, 05]
+1F4D9; [0D 13 2F, 05, 05]
-1F4DD; [0D 0F DD, 05, 05]
+1F4DA; [0D 13 36, 05, 05]
-1F4DE; [0D 0F E4, 05, 05]
+1F4DB; [0D 13 3D, 05, 05]
-1F4DF; [0D 0F EB, 05, 05]
+1F4DC; [0D 13 44, 05, 05]
-1F4E0; [0D 0F F2, 05, 05]
+1F4DD; [0D 13 4B, 05, 05]
-1F4E1; [0D 0F F9, 05, 05]
+1F4DE; [0D 13 52, 05, 05]
-1F4E2; [0D 10 02, 05, 05]
+1F4DF; [0D 13 59, 05, 05]
-1F4E3; [0D 10 09, 05, 05]
+1F4E0; [0D 13 60, 05, 05]
-1F4E4; [0D 10 10, 05, 05]
+1F4E1; [0D 13 67, 05, 05]
-1F4E5; [0D 10 17, 05, 05]
+1F4E2; [0D 13 6E, 05, 05]
-1F4E6; [0D 10 1E, 05, 05]
+1F4E3; [0D 13 75, 05, 05]
-1F4E7; [0D 10 25, 05, 05]
+1F4E4; [0D 13 7C, 05, 05]
-1F4E8; [0D 10 2C, 05, 05]
+1F4E5; [0D 13 83, 05, 05]
-1F4E9; [0D 10 33, 05, 05]
+1F4E6; [0D 13 8A, 05, 05]
-1F4EA; [0D 10 3A, 05, 05]
+1F4E7; [0D 13 91, 05, 05]
-1F4EB; [0D 10 41, 05, 05]
+1F4E8; [0D 13 98, 05, 05]
-1F4EC; [0D 10 48, 05, 05]
+1F4E9; [0D 13 9F, 05, 05]
-1F4ED; [0D 10 4F, 05, 05]
+1F4EA; [0D 13 A6, 05, 05]
-1F4EE; [0D 10 56, 05, 05]
+1F4EB; [0D 13 AD, 05, 05]
-1F4EF; [0D 10 5D, 05, 05]
+1F4EC; [0D 13 B4, 05, 05]
-1F4F0; [0D 10 64, 05, 05]
+1F4ED; [0D 13 BB, 05, 05]
-1F4F1; [0D 10 6B, 05, 05]
+1F4EE; [0D 13 C2, 05, 05]
-1F4F2; [0D 10 72, 05, 05]
+1F4EF; [0D 13 C9, 05, 05]
-1F4F3; [0D 10 79, 05, 05]
+1F4F0; [0D 13 D0, 05, 05]
-1F4F4; [0D 10 80, 05, 05]
+1F4F1; [0D 13 D7, 05, 05]
-1F4F5; [0D 10 87, 05, 05]
+1F4F2; [0D 13 DE, 05, 05]
-1F4F6; [0D 10 8E, 05, 05]
+1F4F3; [0D 13 E5, 05, 05]
-1F4F7; [0D 10 95, 05, 05]
+1F4F4; [0D 13 EC, 05, 05]
-1F4F8; [0D 10 9C, 05, 05]
+1F4F5; [0D 13 F3, 05, 05]
-1F4F9; [0D 10 A3, 05, 05]
+1F4F6; [0D 13 FA, 05, 05]
-1F4FA; [0D 10 AA, 05, 05]
+1F4F7; [0D 14 03, 05, 05]
-1F4FB; [0D 10 B1, 05, 05]
+1F4F8; [0D 14 0A, 05, 05]
-1F4FC; [0D 10 B8, 05, 05]
+1F4F9; [0D 14 11, 05, 05]
-1F4FD; [0D 10 BF, 05, 05]
+1F4FA; [0D 14 18, 05, 05]
-1F4FE; [0D 10 C6, 05, 05]
+1F4FB; [0D 14 1F, 05, 05]
-1F4FF; [0D 10 CD, 05, 05]
+1F4FC; [0D 14 26, 05, 05]
-1F500; [0D 10 D4, 05, 05]
+1F4FD; [0D 14 2D, 05, 05]
-1F501; [0D 10 DB, 05, 05]
+1F4FE; [0D 14 34, 05, 05]
-1F502; [0D 10 E2, 05, 05]
+1F4FF; [0D 14 3B, 05, 05]
-1F503; [0D 10 E9, 05, 05]
+1F500; [0D 14 42, 05, 05]
-1F504; [0D 10 F0, 05, 05]
+1F501; [0D 14 49, 05, 05]
-1F505; [0D 10 F7, 05, 05]
+1F502; [0D 14 50, 05, 05]
-1F506; [0D 10 FE, 05, 05]
+1F503; [0D 14 57, 05, 05]
-1F507; [0D 11 07, 05, 05]
+1F504; [0D 14 5E, 05, 05]
-1F508; [0D 11 0E, 05, 05]
+1F505; [0D 14 65, 05, 05]
-1F509; [0D 11 15, 05, 05]
+1F506; [0D 14 6C, 05, 05]
-1F50A; [0D 11 1C, 05, 05]
+1F507; [0D 14 73, 05, 05]
-1F50B; [0D 11 23, 05, 05]
+1F508; [0D 14 7A, 05, 05]
-1F50C; [0D 11 2A, 05, 05]
+1F509; [0D 14 81, 05, 05]
-1F50D; [0D 11 31, 05, 05]
+1F50A; [0D 14 88, 05, 05]
-1F50E; [0D 11 38, 05, 05]
+1F50B; [0D 14 8F, 05, 05]
-1F50F; [0D 11 3F, 05, 05]
+1F50C; [0D 14 96, 05, 05]
-1F510; [0D 11 46, 05, 05]
+1F50D; [0D 14 9D, 05, 05]
-1F511; [0D 11 4D, 05, 05]
+1F50E; [0D 14 A4, 05, 05]
-1F512; [0D 11 54, 05, 05]
+1F50F; [0D 14 AB, 05, 05]
-1F513; [0D 11 5B, 05, 05]
+1F510; [0D 14 B2, 05, 05]
-1F514; [0D 11 62, 05, 05]
+1F511; [0D 14 B9, 05, 05]
-1F515; [0D 11 69, 05, 05]
+1F512; [0D 14 C0, 05, 05]
-1F516; [0D 11 70, 05, 05]
+1F513; [0D 14 C7, 05, 05]
-1F517; [0D 11 77, 05, 05]
+1F514; [0D 14 CE, 05, 05]
-1F518; [0D 11 7E, 05, 05]
+1F515; [0D 14 D5, 05, 05]
-1F519; [0D 11 85, 05, 05]
+1F516; [0D 14 DC, 05, 05]
-1F51A; [0D 11 8C, 05, 05]
+1F517; [0D 14 E3, 05, 05]
-1F51B; [0D 11 93, 05, 05]
+1F518; [0D 14 EA, 05, 05]
-1F51C; [0D 11 9A, 05, 05]
+1F519; [0D 14 F1, 05, 05]
-1F51D; [0D 11 A1, 05, 05]
+1F51A; [0D 14 F8, 05, 05]
-1F51E; [0D 11 A8, 05, 05]
+1F51B; [0D 14 FF, 05, 05]
-1F51F; [0D 11 AF, 05, 05]
+1F51C; [0D 15 08, 05, 05]
-1F520; [0D 11 B6, 05, 05]
+1F51D; [0D 15 0F, 05, 05]
-1F521; [0D 11 BD, 05, 05]
+1F51E; [0D 15 16, 05, 05]
-1F522; [0D 11 C4, 05, 05]
+1F51F; [0D 15 1D, 05, 05]
-1F523; [0D 11 CB, 05, 05]
+1F520; [0D 15 24, 05, 05]
-1F524; [0D 11 D2, 05, 05]
+1F521; [0D 15 2B, 05, 05]
-1F525; [0D 11 D9, 05, 05]
+1F522; [0D 15 32, 05, 05]
-1F526; [0D 11 E0, 05, 05]
+1F523; [0D 15 39, 05, 05]
-1F527; [0D 11 E7, 05, 05]
+1F524; [0D 15 40, 05, 05]
-1F528; [0D 11 EE, 05, 05]
+1F525; [0D 15 47, 05, 05]
-1F529; [0D 11 F5, 05, 05]
+1F526; [0D 15 4E, 05, 05]
-1F52A; [0D 11 FC, 05, 05]
+1F527; [0D 15 55, 05, 05]
-1F52B; [0D 12 05, 05, 05]
+1F528; [0D 15 5C, 05, 05]
-1F52C; [0D 12 0C, 05, 05]
+1F529; [0D 15 63, 05, 05]
-1F52D; [0D 12 13, 05, 05]
+1F52A; [0D 15 6A, 05, 05]
-1F52E; [0D 12 1A, 05, 05]
+1F52B; [0D 15 71, 05, 05]
-1F52F; [0D 12 21, 05, 05]
+1F52C; [0D 15 78, 05, 05]
-1F530; [0D 12 28, 05, 05]
+1F52D; [0D 15 7F, 05, 05]
-1F531; [0D 12 2F, 05, 05]
+1F52E; [0D 15 86, 05, 05]
-1F532; [0D 12 36, 05, 05]
+1F52F; [0D 15 8D, 05, 05]
-1F533; [0D 12 3D, 05, 05]
+1F530; [0D 15 94, 05, 05]
-1F534; [0D 12 44, 05, 05]
+1F531; [0D 15 9B, 05, 05]
-1F535; [0D 12 4B, 05, 05]
+1F532; [0D 15 A2, 05, 05]
-1F536; [0D 12 52, 05, 05]
+1F533; [0D 15 A9, 05, 05]
-1F537; [0D 12 59, 05, 05]
+1F534; [0D 15 B0, 05, 05]
-1F538; [0D 12 60, 05, 05]
+1F535; [0D 15 B7, 05, 05]
-1F539; [0D 12 67, 05, 05]
+1F536; [0D 15 BE, 05, 05]
-1F53A; [0D 12 6E, 05, 05]
+1F537; [0D 15 C5, 05, 05]
-1F53B; [0D 12 75, 05, 05]
+1F538; [0D 15 CC, 05, 05]
-1F53C; [0D 12 7C, 05, 05]
+1F539; [0D 15 D3, 05, 05]
-1F53D; [0D 12 83, 05, 05]
+1F53A; [0D 15 DA, 05, 05]
-1F53E; [0D 12 8A, 05, 05]
+1F53B; [0D 15 E1, 05, 05]
-1F53F; [0D 12 91, 05, 05]
+1F53C; [0D 15 E8, 05, 05]
-1F540; [0D 12 98, 05, 05]
+1F53D; [0D 15 EF, 05, 05]
-1F541; [0D 12 9F, 05, 05]
+1F53E; [0D 15 F6, 05, 05]
-1F542; [0D 12 A6, 05, 05]
+1F53F; [0D 15 FD, 05, 05]
-1F543; [0D 12 AD, 05, 05]
+1F540; [0D 16 06, 05, 05]
-1F544; [0D 12 B4, 05, 05]
+1F541; [0D 16 0D, 05, 05]
-1F545; [0D 12 BB, 05, 05]
+1F542; [0D 16 14, 05, 05]
-1F546; [0D 12 C2, 05, 05]
+1F543; [0D 16 1B, 05, 05]
-1F547; [0D 12 C9, 05, 05]
+1F544; [0D 16 22, 05, 05]
-1F548; [0D 12 D0, 05, 05]
+1F545; [0D 16 29, 05, 05]
-1F549; [0D 12 D7, 05, 05]
+1F546; [0D 16 30, 05, 05]
-1F54A; [0D 12 DE, 05, 05]
+1F547; [0D 16 37, 05, 05]
-1F54B; [0D 12 E5, 05, 05]
+1F548; [0D 16 3E, 05, 05]
-1F54C; [0D 12 EC, 05, 05]
+1F549; [0D 16 45, 05, 05]
-1F54D; [0D 12 F3, 05, 05]
+1F54A; [0D 16 4C, 05, 05]
-1F54E; [0D 12 FA, 05, 05]
+1F54B; [0D 16 53, 05, 05]
-1F54F; [0D 13 03, 05, 05]
+1F54C; [0D 16 5A, 05, 05]
-1F550; [0D 13 0A, 05, 05]
+1F54D; [0D 16 61, 05, 05]
-1F551; [0D 13 11, 05, 05]
+1F54E; [0D 16 68, 05, 05]
-1F552; [0D 13 18, 05, 05]
+1F54F; [0D 16 6F, 05, 05]
-1F553; [0D 13 1F, 05, 05]
+1F550; [0D 16 76, 05, 05]
-1F554; [0D 13 26, 05, 05]
+1F551; [0D 16 7D, 05, 05]
-1F555; [0D 13 2D, 05, 05]
+1F552; [0D 16 84, 05, 05]
-1F556; [0D 13 34, 05, 05]
+1F553; [0D 16 8B, 05, 05]
-1F557; [0D 13 3B, 05, 05]
+1F554; [0D 16 92, 05, 05]
-1F558; [0D 13 42, 05, 05]
+1F555; [0D 16 99, 05, 05]
-1F559; [0D 13 49, 05, 05]
+1F556; [0D 16 A0, 05, 05]
-1F55A; [0D 13 50, 05, 05]
+1F557; [0D 16 A7, 05, 05]
-1F55B; [0D 13 57, 05, 05]
+1F558; [0D 16 AE, 05, 05]
-1F55C; [0D 13 5E, 05, 05]
+1F559; [0D 16 B5, 05, 05]
-1F55D; [0D 13 65, 05, 05]
+1F55A; [0D 16 BC, 05, 05]
-1F55E; [0D 13 6C, 05, 05]
+1F55B; [0D 16 C3, 05, 05]
-1F55F; [0D 13 73, 05, 05]
+1F55C; [0D 16 CA, 05, 05]
-1F560; [0D 13 7A, 05, 05]
+1F55D; [0D 16 D1, 05, 05]
-1F561; [0D 13 81, 05, 05]
+1F55E; [0D 16 D8, 05, 05]
-1F562; [0D 13 88, 05, 05]
+1F55F; [0D 16 DF, 05, 05]
-1F563; [0D 13 8F, 05, 05]
+1F560; [0D 16 E6, 05, 05]
-1F564; [0D 13 96, 05, 05]
+1F561; [0D 16 ED, 05, 05]
-1F565; [0D 13 9D, 05, 05]
+1F562; [0D 16 F4, 05, 05]
-1F566; [0D 13 A4, 05, 05]
+1F563; [0D 16 FB, 05, 05]
-1F567; [0D 13 AB, 05, 05]
+1F564; [0D 17 04, 05, 05]
-1F568; [0D 13 B2, 05, 05]
+1F565; [0D 17 0B, 05, 05]
-1F569; [0D 13 B9, 05, 05]
+1F566; [0D 17 12, 05, 05]
-1F56A; [0D 13 C0, 05, 05]
+1F567; [0D 17 19, 05, 05]
-1F56B; [0D 13 C7, 05, 05]
+1F568; [0D 17 20, 05, 05]
-1F56C; [0D 13 CE, 05, 05]
+1F569; [0D 17 27, 05, 05]
-1F56D; [0D 13 D5, 05, 05]
+1F56A; [0D 17 2E, 05, 05]
-1F56E; [0D 13 DC, 05, 05]
+1F56B; [0D 17 35, 05, 05]
-1F56F; [0D 13 E3, 05, 05]
+1F56C; [0D 17 3C, 05, 05]
-1F570; [0D 13 EA, 05, 05]
+1F56D; [0D 17 43, 05, 05]
-1F571; [0D 13 F1, 05, 05]
+1F56E; [0D 17 4A, 05, 05]
-1F572; [0D 13 F8, 05, 05]
+1F56F; [0D 17 51, 05, 05]
-1F573; [0D 13 FF, 05, 05]
+1F570; [0D 17 58, 05, 05]
-1F574; [0D 14 08, 05, 05]
+1F571; [0D 17 5F, 05, 05]
-1F575; [0D 14 0F, 05, 05]
+1F572; [0D 17 66, 05, 05]
-1F576; [0D 14 16, 05, 05]
+1F573; [0D 17 6D, 05, 05]
-1F577; [0D 14 1D, 05, 05]
+1F574; [0D 17 74, 05, 05]
-1F578; [0D 14 24, 05, 05]
+1F575; [0D 17 7B, 05, 05]
-1F579; [0D 14 2B, 05, 05]
+1F576; [0D 17 82, 05, 05]
-1F57A; [0D 14 32, 05, 05]
+1F577; [0D 17 89, 05, 05]
-1F57B; [0D 14 39, 05, 05]
+1F578; [0D 17 90, 05, 05]
-1F57C; [0D 14 40, 05, 05]
+1F579; [0D 17 97, 05, 05]
-1F57D; [0D 14 47, 05, 05]
+1F57A; [0D 17 9E, 05, 05]
-1F57E; [0D 14 4E, 05, 05]
+1F57B; [0D 17 A5, 05, 05]
-1F57F; [0D 14 55, 05, 05]
+1F57C; [0D 17 AC, 05, 05]
-1F580; [0D 14 5C, 05, 05]
+1F57D; [0D 17 B3, 05, 05]
-1F581; [0D 14 63, 05, 05]
+1F57E; [0D 17 BA, 05, 05]
-1F582; [0D 14 6A, 05, 05]
+1F57F; [0D 17 C1, 05, 05]
-1F583; [0D 14 71, 05, 05]
+1F580; [0D 17 C8, 05, 05]
-1F584; [0D 14 78, 05, 05]
+1F581; [0D 17 CF, 05, 05]
-1F585; [0D 14 7F, 05, 05]
+1F582; [0D 17 D6, 05, 05]
-1F586; [0D 14 86, 05, 05]
+1F583; [0D 17 DD, 05, 05]
-1F587; [0D 14 8D, 05, 05]
+1F584; [0D 17 E4, 05, 05]
-1F588; [0D 14 94, 05, 05]
+1F585; [0D 17 EB, 05, 05]
-1F589; [0D 14 9B, 05, 05]
+1F586; [0D 17 F2, 05, 05]
-1F58A; [0D 14 A2, 05, 05]
+1F587; [0D 17 F9, 05, 05]
-1F58B; [0D 14 A9, 05, 05]
+1F588; [0D 18 02, 05, 05]
-1F58C; [0D 14 B0, 05, 05]
+1F589; [0D 18 09, 05, 05]
-1F58D; [0D 14 B7, 05, 05]
+1F58A; [0D 18 10, 05, 05]
-1F58E; [0D 14 BE, 05, 05]
+1F58B; [0D 18 17, 05, 05]
-1F58F; [0D 14 C5, 05, 05]
+1F58C; [0D 18 1E, 05, 05]
-1F590; [0D 14 CC, 05, 05]
+1F58D; [0D 18 25, 05, 05]
-1F591; [0D 14 D3, 05, 05]
+1F58E; [0D 18 2C, 05, 05]
-1F592; [0D 14 DA, 05, 05]
+1F58F; [0D 18 33, 05, 05]
-1F593; [0D 14 E1, 05, 05]
+1F590; [0D 18 3A, 05, 05]
-1F594; [0D 14 E8, 05, 05]
+1F591; [0D 18 41, 05, 05]
-1F595; [0D 14 EF, 05, 05]
+1F592; [0D 18 48, 05, 05]
-1F596; [0D 14 F6, 05, 05]
+1F593; [0D 18 4F, 05, 05]
-1F597; [0D 14 FD, 05, 05]
+1F594; [0D 18 56, 05, 05]
-1F598; [0D 15 06, 05, 05]
+1F595; [0D 18 5D, 05, 05]
-1F599; [0D 15 0D, 05, 05]
+1F596; [0D 18 64, 05, 05]
-1F59A; [0D 15 14, 05, 05]
+1F597; [0D 18 6B, 05, 05]
-1F59B; [0D 15 1B, 05, 05]
+1F598; [0D 18 72, 05, 05]
-1F59C; [0D 15 22, 05, 05]
+1F599; [0D 18 79, 05, 05]
-1F59D; [0D 15 29, 05, 05]
+1F59A; [0D 18 80, 05, 05]
-1F59E; [0D 15 30, 05, 05]
+1F59B; [0D 18 87, 05, 05]
-1F59F; [0D 15 37, 05, 05]
+1F59C; [0D 18 8E, 05, 05]
-1F5A0; [0D 15 3E, 05, 05]
+1F59D; [0D 18 95, 05, 05]
-1F5A1; [0D 15 45, 05, 05]
+1F59E; [0D 18 9C, 05, 05]
-1F5A2; [0D 15 4C, 05, 05]
+1F59F; [0D 18 A3, 05, 05]
-1F5A3; [0D 15 53, 05, 05]
+1F5A0; [0D 18 AA, 05, 05]
-1F5A4; [0D 15 5A, 05, 05]
+1F5A1; [0D 18 B1, 05, 05]
-1F5A5; [0D 15 61, 05, 05]
+1F5A2; [0D 18 B8, 05, 05]
-1F5A6; [0D 15 68, 05, 05]
+1F5A3; [0D 18 BF, 05, 05]
-1F5A7; [0D 15 6F, 05, 05]
+1F5A4; [0D 18 C6, 05, 05]
-1F5A8; [0D 15 76, 05, 05]
+1F5A5; [0D 18 CD, 05, 05]
-1F5A9; [0D 15 7D, 05, 05]
+1F5A6; [0D 18 D4, 05, 05]
-1F5AA; [0D 15 84, 05, 05]
+1F5A7; [0D 18 DB, 05, 05]
-1F5AB; [0D 15 8B, 05, 05]
+1F5A8; [0D 18 E2, 05, 05]
-1F5AC; [0D 15 92, 05, 05]
+1F5A9; [0D 18 E9, 05, 05]
-1F5AD; [0D 15 99, 05, 05]
+1F5AA; [0D 18 F0, 05, 05]
-1F5AE; [0D 15 A0, 05, 05]
+1F5AB; [0D 18 F7, 05, 05]
-1F5AF; [0D 15 A7, 05, 05]
+1F5AC; [0D 18 FE, 05, 05]
-1F5B0; [0D 15 AE, 05, 05]
+1F5AD; [0D 19 07, 05, 05]
-1F5B1; [0D 15 B5, 05, 05]
+1F5AE; [0D 19 0E, 05, 05]
-1F5B2; [0D 15 BC, 05, 05]
+1F5AF; [0D 19 15, 05, 05]
-1F5B3; [0D 15 C3, 05, 05]
+1F5B0; [0D 19 1C, 05, 05]
-1F5B4; [0D 15 CA, 05, 05]
+1F5B1; [0D 19 23, 05, 05]
-1F5B5; [0D 15 D1, 05, 05]
+1F5B2; [0D 19 2A, 05, 05]
-1F5B6; [0D 15 D8, 05, 05]
+1F5B3; [0D 19 31, 05, 05]
-1F5B7; [0D 15 DF, 05, 05]
+1F5B4; [0D 19 38, 05, 05]
-1F5B8; [0D 15 E6, 05, 05]
+1F5B5; [0D 19 3F, 05, 05]
-1F5B9; [0D 15 ED, 05, 05]
+1F5B6; [0D 19 46, 05, 05]
-1F5BA; [0D 15 F4, 05, 05]
+1F5B7; [0D 19 4D, 05, 05]
-1F5BB; [0D 15 FB, 05, 05]
+1F5B8; [0D 19 54, 05, 05]
-1F5BC; [0D 16 04, 05, 05]
+1F5B9; [0D 19 5B, 05, 05]
-1F5BD; [0D 16 0B, 05, 05]
+1F5BA; [0D 19 62, 05, 05]
-1F5BE; [0D 16 12, 05, 05]
+1F5BB; [0D 19 69, 05, 05]
-1F5BF; [0D 16 19, 05, 05]
+1F5BC; [0D 19 70, 05, 05]
-1F5C0; [0D 16 20, 05, 05]
+1F5BD; [0D 19 77, 05, 05]
-1F5C1; [0D 16 27, 05, 05]
+1F5BE; [0D 19 7E, 05, 05]
-1F5C2; [0D 16 2E, 05, 05]
+1F5BF; [0D 19 85, 05, 05]
-1F5C3; [0D 16 35, 05, 05]
+1F5C0; [0D 19 8C, 05, 05]
-1F5C4; [0D 16 3C, 05, 05]
+1F5C1; [0D 19 93, 05, 05]
-1F5C5; [0D 16 43, 05, 05]
+1F5C2; [0D 19 9A, 05, 05]
-1F5C6; [0D 16 4A, 05, 05]
+1F5C3; [0D 19 A1, 05, 05]
-1F5C7; [0D 16 51, 05, 05]
+1F5C4; [0D 19 A8, 05, 05]
-1F5C8; [0D 16 58, 05, 05]
+1F5C5; [0D 19 AF, 05, 05]
-1F5C9; [0D 16 5F, 05, 05]
+1F5C6; [0D 19 B6, 05, 05]
-1F5CA; [0D 16 66, 05, 05]
+1F5C7; [0D 19 BD, 05, 05]
-1F5CB; [0D 16 6D, 05, 05]
+1F5C8; [0D 19 C4, 05, 05]
-1F5CC; [0D 16 74, 05, 05]
+1F5C9; [0D 19 CB, 05, 05]
-1F5CD; [0D 16 7B, 05, 05]
+1F5CA; [0D 19 D2, 05, 05]
-1F5CE; [0D 16 82, 05, 05]
+1F5CB; [0D 19 D9, 05, 05]
-1F5CF; [0D 16 89, 05, 05]
+1F5CC; [0D 19 E0, 05, 05]
-1F5D0; [0D 16 90, 05, 05]
+1F5CD; [0D 19 E7, 05, 05]
-1F5D1; [0D 16 97, 05, 05]
+1F5CE; [0D 19 EE, 05, 05]
-1F5D2; [0D 16 9E, 05, 05]
+1F5CF; [0D 19 F5, 05, 05]
-1F5D3; [0D 16 A5, 05, 05]
+1F5D0; [0D 19 FC, 05, 05]
-1F5D4; [0D 16 AC, 05, 05]
+1F5D1; [0D 1A 05, 05, 05]
-1F5D5; [0D 16 B3, 05, 05]
+1F5D2; [0D 1A 0C, 05, 05]
-1F5D6; [0D 16 BA, 05, 05]
+1F5D3; [0D 1A 13, 05, 05]
-1F5D7; [0D 16 C1, 05, 05]
+1F5D4; [0D 1A 1A, 05, 05]
-1F5D8; [0D 16 C8, 05, 05]
+1F5D5; [0D 1A 21, 05, 05]
-1F5D9; [0D 16 CF, 05, 05]
+1F5D6; [0D 1A 28, 05, 05]
-1F5DA; [0D 16 D6, 05, 05]
+1F5D7; [0D 1A 2F, 05, 05]
-1F5DB; [0D 16 DD, 05, 05]
+1F5D8; [0D 1A 36, 05, 05]
-1F5DC; [0D 16 E4, 05, 05]
+1F5D9; [0D 1A 3D, 05, 05]
-1F5DD; [0D 16 EB, 05, 05]
+1F5DA; [0D 1A 44, 05, 05]
-1F5DE; [0D 16 F2, 05, 05]
+1F5DB; [0D 1A 4B, 05, 05]
-1F5DF; [0D 16 F9, 05, 05]
+1F5DC; [0D 1A 52, 05, 05]
-1F5E0; [0D 17 02, 05, 05]
+1F5DD; [0D 1A 59, 05, 05]
-1F5E1; [0D 17 09, 05, 05]
+1F5DE; [0D 1A 60, 05, 05]
-1F5E2; [0D 17 10, 05, 05]
+1F5DF; [0D 1A 67, 05, 05]
-1F5E3; [0D 17 17, 05, 05]
+1F5E0; [0D 1A 6E, 05, 05]
-1F5E4; [0D 17 1E, 05, 05]
+1F5E1; [0D 1A 75, 05, 05]
-1F5E5; [0D 17 25, 05, 05]
+1F5E2; [0D 1A 7C, 05, 05]
-1F5E6; [0D 17 2C, 05, 05]
+1F5E3; [0D 1A 83, 05, 05]
-1F5E7; [0D 17 33, 05, 05]
+1F5E4; [0D 1A 8A, 05, 05]
-1F5E8; [0D 17 3A, 05, 05]
+1F5E5; [0D 1A 91, 05, 05]
-1F5E9; [0D 17 41, 05, 05]
+1F5E6; [0D 1A 98, 05, 05]
-1F5EA; [0D 17 48, 05, 05]
+1F5E7; [0D 1A 9F, 05, 05]
-1F5EB; [0D 17 4F, 05, 05]
+1F5E8; [0D 1A A6, 05, 05]
-1F5EC; [0D 17 56, 05, 05]
+1F5E9; [0D 1A AD, 05, 05]
-1F5ED; [0D 17 5D, 05, 05]
+1F5EA; [0D 1A B4, 05, 05]
-1F5EE; [0D 17 64, 05, 05]
+1F5EB; [0D 1A BB, 05, 05]
-1F5EF; [0D 17 6B, 05, 05]
+1F5EC; [0D 1A C2, 05, 05]
-1F5F0; [0D 17 72, 05, 05]
+1F5ED; [0D 1A C9, 05, 05]
-1F5F1; [0D 17 79, 05, 05]
+1F5EE; [0D 1A D0, 05, 05]
-1F5F2; [0D 17 80, 05, 05]
+1F5EF; [0D 1A D7, 05, 05]
-1F5F3; [0D 17 87, 05, 05]
+1F5F0; [0D 1A DE, 05, 05]
-1F5F4; [0D 17 8E, 05, 05]
+1F5F1; [0D 1A E5, 05, 05]
-1F5F5; [0D 17 95, 05, 05]
+1F5F2; [0D 1A EC, 05, 05]
-1F5F6; [0D 17 9C, 05, 05]
+1F5F3; [0D 1A F3, 05, 05]
-1F5F7; [0D 17 A3, 05, 05]
+1F5F4; [0D 1A FA, 05, 05]
-1F5F8; [0D 17 AA, 05, 05]
+1F5F5; [0D 1B 03, 05, 05]
-1F5F9; [0D 17 B1, 05, 05]
+1F5F6; [0D 1B 0A, 05, 05]
-1F5FA; [0D 17 B8, 05, 05]
+1F5F7; [0D 1B 11, 05, 05]
-1F5FB; [0D 17 BF, 05, 05]
+1F5F8; [0D 1B 18, 05, 05]
-1F5FC; [0D 17 C6, 05, 05]
+1F5F9; [0D 1B 1F, 05, 05]
-1F5FD; [0D 17 CD, 05, 05]
+1F5FA; [0D 1B 26, 05, 05]
-1F5FE; [0D 17 D4, 05, 05]
+1F5FB; [0D 1B 2D, 05, 05]
-1F5FF; [0D 17 DB, 05, 05]
+1F5FC; [0D 1B 34, 05, 05]
-1F900; [0D 17 E2, 05, 05]
+1F5FD; [0D 1B 3B, 05, 05]
-1F901; [0D 17 E9, 05, 05]
+1F5FE; [0D 1B 42, 05, 05]
-1F902; [0D 17 F0, 05, 05]
+1F5FF; [0D 1B 49, 05, 05]
-1F903; [0D 17 F7, 05, 05]
+1F900; [0D 1B 50, 05, 05]
-1F904; [0D 17 FE, 05, 05]
+1F901; [0D 1B 57, 05, 05]
-1F905; [0D 18 07, 05, 05]
+1F902; [0D 1B 5E, 05, 05]
-1F906; [0D 18 0E, 05, 05]
+1F903; [0D 1B 65, 05, 05]
-1F907; [0D 18 15, 05, 05]
+1F904; [0D 1B 6C, 05, 05]
-1F908; [0D 18 1C, 05, 05]
+1F905; [0D 1B 73, 05, 05]
-1F909; [0D 18 23, 05, 05]
+1F906; [0D 1B 7A, 05, 05]
-1F90A; [0D 18 2A, 05, 05]
+1F907; [0D 1B 81, 05, 05]
-1F90B; [0D 18 31, 05, 05]
+1F908; [0D 1B 88, 05, 05]
-1F910; [0D 18 38, 05, 05]
+1F909; [0D 1B 8F, 05, 05]
-1F911; [0D 18 3F, 05, 05]
+1F90A; [0D 1B 96, 05, 05]
-1F912; [0D 18 46, 05, 05]
+1F90B; [0D 1B 9D, 05, 05]
-1F913; [0D 18 4D, 05, 05]
+1F90D; [0D 1B A4, 05, 05]
-1F914; [0D 18 54, 05, 05]
+1F90E; [0D 1B AB, 05, 05]
-1F915; [0D 18 5B, 05, 05]
+1F90F; [0D 1B B2, 05, 05]
-1F916; [0D 18 62, 05, 05]
+1F910; [0D 1B B9, 05, 05]
-1F917; [0D 18 69, 05, 05]
+1F911; [0D 1B C0, 05, 05]
-1F918; [0D 18 70, 05, 05]
+1F912; [0D 1B C7, 05, 05]
-1F919; [0D 18 77, 05, 05]
+1F913; [0D 1B CE, 05, 05]
-1F91A; [0D 18 7E, 05, 05]
+1F914; [0D 1B D5, 05, 05]
-1F91B; [0D 18 85, 05, 05]
+1F915; [0D 1B DC, 05, 05]
-1F91C; [0D 18 8C, 05, 05]
+1F916; [0D 1B E3, 05, 05]
-1F91D; [0D 18 93, 05, 05]
+1F917; [0D 1B EA, 05, 05]
-1F91E; [0D 18 9A, 05, 05]
+1F918; [0D 1B F1, 05, 05]
-1F91F; [0D 18 A1, 05, 05]
+1F919; [0D 1B F8, 05, 05]
-1F920; [0D 18 A8, 05, 05]
+1F91A; [0D 1B FF, 05, 05]
-1F921; [0D 18 AF, 05, 05]
+1F91B; [0D 1C 08, 05, 05]
-1F922; [0D 18 B6, 05, 05]
+1F91C; [0D 1C 0F, 05, 05]
-1F923; [0D 18 BD, 05, 05]
+1F91D; [0D 1C 16, 05, 05]
-1F924; [0D 18 C4, 05, 05]
+1F91E; [0D 1C 1D, 05, 05]
-1F925; [0D 18 CB, 05, 05]
+1F91F; [0D 1C 24, 05, 05]
-1F926; [0D 18 D2, 05, 05]
+1F920; [0D 1C 2B, 05, 05]
-1F927; [0D 18 D9, 05, 05]
+1F921; [0D 1C 32, 05, 05]
-1F928; [0D 18 E0, 05, 05]
+1F922; [0D 1C 39, 05, 05]
-1F929; [0D 18 E7, 05, 05]
+1F923; [0D 1C 40, 05, 05]
-1F92A; [0D 18 EE, 05, 05]
+1F924; [0D 1C 47, 05, 05]
-1F92B; [0D 18 F5, 05, 05]
+1F925; [0D 1C 4E, 05, 05]
-1F92C; [0D 18 FC, 05, 05]
+1F926; [0D 1C 55, 05, 05]
-1F92D; [0D 19 05, 05, 05]
+1F927; [0D 1C 5C, 05, 05]
-1F92E; [0D 19 0C, 05, 05]
+1F928; [0D 1C 63, 05, 05]
-1F92F; [0D 19 13, 05, 05]
+1F929; [0D 1C 6A, 05, 05]
-1F930; [0D 19 1A, 05, 05]
+1F92A; [0D 1C 71, 05, 05]
-1F931; [0D 19 21, 05, 05]
+1F92B; [0D 1C 78, 05, 05]
-1F932; [0D 19 28, 05, 05]
+1F92C; [0D 1C 7F, 05, 05]
-1F933; [0D 19 2F, 05, 05]
+1F92D; [0D 1C 86, 05, 05]
-1F934; [0D 19 36, 05, 05]
+1F92E; [0D 1C 8D, 05, 05]
-1F935; [0D 19 3D, 05, 05]
+1F92F; [0D 1C 94, 05, 05]
-1F936; [0D 19 44, 05, 05]
+1F930; [0D 1C 9B, 05, 05]
-1F937; [0D 19 4B, 05, 05]
+1F931; [0D 1C A2, 05, 05]
-1F938; [0D 19 52, 05, 05]
+1F932; [0D 1C A9, 05, 05]
-1F939; [0D 19 59, 05, 05]
+1F933; [0D 1C B0, 05, 05]
-1F93A; [0D 19 60, 05, 05]
+1F934; [0D 1C B7, 05, 05]
-1F93B; [0D 19 67, 05, 05]
+1F935; [0D 1C BE, 05, 05]
-1F93C; [0D 19 6E, 05, 05]
+1F936; [0D 1C C5, 05, 05]
-1F93D; [0D 19 75, 05, 05]
+1F937; [0D 1C CC, 05, 05]
-1F93E; [0D 19 7C, 05, 05]
+1F938; [0D 1C D3, 05, 05]
-1F940; [0D 19 83, 05, 05]
+1F939; [0D 1C DA, 05, 05]
-1F941; [0D 19 8A, 05, 05]
+1F93A; [0D 1C E1, 05, 05]
-1F942; [0D 19 91, 05, 05]
+1F93B; [0D 1C E8, 05, 05]
-1F943; [0D 19 98, 05, 05]
+1F93C; [0D 1C EF, 05, 05]
-1F944; [0D 19 9F, 05, 05]
+1F93D; [0D 1C F6, 05, 05]
-1F945; [0D 19 A6, 05, 05]
+1F93E; [0D 1C FD, 05, 05]
-1F946; [0D 19 AD, 05, 05]
+1F93F; [0D 1D 06, 05, 05]
-1F947; [0D 19 B4, 05, 05]
+1F940; [0D 1D 0D, 05, 05]
-1F948; [0D 19 BB, 05, 05]
+1F941; [0D 1D 14, 05, 05]
-1F949; [0D 19 C2, 05, 05]
+1F942; [0D 1D 1B, 05, 05]
-1F94A; [0D 19 C9, 05, 05]
+1F943; [0D 1D 22, 05, 05]
-1F94B; [0D 19 D0, 05, 05]
+1F944; [0D 1D 29, 05, 05]
-1F94C; [0D 19 D7, 05, 05]
+1F945; [0D 1D 30, 05, 05]
-1F94D; [0D 19 DE, 05, 05]
+1F946; [0D 1D 37, 05, 05]
-1F94E; [0D 19 E5, 05, 05]
+1F947; [0D 1D 3E, 05, 05]
-1F94F; [0D 19 EC, 05, 05]
+1F948; [0D 1D 45, 05, 05]
-1F950; [0D 19 F3, 05, 05]
+1F949; [0D 1D 4C, 05, 05]
-1F951; [0D 19 FA, 05, 05]
+1F94A; [0D 1D 53, 05, 05]
-1F952; [0D 1A 03, 05, 05]
+1F94B; [0D 1D 5A, 05, 05]
-1F953; [0D 1A 0A, 05, 05]
+1F94C; [0D 1D 61, 05, 05]
-1F954; [0D 1A 11, 05, 05]
+1F94D; [0D 1D 68, 05, 05]
-1F955; [0D 1A 18, 05, 05]
+1F94E; [0D 1D 6F, 05, 05]
-1F956; [0D 1A 1F, 05, 05]
+1F94F; [0D 1D 76, 05, 05]
-1F957; [0D 1A 26, 05, 05]
+1F950; [0D 1D 7D, 05, 05]
-1F958; [0D 1A 2D, 05, 05]
+1F951; [0D 1D 84, 05, 05]
-1F959; [0D 1A 34, 05, 05]
+1F952; [0D 1D 8B, 05, 05]
-1F95A; [0D 1A 3B, 05, 05]
+1F953; [0D 1D 92, 05, 05]
-1F95B; [0D 1A 42, 05, 05]
+1F954; [0D 1D 99, 05, 05]
-1F95C; [0D 1A 49, 05, 05]
+1F955; [0D 1D A0, 05, 05]
-1F95D; [0D 1A 50, 05, 05]
+1F956; [0D 1D A7, 05, 05]
-1F95E; [0D 1A 57, 05, 05]
+1F957; [0D 1D AE, 05, 05]
-1F95F; [0D 1A 5E, 05, 05]
+1F958; [0D 1D B5, 05, 05]
-1F960; [0D 1A 65, 05, 05]
+1F959; [0D 1D BC, 05, 05]
-1F961; [0D 1A 6C, 05, 05]
+1F95A; [0D 1D C3, 05, 05]
-1F962; [0D 1A 73, 05, 05]
+1F95B; [0D 1D CA, 05, 05]
-1F963; [0D 1A 7A, 05, 05]
+1F95C; [0D 1D D1, 05, 05]
-1F964; [0D 1A 81, 05, 05]
+1F95D; [0D 1D D8, 05, 05]
-1F965; [0D 1A 88, 05, 05]
+1F95E; [0D 1D DF, 05, 05]
-1F966; [0D 1A 8F, 05, 05]
+1F95F; [0D 1D E6, 05, 05]
-1F967; [0D 1A 96, 05, 05]
+1F960; [0D 1D ED, 05, 05]
-1F968; [0D 1A 9D, 05, 05]
+1F961; [0D 1D F4, 05, 05]
-1F969; [0D 1A A4, 05, 05]
+1F962; [0D 1D FB, 05, 05]
-1F96A; [0D 1A AB, 05, 05]
+1F963; [0D 1E 04, 05, 05]
-1F96B; [0D 1A B2, 05, 05]
+1F964; [0D 1E 0B, 05, 05]
-1F96C; [0D 1A B9, 05, 05]
+1F965; [0D 1E 12, 05, 05]
-1F96D; [0D 1A C0, 05, 05]
+1F966; [0D 1E 19, 05, 05]
-1F96E; [0D 1A C7, 05, 05]
+1F967; [0D 1E 20, 05, 05]
-1F96F; [0D 1A CE, 05, 05]
+1F968; [0D 1E 27, 05, 05]
-1F970; [0D 1A D5, 05, 05]
+1F969; [0D 1E 2E, 05, 05]
-1F973; [0D 1A DC, 05, 05]
+1F96A; [0D 1E 35, 05, 05]
-1F974; [0D 1A E3, 05, 05]
+1F96B; [0D 1E 3C, 05, 05]
-1F975; [0D 1A EA, 05, 05]
+1F96C; [0D 1E 43, 05, 05]
-1F976; [0D 1A F1, 05, 05]
+1F96D; [0D 1E 4A, 05, 05]
-1F97A; [0D 1A F8, 05, 05]
+1F96E; [0D 1E 51, 05, 05]
-1F97C; [0D 1A FF, 05, 05]
+1F96F; [0D 1E 58, 05, 05]
-1F97D; [0D 1B 08, 05, 05]
+1F970; [0D 1E 5F, 05, 05]
-1F97E; [0D 1B 0F, 05, 05]
+1F971; [0D 1E 66, 05, 05]
-1F97F; [0D 1B 16, 05, 05]
+1F973; [0D 1E 6D, 05, 05]
-1F980; [0D 1B 1D, 05, 05]
+1F974; [0D 1E 74, 05, 05]
-1F981; [0D 1B 24, 05, 05]
+1F975; [0D 1E 7B, 05, 05]
-1F982; [0D 1B 2B, 05, 05]
+1F976; [0D 1E 82, 05, 05]
-1F983; [0D 1B 32, 05, 05]
+1F97A; [0D 1E 89, 05, 05]
-1F984; [0D 1B 39, 05, 05]
+1F97B; [0D 1E 90, 05, 05]
-1F985; [0D 1B 40, 05, 05]
+1F97C; [0D 1E 97, 05, 05]
-1F986; [0D 1B 47, 05, 05]
+1F97D; [0D 1E 9E, 05, 05]
-1F987; [0D 1B 4E, 05, 05]
+1F97E; [0D 1E A5, 05, 05]
-1F988; [0D 1B 55, 05, 05]
+1F97F; [0D 1E AC, 05, 05]
-1F989; [0D 1B 5C, 05, 05]
+1F980; [0D 1E B3, 05, 05]
-1F98A; [0D 1B 63, 05, 05]
+1F981; [0D 1E BA, 05, 05]
-1F98B; [0D 1B 6A, 05, 05]
+1F982; [0D 1E C1, 05, 05]
-1F98C; [0D 1B 71, 05, 05]
+1F983; [0D 1E C8, 05, 05]
-1F98D; [0D 1B 78, 05, 05]
+1F984; [0D 1E CF, 05, 05]
-1F98E; [0D 1B 7F, 05, 05]
+1F985; [0D 1E D6, 05, 05]
-1F98F; [0D 1B 86, 05, 05]
+1F986; [0D 1E DD, 05, 05]
-1F990; [0D 1B 8D, 05, 05]
+1F987; [0D 1E E4, 05, 05]
-1F991; [0D 1B 94, 05, 05]
+1F988; [0D 1E EB, 05, 05]
-1F992; [0D 1B 9B, 05, 05]
+1F989; [0D 1E F2, 05, 05]
-1F993; [0D 1B A2, 05, 05]
+1F98A; [0D 1E F9, 05, 05]
-1F994; [0D 1B A9, 05, 05]
+1F98B; [0D 1F 02, 05, 05]
-1F995; [0D 1B B0, 05, 05]
+1F98C; [0D 1F 09, 05, 05]
-1F996; [0D 1B B7, 05, 05]
+1F98D; [0D 1F 10, 05, 05]
-1F997; [0D 1B BE, 05, 05]
+1F98E; [0D 1F 17, 05, 05]
-1F998; [0D 1B C5, 05, 05]
+1F98F; [0D 1F 1E, 05, 05]
-1F999; [0D 1B CC, 05, 05]
+1F990; [0D 1F 25, 05, 05]
-1F99A; [0D 1B D3, 05, 05]
+1F991; [0D 1F 2C, 05, 05]
-1F99B; [0D 1B DA, 05, 05]
+1F992; [0D 1F 33, 05, 05]
-1F99C; [0D 1B E1, 05, 05]
+1F993; [0D 1F 3A, 05, 05]
-1F99D; [0D 1B E8, 05, 05]
+1F994; [0D 1F 41, 05, 05]
-1F99E; [0D 1B EF, 05, 05]
+1F995; [0D 1F 48, 05, 05]
-1F99F; [0D 1B F6, 05, 05]
+1F996; [0D 1F 4F, 05, 05]
-1F9A0; [0D 1B FD, 05, 05]
+1F997; [0D 1F 56, 05, 05]
-1F9A1; [0D 1C 06, 05, 05]
+1F998; [0D 1F 5D, 05, 05]
-1F9A2; [0D 1C 0D, 05, 05]
+1F999; [0D 1F 64, 05, 05]
-1F9B0; [0D 1C 14, 05, 05]
+1F99A; [0D 1F 6B, 05, 05]
-1F9B1; [0D 1C 1B, 05, 05]
+1F99B; [0D 1F 72, 05, 05]
-1F9B2; [0D 1C 22, 05, 05]
+1F99C; [0D 1F 79, 05, 05]
-1F9B3; [0D 1C 29, 05, 05]
+1F99D; [0D 1F 80, 05, 05]
-1F9B4; [0D 1C 30, 05, 05]
+1F99E; [0D 1F 87, 05, 05]
-1F9B5; [0D 1C 37, 05, 05]
+1F99F; [0D 1F 8E, 05, 05]
-1F9B6; [0D 1C 3E, 05, 05]
+1F9A0; [0D 1F 95, 05, 05]
-1F9B7; [0D 1C 45, 05, 05]
+1F9A1; [0D 1F 9C, 05, 05]
-1F9B8; [0D 1C 4C, 05, 05]
+1F9A2; [0D 1F A3, 05, 05]
-1F9B9; [0D 1C 53, 05, 05]
+1F9A5; [0D 1F AA, 05, 05]
-1F9C0; [0D 1C 5A, 05, 05]
+1F9A6; [0D 1F B1, 05, 05]
-1F9C1; [0D 1C 61, 05, 05]
+1F9A7; [0D 1F B8, 05, 05]
-1F9C2; [0D 1C 68, 05, 05]
+1F9A8; [0D 1F BF, 05, 05]
-1F9D0; [0D 1C 6F, 05, 05]
+1F9A9; [0D 1F C6, 05, 05]
-1F9D1; [0D 1C 76, 05, 05]
+1F9AA; [0D 1F CD, 05, 05]
-1F9D2; [0D 1C 7D, 05, 05]
+1F9AE; [0D 1F D4, 05, 05]
-1F9D3; [0D 1C 84, 05, 05]
+1F9AF; [0D 1F DB, 05, 05]
-1F9D4; [0D 1C 8B, 05, 05]
+1F9B0; [0D 1F E2, 05, 05]
-1F9D5; [0D 1C 92, 05, 05]
+1F9B1; [0D 1F E9, 05, 05]
-1F9D6; [0D 1C 99, 05, 05]
+1F9B2; [0D 1F F0, 05, 05]
-1F9D7; [0D 1C A0, 05, 05]
+1F9B3; [0D 1F F7, 05, 05]
-1F9D8; [0D 1C A7, 05, 05]
+1F9B4; [0D 1F FE, 05, 05]
-1F9D9; [0D 1C AE, 05, 05]
+1F9B5; [0D 20 07, 05, 05]
-1F9DA; [0D 1C B5, 05, 05]
+1F9B6; [0D 20 0E, 05, 05]
-1F9DB; [0D 1C BC, 05, 05]
+1F9B7; [0D 20 15, 05, 05]
-1F9DC; [0D 1C C3, 05, 05]
+1F9B8; [0D 20 1C, 05, 05]
-1F9DD; [0D 1C CA, 05, 05]
+1F9B9; [0D 20 23, 05, 05]
-1F9DE; [0D 1C D1, 05, 05]
+1F9BA; [0D 20 2A, 05, 05]
-1F9DF; [0D 1C D8, 05, 05]
+1F9BB; [0D 20 31, 05, 05]
-1F9E0; [0D 1C DF, 05, 05]
+1F9BC; [0D 20 38, 05, 05]
-1F9E1; [0D 1C E6, 05, 05]
+1F9BD; [0D 20 3F, 05, 05]
-1F9E2; [0D 1C ED, 05, 05]
+1F9BE; [0D 20 46, 05, 05]
-1F9E3; [0D 1C F4, 05, 05]
+1F9BF; [0D 20 4D, 05, 05]
-1F9E4; [0D 1C FB, 05, 05]
+1F9C0; [0D 20 54, 05, 05]
-1F9E5; [0D 1D 04, 05, 05]
+1F9C1; [0D 20 5B, 05, 05]
-1F9E6; [0D 1D 0B, 05, 05]
+1F9C2; [0D 20 62, 05, 05]
-1F9E7; [0D 1D 12, 05, 05]
+1F9C3; [0D 20 69, 05, 05]
-1F9E8; [0D 1D 19, 05, 05]
+1F9C4; [0D 20 70, 05, 05]
-1F9E9; [0D 1D 20, 05, 05]
+1F9C5; [0D 20 77, 05, 05]
-1F9EA; [0D 1D 27, 05, 05]
+1F9C6; [0D 20 7E, 05, 05]
-1F9EB; [0D 1D 2E, 05, 05]
+1F9C7; [0D 20 85, 05, 05]
-1F9EC; [0D 1D 35, 05, 05]
+1F9C8; [0D 20 8C, 05, 05]
-1F9ED; [0D 1D 3C, 05, 05]
+1F9C9; [0D 20 93, 05, 05]
-1F9EE; [0D 1D 43, 05, 05]
+1F9CA; [0D 20 9A, 05, 05]
-1F9EF; [0D 1D 4A, 05, 05]
+1F9CD; [0D 20 A1, 05, 05]
-1F9F0; [0D 1D 51, 05, 05]
+1F9CE; [0D 20 A8, 05, 05]
-1F9F1; [0D 1D 58, 05, 05]
+1F9CF; [0D 20 AF, 05, 05]
-1F9F2; [0D 1D 5F, 05, 05]
+1F9D0; [0D 20 B6, 05, 05]
-1F9F3; [0D 1D 66, 05, 05]
+1F9D1; [0D 20 BD, 05, 05]
-1F9F4; [0D 1D 6D, 05, 05]
+1F9D2; [0D 20 C4, 05, 05]
-1F9F5; [0D 1D 74, 05, 05]
+1F9D3; [0D 20 CB, 05, 05]
-1F9F6; [0D 1D 7B, 05, 05]
+1F9D4; [0D 20 D2, 05, 05]
-1F9F7; [0D 1D 82, 05, 05]
+1F9D5; [0D 20 D9, 05, 05]
-1F9F8; [0D 1D 89, 05, 05]
+1F9D6; [0D 20 E0, 05, 05]
-1F9F9; [0D 1D 90, 05, 05]
+1F9D7; [0D 20 E7, 05, 05]
-1F9FA; [0D 1D 97, 05, 05]
+1F9D8; [0D 20 EE, 05, 05]
-1F9FB; [0D 1D 9E, 05, 05]
+1F9D9; [0D 20 F5, 05, 05]
-1F9FC; [0D 1D A5, 05, 05]
+1F9DA; [0D 20 FC, 05, 05]
-1F9FD; [0D 1D AC, 05, 05]
+1F9DB; [0D 21 05, 05, 05]
-1F9FE; [0D 1D B3, 05, 05]
+1F9DC; [0D 21 0C, 05, 05]
-1F9FF; [0D 1D BA, 05, 05]
+1F9DD; [0D 21 13, 05, 05]
-1F600; [0D 1D C1, 05, 05]
+1F9DE; [0D 21 1A, 05, 05]
-1F601; [0D 1D C8, 05, 05]
+1F9DF; [0D 21 21, 05, 05]
-1F602; [0D 1D CF, 05, 05]
+1F9E0; [0D 21 28, 05, 05]
-1F603; [0D 1D D6, 05, 05]
+1F9E1; [0D 21 2F, 05, 05]
-1F604; [0D 1D DD, 05, 05]
+1F9E2; [0D 21 36, 05, 05]
-1F605; [0D 1D E4, 05, 05]
+1F9E3; [0D 21 3D, 05, 05]
-1F606; [0D 1D EB, 05, 05]
+1F9E4; [0D 21 44, 05, 05]
-1F607; [0D 1D F2, 05, 05]
+1F9E5; [0D 21 4B, 05, 05]
-1F608; [0D 1D F9, 05, 05]
+1F9E6; [0D 21 52, 05, 05]
-1F609; [0D 1E 02, 05, 05]
+1F9E7; [0D 21 59, 05, 05]
-1F60A; [0D 1E 09, 05, 05]
+1F9E8; [0D 21 60, 05, 05]
-1F60B; [0D 1E 10, 05, 05]
+1F9E9; [0D 21 67, 05, 05]
-1F60C; [0D 1E 17, 05, 05]
+1F9EA; [0D 21 6E, 05, 05]
-1F60D; [0D 1E 1E, 05, 05]
+1F9EB; [0D 21 75, 05, 05]
-1F60E; [0D 1E 25, 05, 05]
+1F9EC; [0D 21 7C, 05, 05]
-1F60F; [0D 1E 2C, 05, 05]
+1F9ED; [0D 21 83, 05, 05]
-1F610; [0D 1E 33, 05, 05]
+1F9EE; [0D 21 8A, 05, 05]
-1F611; [0D 1E 3A, 05, 05]
+1F9EF; [0D 21 91, 05, 05]
-1F612; [0D 1E 41, 05, 05]
+1F9F0; [0D 21 98, 05, 05]
-1F613; [0D 1E 48, 05, 05]
+1F9F1; [0D 21 9F, 05, 05]
-1F614; [0D 1E 4F, 05, 05]
+1F9F2; [0D 21 A6, 05, 05]
-1F615; [0D 1E 56, 05, 05]
+1F9F3; [0D 21 AD, 05, 05]
-1F616; [0D 1E 5D, 05, 05]
+1F9F4; [0D 21 B4, 05, 05]
-1F617; [0D 1E 64, 05, 05]
+1F9F5; [0D 21 BB, 05, 05]
-1F618; [0D 1E 6B, 05, 05]
+1F9F6; [0D 21 C2, 05, 05]
-1F619; [0D 1E 72, 05, 05]
+1F9F7; [0D 21 C9, 05, 05]
-1F61A; [0D 1E 79, 05, 05]
+1F9F8; [0D 21 D0, 05, 05]
-1F61B; [0D 1E 80, 05, 05]
+1F9F9; [0D 21 D7, 05, 05]
-1F61C; [0D 1E 87, 05, 05]
+1F9FA; [0D 21 DE, 05, 05]
-1F61D; [0D 1E 8E, 05, 05]
+1F9FB; [0D 21 E5, 05, 05]
-1F61E; [0D 1E 95, 05, 05]
+1F9FC; [0D 21 EC, 05, 05]
-1F61F; [0D 1E 9C, 05, 05]
+1F9FD; [0D 21 F3, 05, 05]
-1F620; [0D 1E A3, 05, 05]
+1F9FE; [0D 21 FA, 05, 05]
-1F621; [0D 1E AA, 05, 05]
+1F9FF; [0D 22 03, 05, 05]
-1F622; [0D 1E B1, 05, 05]
+1FA70; [0D 22 0A, 05, 05]
-1F623; [0D 1E B8, 05, 05]
+1FA71; [0D 22 11, 05, 05]
-1F624; [0D 1E BF, 05, 05]
+1FA72; [0D 22 18, 05, 05]
-1F625; [0D 1E C6, 05, 05]
+1FA73; [0D 22 1F, 05, 05]
-1F626; [0D 1E CD, 05, 05]
+1FA78; [0D 22 26, 05, 05]
-1F627; [0D 1E D4, 05, 05]
+1FA79; [0D 22 2D, 05, 05]
-1F628; [0D 1E DB, 05, 05]
+1FA7A; [0D 22 34, 05, 05]
-1F629; [0D 1E E2, 05, 05]
+1FA80; [0D 22 3B, 05, 05]
-1F62A; [0D 1E E9, 05, 05]
+1FA81; [0D 22 42, 05, 05]
-1F62B; [0D 1E F0, 05, 05]
+1FA82; [0D 22 49, 05, 05]
-1F62C; [0D 1E F7, 05, 05]
+1FA90; [0D 22 50, 05, 05]
-1F62D; [0D 1E FE, 05, 05]
+1FA91; [0D 22 57, 05, 05]
-1F62E; [0D 1F 07, 05, 05]
+1FA92; [0D 22 5E, 05, 05]
-1F62F; [0D 1F 0E, 05, 05]
+1FA93; [0D 22 65, 05, 05]
-1F630; [0D 1F 15, 05, 05]
+1FA94; [0D 22 6C, 05, 05]
-1F631; [0D 1F 1C, 05, 05]
+1FA95; [0D 22 73, 05, 05]
-1F632; [0D 1F 23, 05, 05]
+1F600; [0D 22 7A, 05, 05]
-1F633; [0D 1F 2A, 05, 05]
+1F601; [0D 22 81, 05, 05]
-1F634; [0D 1F 31, 05, 05]
+1F602; [0D 22 88, 05, 05]
-1F635; [0D 1F 38, 05, 05]
+1F603; [0D 22 8F, 05, 05]
-1F636; [0D 1F 3F, 05, 05]
+1F604; [0D 22 96, 05, 05]
-1F637; [0D 1F 46, 05, 05]
+1F605; [0D 22 9D, 05, 05]
-1F638; [0D 1F 4D, 05, 05]
+1F606; [0D 22 A4, 05, 05]
-1F639; [0D 1F 54, 05, 05]
+1F607; [0D 22 AB, 05, 05]
-1F63A; [0D 1F 5B, 05, 05]
+1F608; [0D 22 B2, 05, 05]
-1F63B; [0D 1F 62, 05, 05]
+1F609; [0D 22 B9, 05, 05]
-1F63C; [0D 1F 69, 05, 05]
+1F60A; [0D 22 C0, 05, 05]
-1F63D; [0D 1F 70, 05, 05]
+1F60B; [0D 22 C7, 05, 05]
-1F63E; [0D 1F 77, 05, 05]
+1F60C; [0D 22 CE, 05, 05]
-1F63F; [0D 1F 7E, 05, 05]
+1F60D; [0D 22 D5, 05, 05]
-1F640; [0D 1F 85, 05, 05]
+1F60E; [0D 22 DC, 05, 05]
-1F641; [0D 1F 8C, 05, 05]
+1F60F; [0D 22 E3, 05, 05]
-1F642; [0D 1F 93, 05, 05]
+1F610; [0D 22 EA, 05, 05]
-1F643; [0D 1F 9A, 05, 05]
+1F611; [0D 22 F1, 05, 05]
-1F644; [0D 1F A1, 05, 05]
+1F612; [0D 22 F8, 05, 05]
-1F645; [0D 1F A8, 05, 05]
+1F613; [0D 22 FF, 05, 05]
-1F646; [0D 1F AF, 05, 05]
+1F614; [0D 23 08, 05, 05]
-1F647; [0D 1F B6, 05, 05]
+1F615; [0D 23 0F, 05, 05]
-1F648; [0D 1F BD, 05, 05]
+1F616; [0D 23 16, 05, 05]
-1F649; [0D 1F C4, 05, 05]
+1F617; [0D 23 1D, 05, 05]
-1F64A; [0D 1F CB, 05, 05]
+1F618; [0D 23 24, 05, 05]
-1F64B; [0D 1F D2, 05, 05]
+1F619; [0D 23 2B, 05, 05]
-1F64C; [0D 1F D9, 05, 05]
+1F61A; [0D 23 32, 05, 05]
-1F64D; [0D 1F E0, 05, 05]
+1F61B; [0D 23 39, 05, 05]
-1F64E; [0D 1F E7, 05, 05]
+1F61C; [0D 23 40, 05, 05]
-1F64F; [0D 1F EE, 05, 05]
+1F61D; [0D 23 47, 05, 05]
-1F650; [0D 1F F5, 05, 05]
+1F61E; [0D 23 4E, 05, 05]
-1F651; [0D 1F FC, 05, 05]
+1F61F; [0D 23 55, 05, 05]
-1F652; [0D 20 05, 05, 05]
+1F620; [0D 23 5C, 05, 05]
-1F653; [0D 20 0C, 05, 05]
+1F621; [0D 23 63, 05, 05]
-1F654; [0D 20 13, 05, 05]
+1F622; [0D 23 6A, 05, 05]
-1F655; [0D 20 1A, 05, 05]
+1F623; [0D 23 71, 05, 05]
-1F656; [0D 20 21, 05, 05]
+1F624; [0D 23 78, 05, 05]
-1F657; [0D 20 28, 05, 05]
+1F625; [0D 23 7F, 05, 05]
-1F658; [0D 20 2F, 05, 05]
+1F626; [0D 23 86, 05, 05]
-1F659; [0D 20 36, 05, 05]
+1F627; [0D 23 8D, 05, 05]
-1F65A; [0D 20 3D, 05, 05]
+1F628; [0D 23 94, 05, 05]
-1F65B; [0D 20 44, 05, 05]
+1F629; [0D 23 9B, 05, 05]
-1F65C; [0D 20 4B, 05, 05]
+1F62A; [0D 23 A2, 05, 05]
-1F65D; [0D 20 52, 05, 05]
+1F62B; [0D 23 A9, 05, 05]
-1F65E; [0D 20 59, 05, 05]
+1F62C; [0D 23 B0, 05, 05]
-1F65F; [0D 20 60, 05, 05]
+1F62D; [0D 23 B7, 05, 05]
-1F660; [0D 20 67, 05, 05]
+1F62E; [0D 23 BE, 05, 05]
-1F661; [0D 20 6E, 05, 05]
+1F62F; [0D 23 C5, 05, 05]
-1F662; [0D 20 75, 05, 05]
+1F630; [0D 23 CC, 05, 05]
-1F663; [0D 20 7C, 05, 05]
+1F631; [0D 23 D3, 05, 05]
-1F664; [0D 20 83, 05, 05]
+1F632; [0D 23 DA, 05, 05]
-1F665; [0D 20 8A, 05, 05]
+1F633; [0D 23 E1, 05, 05]
-1F666; [0D 20 91, 05, 05]
+1F634; [0D 23 E8, 05, 05]
-1F667; [0D 20 98, 05, 05]
+1F635; [0D 23 EF, 05, 05]
-1F668; [0D 20 9F, 05, 05]
+1F636; [0D 23 F6, 05, 05]
-1F669; [0D 20 A6, 05, 05]
+1F637; [0D 23 FD, 05, 05]
-1F66A; [0D 20 AD, 05, 05]
+1F638; [0D 24 06, 05, 05]
-1F66B; [0D 20 B4, 05, 05]
+1F639; [0D 24 0D, 05, 05]
-1F66C; [0D 20 BB, 05, 05]
+1F63A; [0D 24 14, 05, 05]
-1F66D; [0D 20 C2, 05, 05]
+1F63B; [0D 24 1B, 05, 05]
-1F66E; [0D 20 C9, 05, 05]
+1F63C; [0D 24 22, 05, 05]
-1F66F; [0D 20 D0, 05, 05]
+1F63D; [0D 24 29, 05, 05]
-1F670; [0D 20 D7, 05, 05]
+1F63E; [0D 24 30, 05, 05]
-1F671; [0D 20 DE, 05, 05]
+1F63F; [0D 24 37, 05, 05]
-1F672; [0D 20 E5, 05, 05]
+1F640; [0D 24 3E, 05, 05]
-1F673; [0D 20 EC, 05, 05]
+1F641; [0D 24 45, 05, 05]
-1F674; [0D 20 F3, 05, 05]
+1F642; [0D 24 4C, 05, 05]
-1F675; [0D 20 FA, 05, 05]
+1F643; [0D 24 53, 05, 05]
-1F676; [0D 21 03, 05, 05]
+1F644; [0D 24 5A, 05, 05]
-1F677; [0D 21 0A, 05, 05]
+1F645; [0D 24 61, 05, 05]
-1F678; [0D 21 11, 05, 05]
+1F646; [0D 24 68, 05, 05]
-1F679; [0D 21 18, 05, 05]
+1F647; [0D 24 6F, 05, 05]
-1F67A; [0D 21 1F, 05, 05]
+1F648; [0D 24 76, 05, 05]
-1F67B; [0D 21 26, 05, 05]
+1F649; [0D 24 7D, 05, 05]
-1F67C; [0D 21 2D, 05, 05]
+1F64A; [0D 24 84, 05, 05]
-1F67D; [0D 21 34, 05, 05]
+1F64B; [0D 24 8B, 05, 05]
-1F67E; [0D 21 3B, 05, 05]
+1F64C; [0D 24 92, 05, 05]
-1F67F; [0D 21 42, 05, 05]
+1F64D; [0D 24 99, 05, 05]
-1F680; [0D 21 49, 05, 05]
+1F64E; [0D 24 A0, 05, 05]
-1F681; [0D 21 50, 05, 05]
+1F64F; [0D 24 A7, 05, 05]
-1F682; [0D 21 57, 05, 05]
+1F650; [0D 24 AE, 05, 05]
-1F683; [0D 21 5E, 05, 05]
+1F651; [0D 24 B5, 05, 05]
-1F684; [0D 21 65, 05, 05]
+1F652; [0D 24 BC, 05, 05]
-1F685; [0D 21 6C, 05, 05]
+1F653; [0D 24 C3, 05, 05]
-1F686; [0D 21 73, 05, 05]
+1F654; [0D 24 CA, 05, 05]
-1F687; [0D 21 7A, 05, 05]
+1F655; [0D 24 D1, 05, 05]
-1F688; [0D 21 81, 05, 05]
+1F656; [0D 24 D8, 05, 05]
-1F689; [0D 21 88, 05, 05]
+1F657; [0D 24 DF, 05, 05]
-1F68A; [0D 21 8F, 05, 05]
+1F658; [0D 24 E6, 05, 05]
-1F68B; [0D 21 96, 05, 05]
+1F659; [0D 24 ED, 05, 05]
-1F68C; [0D 21 9D, 05, 05]
+1F65A; [0D 24 F4, 05, 05]
-1F68D; [0D 21 A4, 05, 05]
+1F65B; [0D 24 FB, 05, 05]
-1F68E; [0D 21 AB, 05, 05]
+1F65C; [0D 25 04, 05, 05]
-1F68F; [0D 21 B2, 05, 05]
+1F65D; [0D 25 0B, 05, 05]
-1F690; [0D 21 B9, 05, 05]
+1F65E; [0D 25 12, 05, 05]
-1F691; [0D 21 C0, 05, 05]
+1F65F; [0D 25 19, 05, 05]
-1F692; [0D 21 C7, 05, 05]
+1F660; [0D 25 20, 05, 05]
-1F693; [0D 21 CE, 05, 05]
+1F661; [0D 25 27, 05, 05]
-1F694; [0D 21 D5, 05, 05]
+1F662; [0D 25 2E, 05, 05]
-1F695; [0D 21 DC, 05, 05]
+1F663; [0D 25 35, 05, 05]
-1F696; [0D 21 E3, 05, 05]
+1F664; [0D 25 3C, 05, 05]
-1F697; [0D 21 EA, 05, 05]
+1F665; [0D 25 43, 05, 05]
-1F698; [0D 21 F1, 05, 05]
+1F666; [0D 25 4A, 05, 05]
-1F699; [0D 21 F8, 05, 05]
+1F667; [0D 25 51, 05, 05]
-1F69A; [0D 21 FF, 05, 05]
+1F668; [0D 25 58, 05, 05]
-1F69B; [0D 22 08, 05, 05]
+1F669; [0D 25 5F, 05, 05]
-1F69C; [0D 22 0F, 05, 05]
+1F66A; [0D 25 66, 05, 05]
-1F69D; [0D 22 16, 05, 05]
+1F66B; [0D 25 6D, 05, 05]
-1F69E; [0D 22 1D, 05, 05]
+1F66C; [0D 25 74, 05, 05]
-1F69F; [0D 22 24, 05, 05]
+1F66D; [0D 25 7B, 05, 05]
-1F6A0; [0D 22 2B, 05, 05]
+1F66E; [0D 25 82, 05, 05]
-1F6A1; [0D 22 32, 05, 05]
+1F66F; [0D 25 89, 05, 05]
-1F6A2; [0D 22 39, 05, 05]
+1F670; [0D 25 90, 05, 05]
-1F6A3; [0D 22 40, 05, 05]
+1F671; [0D 25 97, 05, 05]
-1F6A4; [0D 22 47, 05, 05]
+1F672; [0D 25 9E, 05, 05]
-1F6A5; [0D 22 4E, 05, 05]
+1F673; [0D 25 A5, 05, 05]
-1F6A6; [0D 22 55, 05, 05]
+1F674; [0D 25 AC, 05, 05]
-1F6A7; [0D 22 5C, 05, 05]
+1F675; [0D 25 B3, 05, 05]
-1F6A8; [0D 22 63, 05, 05]
+1F676; [0D 25 BA, 05, 05]
-1F6A9; [0D 22 6A, 05, 05]
+1F677; [0D 25 C1, 05, 05]
-1F6AA; [0D 22 71, 05, 05]
+1F678; [0D 25 C8, 05, 05]
-1F6AB; [0D 22 78, 05, 05]
+1F679; [0D 25 CF, 05, 05]
-1F6AC; [0D 22 7F, 05, 05]
+1F67A; [0D 25 D6, 05, 05]
-1F6AD; [0D 22 86, 05, 05]
+1F67B; [0D 25 DD, 05, 05]
-1F6AE; [0D 22 8D, 05, 05]
+1F67C; [0D 25 E4, 05, 05]
-1F6AF; [0D 22 94, 05, 05]
+1F67D; [0D 25 EB, 05, 05]
-1F6B0; [0D 22 9B, 05, 05]
+1F67E; [0D 25 F2, 05, 05]
-1F6B1; [0D 22 A2, 05, 05]
+1F67F; [0D 25 F9, 05, 05]
-1F6B2; [0D 22 A9, 05, 05]
+1F680; [0D 26 02, 05, 05]
-1F6B3; [0D 22 B0, 05, 05]
+1F681; [0D 26 09, 05, 05]
-1F6B4; [0D 22 B7, 05, 05]
+1F682; [0D 26 10, 05, 05]
-1F6B5; [0D 22 BE, 05, 05]
+1F683; [0D 26 17, 05, 05]
-1F6B6; [0D 22 C5, 05, 05]
+1F684; [0D 26 1E, 05, 05]
-1F6B7; [0D 22 CC, 05, 05]
+1F685; [0D 26 25, 05, 05]
-1F6B8; [0D 22 D3, 05, 05]
+1F686; [0D 26 2C, 05, 05]
-1F6B9; [0D 22 DA, 05, 05]
+1F687; [0D 26 33, 05, 05]
-1F6BA; [0D 22 E1, 05, 05]
+1F688; [0D 26 3A, 05, 05]
-1F6BB; [0D 22 E8, 05, 05]
+1F689; [0D 26 41, 05, 05]
-1F6BC; [0D 22 EF, 05, 05]
+1F68A; [0D 26 48, 05, 05]
-1F6BD; [0D 22 F6, 05, 05]
+1F68B; [0D 26 4F, 05, 05]
-1F6BE; [0D 22 FD, 05, 05]
+1F68C; [0D 26 56, 05, 05]
-1F6BF; [0D 23 06, 05, 05]
+1F68D; [0D 26 5D, 05, 05]
-1F6C0; [0D 23 0D, 05, 05]
+1F68E; [0D 26 64, 05, 05]
-1F6C1; [0D 23 14, 05, 05]
+1F68F; [0D 26 6B, 05, 05]
-1F6C2; [0D 23 1B, 05, 05]
+1F690; [0D 26 72, 05, 05]
-1F6C3; [0D 23 22, 05, 05]
+1F691; [0D 26 79, 05, 05]
-1F6C4; [0D 23 29, 05, 05]
+1F692; [0D 26 80, 05, 05]
-1F6C5; [0D 23 30, 05, 05]
+1F693; [0D 26 87, 05, 05]
-1F6C6; [0D 23 37, 05, 05]
+1F694; [0D 26 8E, 05, 05]
-1F6C7; [0D 23 3E, 05, 05]
+1F695; [0D 26 95, 05, 05]
-1F6C8; [0D 23 45, 05, 05]
+1F696; [0D 26 9C, 05, 05]
-1F6C9; [0D 23 4C, 05, 05]
+1F697; [0D 26 A3, 05, 05]
-1F6CA; [0D 23 53, 05, 05]
+1F698; [0D 26 AA, 05, 05]
-1F6CB; [0D 23 5A, 05, 05]
+1F699; [0D 26 B1, 05, 05]
-1F6CC; [0D 23 61, 05, 05]
+1F69A; [0D 26 B8, 05, 05]
-1F6CD; [0D 23 68, 05, 05]
+1F69B; [0D 26 BF, 05, 05]
-1F6CE; [0D 23 6F, 05, 05]
+1F69C; [0D 26 C6, 05, 05]
-1F6CF; [0D 23 76, 05, 05]
+1F69D; [0D 26 CD, 05, 05]
-1F6D0; [0D 23 7D, 05, 05]
+1F69E; [0D 26 D4, 05, 05]
-1F6D1; [0D 23 84, 05, 05]
+1F69F; [0D 26 DB, 05, 05]
-1F6D2; [0D 23 8B, 05, 05]
+1F6A0; [0D 26 E2, 05, 05]
-1F6D3; [0D 23 92, 05, 05]
+1F6A1; [0D 26 E9, 05, 05]
-1F6D4; [0D 23 99, 05, 05]
+1F6A2; [0D 26 F0, 05, 05]
-1F6E0; [0D 23 A0, 05, 05]
+1F6A3; [0D 26 F7, 05, 05]
-1F6E1; [0D 23 A7, 05, 05]
+1F6A4; [0D 26 FE, 05, 05]
-1F6E2; [0D 23 AE, 05, 05]
+1F6A5; [0D 27 07, 05, 05]
-1F6E3; [0D 23 B5, 05, 05]
+1F6A6; [0D 27 0E, 05, 05]
-1F6E4; [0D 23 BC, 05, 05]
+1F6A7; [0D 27 15, 05, 05]
-1F6E5; [0D 23 C3, 05, 05]
+1F6A8; [0D 27 1C, 05, 05]
-1F6E6; [0D 23 CA, 05, 05]
+1F6A9; [0D 27 23, 05, 05]
-1F6E7; [0D 23 D1, 05, 05]
+1F6AA; [0D 27 2A, 05, 05]
-1F6E8; [0D 23 D8, 05, 05]
+1F6AB; [0D 27 31, 05, 05]
-1F6E9; [0D 23 DF, 05, 05]
+1F6AC; [0D 27 38, 05, 05]
-1F6EA; [0D 23 E6, 05, 05]
+1F6AD; [0D 27 3F, 05, 05]
-1F6EB; [0D 23 ED, 05, 05]
+1F6AE; [0D 27 46, 05, 05]
-1F6EC; [0D 23 F4, 05, 05]
+1F6AF; [0D 27 4D, 05, 05]
-1F6F0; [0D 23 FB, 05, 05]
+1F6B0; [0D 27 54, 05, 05]
-1F6F1; [0D 24 04, 05, 05]
+1F6B1; [0D 27 5B, 05, 05]
-1F6F2; [0D 24 0B, 05, 05]
+1F6B2; [0D 27 62, 05, 05]
-1F6F3; [0D 24 12, 05, 05]
+1F6B3; [0D 27 69, 05, 05]
-1F6F4; [0D 24 19, 05, 05]
+1F6B4; [0D 27 70, 05, 05]
-1F6F5; [0D 24 20, 05, 05]
+1F6B5; [0D 27 77, 05, 05]
-1F6F6; [0D 24 27, 05, 05]
+1F6B6; [0D 27 7E, 05, 05]
-1F6F7; [0D 24 2E, 05, 05]
+1F6B7; [0D 27 85, 05, 05]
-1F6F8; [0D 24 35, 05, 05]
+1F6B8; [0D 27 8C, 05, 05]
-1F6F9; [0D 24 3C, 05, 05]
+1F6B9; [0D 27 93, 05, 05]
-1F700; [0D 24 43, 05, 05]
+1F6BA; [0D 27 9A, 05, 05]
-1F701; [0D 24 4A, 05, 05]
+1F6BB; [0D 27 A1, 05, 05]
-1F702; [0D 24 51, 05, 05]
+1F6BC; [0D 27 A8, 05, 05]
-1F703; [0D 24 58, 05, 05]
+1F6BD; [0D 27 AF, 05, 05]
-1F704; [0D 24 5F, 05, 05]
+1F6BE; [0D 27 B6, 05, 05]
-1F705; [0D 24 66, 05, 05]
+1F6BF; [0D 27 BD, 05, 05]
-1F706; [0D 24 6D, 05, 05]
+1F6C0; [0D 27 C4, 05, 05]
-1F707; [0D 24 74, 05, 05]
+1F6C1; [0D 27 CB, 05, 05]
-1F708; [0D 24 7B, 05, 05]
+1F6C2; [0D 27 D2, 05, 05]
-1F709; [0D 24 82, 05, 05]
+1F6C3; [0D 27 D9, 05, 05]
-1F70A; [0D 24 89, 05, 05]
+1F6C4; [0D 27 E0, 05, 05]
-1F70B; [0D 24 90, 05, 05]
+1F6C5; [0D 27 E7, 05, 05]
-1F70C; [0D 24 97, 05, 05]
+1F6C6; [0D 27 EE, 05, 05]
-1F70D; [0D 24 9E, 05, 05]
+1F6C7; [0D 27 F5, 05, 05]
-1F70E; [0D 24 A5, 05, 05]
+1F6C8; [0D 27 FC, 05, 05]
-1F70F; [0D 24 AC, 05, 05]
+1F6C9; [0D 28 05, 05, 05]
-1F710; [0D 24 B3, 05, 05]
+1F6CA; [0D 28 0C, 05, 05]
-1F711; [0D 24 BA, 05, 05]
+1F6CB; [0D 28 13, 05, 05]
-1F712; [0D 24 C1, 05, 05]
+1F6CC; [0D 28 1A, 05, 05]
-1F713; [0D 24 C8, 05, 05]
+1F6CD; [0D 28 21, 05, 05]
-1F714; [0D 24 CF, 05, 05]
+1F6CE; [0D 28 28, 05, 05]
-1F715; [0D 24 D6, 05, 05]
+1F6CF; [0D 28 2F, 05, 05]
-1F716; [0D 24 DD, 05, 05]
+1F6D0; [0D 28 36, 05, 05]
-1F717; [0D 24 E4, 05, 05]
+1F6D1; [0D 28 3D, 05, 05]
-1F718; [0D 24 EB, 05, 05]
+1F6D2; [0D 28 44, 05, 05]
-1F719; [0D 24 F2, 05, 05]
+1F6D3; [0D 28 4B, 05, 05]
-1F71A; [0D 24 F9, 05, 05]
+1F6D4; [0D 28 52, 05, 05]
-1F71B; [0D 25 02, 05, 05]
+1F6D5; [0D 28 59, 05, 05]
-1F71C; [0D 25 09, 05, 05]
+1F6E0; [0D 28 60, 05, 05]
-1F71D; [0D 25 10, 05, 05]
+1F6E1; [0D 28 67, 05, 05]
-1F71E; [0D 25 17, 05, 05]
+1F6E2; [0D 28 6E, 05, 05]
-1F71F; [0D 25 1E, 05, 05]
+1F6E3; [0D 28 75, 05, 05]
-1F720; [0D 25 25, 05, 05]
+1F6E4; [0D 28 7C, 05, 05]
-1F721; [0D 25 2C, 05, 05]
+1F6E5; [0D 28 83, 05, 05]
-1F722; [0D 25 33, 05, 05]
+1F6E6; [0D 28 8A, 05, 05]
-1F723; [0D 25 3A, 05, 05]
+1F6E7; [0D 28 91, 05, 05]
-1F724; [0D 25 41, 05, 05]
+1F6E8; [0D 28 98, 05, 05]
-1F725; [0D 25 48, 05, 05]
+1F6E9; [0D 28 9F, 05, 05]
-1F726; [0D 25 4F, 05, 05]
+1F6EA; [0D 28 A6, 05, 05]
-1F727; [0D 25 56, 05, 05]
+1F6EB; [0D 28 AD, 05, 05]
-1F728; [0D 25 5D, 05, 05]
+1F6EC; [0D 28 B4, 05, 05]
-1F729; [0D 25 64, 05, 05]
+1F6F0; [0D 28 BB, 05, 05]
-1F72A; [0D 25 6B, 05, 05]
+1F6F1; [0D 28 C2, 05, 05]
-1F72B; [0D 25 72, 05, 05]
+1F6F2; [0D 28 C9, 05, 05]
-1F72C; [0D 25 79, 05, 05]
+1F6F3; [0D 28 D0, 05, 05]
-1F72D; [0D 25 80, 05, 05]
+1F6F4; [0D 28 D7, 05, 05]
-1F72E; [0D 25 87, 05, 05]
+1F6F5; [0D 28 DE, 05, 05]
-1F72F; [0D 25 8E, 05, 05]
+1F6F6; [0D 28 E5, 05, 05]
-1F730; [0D 25 95, 05, 05]
+1F6F7; [0D 28 EC, 05, 05]
-1F731; [0D 25 9C, 05, 05]
+1F6F8; [0D 28 F3, 05, 05]
-1F732; [0D 25 A3, 05, 05]
+1F6F9; [0D 28 FA, 05, 05]
-1F733; [0D 25 AA, 05, 05]
+1F6FA; [0D 29 03, 05, 05]
-1F734; [0D 25 B1, 05, 05]
+1F700; [0D 29 0A, 05, 05]
-1F735; [0D 25 B8, 05, 05]
+1F701; [0D 29 11, 05, 05]
-1F736; [0D 25 BF, 05, 05]
+1F702; [0D 29 18, 05, 05]
-1F737; [0D 25 C6, 05, 05]
+1F703; [0D 29 1F, 05, 05]
-1F738; [0D 25 CD, 05, 05]
+1F704; [0D 29 26, 05, 05]
-1F739; [0D 25 D4, 05, 05]
+1F705; [0D 29 2D, 05, 05]
-1F73A; [0D 25 DB, 05, 05]
+1F706; [0D 29 34, 05, 05]
-1F73B; [0D 25 E2, 05, 05]
+1F707; [0D 29 3B, 05, 05]
-1F73C; [0D 25 E9, 05, 05]
+1F708; [0D 29 42, 05, 05]
-1F73D; [0D 25 F0, 05, 05]
+1F709; [0D 29 49, 05, 05]
-1F73E; [0D 25 F7, 05, 05]
+1F70A; [0D 29 50, 05, 05]
-1F73F; [0D 25 FE, 05, 05]
+1F70B; [0D 29 57, 05, 05]
-1F740; [0D 26 07, 05, 05]
+1F70C; [0D 29 5E, 05, 05]
-1F741; [0D 26 0E, 05, 05]
+1F70D; [0D 29 65, 05, 05]
-1F742; [0D 26 15, 05, 05]
+1F70E; [0D 29 6C, 05, 05]
-1F743; [0D 26 1C, 05, 05]
+1F70F; [0D 29 73, 05, 05]
-1F744; [0D 26 23, 05, 05]
+1F710; [0D 29 7A, 05, 05]
-1F745; [0D 26 2A, 05, 05]
+1F711; [0D 29 81, 05, 05]
-1F746; [0D 26 31, 05, 05]
+1F712; [0D 29 88, 05, 05]
-1F747; [0D 26 38, 05, 05]
+1F713; [0D 29 8F, 05, 05]
-1F748; [0D 26 3F, 05, 05]
+1F714; [0D 29 96, 05, 05]
-1F749; [0D 26 46, 05, 05]
+1F715; [0D 29 9D, 05, 05]
-1F74A; [0D 26 4D, 05, 05]
+1F716; [0D 29 A4, 05, 05]
-1F74B; [0D 26 54, 05, 05]
+1F717; [0D 29 AB, 05, 05]
-1F74C; [0D 26 5B, 05, 05]
+1F718; [0D 29 B2, 05, 05]
-1F74D; [0D 26 62, 05, 05]
+1F719; [0D 29 B9, 05, 05]
-1F74E; [0D 26 69, 05, 05]
+1F71A; [0D 29 C0, 05, 05]
-1F74F; [0D 26 70, 05, 05]
+1F71B; [0D 29 C7, 05, 05]
-1F750; [0D 26 77, 05, 05]
+1F71C; [0D 29 CE, 05, 05]
-1F751; [0D 26 7E, 05, 05]
+1F71D; [0D 29 D5, 05, 05]
-1F752; [0D 26 85, 05, 05]
+1F71E; [0D 29 DC, 05, 05]
-1F753; [0D 26 8C, 05, 05]
+1F71F; [0D 29 E3, 05, 05]
-1F754; [0D 26 93, 05, 05]
+1F720; [0D 29 EA, 05, 05]
-1F755; [0D 26 9A, 05, 05]
+1F721; [0D 29 F1, 05, 05]
-1F756; [0D 26 A1, 05, 05]
+1F722; [0D 29 F8, 05, 05]
-1F757; [0D 26 A8, 05, 05]
+1F723; [0D 29 FF, 05, 05]
-1F758; [0D 26 AF, 05, 05]
+1F724; [0D 2A 08, 05, 05]
-1F759; [0D 26 B6, 05, 05]
+1F725; [0D 2A 0F, 05, 05]
-1F75A; [0D 26 BD, 05, 05]
+1F726; [0D 2A 16, 05, 05]
-1F75B; [0D 26 C4, 05, 05]
+1F727; [0D 2A 1D, 05, 05]
-1F75C; [0D 26 CB, 05, 05]
+1F728; [0D 2A 24, 05, 05]
-1F75D; [0D 26 D2, 05, 05]
+1F729; [0D 2A 2B, 05, 05]
-1F75E; [0D 26 D9, 05, 05]
+1F72A; [0D 2A 32, 05, 05]
-1F75F; [0D 26 E0, 05, 05]
+1F72B; [0D 2A 39, 05, 05]
-1F760; [0D 26 E7, 05, 05]
+1F72C; [0D 2A 40, 05, 05]
-1F761; [0D 26 EE, 05, 05]
+1F72D; [0D 2A 47, 05, 05]
-1F762; [0D 26 F5, 05, 05]
+1F72E; [0D 2A 4E, 05, 05]
-1F763; [0D 26 FC, 05, 05]
+1F72F; [0D 2A 55, 05, 05]
-1F764; [0D 27 05, 05, 05]
+1F730; [0D 2A 5C, 05, 05]
-1F765; [0D 27 0C, 05, 05]
+1F731; [0D 2A 63, 05, 05]
-1F766; [0D 27 13, 05, 05]
+1F732; [0D 2A 6A, 05, 05]
-1F767; [0D 27 1A, 05, 05]
+1F733; [0D 2A 71, 05, 05]
-1F768; [0D 27 21, 05, 05]
+1F734; [0D 2A 78, 05, 05]
-1F769; [0D 27 28, 05, 05]
+1F735; [0D 2A 7F, 05, 05]
-1F76A; [0D 27 2F, 05, 05]
+1F736; [0D 2A 86, 05, 05]
-1F76B; [0D 27 36, 05, 05]
+1F737; [0D 2A 8D, 05, 05]
-1F76C; [0D 27 3D, 05, 05]
+1F738; [0D 2A 94, 05, 05]
-1F76D; [0D 27 44, 05, 05]
+1F739; [0D 2A 9B, 05, 05]
-1F76E; [0D 27 4B, 05, 05]
+1F73A; [0D 2A A2, 05, 05]
-1F76F; [0D 27 52, 05, 05]
+1F73B; [0D 2A A9, 05, 05]
-1F770; [0D 27 59, 05, 05]
+1F73C; [0D 2A B0, 05, 05]
-1F771; [0D 27 60, 05, 05]
+1F73D; [0D 2A B7, 05, 05]
-1F772; [0D 27 67, 05, 05]
+1F73E; [0D 2A BE, 05, 05]
-1F773; [0D 27 6E, 05, 05]
+1F73F; [0D 2A C5, 05, 05]
-1F780; [0D 27 75, 05, 05]
+1F740; [0D 2A CC, 05, 05]
-1F781; [0D 27 7C, 05, 05]
+1F741; [0D 2A D3, 05, 05]
-1F782; [0D 27 83, 05, 05]
+1F742; [0D 2A DA, 05, 05]
-1F783; [0D 27 8A, 05, 05]
+1F743; [0D 2A E1, 05, 05]
-1F784; [0D 27 91, 05, 05]
+1F744; [0D 2A E8, 05, 05]
-1F785; [0D 27 98, 05, 05]
+1F745; [0D 2A EF, 05, 05]
-1F786; [0D 27 9F, 05, 05]
+1F746; [0D 2A F6, 05, 05]
-1F787; [0D 27 A6, 05, 05]
+1F747; [0D 2A FD, 05, 05]
-1F788; [0D 27 AD, 05, 05]
+1F748; [0D 2B 06, 05, 05]
-1F789; [0D 27 B4, 05, 05]
+1F749; [0D 2B 0D, 05, 05]
-1F78A; [0D 27 BB, 05, 05]
+1F74A; [0D 2B 14, 05, 05]
-1F78B; [0D 27 C2, 05, 05]
+1F74B; [0D 2B 1B, 05, 05]
-1F78C; [0D 27 C9, 05, 05]
+1F74C; [0D 2B 22, 05, 05]
-1F78D; [0D 27 D0, 05, 05]
+1F74D; [0D 2B 29, 05, 05]
-1F78E; [0D 27 D7, 05, 05]
+1F74E; [0D 2B 30, 05, 05]
-1F78F; [0D 27 DE, 05, 05]
+1F74F; [0D 2B 37, 05, 05]
-1F790; [0D 27 E5, 05, 05]
+1F750; [0D 2B 3E, 05, 05]
-1F791; [0D 27 EC, 05, 05]
+1F751; [0D 2B 45, 05, 05]
-1F792; [0D 27 F3, 05, 05]
+1F752; [0D 2B 4C, 05, 05]
-1F793; [0D 27 FA, 05, 05]
+1F753; [0D 2B 53, 05, 05]
-1F794; [0D 28 03, 05, 05]
+1F754; [0D 2B 5A, 05, 05]
-1F795; [0D 28 0A, 05, 05]
+1F755; [0D 2B 61, 05, 05]
-1F796; [0D 28 11, 05, 05]
+1F756; [0D 2B 68, 05, 05]
-1F797; [0D 28 18, 05, 05]
+1F757; [0D 2B 6F, 05, 05]
-1F798; [0D 28 1F, 05, 05]
+1F758; [0D 2B 76, 05, 05]
-1F799; [0D 28 26, 05, 05]
+1F759; [0D 2B 7D, 05, 05]
-1F79A; [0D 28 2D, 05, 05]
+1F75A; [0D 2B 84, 05, 05]
-1F79B; [0D 28 34, 05, 05]
+1F75B; [0D 2B 8B, 05, 05]
-1F79C; [0D 28 3B, 05, 05]
+1F75C; [0D 2B 92, 05, 05]
-1F79D; [0D 28 42, 05, 05]
+1F75D; [0D 2B 99, 05, 05]
-1F79E; [0D 28 49, 05, 05]
+1F75E; [0D 2B A0, 05, 05]
-1F79F; [0D 28 50, 05, 05]
+1F75F; [0D 2B A7, 05, 05]
-1F7A0; [0D 28 57, 05, 05]
+1F760; [0D 2B AE, 05, 05]
-1F7A1; [0D 28 5E, 05, 05]
+1F761; [0D 2B B5, 05, 05]
-1F7A2; [0D 28 65, 05, 05]
+1F762; [0D 2B BC, 05, 05]
-1F7A3; [0D 28 6C, 05, 05]
+1F763; [0D 2B C3, 05, 05]
-1F7A4; [0D 28 73, 05, 05]
+1F764; [0D 2B CA, 05, 05]
-1F7A5; [0D 28 7A, 05, 05]
+1F765; [0D 2B D1, 05, 05]
-1F7A6; [0D 28 81, 05, 05]
+1F766; [0D 2B D8, 05, 05]
-1F7A7; [0D 28 88, 05, 05]
+1F767; [0D 2B DF, 05, 05]
-1F7A8; [0D 28 8F, 05, 05]
+1F768; [0D 2B E6, 05, 05]
-1F7A9; [0D 28 96, 05, 05]
+1F769; [0D 2B ED, 05, 05]
-1F7AA; [0D 28 9D, 05, 05]
+1F76A; [0D 2B F4, 05, 05]
-1F7AB; [0D 28 A4, 05, 05]
+1F76B; [0D 2B FB, 05, 05]
-1F7AC; [0D 28 AB, 05, 05]
+1F76C; [0D 2C 04, 05, 05]
-1F7AD; [0D 28 B2, 05, 05]
+1F76D; [0D 2C 0B, 05, 05]
-1F7AE; [0D 28 B9, 05, 05]
+1F76E; [0D 2C 12, 05, 05]
-1F7AF; [0D 28 C0, 05, 05]
+1F76F; [0D 2C 19, 05, 05]
-1F7B0; [0D 28 C7, 05, 05]
+1F770; [0D 2C 20, 05, 05]
-1F7B1; [0D 28 CE, 05, 05]
+1F771; [0D 2C 27, 05, 05]
-1F7B2; [0D 28 D5, 05, 05]
+1F772; [0D 2C 2E, 05, 05]
-1F7B3; [0D 28 DC, 05, 05]
+1F773; [0D 2C 35, 05, 05]
-1F7B4; [0D 28 E3, 05, 05]
+1F780; [0D 2C 3C, 05, 05]
-1F7B5; [0D 28 EA, 05, 05]
+1F781; [0D 2C 43, 05, 05]
-1F7B6; [0D 28 F1, 05, 05]
+1F782; [0D 2C 4A, 05, 05]
-1F7B7; [0D 28 F8, 05, 05]
+1F783; [0D 2C 51, 05, 05]
-1F7B8; [0D 28 FF, 05, 05]
+1F784; [0D 2C 58, 05, 05]
-1F7B9; [0D 29 08, 05, 05]
+1F785; [0D 2C 5F, 05, 05]
-1F7BA; [0D 29 0F, 05, 05]
+1F786; [0D 2C 66, 05, 05]
-1F7BB; [0D 29 16, 05, 05]
+1F787; [0D 2C 6D, 05, 05]
-1F7BC; [0D 29 1D, 05, 05]
+1F788; [0D 2C 74, 05, 05]
-1F7BD; [0D 29 24, 05, 05]
+1F789; [0D 2C 7B, 05, 05]
-1F7BE; [0D 29 2B, 05, 05]
+1F78A; [0D 2C 82, 05, 05]
-1F7BF; [0D 29 32, 05, 05]
+1F78B; [0D 2C 89, 05, 05]
-1F7C0; [0D 29 39, 05, 05]
+1F78C; [0D 2C 90, 05, 05]
-1F7C1; [0D 29 40, 05, 05]
+1F78D; [0D 2C 97, 05, 05]
-1F7C2; [0D 29 47, 05, 05]
+1F78E; [0D 2C 9E, 05, 05]
-1F7C3; [0D 29 4E, 05, 05]
+1F78F; [0D 2C A5, 05, 05]
-1F7C4; [0D 29 55, 05, 05]
+1F790; [0D 2C AC, 05, 05]
-1F7C5; [0D 29 5C, 05, 05]
+1F791; [0D 2C B3, 05, 05]
-1F7C6; [0D 29 63, 05, 05]
+1F792; [0D 2C BA, 05, 05]
-1F7C7; [0D 29 6A, 05, 05]
+1F793; [0D 2C C1, 05, 05]
-1F7C8; [0D 29 71, 05, 05]
+1F794; [0D 2C C8, 05, 05]
-1F7C9; [0D 29 78, 05, 05]
+1F795; [0D 2C CF, 05, 05]
-1F7CA; [0D 29 7F, 05, 05]
+1F796; [0D 2C D6, 05, 05]
-1F7CB; [0D 29 86, 05, 05]
+1F797; [0D 2C DD, 05, 05]
-1F7CC; [0D 29 8D, 05, 05]
+1F798; [0D 2C E4, 05, 05]
-1F7CD; [0D 29 94, 05, 05]
+1F799; [0D 2C EB, 05, 05]
-1F7CE; [0D 29 9B, 05, 05]
+1F79A; [0D 2C F2, 05, 05]
-1F7CF; [0D 29 A2, 05, 05]
+1F79B; [0D 2C F9, 05, 05]
-1F7D0; [0D 29 A9, 05, 05]
+1F79C; [0D 2D 02, 05, 05]
-1F7D1; [0D 29 B0, 05, 05]
+1F79D; [0D 2D 09, 05, 05]
-1F7D2; [0D 29 B7, 05, 05]
+1F79E; [0D 2D 10, 05, 05]
-1F7D3; [0D 29 BE, 05, 05]
+1F79F; [0D 2D 17, 05, 05]
-1F7D4; [0D 29 C5, 05, 05]
+1F7A0; [0D 2D 1E, 05, 05]
-1F7D5; [0D 29 CC, 05, 05]
+1F7A1; [0D 2D 25, 05, 05]
-1F7D6; [0D 29 D3, 05, 05]
+1F7A2; [0D 2D 2C, 05, 05]
-1F7D7; [0D 29 DA, 05, 05]
+1F7A3; [0D 2D 33, 05, 05]
-1F7D8; [0D 29 E1, 05, 05]
+1F7A4; [0D 2D 3A, 05, 05]
-1F800; [0D 29 E8, 05, 05]
+1F7A5; [0D 2D 41, 05, 05]
-1F801; [0D 29 EF, 05, 05]
+1F7A6; [0D 2D 48, 05, 05]
-1F802; [0D 29 F6, 05, 05]
+1F7A7; [0D 2D 4F, 05, 05]
-1F803; [0D 29 FD, 05, 05]
+1F7A8; [0D 2D 56, 05, 05]
-1F804; [0D 2A 06, 05, 05]
+1F7A9; [0D 2D 5D, 05, 05]
-1F805; [0D 2A 0D, 05, 05]
+1F7AA; [0D 2D 64, 05, 05]
-1F806; [0D 2A 14, 05, 05]
+1F7AB; [0D 2D 6B, 05, 05]
-1F807; [0D 2A 1B, 05, 05]
+1F7AC; [0D 2D 72, 05, 05]
-1F808; [0D 2A 22, 05, 05]
+1F7AD; [0D 2D 79, 05, 05]
-1F809; [0D 2A 29, 05, 05]
+1F7AE; [0D 2D 80, 05, 05]
-1F80A; [0D 2A 30, 05, 05]
+1F7AF; [0D 2D 87, 05, 05]
-1F80B; [0D 2A 37, 05, 05]
+1F7B0; [0D 2D 8E, 05, 05]
-1F810; [0D 2A 3E, 05, 05]
+1F7B1; [0D 2D 95, 05, 05]
-1F811; [0D 2A 45, 05, 05]
+1F7B2; [0D 2D 9C, 05, 05]
-1F812; [0D 2A 4C, 05, 05]
+1F7B3; [0D 2D A3, 05, 05]
-1F813; [0D 2A 53, 05, 05]
+1F7B4; [0D 2D AA, 05, 05]
-1F814; [0D 2A 5A, 05, 05]
+1F7B5; [0D 2D B1, 05, 05]
-1F815; [0D 2A 61, 05, 05]
+1F7B6; [0D 2D B8, 05, 05]
-1F816; [0D 2A 68, 05, 05]
+1F7B7; [0D 2D BF, 05, 05]
-1F817; [0D 2A 6F, 05, 05]
+1F7B8; [0D 2D C6, 05, 05]
-1F818; [0D 2A 76, 05, 05]
+1F7B9; [0D 2D CD, 05, 05]
-1F819; [0D 2A 7D, 05, 05]
+1F7BA; [0D 2D D4, 05, 05]
-1F81A; [0D 2A 84, 05, 05]
+1F7BB; [0D 2D DB, 05, 05]
-1F81B; [0D 2A 8B, 05, 05]
+1F7BC; [0D 2D E2, 05, 05]
-1F81C; [0D 2A 92, 05, 05]
+1F7BD; [0D 2D E9, 05, 05]
-1F81D; [0D 2A 99, 05, 05]
+1F7BE; [0D 2D F0, 05, 05]
-1F81E; [0D 2A A0, 05, 05]
+1F7BF; [0D 2D F7, 05, 05]
-1F81F; [0D 2A A7, 05, 05]
+1F7C0; [0D 2D FE, 05, 05]
-1F820; [0D 2A AE, 05, 05]
+1F7C1; [0D 2E 07, 05, 05]
-1F821; [0D 2A B5, 05, 05]
+1F7C2; [0D 2E 0E, 05, 05]
-1F822; [0D 2A BC, 05, 05]
+1F7C3; [0D 2E 15, 05, 05]
-1F823; [0D 2A C3, 05, 05]
+1F7C4; [0D 2E 1C, 05, 05]
-1F824; [0D 2A CA, 05, 05]
+1F7C5; [0D 2E 23, 05, 05]
-1F825; [0D 2A D1, 05, 05]
+1F7C6; [0D 2E 2A, 05, 05]
-1F826; [0D 2A D8, 05, 05]
+1F7C7; [0D 2E 31, 05, 05]
-1F827; [0D 2A DF, 05, 05]
+1F7C8; [0D 2E 38, 05, 05]
-1F828; [0D 2A E6, 05, 05]
+1F7C9; [0D 2E 3F, 05, 05]
-1F829; [0D 2A ED, 05, 05]
+1F7CA; [0D 2E 46, 05, 05]
-1F82A; [0D 2A F4, 05, 05]
+1F7CB; [0D 2E 4D, 05, 05]
-1F82B; [0D 2A FB, 05, 05]
+1F7CC; [0D 2E 54, 05, 05]
-1F82C; [0D 2B 04, 05, 05]
+1F7CD; [0D 2E 5B, 05, 05]
-1F82D; [0D 2B 0B, 05, 05]
+1F7CE; [0D 2E 62, 05, 05]
-1F82E; [0D 2B 12, 05, 05]
+1F7CF; [0D 2E 69, 05, 05]
-1F82F; [0D 2B 19, 05, 05]
+1F7D0; [0D 2E 70, 05, 05]
-1F830; [0D 2B 20, 05, 05]
+1F7D1; [0D 2E 77, 05, 05]
-1F831; [0D 2B 27, 05, 05]
+1F7D2; [0D 2E 7E, 05, 05]
-1F832; [0D 2B 2E, 05, 05]
+1F7D3; [0D 2E 85, 05, 05]
-1F833; [0D 2B 35, 05, 05]
+1F7D4; [0D 2E 8C, 05, 05]
-1F834; [0D 2B 3C, 05, 05]
+1F7D5; [0D 2E 93, 05, 05]
-1F835; [0D 2B 43, 05, 05]
+1F7D6; [0D 2E 9A, 05, 05]
-1F836; [0D 2B 4A, 05, 05]
+1F7D7; [0D 2E A1, 05, 05]
-1F837; [0D 2B 51, 05, 05]
+1F7D8; [0D 2E A8, 05, 05]
-1F838; [0D 2B 58, 05, 05]
+1F7E0; [0D 2E AF, 05, 05]
-1F839; [0D 2B 5F, 05, 05]
+1F7E1; [0D 2E B6, 05, 05]
-1F83A; [0D 2B 66, 05, 05]
+1F7E2; [0D 2E BD, 05, 05]
-1F83B; [0D 2B 6D, 05, 05]
+1F7E3; [0D 2E C4, 05, 05]
-1F83C; [0D 2B 74, 05, 05]
+1F7E4; [0D 2E CB, 05, 05]
-1F83D; [0D 2B 7B, 05, 05]
+1F7E5; [0D 2E D2, 05, 05]
-1F83E; [0D 2B 82, 05, 05]
+1F7E6; [0D 2E D9, 05, 05]
-1F83F; [0D 2B 89, 05, 05]
+1F7E7; [0D 2E E0, 05, 05]
-1F840; [0D 2B 90, 05, 05]
+1F7E8; [0D 2E E7, 05, 05]
-1F841; [0D 2B 97, 05, 05]
+1F7E9; [0D 2E EE, 05, 05]
-1F842; [0D 2B 9E, 05, 05]
+1F7EA; [0D 2E F5, 05, 05]
-1F843; [0D 2B A5, 05, 05]
+1F7EB; [0D 2E FC, 05, 05]
-1F844; [0D 2B AC, 05, 05]
+1F800; [0D 2F 05, 05, 05]
-1F845; [0D 2B B3, 05, 05]
+1F801; [0D 2F 0C, 05, 05]
-1F846; [0D 2B BA, 05, 05]
+1F802; [0D 2F 13, 05, 05]
-1F847; [0D 2B C1, 05, 05]
+1F803; [0D 2F 1A, 05, 05]
-1F850; [0D 2B C8, 05, 05]
+1F804; [0D 2F 21, 05, 05]
-1F851; [0D 2B CF, 05, 05]
+1F805; [0D 2F 28, 05, 05]
-1F852; [0D 2B D6, 05, 05]
+1F806; [0D 2F 2F, 05, 05]
-1F853; [0D 2B DD, 05, 05]
+1F807; [0D 2F 36, 05, 05]
-1F854; [0D 2B E4, 05, 05]
+1F808; [0D 2F 3D, 05, 05]
-1F855; [0D 2B EB, 05, 05]
+1F809; [0D 2F 44, 05, 05]
-1F856; [0D 2B F2, 05, 05]
+1F80A; [0D 2F 4B, 05, 05]
-1F857; [0D 2B F9, 05, 05]
+1F80B; [0D 2F 52, 05, 05]
-1F858; [0D 2C 02, 05, 05]
+1F810; [0D 2F 59, 05, 05]
-1F859; [0D 2C 09, 05, 05]
+1F811; [0D 2F 60, 05, 05]
-1F860; [0D 2C 10, 05, 05]
+1F812; [0D 2F 67, 05, 05]
-1F861; [0D 2C 17, 05, 05]
+1F813; [0D 2F 6E, 05, 05]
-1F862; [0D 2C 1E, 05, 05]
+1F814; [0D 2F 75, 05, 05]
-1F863; [0D 2C 25, 05, 05]
+1F815; [0D 2F 7C, 05, 05]
-1F864; [0D 2C 2C, 05, 05]
+1F816; [0D 2F 83, 05, 05]
-1F865; [0D 2C 33, 05, 05]
+1F817; [0D 2F 8A, 05, 05]
-1F866; [0D 2C 3A, 05, 05]
+1F818; [0D 2F 91, 05, 05]
-1F867; [0D 2C 41, 05, 05]
+1F819; [0D 2F 98, 05, 05]
-1F868; [0D 2C 48, 05, 05]
+1F81A; [0D 2F 9F, 05, 05]
-1F869; [0D 2C 4F, 05, 05]
+1F81B; [0D 2F A6, 05, 05]
-1F86A; [0D 2C 56, 05, 05]
+1F81C; [0D 2F AD, 05, 05]
-1F86B; [0D 2C 5D, 05, 05]
+1F81D; [0D 2F B4, 05, 05]
-1F86C; [0D 2C 64, 05, 05]
+1F81E; [0D 2F BB, 05, 05]
-1F86D; [0D 2C 6B, 05, 05]
+1F81F; [0D 2F C2, 05, 05]
-1F86E; [0D 2C 72, 05, 05]
+1F820; [0D 2F C9, 05, 05]
-1F86F; [0D 2C 79, 05, 05]
+1F821; [0D 2F D0, 05, 05]
-1F870; [0D 2C 80, 05, 05]
+1F822; [0D 2F D7, 05, 05]
-1F871; [0D 2C 87, 05, 05]
+1F823; [0D 2F DE, 05, 05]
-1F872; [0D 2C 8E, 05, 05]
+1F824; [0D 2F E5, 05, 05]
-1F873; [0D 2C 95, 05, 05]
+1F825; [0D 2F EC, 05, 05]
-1F874; [0D 2C 9C, 05, 05]
+1F826; [0D 2F F3, 05, 05]
-1F875; [0D 2C A3, 05, 05]
+1F827; [0D 2F FA, 05, 05]
-1F876; [0D 2C AA, 05, 05]
+1F828; [0D 30 03, 05, 05]
-1F877; [0D 2C B1, 05, 05]
+1F829; [0D 30 0A, 05, 05]
-1F878; [0D 2C B8, 05, 05]
+1F82A; [0D 30 11, 05, 05]
-1F879; [0D 2C BF, 05, 05]
+1F82B; [0D 30 18, 05, 05]
-1F87A; [0D 2C C6, 05, 05]
+1F82C; [0D 30 1F, 05, 05]
-1F87B; [0D 2C CD, 05, 05]
+1F82D; [0D 30 26, 05, 05]
-1F87C; [0D 2C D4, 05, 05]
+1F82E; [0D 30 2D, 05, 05]
-1F87D; [0D 2C DB, 05, 05]
+1F82F; [0D 30 34, 05, 05]
-1F87E; [0D 2C E2, 05, 05]
+1F830; [0D 30 3B, 05, 05]
-1F87F; [0D 2C E9, 05, 05]
+1F831; [0D 30 42, 05, 05]
-1F880; [0D 2C F0, 05, 05]
+1F832; [0D 30 49, 05, 05]
-1F881; [0D 2C F7, 05, 05]
+1F833; [0D 30 50, 05, 05]
-1F882; [0D 2C FE, 05, 05]
+1F834; [0D 30 57, 05, 05]
-1F883; [0D 2D 07, 05, 05]
+1F835; [0D 30 5E, 05, 05]
-1F884; [0D 2D 0E, 05, 05]
+1F836; [0D 30 65, 05, 05]
-1F885; [0D 2D 15, 05, 05]
+1F837; [0D 30 6C, 05, 05]
-1F886; [0D 2D 1C, 05, 05]
+1F838; [0D 30 73, 05, 05]
-1F887; [0D 2D 23, 05, 05]
+1F839; [0D 30 7A, 05, 05]
-1F890; [0D 2D 2A, 05, 05]
+1F83A; [0D 30 81, 05, 05]
-1F891; [0D 2D 31, 05, 05]
+1F83B; [0D 30 88, 05, 05]
-1F892; [0D 2D 38, 05, 05]
+1F83C; [0D 30 8F, 05, 05]
-1F893; [0D 2D 3F, 05, 05]
+1F83D; [0D 30 96, 05, 05]
-1F894; [0D 2D 46, 05, 05]
+1F83E; [0D 30 9D, 05, 05]
-1F895; [0D 2D 4D, 05, 05]
+1F83F; [0D 30 A4, 05, 05]
-1F896; [0D 2D 54, 05, 05]
+1F840; [0D 30 AB, 05, 05]
-1F897; [0D 2D 5B, 05, 05]
+1F841; [0D 30 B2, 05, 05]
-1F898; [0D 2D 62, 05, 05]
+1F842; [0D 30 B9, 05, 05]
-1F899; [0D 2D 69, 05, 05]
+1F843; [0D 30 C0, 05, 05]
-1F89A; [0D 2D 70, 05, 05]
+1F844; [0D 30 C7, 05, 05]
-1F89B; [0D 2D 77, 05, 05]
+1F845; [0D 30 CE, 05, 05]
-1F89C; [0D 2D 7E, 05, 05]
+1F846; [0D 30 D5, 05, 05]
-1F89D; [0D 2D 85, 05, 05]
+1F847; [0D 30 DC, 05, 05]
-1F89E; [0D 2D 8C, 05, 05]
+1F850; [0D 30 E3, 05, 05]
-1F89F; [0D 2D 93, 05, 05]
+1F851; [0D 30 EA, 05, 05]
-1F8A0; [0D 2D 9A, 05, 05]
+1F852; [0D 30 F1, 05, 05]
-1F8A1; [0D 2D A1, 05, 05]
+1F853; [0D 30 F8, 05, 05]
-1F8A2; [0D 2D A8, 05, 05]
+1F854; [0D 30 FF, 05, 05]
-1F8A3; [0D 2D AF, 05, 05]
+1F855; [0D 31 08, 05, 05]
-1F8A4; [0D 2D B6, 05, 05]
+1F856; [0D 31 0F, 05, 05]
-1F8A5; [0D 2D BD, 05, 05]
+1F857; [0D 31 16, 05, 05]
-1F8A6; [0D 2D C4, 05, 05]
+1F858; [0D 31 1D, 05, 05]
-1F8A7; [0D 2D CB, 05, 05]
+1F859; [0D 31 24, 05, 05]
-1F8A8; [0D 2D D2, 05, 05]
+1F860; [0D 31 2B, 05, 05]
-1F8A9; [0D 2D D9, 05, 05]
+1F861; [0D 31 32, 05, 05]
-1F8AA; [0D 2D E0, 05, 05]
+1F862; [0D 31 39, 05, 05]
-1F8AB; [0D 2D E7, 05, 05]
+1F863; [0D 31 40, 05, 05]
-1F8AC; [0D 2D EE, 05, 05]
+1F864; [0D 31 47, 05, 05]
-1F8AD; [0D 2D F5, 05, 05]
+1F865; [0D 31 4E, 05, 05]
-1D800; [0D 2D FC, 05, 05]
+1F866; [0D 31 55, 05, 05]
-1D801; [0D 2E 05, 05, 05]
+1F867; [0D 31 5C, 05, 05]
-1D802; [0D 2E 0C, 05, 05]
+1F868; [0D 31 63, 05, 05]
-1D803; [0D 2E 13, 05, 05]
+1F869; [0D 31 6A, 05, 05]
-1D804; [0D 2E 1A, 05, 05]
+1F86A; [0D 31 71, 05, 05]
-1D805; [0D 2E 21, 05, 05]
+1F86B; [0D 31 78, 05, 05]
-1D806; [0D 2E 28, 05, 05]
+1F86C; [0D 31 7F, 05, 05]
-1D807; [0D 2E 2F, 05, 05]
+1F86D; [0D 31 86, 05, 05]
-1D808; [0D 2E 36, 05, 05]
+1F86E; [0D 31 8D, 05, 05]
-1D809; [0D 2E 3D, 05, 05]
+1F86F; [0D 31 94, 05, 05]
-1D80A; [0D 2E 44, 05, 05]
+1F870; [0D 31 9B, 05, 05]
-1D80B; [0D 2E 4B, 05, 05]
+1F871; [0D 31 A2, 05, 05]
-1D80C; [0D 2E 52, 05, 05]
+1F872; [0D 31 A9, 05, 05]
-1D80D; [0D 2E 59, 05, 05]
+1F873; [0D 31 B0, 05, 05]
-1D80E; [0D 2E 60, 05, 05]
+1F874; [0D 31 B7, 05, 05]
-1D80F; [0D 2E 67, 05, 05]
+1F875; [0D 31 BE, 05, 05]
-1D810; [0D 2E 6E, 05, 05]
+1F876; [0D 31 C5, 05, 05]
-1D811; [0D 2E 75, 05, 05]
+1F877; [0D 31 CC, 05, 05]
-1D812; [0D 2E 7C, 05, 05]
+1F878; [0D 31 D3, 05, 05]
-1D813; [0D 2E 83, 05, 05]
+1F879; [0D 31 DA, 05, 05]
-1D814; [0D 2E 8A, 05, 05]
+1F87A; [0D 31 E1, 05, 05]
-1D815; [0D 2E 91, 05, 05]
+1F87B; [0D 31 E8, 05, 05]
-1D816; [0D 2E 98, 05, 05]
+1F87C; [0D 31 EF, 05, 05]
-1D817; [0D 2E 9F, 05, 05]
+1F87D; [0D 31 F6, 05, 05]
-1D818; [0D 2E A6, 05, 05]
+1F87E; [0D 31 FD, 05, 05]
-1D819; [0D 2E AD, 05, 05]
+1F87F; [0D 32 06, 05, 05]
-1D81A; [0D 2E B4, 05, 05]
+1F880; [0D 32 0D, 05, 05]
-1D81B; [0D 2E BB, 05, 05]
+1F881; [0D 32 14, 05, 05]
-1D81C; [0D 2E C2, 05, 05]
+1F882; [0D 32 1B, 05, 05]
-1D81D; [0D 2E C9, 05, 05]
+1F883; [0D 32 22, 05, 05]
-1D81E; [0D 2E D0, 05, 05]
+1F884; [0D 32 29, 05, 05]
-1D81F; [0D 2E D7, 05, 05]
+1F885; [0D 32 30, 05, 05]
-1D820; [0D 2E DE, 05, 05]
+1F886; [0D 32 37, 05, 05]
-1D821; [0D 2E E5, 05, 05]
+1F887; [0D 32 3E, 05, 05]
-1D822; [0D 2E EC, 05, 05]
+1F890; [0D 32 45, 05, 05]
-1D823; [0D 2E F3, 05, 05]
+1F891; [0D 32 4C, 05, 05]
-1D824; [0D 2E FA, 05, 05]
+1F892; [0D 32 53, 05, 05]
-1D825; [0D 2F 03, 05, 05]
+1F893; [0D 32 5A, 05, 05]
-1D826; [0D 2F 0A, 05, 05]
+1F894; [0D 32 61, 05, 05]
-1D827; [0D 2F 11, 05, 05]
+1F895; [0D 32 68, 05, 05]
-1D828; [0D 2F 18, 05, 05]
+1F896; [0D 32 6F, 05, 05]
-1D829; [0D 2F 1F, 05, 05]
+1F897; [0D 32 76, 05, 05]
-1D82A; [0D 2F 26, 05, 05]
+1F898; [0D 32 7D, 05, 05]
-1D82B; [0D 2F 2D, 05, 05]
+1F899; [0D 32 84, 05, 05]
-1D82C; [0D 2F 34, 05, 05]
+1F89A; [0D 32 8B, 05, 05]
-1D82D; [0D 2F 3B, 05, 05]
+1F89B; [0D 32 92, 05, 05]
-1D82E; [0D 2F 42, 05, 05]
+1F89C; [0D 32 99, 05, 05]
-1D82F; [0D 2F 49, 05, 05]
+1F89D; [0D 32 A0, 05, 05]
-1D830; [0D 2F 50, 05, 05]
+1F89E; [0D 32 A7, 05, 05]
-1D831; [0D 2F 57, 05, 05]
+1F89F; [0D 32 AE, 05, 05]
-1D832; [0D 2F 5E, 05, 05]
+1F8A0; [0D 32 B5, 05, 05]
-1D833; [0D 2F 65, 05, 05]
+1F8A1; [0D 32 BC, 05, 05]
-1D834; [0D 2F 6C, 05, 05]
+1F8A2; [0D 32 C3, 05, 05]
-1D835; [0D 2F 73, 05, 05]
+1F8A3; [0D 32 CA, 05, 05]
-1D836; [0D 2F 7A, 05, 05]
+1F8A4; [0D 32 D1, 05, 05]
-1D837; [0D 2F 81, 05, 05]
+1F8A5; [0D 32 D8, 05, 05]
-1D838; [0D 2F 88, 05, 05]
+1F8A6; [0D 32 DF, 05, 05]
-1D839; [0D 2F 8F, 05, 05]
+1F8A7; [0D 32 E6, 05, 05]
-1D83A; [0D 2F 96, 05, 05]
+1F8A8; [0D 32 ED, 05, 05]
-1D83B; [0D 2F 9D, 05, 05]
+1F8A9; [0D 32 F4, 05, 05]
-1D83C; [0D 2F A4, 05, 05]
+1F8AA; [0D 32 FB, 05, 05]
-1D83D; [0D 2F AB, 05, 05]
+1F8AB; [0D 33 04, 05, 05]
-1D83E; [0D 2F B2, 05, 05]
+1F8AC; [0D 33 0B, 05, 05]
-1D83F; [0D 2F B9, 05, 05]
+1F8AD; [0D 33 12, 05, 05]
-1D840; [0D 2F C0, 05, 05]
+1D800; [0D 33 19, 05, 05]
-1D841; [0D 2F C7, 05, 05]
+1D801; [0D 33 20, 05, 05]
-1D842; [0D 2F CE, 05, 05]
+1D802; [0D 33 27, 05, 05]
-1D843; [0D 2F D5, 05, 05]
+1D803; [0D 33 2E, 05, 05]
-1D844; [0D 2F DC, 05, 05]
+1D804; [0D 33 35, 05, 05]
-1D845; [0D 2F E3, 05, 05]
+1D805; [0D 33 3C, 05, 05]
-1D846; [0D 2F EA, 05, 05]
+1D806; [0D 33 43, 05, 05]
-1D847; [0D 2F F1, 05, 05]
+1D807; [0D 33 4A, 05, 05]
-1D848; [0D 2F F8, 05, 05]
+1D808; [0D 33 51, 05, 05]
-1D849; [0D 2F FF, 05, 05]
+1D809; [0D 33 58, 05, 05]
-1D84A; [0D 30 08, 05, 05]
+1D80A; [0D 33 5F, 05, 05]
-1D84B; [0D 30 0F, 05, 05]
+1D80B; [0D 33 66, 05, 05]
-1D84C; [0D 30 16, 05, 05]
+1D80C; [0D 33 6D, 05, 05]
-1D84D; [0D 30 1D, 05, 05]
+1D80D; [0D 33 74, 05, 05]
-1D84E; [0D 30 24, 05, 05]
+1D80E; [0D 33 7B, 05, 05]
-1D84F; [0D 30 2B, 05, 05]
+1D80F; [0D 33 82, 05, 05]
-1D850; [0D 30 32, 05, 05]
+1D810; [0D 33 89, 05, 05]
-1D851; [0D 30 39, 05, 05]
+1D811; [0D 33 90, 05, 05]
-1D852; [0D 30 40, 05, 05]
+1D812; [0D 33 97, 05, 05]
-1D853; [0D 30 47, 05, 05]
+1D813; [0D 33 9E, 05, 05]
-1D854; [0D 30 4E, 05, 05]
+1D814; [0D 33 A5, 05, 05]
-1D855; [0D 30 55, 05, 05]
+1D815; [0D 33 AC, 05, 05]
-1D856; [0D 30 5C, 05, 05]
+1D816; [0D 33 B3, 05, 05]
-1D857; [0D 30 63, 05, 05]
+1D817; [0D 33 BA, 05, 05]
-1D858; [0D 30 6A, 05, 05]
+1D818; [0D 33 C1, 05, 05]
-1D859; [0D 30 71, 05, 05]
+1D819; [0D 33 C8, 05, 05]
-1D85A; [0D 30 78, 05, 05]
+1D81A; [0D 33 CF, 05, 05]
-1D85B; [0D 30 7F, 05, 05]
+1D81B; [0D 33 D6, 05, 05]
-1D85C; [0D 30 86, 05, 05]
+1D81C; [0D 33 DD, 05, 05]
-1D85D; [0D 30 8D, 05, 05]
+1D81D; [0D 33 E4, 05, 05]
-1D85E; [0D 30 94, 05, 05]
+1D81E; [0D 33 EB, 05, 05]
-1D85F; [0D 30 9B, 05, 05]
+1D81F; [0D 33 F2, 05, 05]
-1D860; [0D 30 A2, 05, 05]
+1D820; [0D 33 F9, 05, 05]
-1D861; [0D 30 A9, 05, 05]
+1D821; [0D 34 02, 05, 05]
-1D862; [0D 30 B0, 05, 05]
+1D822; [0D 34 09, 05, 05]
-1D863; [0D 30 B7, 05, 05]
+1D823; [0D 34 10, 05, 05]
-1D864; [0D 30 BE, 05, 05]
+1D824; [0D 34 17, 05, 05]
-1D865; [0D 30 C5, 05, 05]
+1D825; [0D 34 1E, 05, 05]
-1D866; [0D 30 CC, 05, 05]
+1D826; [0D 34 25, 05, 05]
-1D867; [0D 30 D3, 05, 05]
+1D827; [0D 34 2C, 05, 05]
-1D868; [0D 30 DA, 05, 05]
+1D828; [0D 34 33, 05, 05]
-1D869; [0D 30 E1, 05, 05]
+1D829; [0D 34 3A, 05, 05]
-1D86A; [0D 30 E8, 05, 05]
+1D82A; [0D 34 41, 05, 05]
-1D86B; [0D 30 EF, 05, 05]
+1D82B; [0D 34 48, 05, 05]
-1D86C; [0D 30 F6, 05, 05]
+1D82C; [0D 34 4F, 05, 05]
-1D86D; [0D 30 FD, 05, 05]
+1D82D; [0D 34 56, 05, 05]
-1D86E; [0D 31 06, 05, 05]
+1D82E; [0D 34 5D, 05, 05]
-1D86F; [0D 31 0D, 05, 05]
+1D82F; [0D 34 64, 05, 05]
-1D870; [0D 31 14, 05, 05]
+1D830; [0D 34 6B, 05, 05]
-1D871; [0D 31 1B, 05, 05]
+1D831; [0D 34 72, 05, 05]
-1D872; [0D 31 22, 05, 05]
+1D832; [0D 34 79, 05, 05]
-1D873; [0D 31 29, 05, 05]
+1D833; [0D 34 80, 05, 05]
-1D874; [0D 31 30, 05, 05]
+1D834; [0D 34 87, 05, 05]
-1D875; [0D 31 37, 05, 05]
+1D835; [0D 34 8E, 05, 05]
-1D876; [0D 31 3E, 05, 05]
+1D836; [0D 34 95, 05, 05]
-1D877; [0D 31 45, 05, 05]
+1D837; [0D 34 9C, 05, 05]
-1D878; [0D 31 4C, 05, 05]
+1D838; [0D 34 A3, 05, 05]
-1D879; [0D 31 53, 05, 05]
+1D839; [0D 34 AA, 05, 05]
-1D87A; [0D 31 5A, 05, 05]
+1D83A; [0D 34 B1, 05, 05]
-1D87B; [0D 31 61, 05, 05]
+1D83B; [0D 34 B8, 05, 05]
-1D87C; [0D 31 68, 05, 05]
+1D83C; [0D 34 BF, 05, 05]
-1D87D; [0D 31 6F, 05, 05]
+1D83D; [0D 34 C6, 05, 05]
-1D87E; [0D 31 76, 05, 05]
+1D83E; [0D 34 CD, 05, 05]
-1D87F; [0D 31 7D, 05, 05]
+1D83F; [0D 34 D4, 05, 05]
-1D880; [0D 31 84, 05, 05]
+1D840; [0D 34 DB, 05, 05]
-1D881; [0D 31 8B, 05, 05]
+1D841; [0D 34 E2, 05, 05]
-1D882; [0D 31 92, 05, 05]
+1D842; [0D 34 E9, 05, 05]
-1D883; [0D 31 99, 05, 05]
+1D843; [0D 34 F0, 05, 05]
-1D884; [0D 31 A0, 05, 05]
+1D844; [0D 34 F7, 05, 05]
-1D885; [0D 31 A7, 05, 05]
+1D845; [0D 34 FE, 05, 05]
-1D886; [0D 31 AE, 05, 05]
+1D846; [0D 35 07, 05, 05]
-1D887; [0D 31 B5, 05, 05]
+1D847; [0D 35 0E, 05, 05]
-1D888; [0D 31 BC, 05, 05]
+1D848; [0D 35 15, 05, 05]
-1D889; [0D 31 C3, 05, 05]
+1D849; [0D 35 1C, 05, 05]
-1D88A; [0D 31 CA, 05, 05]
+1D84A; [0D 35 23, 05, 05]
-1D88B; [0D 31 D1, 05, 05]
+1D84B; [0D 35 2A, 05, 05]
-1D88C; [0D 31 D8, 05, 05]
+1D84C; [0D 35 31, 05, 05]
-1D88D; [0D 31 DF, 05, 05]
+1D84D; [0D 35 38, 05, 05]
-1D88E; [0D 31 E6, 05, 05]
+1D84E; [0D 35 3F, 05, 05]
-1D88F; [0D 31 ED, 05, 05]
+1D84F; [0D 35 46, 05, 05]
-1D890; [0D 31 F4, 05, 05]
+1D850; [0D 35 4D, 05, 05]
-1D891; [0D 31 FB, 05, 05]
+1D851; [0D 35 54, 05, 05]
-1D892; [0D 32 04, 05, 05]
+1D852; [0D 35 5B, 05, 05]
-1D893; [0D 32 0B, 05, 05]
+1D853; [0D 35 62, 05, 05]
-1D894; [0D 32 12, 05, 05]
+1D854; [0D 35 69, 05, 05]
-1D895; [0D 32 19, 05, 05]
+1D855; [0D 35 70, 05, 05]
-1D896; [0D 32 20, 05, 05]
+1D856; [0D 35 77, 05, 05]
-1D897; [0D 32 27, 05, 05]
+1D857; [0D 35 7E, 05, 05]
-1D898; [0D 32 2E, 05, 05]
+1D858; [0D 35 85, 05, 05]
-1D899; [0D 32 35, 05, 05]
+1D859; [0D 35 8C, 05, 05]
-1D89A; [0D 32 3C, 05, 05]
+1D85A; [0D 35 93, 05, 05]
-1D89B; [0D 32 43, 05, 05]
+1D85B; [0D 35 9A, 05, 05]
-1D89C; [0D 32 4A, 05, 05]
+1D85C; [0D 35 A1, 05, 05]
-1D89D; [0D 32 51, 05, 05]
+1D85D; [0D 35 A8, 05, 05]
-1D89E; [0D 32 58, 05, 05]
+1D85E; [0D 35 AF, 05, 05]
-1D89F; [0D 32 5F, 05, 05]
+1D85F; [0D 35 B6, 05, 05]
-1D8A0; [0D 32 66, 05, 05]
+1D860; [0D 35 BD, 05, 05]
-1D8A1; [0D 32 6D, 05, 05]
+1D861; [0D 35 C4, 05, 05]
-1D8A2; [0D 32 74, 05, 05]
+1D862; [0D 35 CB, 05, 05]
-1D8A3; [0D 32 7B, 05, 05]
+1D863; [0D 35 D2, 05, 05]
-1D8A4; [0D 32 82, 05, 05]
+1D864; [0D 35 D9, 05, 05]
-1D8A5; [0D 32 89, 05, 05]
+1D865; [0D 35 E0, 05, 05]
-1D8A6; [0D 32 90, 05, 05]
+1D866; [0D 35 E7, 05, 05]
-1D8A7; [0D 32 97, 05, 05]
+1D867; [0D 35 EE, 05, 05]
-1D8A8; [0D 32 9E, 05, 05]
+1D868; [0D 35 F5, 05, 05]
-1D8A9; [0D 32 A5, 05, 05]
+1D869; [0D 35 FC, 05, 05]
-1D8AA; [0D 32 AC, 05, 05]
+1D86A; [0D 36 05, 05, 05]
-1D8AB; [0D 32 B3, 05, 05]
+1D86B; [0D 36 0C, 05, 05]
-1D8AC; [0D 32 BA, 05, 05]
+1D86C; [0D 36 13, 05, 05]
-1D8AD; [0D 32 C1, 05, 05]
+1D86D; [0D 36 1A, 05, 05]
-1D8AE; [0D 32 C8, 05, 05]
+1D86E; [0D 36 21, 05, 05]
-1D8AF; [0D 32 CF, 05, 05]
+1D86F; [0D 36 28, 05, 05]
-1D8B0; [0D 32 D6, 05, 05]
+1D870; [0D 36 2F, 05, 05]
-1D8B1; [0D 32 DD, 05, 05]
+1D871; [0D 36 36, 05, 05]
-1D8B2; [0D 32 E4, 05, 05]
+1D872; [0D 36 3D, 05, 05]
-1D8B3; [0D 32 EB, 05, 05]
+1D873; [0D 36 44, 05, 05]
-1D8B4; [0D 32 F2, 05, 05]
+1D874; [0D 36 4B, 05, 05]
-1D8B5; [0D 32 F9, 05, 05]
+1D875; [0D 36 52, 05, 05]
-1D8B6; [0D 33 02, 05, 05]
+1D876; [0D 36 59, 05, 05]
-1D8B7; [0D 33 09, 05, 05]
+1D877; [0D 36 60, 05, 05]
-1D8B8; [0D 33 10, 05, 05]
+1D878; [0D 36 67, 05, 05]
-1D8B9; [0D 33 17, 05, 05]
+1D879; [0D 36 6E, 05, 05]
-1D8BA; [0D 33 1E, 05, 05]
+1D87A; [0D 36 75, 05, 05]
-1D8BB; [0D 33 25, 05, 05]
+1D87B; [0D 36 7C, 05, 05]
-1D8BC; [0D 33 2C, 05, 05]
+1D87C; [0D 36 83, 05, 05]
-1D8BD; [0D 33 33, 05, 05]
+1D87D; [0D 36 8A, 05, 05]
-1D8BE; [0D 33 3A, 05, 05]
+1D87E; [0D 36 91, 05, 05]
-1D8BF; [0D 33 41, 05, 05]
+1D87F; [0D 36 98, 05, 05]
-1D8C0; [0D 33 48, 05, 05]
+1D880; [0D 36 9F, 05, 05]
-1D8C1; [0D 33 4F, 05, 05]
+1D881; [0D 36 A6, 05, 05]
-1D8C2; [0D 33 56, 05, 05]
+1D882; [0D 36 AD, 05, 05]
-1D8C3; [0D 33 5D, 05, 05]
+1D883; [0D 36 B4, 05, 05]
-1D8C4; [0D 33 64, 05, 05]
+1D884; [0D 36 BB, 05, 05]
-1D8C5; [0D 33 6B, 05, 05]
+1D885; [0D 36 C2, 05, 05]
-1D8C6; [0D 33 72, 05, 05]
+1D886; [0D 36 C9, 05, 05]
-1D8C7; [0D 33 79, 05, 05]
+1D887; [0D 36 D0, 05, 05]
-1D8C8; [0D 33 80, 05, 05]
+1D888; [0D 36 D7, 05, 05]
-1D8C9; [0D 33 87, 05, 05]
+1D889; [0D 36 DE, 05, 05]
-1D8CA; [0D 33 8E, 05, 05]
+1D88A; [0D 36 E5, 05, 05]
-1D8CB; [0D 33 95, 05, 05]
+1D88B; [0D 36 EC, 05, 05]
-1D8CC; [0D 33 9C, 05, 05]
+1D88C; [0D 36 F3, 05, 05]
-1D8CD; [0D 33 A3, 05, 05]
+1D88D; [0D 36 FA, 05, 05]
-1D8CE; [0D 33 AA, 05, 05]
+1D88E; [0D 37 03, 05, 05]
-1D8CF; [0D 33 B1, 05, 05]
+1D88F; [0D 37 0A, 05, 05]
-1D8D0; [0D 33 B8, 05, 05]
+1D890; [0D 37 11, 05, 05]
-1D8D1; [0D 33 BF, 05, 05]
+1D891; [0D 37 18, 05, 05]
-1D8D2; [0D 33 C6, 05, 05]
+1D892; [0D 37 1F, 05, 05]
-1D8D3; [0D 33 CD, 05, 05]
+1D893; [0D 37 26, 05, 05]
-1D8D4; [0D 33 D4, 05, 05]
+1D894; [0D 37 2D, 05, 05]
-1D8D5; [0D 33 DB, 05, 05]
+1D895; [0D 37 34, 05, 05]
-1D8D6; [0D 33 E2, 05, 05]
+1D896; [0D 37 3B, 05, 05]
-1D8D7; [0D 33 E9, 05, 05]
+1D897; [0D 37 42, 05, 05]
-1D8D8; [0D 33 F0, 05, 05]
+1D898; [0D 37 49, 05, 05]
-1D8D9; [0D 33 F7, 05, 05]
+1D899; [0D 37 50, 05, 05]
-1D8DA; [0D 33 FE, 05, 05]
+1D89A; [0D 37 57, 05, 05]
-1D8DB; [0D 34 07, 05, 05]
+1D89B; [0D 37 5E, 05, 05]
-1D8DC; [0D 34 0E, 05, 05]
+1D89C; [0D 37 65, 05, 05]
-1D8DD; [0D 34 15, 05, 05]
+1D89D; [0D 37 6C, 05, 05]
-1D8DE; [0D 34 1C, 05, 05]
+1D89E; [0D 37 73, 05, 05]
-1D8DF; [0D 34 23, 05, 05]
+1D89F; [0D 37 7A, 05, 05]
-1D8E0; [0D 34 2A, 05, 05]
+1D8A0; [0D 37 81, 05, 05]
-1D8E1; [0D 34 31, 05, 05]
+1D8A1; [0D 37 88, 05, 05]
-1D8E2; [0D 34 38, 05, 05]
+1D8A2; [0D 37 8F, 05, 05]
-1D8E3; [0D 34 3F, 05, 05]
+1D8A3; [0D 37 96, 05, 05]
-1D8E4; [0D 34 46, 05, 05]
+1D8A4; [0D 37 9D, 05, 05]
-1D8E5; [0D 34 4D, 05, 05]
+1D8A5; [0D 37 A4, 05, 05]
-1D8E6; [0D 34 54, 05, 05]
+1D8A6; [0D 37 AB, 05, 05]
-1D8E7; [0D 34 5B, 05, 05]
+1D8A7; [0D 37 B2, 05, 05]
-1D8E8; [0D 34 62, 05, 05]
+1D8A8; [0D 37 B9, 05, 05]
-1D8E9; [0D 34 69, 05, 05]
+1D8A9; [0D 37 C0, 05, 05]
-1D8EA; [0D 34 70, 05, 05]
+1D8AA; [0D 37 C7, 05, 05]
-1D8EB; [0D 34 77, 05, 05]
+1D8AB; [0D 37 CE, 05, 05]
-1D8EC; [0D 34 7E, 05, 05]
+1D8AC; [0D 37 D5, 05, 05]
-1D8ED; [0D 34 85, 05, 05]
+1D8AD; [0D 37 DC, 05, 05]
-1D8EE; [0D 34 8C, 05, 05]
+1D8AE; [0D 37 E3, 05, 05]
-1D8EF; [0D 34 93, 05, 05]
+1D8AF; [0D 37 EA, 05, 05]
-1D8F0; [0D 34 9A, 05, 05]
+1D8B0; [0D 37 F1, 05, 05]
-1D8F1; [0D 34 A1, 05, 05]
+1D8B1; [0D 37 F8, 05, 05]
-1D8F2; [0D 34 A8, 05, 05]
+1D8B2; [0D 37 FF, 05, 05]
-1D8F3; [0D 34 AF, 05, 05]
+1D8B3; [0D 38 08, 05, 05]
-1D8F4; [0D 34 B6, 05, 05]
+1D8B4; [0D 38 0F, 05, 05]
-1D8F5; [0D 34 BD, 05, 05]
+1D8B5; [0D 38 16, 05, 05]
-1D8F6; [0D 34 C4, 05, 05]
+1D8B6; [0D 38 1D, 05, 05]
-1D8F7; [0D 34 CB, 05, 05]
+1D8B7; [0D 38 24, 05, 05]
-1D8F8; [0D 34 D2, 05, 05]
+1D8B8; [0D 38 2B, 05, 05]
-1D8F9; [0D 34 D9, 05, 05]
+1D8B9; [0D 38 32, 05, 05]
-1D8FA; [0D 34 E0, 05, 05]
+1D8BA; [0D 38 39, 05, 05]
-1D8FB; [0D 34 E7, 05, 05]
+1D8BB; [0D 38 40, 05, 05]
-1D8FC; [0D 34 EE, 05, 05]
+1D8BC; [0D 38 47, 05, 05]
-1D8FD; [0D 34 F5, 05, 05]
+1D8BD; [0D 38 4E, 05, 05]
-1D8FE; [0D 34 FC, 05, 05]
+1D8BE; [0D 38 55, 05, 05]
-1D8FF; [0D 35 05, 05, 05]
+1D8BF; [0D 38 5C, 05, 05]
-1D900; [0D 35 0C, 05, 05]
+1D8C0; [0D 38 63, 05, 05]
-1D901; [0D 35 13, 05, 05]
+1D8C1; [0D 38 6A, 05, 05]
-1D902; [0D 35 1A, 05, 05]
+1D8C2; [0D 38 71, 05, 05]
-1D903; [0D 35 21, 05, 05]
+1D8C3; [0D 38 78, 05, 05]
-1D904; [0D 35 28, 05, 05]
+1D8C4; [0D 38 7F, 05, 05]
-1D905; [0D 35 2F, 05, 05]
+1D8C5; [0D 38 86, 05, 05]
-1D906; [0D 35 36, 05, 05]
+1D8C6; [0D 38 8D, 05, 05]
-1D907; [0D 35 3D, 05, 05]
+1D8C7; [0D 38 94, 05, 05]
-1D908; [0D 35 44, 05, 05]
+1D8C8; [0D 38 9B, 05, 05]
-1D909; [0D 35 4B, 05, 05]
+1D8C9; [0D 38 A2, 05, 05]
-1D90A; [0D 35 52, 05, 05]
+1D8CA; [0D 38 A9, 05, 05]
-1D90B; [0D 35 59, 05, 05]
+1D8CB; [0D 38 B0, 05, 05]
-1D90C; [0D 35 60, 05, 05]
+1D8CC; [0D 38 B7, 05, 05]
-1D90D; [0D 35 67, 05, 05]
+1D8CD; [0D 38 BE, 05, 05]
-1D90E; [0D 35 6E, 05, 05]
+1D8CE; [0D 38 C5, 05, 05]
-1D90F; [0D 35 75, 05, 05]
+1D8CF; [0D 38 CC, 05, 05]
-1D910; [0D 35 7C, 05, 05]
+1D8D0; [0D 38 D3, 05, 05]
-1D911; [0D 35 83, 05, 05]
+1D8D1; [0D 38 DA, 05, 05]
-1D912; [0D 35 8A, 05, 05]
+1D8D2; [0D 38 E1, 05, 05]
-1D913; [0D 35 91, 05, 05]
+1D8D3; [0D 38 E8, 05, 05]
-1D914; [0D 35 98, 05, 05]
+1D8D4; [0D 38 EF, 05, 05]
-1D915; [0D 35 9F, 05, 05]
+1D8D5; [0D 38 F6, 05, 05]
-1D916; [0D 35 A6, 05, 05]
+1D8D6; [0D 38 FD, 05, 05]
-1D917; [0D 35 AD, 05, 05]
+1D8D7; [0D 39 06, 05, 05]
-1D918; [0D 35 B4, 05, 05]
+1D8D8; [0D 39 0D, 05, 05]
-1D919; [0D 35 BB, 05, 05]
+1D8D9; [0D 39 14, 05, 05]
-1D91A; [0D 35 C2, 05, 05]
+1D8DA; [0D 39 1B, 05, 05]
-1D91B; [0D 35 C9, 05, 05]
+1D8DB; [0D 39 22, 05, 05]
-1D91C; [0D 35 D0, 05, 05]
+1D8DC; [0D 39 29, 05, 05]
-1D91D; [0D 35 D7, 05, 05]
+1D8DD; [0D 39 30, 05, 05]
-1D91E; [0D 35 DE, 05, 05]
+1D8DE; [0D 39 37, 05, 05]
-1D91F; [0D 35 E5, 05, 05]
+1D8DF; [0D 39 3E, 05, 05]
-1D920; [0D 35 EC, 05, 05]
+1D8E0; [0D 39 45, 05, 05]
-1D921; [0D 35 F3, 05, 05]
+1D8E1; [0D 39 4C, 05, 05]
-1D922; [0D 35 FA, 05, 05]
+1D8E2; [0D 39 53, 05, 05]
-1D923; [0D 36 03, 05, 05]
+1D8E3; [0D 39 5A, 05, 05]
-1D924; [0D 36 0A, 05, 05]
+1D8E4; [0D 39 61, 05, 05]
-1D925; [0D 36 11, 05, 05]
+1D8E5; [0D 39 68, 05, 05]
-1D926; [0D 36 18, 05, 05]
+1D8E6; [0D 39 6F, 05, 05]
-1D927; [0D 36 1F, 05, 05]
+1D8E7; [0D 39 76, 05, 05]
-1D928; [0D 36 26, 05, 05]
+1D8E8; [0D 39 7D, 05, 05]
-1D929; [0D 36 2D, 05, 05]
+1D8E9; [0D 39 84, 05, 05]
-1D92A; [0D 36 34, 05, 05]
+1D8EA; [0D 39 8B, 05, 05]
-1D92B; [0D 36 3B, 05, 05]
+1D8EB; [0D 39 92, 05, 05]
-1D92C; [0D 36 42, 05, 05]
+1D8EC; [0D 39 99, 05, 05]
-1D92D; [0D 36 49, 05, 05]
+1D8ED; [0D 39 A0, 05, 05]
-1D92E; [0D 36 50, 05, 05]
+1D8EE; [0D 39 A7, 05, 05]
-1D92F; [0D 36 57, 05, 05]
+1D8EF; [0D 39 AE, 05, 05]
-1D930; [0D 36 5E, 05, 05]
+1D8F0; [0D 39 B5, 05, 05]
-1D931; [0D 36 65, 05, 05]
+1D8F1; [0D 39 BC, 05, 05]
-1D932; [0D 36 6C, 05, 05]
+1D8F2; [0D 39 C3, 05, 05]
-1D933; [0D 36 73, 05, 05]
+1D8F3; [0D 39 CA, 05, 05]
-1D934; [0D 36 7A, 05, 05]
+1D8F4; [0D 39 D1, 05, 05]
-1D935; [0D 36 81, 05, 05]
+1D8F5; [0D 39 D8, 05, 05]
-1D936; [0D 36 88, 05, 05]
+1D8F6; [0D 39 DF, 05, 05]
-1D937; [0D 36 8F, 05, 05]
+1D8F7; [0D 39 E6, 05, 05]
-1D938; [0D 36 96, 05, 05]
+1D8F8; [0D 39 ED, 05, 05]
-1D939; [0D 36 9D, 05, 05]
+1D8F9; [0D 39 F4, 05, 05]
-1D93A; [0D 36 A4, 05, 05]
+1D8FA; [0D 39 FB, 05, 05]
-1D93B; [0D 36 AB, 05, 05]
+1D8FB; [0D 3A 04, 05, 05]
-1D93C; [0D 36 B2, 05, 05]
+1D8FC; [0D 3A 0B, 05, 05]
-1D93D; [0D 36 B9, 05, 05]
+1D8FD; [0D 3A 12, 05, 05]
-1D93E; [0D 36 C0, 05, 05]
+1D8FE; [0D 3A 19, 05, 05]
-1D93F; [0D 36 C7, 05, 05]
+1D8FF; [0D 3A 20, 05, 05]
-1D940; [0D 36 CE, 05, 05]
+1D900; [0D 3A 27, 05, 05]
-1D941; [0D 36 D5, 05, 05]
+1D901; [0D 3A 2E, 05, 05]
-1D942; [0D 36 DC, 05, 05]
+1D902; [0D 3A 35, 05, 05]
-1D943; [0D 36 E3, 05, 05]
+1D903; [0D 3A 3C, 05, 05]
-1D944; [0D 36 EA, 05, 05]
+1D904; [0D 3A 43, 05, 05]
-1D945; [0D 36 F1, 05, 05]
+1D905; [0D 3A 4A, 05, 05]
-1D946; [0D 36 F8, 05, 05]
+1D906; [0D 3A 51, 05, 05]
-1D947; [0D 36 FF, 05, 05]
+1D907; [0D 3A 58, 05, 05]
-1D948; [0D 37 08, 05, 05]
+1D908; [0D 3A 5F, 05, 05]
-1D949; [0D 37 0F, 05, 05]
+1D909; [0D 3A 66, 05, 05]
-1D94A; [0D 37 16, 05, 05]
+1D90A; [0D 3A 6D, 05, 05]
-1D94B; [0D 37 1D, 05, 05]
+1D90B; [0D 3A 74, 05, 05]
-1D94C; [0D 37 24, 05, 05]
+1D90C; [0D 3A 7B, 05, 05]
-1D94D; [0D 37 2B, 05, 05]
+1D90D; [0D 3A 82, 05, 05]
-1D94E; [0D 37 32, 05, 05]
+1D90E; [0D 3A 89, 05, 05]
-1D94F; [0D 37 39, 05, 05]
+1D90F; [0D 3A 90, 05, 05]
-1D950; [0D 37 40, 05, 05]
+1D910; [0D 3A 97, 05, 05]
-1D951; [0D 37 47, 05, 05]
+1D911; [0D 3A 9E, 05, 05]
-1D952; [0D 37 4E, 05, 05]
+1D912; [0D 3A A5, 05, 05]
-1D953; [0D 37 55, 05, 05]
+1D913; [0D 3A AC, 05, 05]
-1D954; [0D 37 5C, 05, 05]
+1D914; [0D 3A B3, 05, 05]
-1D955; [0D 37 63, 05, 05]
+1D915; [0D 3A BA, 05, 05]
-1D956; [0D 37 6A, 05, 05]
+1D916; [0D 3A C1, 05, 05]
-1D957; [0D 37 71, 05, 05]
+1D917; [0D 3A C8, 05, 05]
-1D958; [0D 37 78, 05, 05]
+1D918; [0D 3A CF, 05, 05]
-1D959; [0D 37 7F, 05, 05]
+1D919; [0D 3A D6, 05, 05]
-1D95A; [0D 37 86, 05, 05]
+1D91A; [0D 3A DD, 05, 05]
-1D95B; [0D 37 8D, 05, 05]
+1D91B; [0D 3A E4, 05, 05]
-1D95C; [0D 37 94, 05, 05]
+1D91C; [0D 3A EB, 05, 05]
-1D95D; [0D 37 9B, 05, 05]
+1D91D; [0D 3A F2, 05, 05]
-1D95E; [0D 37 A2, 05, 05]
+1D91E; [0D 3A F9, 05, 05]
-1D95F; [0D 37 A9, 05, 05]
+1D91F; [0D 3B 02, 05, 05]
-1D960; [0D 37 B0, 05, 05]
+1D920; [0D 3B 09, 05, 05]
-1D961; [0D 37 B7, 05, 05]
+1D921; [0D 3B 10, 05, 05]
-1D962; [0D 37 BE, 05, 05]
+1D922; [0D 3B 17, 05, 05]
-1D963; [0D 37 C5, 05, 05]
+1D923; [0D 3B 1E, 05, 05]
-1D964; [0D 37 CC, 05, 05]
+1D924; [0D 3B 25, 05, 05]
-1D965; [0D 37 D3, 05, 05]
+1D925; [0D 3B 2C, 05, 05]
-1D966; [0D 37 DA, 05, 05]
+1D926; [0D 3B 33, 05, 05]
-1D967; [0D 37 E1, 05, 05]
+1D927; [0D 3B 3A, 05, 05]
-1D968; [0D 37 E8, 05, 05]
+1D928; [0D 3B 41, 05, 05]
-1D969; [0D 37 EF, 05, 05]
+1D929; [0D 3B 48, 05, 05]
-1D96A; [0D 37 F6, 05, 05]
+1D92A; [0D 3B 4F, 05, 05]
-1D96B; [0D 37 FD, 05, 05]
+1D92B; [0D 3B 56, 05, 05]
-1D96C; [0D 38 06, 05, 05]
+1D92C; [0D 3B 5D, 05, 05]
-1D96D; [0D 38 0D, 05, 05]
+1D92D; [0D 3B 64, 05, 05]
-1D96E; [0D 38 14, 05, 05]
+1D92E; [0D 3B 6B, 05, 05]
-1D96F; [0D 38 1B, 05, 05]
+1D92F; [0D 3B 72, 05, 05]
-1D970; [0D 38 22, 05, 05]
+1D930; [0D 3B 79, 05, 05]
-1D971; [0D 38 29, 05, 05]
+1D931; [0D 3B 80, 05, 05]
-1D972; [0D 38 30, 05, 05]
+1D932; [0D 3B 87, 05, 05]
-1D973; [0D 38 37, 05, 05]
+1D933; [0D 3B 8E, 05, 05]
-1D974; [0D 38 3E, 05, 05]
+1D934; [0D 3B 95, 05, 05]
-1D975; [0D 38 45, 05, 05]
+1D935; [0D 3B 9C, 05, 05]
-1D976; [0D 38 4C, 05, 05]
+1D936; [0D 3B A3, 05, 05]
-1D977; [0D 38 53, 05, 05]
+1D937; [0D 3B AA, 05, 05]
-1D978; [0D 38 5A, 05, 05]
+1D938; [0D 3B B1, 05, 05]
-1D979; [0D 38 61, 05, 05]
+1D939; [0D 3B B8, 05, 05]
-1D97A; [0D 38 68, 05, 05]
+1D93A; [0D 3B BF, 05, 05]
-1D97B; [0D 38 6F, 05, 05]
+1D93B; [0D 3B C6, 05, 05]
-1D97C; [0D 38 76, 05, 05]
+1D93C; [0D 3B CD, 05, 05]
-1D97D; [0D 38 7D, 05, 05]
+1D93D; [0D 3B D4, 05, 05]
-1D97E; [0D 38 84, 05, 05]
+1D93E; [0D 3B DB, 05, 05]
-1D97F; [0D 38 8B, 05, 05]
+1D93F; [0D 3B E2, 05, 05]
-1D980; [0D 38 92, 05, 05]
+1D940; [0D 3B E9, 05, 05]
-1D981; [0D 38 99, 05, 05]
+1D941; [0D 3B F0, 05, 05]
-1D982; [0D 38 A0, 05, 05]
+1D942; [0D 3B F7, 05, 05]
-1D983; [0D 38 A7, 05, 05]
+1D943; [0D 3B FE, 05, 05]
-1D984; [0D 38 AE, 05, 05]
+1D944; [0D 3C 07, 05, 05]
-1D985; [0D 38 B5, 05, 05]
+1D945; [0D 3C 0E, 05, 05]
-1D986; [0D 38 BC, 05, 05]
+1D946; [0D 3C 15, 05, 05]
-1D987; [0D 38 C3, 05, 05]
+1D947; [0D 3C 1C, 05, 05]
-1D988; [0D 38 CA, 05, 05]
+1D948; [0D 3C 23, 05, 05]
-1D989; [0D 38 D1, 05, 05]
+1D949; [0D 3C 2A, 05, 05]
-1D98A; [0D 38 D8, 05, 05]
+1D94A; [0D 3C 31, 05, 05]
-1D98B; [0D 38 DF, 05, 05]
+1D94B; [0D 3C 38, 05, 05]
-1D98C; [0D 38 E6, 05, 05]
+1D94C; [0D 3C 3F, 05, 05]
-1D98D; [0D 38 ED, 05, 05]
+1D94D; [0D 3C 46, 05, 05]
-1D98E; [0D 38 F4, 05, 05]
+1D94E; [0D 3C 4D, 05, 05]
-1D98F; [0D 38 FB, 05, 05]
+1D94F; [0D 3C 54, 05, 05]
-1D990; [0D 39 04, 05, 05]
+1D950; [0D 3C 5B, 05, 05]
-1D991; [0D 39 0B, 05, 05]
+1D951; [0D 3C 62, 05, 05]
-1D992; [0D 39 12, 05, 05]
+1D952; [0D 3C 69, 05, 05]
-1D993; [0D 39 19, 05, 05]
+1D953; [0D 3C 70, 05, 05]
-1D994; [0D 39 20, 05, 05]
+1D954; [0D 3C 77, 05, 05]
-1D995; [0D 39 27, 05, 05]
+1D955; [0D 3C 7E, 05, 05]
-1D996; [0D 39 2E, 05, 05]
+1D956; [0D 3C 85, 05, 05]
-1D997; [0D 39 35, 05, 05]
+1D957; [0D 3C 8C, 05, 05]
-1D998; [0D 39 3C, 05, 05]
+1D958; [0D 3C 93, 05, 05]
-1D999; [0D 39 43, 05, 05]
+1D959; [0D 3C 9A, 05, 05]
-1D99A; [0D 39 4A, 05, 05]
+1D95A; [0D 3C A1, 05, 05]
-1D99B; [0D 39 51, 05, 05]
+1D95B; [0D 3C A8, 05, 05]
-1D99C; [0D 39 58, 05, 05]
+1D95C; [0D 3C AF, 05, 05]
-1D99D; [0D 39 5F, 05, 05]
+1D95D; [0D 3C B6, 05, 05]
-1D99E; [0D 39 66, 05, 05]
+1D95E; [0D 3C BD, 05, 05]
-1D99F; [0D 39 6D, 05, 05]
+1D95F; [0D 3C C4, 05, 05]
-1D9A0; [0D 39 74, 05, 05]
+1D960; [0D 3C CB, 05, 05]
-1D9A1; [0D 39 7B, 05, 05]
+1D961; [0D 3C D2, 05, 05]
-1D9A2; [0D 39 82, 05, 05]
+1D962; [0D 3C D9, 05, 05]
-1D9A3; [0D 39 89, 05, 05]
+1D963; [0D 3C E0, 05, 05]
-1D9A4; [0D 39 90, 05, 05]
+1D964; [0D 3C E7, 05, 05]
-1D9A5; [0D 39 97, 05, 05]
+1D965; [0D 3C EE, 05, 05]
-1D9A6; [0D 39 9E, 05, 05]
+1D966; [0D 3C F5, 05, 05]
-1D9A7; [0D 39 A5, 05, 05]
+1D967; [0D 3C FC, 05, 05]
-1D9A8; [0D 39 AC, 05, 05]
+1D968; [0D 3D 05, 05, 05]
-1D9A9; [0D 39 B3, 05, 05]
+1D969; [0D 3D 0C, 05, 05]
-1D9AA; [0D 39 BA, 05, 05]
+1D96A; [0D 3D 13, 05, 05]
-1D9AB; [0D 39 C1, 05, 05]
+1D96B; [0D 3D 1A, 05, 05]
-1D9AC; [0D 39 C8, 05, 05]
+1D96C; [0D 3D 21, 05, 05]
-1D9AD; [0D 39 CF, 05, 05]
+1D96D; [0D 3D 28, 05, 05]
-1D9AE; [0D 39 D6, 05, 05]
+1D96E; [0D 3D 2F, 05, 05]
-1D9AF; [0D 39 DD, 05, 05]
+1D96F; [0D 3D 36, 05, 05]
-1D9B0; [0D 39 E4, 05, 05]
+1D970; [0D 3D 3D, 05, 05]
-1D9B1; [0D 39 EB, 05, 05]
+1D971; [0D 3D 44, 05, 05]
-1D9B2; [0D 39 F2, 05, 05]
+1D972; [0D 3D 4B, 05, 05]
-1D9B3; [0D 39 F9, 05, 05]
+1D973; [0D 3D 52, 05, 05]
-1D9B4; [0D 3A 02, 05, 05]
+1D974; [0D 3D 59, 05, 05]
-1D9B5; [0D 3A 09, 05, 05]
+1D975; [0D 3D 60, 05, 05]
-1D9B6; [0D 3A 10, 05, 05]
+1D976; [0D 3D 67, 05, 05]
-1D9B7; [0D 3A 17, 05, 05]
+1D977; [0D 3D 6E, 05, 05]
-1D9B8; [0D 3A 1E, 05, 05]
+1D978; [0D 3D 75, 05, 05]
-1D9B9; [0D 3A 25, 05, 05]
+1D979; [0D 3D 7C, 05, 05]
-1D9BA; [0D 3A 2C, 05, 05]
+1D97A; [0D 3D 83, 05, 05]
-1D9BB; [0D 3A 33, 05, 05]
+1D97B; [0D 3D 8A, 05, 05]
-1D9BC; [0D 3A 3A, 05, 05]
+1D97C; [0D 3D 91, 05, 05]
-1D9BD; [0D 3A 41, 05, 05]
+1D97D; [0D 3D 98, 05, 05]
-1D9BE; [0D 3A 48, 05, 05]
+1D97E; [0D 3D 9F, 05, 05]
-1D9BF; [0D 3A 4F, 05, 05]
+1D97F; [0D 3D A6, 05, 05]
-1D9C0; [0D 3A 56, 05, 05]
+1D980; [0D 3D AD, 05, 05]
-1D9C1; [0D 3A 5D, 05, 05]
+1D981; [0D 3D B4, 05, 05]
-1D9C2; [0D 3A 64, 05, 05]
+1D982; [0D 3D BB, 05, 05]
-1D9C3; [0D 3A 6B, 05, 05]
+1D983; [0D 3D C2, 05, 05]
-1D9C4; [0D 3A 72, 05, 05]
+1D984; [0D 3D C9, 05, 05]
-1D9C5; [0D 3A 79, 05, 05]
+1D985; [0D 3D D0, 05, 05]
-1D9C6; [0D 3A 80, 05, 05]
+1D986; [0D 3D D7, 05, 05]
-1D9C7; [0D 3A 87, 05, 05]
+1D987; [0D 3D DE, 05, 05]
-1D9C8; [0D 3A 8E, 05, 05]
+1D988; [0D 3D E5, 05, 05]
-1D9C9; [0D 3A 95, 05, 05]
+1D989; [0D 3D EC, 05, 05]
-1D9CA; [0D 3A 9C, 05, 05]
+1D98A; [0D 3D F3, 05, 05]
-1D9CB; [0D 3A A3, 05, 05]
+1D98B; [0D 3D FA, 05, 05]
-1D9CC; [0D 3A AA, 05, 05]
+1D98C; [0D 3E 03, 05, 05]
-1D9CD; [0D 3A B1, 05, 05]
+1D98D; [0D 3E 0A, 05, 05]
-1D9CE; [0D 3A B8, 05, 05]
+1D98E; [0D 3E 11, 05, 05]
-1D9CF; [0D 3A BF, 05, 05]
+1D98F; [0D 3E 18, 05, 05]
-1D9D0; [0D 3A C6, 05, 05]
+1D990; [0D 3E 1F, 05, 05]
-1D9D1; [0D 3A CD, 05, 05]
+1D991; [0D 3E 26, 05, 05]
-1D9D2; [0D 3A D4, 05, 05]
+1D992; [0D 3E 2D, 05, 05]
-1D9D3; [0D 3A DB, 05, 05]
+1D993; [0D 3E 34, 05, 05]
-1D9D4; [0D 3A E2, 05, 05]
+1D994; [0D 3E 3B, 05, 05]
-1D9D5; [0D 3A E9, 05, 05]
+1D995; [0D 3E 42, 05, 05]
-1D9D6; [0D 3A F0, 05, 05]
+1D996; [0D 3E 49, 05, 05]
-1D9D7; [0D 3A F7, 05, 05]
+1D997; [0D 3E 50, 05, 05]
-1D9D8; [0D 3A FE, 05, 05]
+1D998; [0D 3E 57, 05, 05]
-1D9D9; [0D 3B 07, 05, 05]
+1D999; [0D 3E 5E, 05, 05]
-1D9DA; [0D 3B 0E, 05, 05]
+1D99A; [0D 3E 65, 05, 05]
-1D9DB; [0D 3B 15, 05, 05]
+1D99B; [0D 3E 6C, 05, 05]
-1D9DC; [0D 3B 1C, 05, 05]
+1D99C; [0D 3E 73, 05, 05]
-1D9DD; [0D 3B 23, 05, 05]
+1D99D; [0D 3E 7A, 05, 05]
-1D9DE; [0D 3B 2A, 05, 05]
+1D99E; [0D 3E 81, 05, 05]
-1D9DF; [0D 3B 31, 05, 05]
+1D99F; [0D 3E 88, 05, 05]
-1D9E0; [0D 3B 38, 05, 05]
+1D9A0; [0D 3E 8F, 05, 05]
-1D9E1; [0D 3B 3F, 05, 05]
+1D9A1; [0D 3E 96, 05, 05]
-1D9E2; [0D 3B 46, 05, 05]
+1D9A2; [0D 3E 9D, 05, 05]
-1D9E3; [0D 3B 4D, 05, 05]
+1D9A3; [0D 3E A4, 05, 05]
-1D9E4; [0D 3B 54, 05, 05]
+1D9A4; [0D 3E AB, 05, 05]
-1D9E5; [0D 3B 5B, 05, 05]
+1D9A5; [0D 3E B2, 05, 05]
-1D9E6; [0D 3B 62, 05, 05]
+1D9A6; [0D 3E B9, 05, 05]
-1D9E7; [0D 3B 69, 05, 05]
+1D9A7; [0D 3E C0, 05, 05]
-1D9E8; [0D 3B 70, 05, 05]
+1D9A8; [0D 3E C7, 05, 05]
-1D9E9; [0D 3B 77, 05, 05]
+1D9A9; [0D 3E CE, 05, 05]
-1D9EA; [0D 3B 7E, 05, 05]
+1D9AA; [0D 3E D5, 05, 05]
-1D9EB; [0D 3B 85, 05, 05]
+1D9AB; [0D 3E DC, 05, 05]
-1D9EC; [0D 3B 8C, 05, 05]
+1D9AC; [0D 3E E3, 05, 05]
-1D9ED; [0D 3B 93, 05, 05]
+1D9AD; [0D 3E EA, 05, 05]
-1D9EE; [0D 3B 9A, 05, 05]
+1D9AE; [0D 3E F1, 05, 05]
-1D9EF; [0D 3B A1, 05, 05]
+1D9AF; [0D 3E F8, 05, 05]
-1D9F0; [0D 3B A8, 05, 05]
+1D9B0; [0D 3E FF, 05, 05]
-1D9F1; [0D 3B AF, 05, 05]
+1D9B1; [0D 3F 08, 05, 05]
-1D9F2; [0D 3B B6, 05, 05]
+1D9B2; [0D 3F 0F, 05, 05]
-1D9F3; [0D 3B BD, 05, 05]
+1D9B3; [0D 3F 16, 05, 05]
-1D9F4; [0D 3B C4, 05, 05]
+1D9B4; [0D 3F 1D, 05, 05]
-1D9F5; [0D 3B CB, 05, 05]
+1D9B5; [0D 3F 24, 05, 05]
-1D9F6; [0D 3B D2, 05, 05]
+1D9B6; [0D 3F 2B, 05, 05]
-1D9F7; [0D 3B D9, 05, 05]
+1D9B7; [0D 3F 32, 05, 05]
-1D9F8; [0D 3B E0, 05, 05]
+1D9B8; [0D 3F 39, 05, 05]
-1D9F9; [0D 3B E7, 05, 05]
+1D9B9; [0D 3F 40, 05, 05]
-1D9FA; [0D 3B EE, 05, 05]
+1D9BA; [0D 3F 47, 05, 05]
-1D9FB; [0D 3B F5, 05, 05]
+1D9BB; [0D 3F 4E, 05, 05]
-1D9FC; [0D 3B FC, 05, 05]
+1D9BC; [0D 3F 55, 05, 05]
-1D9FD; [0D 3C 05, 05, 05]
+1D9BD; [0D 3F 5C, 05, 05]
-1D9FE; [0D 3C 0C, 05, 05]
+1D9BE; [0D 3F 63, 05, 05]
-1D9FF; [0D 3C 13, 05, 05]
+1D9BF; [0D 3F 6A, 05, 05]
-1DA37; [0D 3C 1A, 05, 05]
+1D9C0; [0D 3F 71, 05, 05]
-1DA38; [0D 3C 21, 05, 05]
+1D9C1; [0D 3F 78, 05, 05]
-1DA39; [0D 3C 28, 05, 05]
+1D9C2; [0D 3F 7F, 05, 05]
-1DA3A; [0D 3C 2F, 05, 05]
+1D9C3; [0D 3F 86, 05, 05]
-1DA6D; [0D 3C 36, 05, 05]
+1D9C4; [0D 3F 8D, 05, 05]
-1DA6E; [0D 3C 3D, 05, 05]
+1D9C5; [0D 3F 94, 05, 05]
-1DA6F; [0D 3C 44, 05, 05]
+1D9C6; [0D 3F 9B, 05, 05]
-1DA70; [0D 3C 4B, 05, 05]
+1D9C7; [0D 3F A2, 05, 05]
-1DA71; [0D 3C 52, 05, 05]
+1D9C8; [0D 3F A9, 05, 05]
-1DA72; [0D 3C 59, 05, 05]
+1D9C9; [0D 3F B0, 05, 05]
-1DA73; [0D 3C 60, 05, 05]
+1D9CA; [0D 3F B7, 05, 05]
-1DA74; [0D 3C 67, 05, 05]
+1D9CB; [0D 3F BE, 05, 05]
-1DA76; [0D 3C 6E, 05, 05]
+1D9CC; [0D 3F C5, 05, 05]
-1DA77; [0D 3C 75, 05, 05]
+1D9CD; [0D 3F CC, 05, 05]
-1DA78; [0D 3C 7C, 05, 05]
+1D9CE; [0D 3F D3, 05, 05]
-1DA79; [0D 3C 83, 05, 05]
+1D9CF; [0D 3F DA, 05, 05]
-1DA7A; [0D 3C 8A, 05, 05]
+1D9D0; [0D 3F E1, 05, 05]
-1DA7B; [0D 3C 91, 05, 05]
+1D9D1; [0D 3F E8, 05, 05]
-1DA7C; [0D 3C 98, 05, 05]
+1D9D2; [0D 3F EF, 05, 05]
-1DA7D; [0D 3C 9F, 05, 05]
+1D9D3; [0D 3F F6, 05, 05]
-1DA7E; [0D 3C A6, 05, 05]
+1D9D4; [0D 3F FD, 05, 05]
-1DA7F; [0D 3C AD, 05, 05]
+1D9D5; [0D 40 06, 05, 05]
-1DA80; [0D 3C B4, 05, 05]
+1D9D6; [0D 40 0D, 05, 05]
-1DA81; [0D 3C BB, 05, 05]
+1D9D7; [0D 40 14, 05, 05]
-1DA82; [0D 3C C2, 05, 05]
+1D9D8; [0D 40 1B, 05, 05]
-1DA83; [0D 3C C9, 05, 05]
+1D9D9; [0D 40 22, 05, 05]
-1DA85; [0D 3C D0, 05, 05]
+1D9DA; [0D 40 29, 05, 05]
-1DA86; [0D 3C D7, 05, 05]
+1D9DB; [0D 40 30, 05, 05]
-2FF0; [0D 3C DE, 05, 05]
+1D9DC; [0D 40 37, 05, 05]
-2FF1; [0D 3C E5, 05, 05]
+1D9DD; [0D 40 3E, 05, 05]
-2FF2; [0D 3C EC, 05, 05]
+1D9DE; [0D 40 45, 05, 05]
-2FF3; [0D 3C F3, 05, 05]
+1D9DF; [0D 40 4C, 05, 05]
-2FF4; [0D 3C FA, 05, 05]
+1D9E0; [0D 40 53, 05, 05]
-2FF5; [0D 3D 03, 05, 05]
+1D9E1; [0D 40 5A, 05, 05]
-2FF6; [0D 3D 0A, 05, 05]
+1D9E2; [0D 40 61, 05, 05]
-2FF7; [0D 3D 11, 05, 05]
+1D9E3; [0D 40 68, 05, 05]
-2FF8; [0D 3D 18, 05, 05]
+1D9E4; [0D 40 6F, 05, 05]
-2FF9; [0D 3D 1F, 05, 05]
+1D9E5; [0D 40 76, 05, 05]
-2FFA; [0D 3D 26, 05, 05]
+1D9E6; [0D 40 7D, 05, 05]
-2FFB; [0D 3D 2D, 05, 05]
+1D9E7; [0D 40 84, 05, 05]
-31C0; [0D 3D 34, 05, 05]
+1D9E8; [0D 40 8B, 05, 05]
-31C1; [0D 3D 3B, 05, 05]
+1D9E9; [0D 40 92, 05, 05]
-31C2; [0D 3D 42, 05, 05]
+1D9EA; [0D 40 99, 05, 05]
-31C3; [0D 3D 49, 05, 05]
+1D9EB; [0D 40 A0, 05, 05]
-31C4; [0D 3D 50, 05, 05]
+1D9EC; [0D 40 A7, 05, 05]
-31C5; [0D 3D 57, 05, 05]
+1D9ED; [0D 40 AE, 05, 05]
-31C6; [0D 3D 5E, 05, 05]
+1D9EE; [0D 40 B5, 05, 05]
-31C7; [0D 3D 65, 05, 05]
+1D9EF; [0D 40 BC, 05, 05]
-31C8; [0D 3D 6C, 05, 05]
+1D9F0; [0D 40 C3, 05, 05]
-31C9; [0D 3D 73, 05, 05]
+1D9F1; [0D 40 CA, 05, 05]
-31CA; [0D 3D 7A, 05, 05]
+1D9F2; [0D 40 D1, 05, 05]
-31CB; [0D 3D 81, 05, 05]
+1D9F3; [0D 40 D8, 05, 05]
-31CC; [0D 3D 88, 05, 05]
+1D9F4; [0D 40 DF, 05, 05]
-31CD; [0D 3D 8F, 05, 05]
+1D9F5; [0D 40 E6, 05, 05]
-31CE; [0D 3D 96, 05, 05]
+1D9F6; [0D 40 ED, 05, 05]
-31CF; [0D 3D 9D, 05, 05]
+1D9F7; [0D 40 F4, 05, 05]
-31D0; [0D 3D A4, 05, 05]
+1D9F8; [0D 40 FB, 05, 05]
-31D1; [0D 3D AB, 05, 05]
+1D9F9; [0D 41 04, 05, 05]
-31D2; [0D 3D B2, 05, 05]
+1D9FA; [0D 41 0B, 05, 05]
-31D3; [0D 3D B9, 05, 05]
+1D9FB; [0D 41 12, 05, 05]
-31D4; [0D 3D C0, 05, 05]
+1D9FC; [0D 41 19, 05, 05]
-31D5; [0D 3D C7, 05, 05]
+1D9FD; [0D 41 20, 05, 05]
-31D6; [0D 3D CE, 05, 05]
+1D9FE; [0D 41 27, 05, 05]
-31D7; [0D 3D D5, 05, 05]
+1D9FF; [0D 41 2E, 05, 05]
-31D8; [0D 3D DC, 05, 05]
+1DA37; [0D 41 35, 05, 05]
-31D9; [0D 3D E3, 05, 05]
+1DA38; [0D 41 3C, 05, 05]
-31DA; [0D 3D EA, 05, 05]
+1DA39; [0D 41 43, 05, 05]
-31DB; [0D 3D F1, 05, 05]
+1DA3A; [0D 41 4A, 05, 05]
-31DC; [0D 3D F8, 05, 05]
+1DA6D; [0D 41 51, 05, 05]
-31DD; [0D 3D FF, 05, 05]
+1DA6E; [0D 41 58, 05, 05]
-31DE; [0D 3E 08, 05, 05]
+1DA6F; [0D 41 5F, 05, 05]
-31DF; [0D 3E 0F, 05, 05]
+1DA70; [0D 41 66, 05, 05]
-31E0; [0D 3E 16, 05, 05]
+1DA71; [0D 41 6D, 05, 05]
-31E1; [0D 3E 1D, 05, 05]
+1DA72; [0D 41 74, 05, 05]
-31E2; [0D 3E 24, 05, 05]
+1DA73; [0D 41 7B, 05, 05]
-31E3; [0D 3E 2B, 05, 05]
+1DA74; [0D 41 82, 05, 05]
-3004; [0D 3E 32, 05, 05]
+1DA76; [0D 41 89, 05, 05]
-3012; [0D 40, 05, 05]
-3036; [0D 40, 05, 20]
+1DA77; [0D 41 90, 05, 05]
-3013; [0D 42 02, 05, 05]
+1DA78; [0D 41 97, 05, 05]
-3020; [0D 42 09, 05, 05]
+1DA79; [0D 41 9E, 05, 05]
-3037; [0D 42 10, 05, 05]
+1DA7A; [0D 41 A5, 05, 05]
-303E; [0D 42 17, 05, 05]
+1DA7B; [0D 41 AC, 05, 05]
-303F; [0D 42 1E, 05, 05]
+1DA7C; [0D 41 B3, 05, 05]
-3190; [0D 42 25, 05, 05]
+1DA7D; [0D 41 BA, 05, 05]
-3191; [0D 42 2C, 05, 05]
+1DA7E; [0D 41 C1, 05, 05]
-327F; [0D 42 33, 05, 05]
+1DA7F; [0D 41 C8, 05, 05]
-FFFC; [0D 42 3A, 05, 05]
+1DA80; [0D 41 CF, 05, 05]
-02D0; [0D 44, 05, 05]
+1DA81; [0D 41 D6, 05, 05]
-02D1; [0D 46, 05, 05]
+1DA82; [0D 41 DD, 05, 05]
-0971; [0D 48, 05, 05]
+1DA83; [0D 41 E4, 05, 05]
-0E46; [0D 4A, 05, 05]
+1DA85; [0D 41 EB, 05, 05]
-0EC6; [0D 4C, 05, 05]
+1DA86; [0D 41 F2, 05, 05]
-17D7; [0D 4E, 05, 05]
+2FF0; [0D 41 F9, 05, 05]
-1AA7; [0D 50, 05, 05]
+2FF1; [0D 42 02, 05, 05]
-A9CF; [0D 52, 05, 05]
+2FF2; [0D 42 09, 05, 05]
-A9E6; [0D 54, 05, 05]
+2FF3; [0D 42 10, 05, 05]
-AA70; [0D 56, 05, 05]
+2FF4; [0D 42 17, 05, 05]
-AADD; [0D 58 02, 05, 05]
+2FF5; [0D 42 1E, 05, 05]
-AAF3; [0D 58 09, 05, 05]
+2FF6; [0D 42 25, 05, 05]
-AAF4; [0D 58 10, 05, 05]
+2FF7; [0D 42 2C, 05, 05]
-16B42; [0D 58 17, 05, 05]
+2FF8; [0D 42 33, 05, 05]
-16B43; [0D 58 1E, 05, 05]
+2FF9; [0D 42 3A, 05, 05]
-3005; [0D 5A, 05, 05]
+2FFA; [0D 42 41, 05, 05]
-303B; [0D 5C, 05, 05]
+2FFB; [0D 42 48, 05, 05]
-16FE0; [0D 5E 02, 05, 05]
+31C0; [0D 42 4F, 05, 05]
-16FE1; [0D 5E 09, 05, 05]
+31C1; [0D 42 56, 05, 05]
-3031; [0D 60, 05, 05]
-3032; [0D 60, 05, 05][, AE, 05]
+31C2; [0D 42 5D, 05, 05]
-3033; [0D 62, 05, 05]
-3034; [0D 62, 05, 05][, AE, 05]
+31C3; [0D 42 64, 05, 05]
-3035; [0D 64, 05, 05]
+31C4; [0D 42 6B, 05, 05]
-309D; [0D 66, 05, 05]
-309E; [0D 66, 05, 05][, AE, 05]
+31C5; [0D 42 72, 05, 05]
-30FC; [0D 68, 05, 05]
-FF70; [0D 68, 05, A0]
+31C6; [0D 42 79, 05, 05]
-30FD; [0D 6A, 05, 05]
-30FE; [0D 6A, 05, 05][, AE, 05]
+31C7; [0D 42 80, 05, 05]
-FDD1 20AC; [0D 76 02, 05, 05] # CURRENCY first primary
+31C8; [0D 42 87, 05, 05]
-00A4; [0D 78, 05, 05]
+31C9; [0D 42 8E, 05, 05]
-00A2; [0D 7A, 05, 05]
-FFE0; [0D 7A, 05, 20]
+31CA; [0D 42 95, 05, 05]
-0024; [0D 7C, 05, 05]
-FF04; [0D 7C, 05, 20]
-FE69; [0D 7C, 05, 2E]
+31CB; [0D 42 9C, 05, 05]
-00A3; [0D 7E, 05, 05]
-FFE1; [0D 7E, 05, 20]
+31CC; [0D 42 A3, 05, 05]
-00A5; [0D 80, 05, 05]
-FFE5; [0D 80, 05, 20]
+31CD; [0D 42 AA, 05, 05]
-058F; [0D 82, 05, 05]
+31CE; [0D 42 B1, 05, 05]
-060B; [0D 84, 05, 05]
+31CF; [0D 42 B8, 05, 05]
-07FE; [0D 86 02, 05, 05]
+31D0; [0D 42 BF, 05, 05]
-07FF; [0D 86 09, 05, 05]
+31D1; [0D 42 C6, 05, 05]
-09F2; [0D 88, 05, 05]
+31D2; [0D 42 CD, 05, 05]
-09F3; [0D 8A, 05, 05]
+31D3; [0D 42 D4, 05, 05]
-09FB; [0D 8C, 05, 05]
+31D4; [0D 42 DB, 05, 05]
-0AF1; [0D 8E, 05, 05]
+31D5; [0D 42 E2, 05, 05]
-A838; [0D 90, 05, 05]
+31D6; [0D 42 E9, 05, 05]
-0BF9; [0D 92, 05, 05]
+31D7; [0D 42 F0, 05, 05]
-0E3F; [0D 94, 05, 05]
+31D8; [0D 42 F7, 05, 05]
-17DB; [0D 96, 05, 05]
+31D9; [0D 42 FE, 05, 05]
-20A0; [0D 98, 05, 05]
+31DA; [0D 43 07, 05, 05]
-20A1; [0D 9A, 05, 05]
+31DB; [0D 43 0E, 05, 05]
-20A2; [0D 9C, 05, 05]
+31DC; [0D 43 15, 05, 05]
-20A3; [0D 9E, 05, 05]
+31DD; [0D 43 1C, 05, 05]
-20A4; [0D A0, 05, 05]
+31DE; [0D 43 23, 05, 05]
-20A5; [0D A2, 05, 05]
+31DF; [0D 43 2A, 05, 05]
-20A6; [0D A4, 05, 05]
+31E0; [0D 43 31, 05, 05]
-20A7; [0D A6, 05, 05]
+31E1; [0D 43 38, 05, 05]
-20A9; [0D A8, 05, 05]
-FFE6; [0D A8, 05, 20]
+31E2; [0D 43 3F, 05, 05]
-20AA; [0D AA, 05, 05]
+31E3; [0D 43 46, 05, 05]
-20AB; [0D AC, 05, 05]
+3004; [0D 43 4D, 05, 05]
-20AC; [0D AE, 05, 05]
+3012; [0D 45, 05, 05]
+3036; [0D 45, 05, 20]
-20AD; [0D B0, 05, 05]
+3013; [0D 47 02, 05, 05]
-20AE; [0D B2, 05, 05]
+3020; [0D 47 09, 05, 05]
-20AF; [0D B4, 05, 05]
+3037; [0D 47 10, 05, 05]
-20B0; [0D B6, 05, 05]
+303E; [0D 47 17, 05, 05]
-20B1; [0D B8, 05, 05]
+303F; [0D 47 1E, 05, 05]
-20B2; [0D BA, 05, 05]
+3190; [0D 47 25, 05, 05]
-20B3; [0D BC, 05, 05]
+3191; [0D 47 2C, 05, 05]
-20B4; [0D BE, 05, 05]
+327F; [0D 47 33, 05, 05]
-20B5; [0D C0, 05, 05]
+FFFC; [0D 47 3A, 05, 05]
-20B6; [0D C2, 05, 05]
+02D0; [0D 49, 05, 05]
-20B7; [0D C4, 05, 05]
+02D1; [0D 4B, 05, 05]
-20B8; [0D C6, 05, 05]
+0971; [0D 4D, 05, 05]
-20B9; [0D C8, 05, 05]
+0E46; [0D 4F, 05, 05]
-1ECB0; [0D CA, 05, 05]
+0EC6; [0D 51, 05, 05]
-20BA; [0D CC, 05, 05]
+17D7; [0D 53, 05, 05]
-20BB; [0D CE, 05, 05]
+1AA7; [0D 55, 05, 05]
-20BC; [0D D0, 05, 05]
+A9CF; [0D 57, 05, 05]
-20BD; [0D D2, 05, 05]
+A9E6; [0D 59, 05, 05]
-20BE; [0D D4, 05, 05]
+AA70; [0D 5B, 05, 05]
-20BF; [0D D6, 05, 05]
+AADD; [0D 5D 02, 05, 05]
-20A8; [0D D8, 05, 05]
+AAF3; [0D 5D 09, 05, 05]
-FDFC; [0D DA, 05, 05]
+AAF4; [0D 5D 10, 05, 05]
+
+16B42; [0D 5D 17, 05, 05]
+
+16B43; [0D 5D 1E, 05, 05]
+
+1E13C; [0D 5D 25, 05, 05]
+
+1E13D; [0D 5D 2C, 05, 05]
+
+3005; [0D 5F, 05, 05]
+
+303B; [0D 61, 05, 05]
+
+16FE0; [0D 63 02, 05, 05]
+
+16FE1; [0D 63 09, 05, 05]
+
+16FE3; [0D 65, 05, 05]
+
+3031; [0D 67, 05, 05]
+3032; [0D 67, 05, 05][, AE, 05]
+
+3033; [0D 69, 05, 05]
+3034; [0D 69, 05, 05][, AE, 05]
+
+3035; [0D 6B, 05, 05]
+
+309D; [0D 6D, 05, 05]
+309E; [0D 6D, 05, 05][, AE, 05]
+
+30FC; [0D 6F, 05, 05]
+FF70; [0D 6F, 05, A0]
+
+30FD; [0D 71, 05, 05]
+30FE; [0D 71, 05, 05][, AE, 05]
+
+FDD1 20AC; [0D 7D 02, 05, 05] # CURRENCY first primary
+
+00A4; [0D 7F, 05, 05]
+
+00A2; [0D 81, 05, 05]
+FFE0; [0D 81, 05, 20]
+
+0024; [0D 83, 05, 05]
+FF04; [0D 83, 05, 20]
+FE69; [0D 83, 05, 2E]
+
+00A3; [0D 85, 05, 05]
+FFE1; [0D 85, 05, 20]
+
+00A5; [0D 87, 05, 05]
+FFE5; [0D 87, 05, 20]
+
+058F; [0D 89, 05, 05]
+
+060B; [0D 8B, 05, 05]
+
+07FE; [0D 8D 02, 05, 05]
+
+07FF; [0D 8D 09, 05, 05]
+
+09F2; [0D 8F, 05, 05]
+
+09F3; [0D 91, 05, 05]
+
+09FB; [0D 93, 05, 05]
+
+0AF1; [0D 95, 05, 05]
+
+A838; [0D 97, 05, 05]
+
+0BF9; [0D 99, 05, 05]
+
+11FDD; [0D 9B, 05, 05]
+
+11FDE; [0D 9D, 05, 05]
+
+11FDF; [0D 9F, 05, 05]
+
+11FE0; [0D A1, 05, 05]
+
+0E3F; [0D A3, 05, 05]
+
+17DB; [0D A5, 05, 05]
+
+1E2FF; [0D A7, 05, 05]
+
+20A0; [0D A9, 05, 05]
+
+20A1; [0D AB, 05, 05]
+
+20A2; [0D AD, 05, 05]
+
+20A3; [0D AF, 05, 05]
+
+20A4; [0D B1, 05, 05]
+
+20A5; [0D B3, 05, 05]
+
+20A6; [0D B5, 05, 05]
+
+20A7; [0D B7, 05, 05]
+
+20A9; [0D B9, 05, 05]
+FFE6; [0D B9, 05, 20]
+
+20AA; [0D BB, 05, 05]
+
+20AB; [0D BD, 05, 05]
+
+20AC; [0D BF, 05, 05]
+
+20AD; [0D C1, 05, 05]
+
+20AE; [0D C3, 05, 05]
+
+20AF; [0D C5, 05, 05]
+
+20B0; [0D C7, 05, 05]
+
+20B1; [0D C9, 05, 05]
+
+20B2; [0D CB, 05, 05]
+
+20B3; [0D CD, 05, 05]
+
+20B4; [0D CF, 05, 05]
+
+20B5; [0D D1, 05, 05]
+
+20B6; [0D D3, 05, 05]
+
+20B7; [0D D5, 05, 05]
+
+20B8; [0D D7, 05, 05]
+
+20B9; [0D D9, 05, 05]
+
+1ECB0; [0D DB, 05, 05]
+
+20BA; [0D DD, 05, 05]
+
+20BB; [0D DF, 05, 05]
+
+20BC; [0D E1, 05, 05]
+
+20BD; [0D E3, 05, 05]
+
+20BE; [0D E5, 05, 05]
+
+20BF; [0D E7, 05, 05]
+
+20A8; [0D E9, 05, 05]
+
+FDFC; [0D EB, 05, 05]
FDD1 0034; [0E 02 02, 05, 05] # DIGIT first primary starts new lead byte
@@ -15634,819 +16030,947 @@ A835; [10 28, 05, 05]
0BF2; [10 2E, 05, 05]
-0D58; [10 30, 05, 05]
+11FC0; [10 30, 05, 05]
+
+11FC1; [10 32, 05, 05]
+
+11FC2; [10 34, 05, 05]
+
+11FC3; [10 36, 05, 05]
+
+11FC4; [10 38, 05, 05]
+
+11FC5; [10 3A, 05, 05]
+
+11FC6; [10 3C, 05, 05]
+
+11FC7; [10 3E, 05, 05]
+
+11FC8; [10 40, 05, 05]
+
+11FC9; [10 42, 05, 05]
+
+11FCA; [10 44, 05, 05]
+
+11FCB; [10 46, 05, 05]
+
+11FCC; [10 48, 05, 05]
+
+11FCD; [10 4A, 05, 05]
+
+11FCE; [10 4C, 05, 05]
+
+11FCF; [10 4E, 05, 05]
+
+11FD0; [10 50, 05, 05]
+
+11FD1; [10 52, 05, 05]
+
+11FD2; [10 54, 05, 05]
+
+11FD3; [10 56, 05, 05]
+
+11FD4; [10 58, 05, 05]
+
+0D58; [10 5A, 05, 05]
+
+0D59; [10 5C, 05, 05]
+
+0D5A; [10 5E, 05, 05]
+
+0D5B; [10 60, 05, 05]
+
+0D5C; [10 62, 05, 05]
+
+0D5D; [10 64, 05, 05]
+
+0D5E; [10 66, 05, 05]
+
+0D70; [10 68, 05, 05]
+
+0D71; [10 6A, 05, 05]
+
+0D72; [10 6C, 05, 05]
+
+0D73; [10 6E, 05, 05]
+
+0D74; [10 70, 05, 05]
+
+0D75; [10 72, 05, 05]
+
+0D76; [10 74, 05, 05]
+
+0D77; [10 76, 05, 05]
+
+0D78; [10 78, 05, 05]
+
+1372; [10 7A, 05, 05]
+
+1373; [10 7C, 05, 05]
+
+1374; [10 7E, 05, 05]
+
+1375; [10 80, 05, 05]
+
+1376; [10 82, 05, 05]
+
+1377; [10 84, 05, 05]
+
+1378; [10 86, 05, 05]
-0D59; [10 32, 05, 05]
+1379; [10 88, 05, 05]
-0D5A; [10 34, 05, 05]
+137A; [10 8A, 05, 05]
-0D5B; [10 36, 05, 05]
+137B; [10 8C, 05, 05]
-0D5C; [10 38, 05, 05]
+137C; [10 8E, 05, 05]
-0D5D; [10 3A, 05, 05]
+2180; [10 90, 05, 05]
-0D5E; [10 3C, 05, 05]
+2181; [10 92, 05, 05]
-0D70; [10 3E, 05, 05]
+2182; [10 94, 05, 05]
-0D71; [10 40, 05, 05]
+2186; [10 96, 05, 05]
-0D72; [10 42, 05, 05]
+2187; [10 98, 05, 05]
-0D73; [10 44, 05, 05]
+2188; [10 9A, 05, 05]
-0D74; [10 46, 05, 05]
+10E69; [10 9C, 05, 05]
-0D75; [10 48, 05, 05]
+10E6A; [10 9E, 05, 05]
-0D76; [10 4A, 05, 05]
+10E6B; [10 A0, 05, 05]
-0D77; [10 4C, 05, 05]
+10E6C; [10 A2, 05, 05]
-0D78; [10 4E, 05, 05]
+10E6D; [10 A4, 05, 05]
-1372; [10 50, 05, 05]
+10E6E; [10 A6, 05, 05]
-1373; [10 52, 05, 05]
+10E6F; [10 A8, 05, 05]
-1374; [10 54, 05, 05]
+10E70; [10 AA, 05, 05]
-1375; [10 56, 05, 05]
+10E71; [10 AC, 05, 05]
-1376; [10 58, 05, 05]
+10E72; [10 AE, 05, 05]
-1377; [10 5A, 05, 05]
+10E73; [10 B0, 05, 05]
-1378; [10 5C, 05, 05]
+10E74; [10 B2, 05, 05]
-1379; [10 5E, 05, 05]
+10E75; [10 B4, 05, 05]
-137A; [10 60, 05, 05]
+10E76; [10 B6, 05, 05]
-137B; [10 62, 05, 05]
+10E77; [10 B8, 05, 05]
-137C; [10 64, 05, 05]
+10E78; [10 BA, 05, 05]
-2180; [10 66, 05, 05]
+10E79; [10 BC, 05, 05]
-2181; [10 68, 05, 05]
+10E7A; [10 BE, 05, 05]
-2182; [10 6A, 05, 05]
+10E7B; [10 C0, 05, 05]
-2186; [10 6C, 05, 05]
+10E7C; [10 C2, 05, 05]
-2187; [10 6E, 05, 05]
+10E7D; [10 C4, 05, 05]
-2188; [10 70, 05, 05]
+10E7E; [10 C6, 05, 05]
-10E69; [10 72, 05, 05]
+2CFD; [10 C8 02, 05, 05]
-10E6A; [10 74, 05, 05]
+10322; [10 C8 09, 05, 05]
-10E6B; [10 76, 05, 05]
+10323; [10 C8 10, 05, 05]
-10E6C; [10 78, 05, 05]
+10CFC; [10 C8 17, 05, 05]
-10E6D; [10 7A, 05, 05]
+10CFD; [10 C8 1E, 05, 05]
-10E6E; [10 7C, 05, 05]
+10CFE; [10 C8 25, 05, 05]
-10E6F; [10 7E, 05, 05]
+10CFF; [10 C8 2C, 05, 05]
-10E70; [10 80, 05, 05]
+10110; [10 CA, 05, 05]
-10E71; [10 82, 05, 05]
+10111; [10 CC, 05, 05]
-10E72; [10 84, 05, 05]
+10112; [10 CE, 05, 05]
-10E73; [10 86, 05, 05]
+10113; [10 D0, 05, 05]
-10E74; [10 88, 05, 05]
+10114; [10 D2, 05, 05]
-10E75; [10 8A, 05, 05]
+10115; [10 D4, 05, 05]
-10E76; [10 8C, 05, 05]
+10116; [10 D6, 05, 05]
-10E77; [10 8E, 05, 05]
+10117; [10 D8, 05, 05]
-10E78; [10 90, 05, 05]
+10118; [10 DA, 05, 05]
-10E79; [10 92, 05, 05]
+10119; [10 DC, 05, 05]
-10E7A; [10 94, 05, 05]
+1011A; [10 DE, 05, 05]
-10E7B; [10 96, 05, 05]
+1011B; [10 E0, 05, 05]
-10E7C; [10 98, 05, 05]
+1011C; [10 E2, 05, 05]
-10E7D; [10 9A, 05, 05]
+1011D; [10 E4, 05, 05]
-10E7E; [10 9C, 05, 05]
+1011E; [10 E6, 05, 05]
-2CFD; [10 9E 02, 05, 05]
+1011F; [10 E8, 05, 05]
-10322; [10 9E 09, 05, 05]
+10120; [10 EA, 05, 05]
-10323; [10 9E 10, 05, 05]
+10121; [10 EC, 05, 05]
-10CFC; [10 9E 17, 05, 05]
+10122; [10 EE, 05, 05]
-10CFD; [10 9E 1E, 05, 05]
+10123; [10 F0, 05, 05]
-10CFE; [10 9E 25, 05, 05]
+10124; [10 F2, 05, 05]
-10CFF; [10 9E 2C, 05, 05]
+10125; [10 F4, 05, 05]
-10110; [10 A0, 05, 05]
+10126; [10 F6, 05, 05]
-10111; [10 A2, 05, 05]
+10127; [10 F8, 05, 05]
-10112; [10 A4, 05, 05]
+10128; [10 FA, 05, 05]
-10113; [10 A6, 05, 05]
+10129; [10 FC, 05, 05]
-10114; [10 A8, 05, 05]
+1012A; [10 FE, 05, 05]
-10115; [10 AA, 05, 05]
+1012B; [11 02, 05, 05]
-10116; [10 AC, 05, 05]
+1012C; [11 04, 05, 05]
-10117; [10 AE, 05, 05]
+1012D; [11 06, 05, 05]
-10118; [10 B0, 05, 05]
+1012E; [11 08, 05, 05]
-10119; [10 B2, 05, 05]
+1012F; [11 0A, 05, 05]
-1011A; [10 B4, 05, 05]
+10130; [11 0C, 05, 05]
-1011B; [10 B6, 05, 05]
+10131; [11 0E, 05, 05]
-1011C; [10 B8, 05, 05]
+10132; [11 10, 05, 05]
-1011D; [10 BA, 05, 05]
+10133; [11 12, 05, 05]
-1011E; [10 BC, 05, 05]
+10140; [11 14, 05, 05]
-1011F; [10 BE, 05, 05]
+10141; [11 16, 05, 05]
-10120; [10 C0, 05, 05]
+10144; [11 18, 05, 05]
-10121; [10 C2, 05, 05]
+10145; [11 1A, 05, 05]
-10122; [10 C4, 05, 05]
+10146; [11 1C, 05, 05]
-10123; [10 C6, 05, 05]
+10147; [11 1E, 05, 05]
-10124; [10 C8, 05, 05]
+10149; [11 20, 05, 05]
-10125; [10 CA, 05, 05]
+1014A; [11 22, 05, 05]
-10126; [10 CC, 05, 05]
+1014B; [11 24, 05, 05]
-10127; [10 CE, 05, 05]
+1014C; [11 26, 05, 05]
-10128; [10 D0, 05, 05]
+1014D; [11 28, 05, 05]
-10129; [10 D2, 05, 05]
+1014E; [11 2A, 05, 05]
-1012A; [10 D4, 05, 05]
+10150; [11 2C, 05, 05]
-1012B; [10 D6, 05, 05]
+10151; [11 2E, 05, 05]
-1012C; [10 D8, 05, 05]
+10152; [11 30, 05, 05]
-1012D; [10 DA, 05, 05]
+10153; [11 32, 05, 05]
-1012E; [10 DC, 05, 05]
+10154; [11 34, 05, 05]
-1012F; [10 DE, 05, 05]
+10155; [11 36, 05, 05]
-10130; [10 E0, 05, 05]
+10156; [11 38, 05, 05]
-10131; [10 E2, 05, 05]
+10157; [11 3A, 05, 05]
-10132; [10 E4, 05, 05]
+10160; [11 3C, 05, 05]
-10133; [10 E6, 05, 05]
+10161; [11 3E, 05, 05]
-10140; [10 E8, 05, 05]
+10162; [11 40, 05, 05]
-10141; [10 EA, 05, 05]
+10163; [11 42, 05, 05]
-10144; [10 EC, 05, 05]
+10164; [11 44, 05, 05]
-10145; [10 EE, 05, 05]
+10165; [11 46, 05, 05]
-10146; [10 F0, 05, 05]
+10166; [11 48, 05, 05]
-10147; [10 F2, 05, 05]
+10167; [11 4A, 05, 05]
-10149; [10 F4, 05, 05]
+10168; [11 4C, 05, 05]
-1014A; [10 F6, 05, 05]
+10169; [11 4E, 05, 05]
-1014B; [10 F8, 05, 05]
+1016A; [11 50, 05, 05]
-1014C; [10 FA, 05, 05]
+1016B; [11 52, 05, 05]
-1014D; [10 FC, 05, 05]
+1016C; [11 54, 05, 05]
-1014E; [10 FE, 05, 05]
+1016D; [11 56, 05, 05]
-10150; [11 02, 05, 05]
+1016E; [11 58, 05, 05]
-10151; [11 04, 05, 05]
+1016F; [11 5A, 05, 05]
-10152; [11 06, 05, 05]
+10170; [11 5C, 05, 05]
-10153; [11 08, 05, 05]
+10171; [11 5E, 05, 05]
-10154; [11 0A, 05, 05]
+10172; [11 60, 05, 05]
-10155; [11 0C, 05, 05]
+10174; [11 62, 05, 05]
-10156; [11 0E, 05, 05]
+10175; [11 64, 05, 05]
-10157; [11 10, 05, 05]
+10176; [11 66, 05, 05]
-10160; [11 12, 05, 05]
+10177; [11 68, 05, 05]
-10161; [11 14, 05, 05]
+10178; [11 6A, 05, 05]
-10162; [11 16, 05, 05]
+1018B; [11 6C, 05, 05]
-10163; [11 18, 05, 05]
+102EA; [11 6E, 05, 05]
-10164; [11 1A, 05, 05]
+102EB; [11 70, 05, 05]
-10165; [11 1C, 05, 05]
+102EC; [11 72, 05, 05]
-10166; [11 1E, 05, 05]
+102ED; [11 74, 05, 05]
-10167; [11 20, 05, 05]
+102EE; [11 76, 05, 05]
-10168; [11 22, 05, 05]
+102EF; [11 78, 05, 05]
-10169; [11 24, 05, 05]
+102F0; [11 7A, 05, 05]
-1016A; [11 26, 05, 05]
+102F1; [11 7C, 05, 05]
-1016B; [11 28, 05, 05]
+102F2; [11 7E, 05, 05]
-1016C; [11 2A, 05, 05]
+102F3; [11 80, 05, 05]
-1016D; [11 2C, 05, 05]
+102F4; [11 82, 05, 05]
-1016E; [11 2E, 05, 05]
+102F5; [11 84, 05, 05]
-1016F; [11 30, 05, 05]
+102F6; [11 86, 05, 05]
-10170; [11 32, 05, 05]
+102F7; [11 88, 05, 05]
-10171; [11 34, 05, 05]
+102F8; [11 8A, 05, 05]
-10172; [11 36, 05, 05]
+102F9; [11 8C, 05, 05]
-10174; [11 38, 05, 05]
+102FA; [11 8E, 05, 05]
-10175; [11 3A, 05, 05]
+102FB; [11 90, 05, 05]
-10176; [11 3C, 05, 05]
+103D3; [11 92 02, 05, 05]
-10177; [11 3E, 05, 05]
+103D4; [11 92 09, 05, 05]
-10178; [11 40, 05, 05]
+103D5; [11 92 10, 05, 05]
-1018B; [11 42, 05, 05]
+1087E; [11 92 17, 05, 05]
-102EA; [11 44, 05, 05]
+1087F; [11 92 1E, 05, 05]
-102EB; [11 46, 05, 05]
+108AD; [11 92 25, 05, 05]
-102EC; [11 48, 05, 05]
+108AE; [11 92 2C, 05, 05]
-102ED; [11 4A, 05, 05]
+108AF; [11 92 33, 05, 05]
-102EE; [11 4C, 05, 05]
+108FD; [11 92 3A, 05, 05]
-102EF; [11 4E, 05, 05]
+108FE; [11 92 41, 05, 05]
-102F0; [11 50, 05, 05]
+108FF; [11 92 48, 05, 05]
-102F1; [11 52, 05, 05]
+10A7E; [11 92 4F, 05, 05]
-102F2; [11 54, 05, 05]
+10A9E; [11 92 56, 05, 05]
-102F3; [11 56, 05, 05]
+10A9F; [11 92 5D, 05, 05]
-102F4; [11 58, 05, 05]
+10917; [11 92 64, 05, 05]
-102F5; [11 5A, 05, 05]
+10918; [11 92 6B, 05, 05]
-102F6; [11 5C, 05, 05]
+10919; [11 92 72, 05, 05]
-102F7; [11 5E, 05, 05]
+1085B; [11 92 79, 05, 05]
-102F8; [11 60, 05, 05]
+1085C; [11 92 80, 05, 05]
-102F9; [11 62, 05, 05]
+1085D; [11 92 87, 05, 05]
-102FA; [11 64, 05, 05]
+1085E; [11 92 8E, 05, 05]
-102FB; [11 66, 05, 05]
+1085F; [11 92 95, 05, 05]
-103D3; [11 68 02, 05, 05]
+10AED; [11 92 9C, 05, 05]
-103D4; [11 68 09, 05, 05]
+10AEE; [11 92 A3, 05, 05]
-103D5; [11 68 10, 05, 05]
+10AEF; [11 92 AA, 05, 05]
-1087E; [11 68 17, 05, 05]
+10B5C; [11 92 B1, 05, 05]
-1087F; [11 68 1E, 05, 05]
+10B5D; [11 92 B8, 05, 05]
-108AD; [11 68 25, 05, 05]
+10B5E; [11 92 BF, 05, 05]
-108AE; [11 68 2C, 05, 05]
+10B5F; [11 92 C6, 05, 05]
-108AF; [11 68 33, 05, 05]
+10B7C; [11 92 CD, 05, 05]
-108FD; [11 68 3A, 05, 05]
+10B7D; [11 92 D4, 05, 05]
-108FE; [11 68 41, 05, 05]
+10B7E; [11 92 DB, 05, 05]
-108FF; [11 68 48, 05, 05]
+10B7F; [11 92 E2, 05, 05]
-10A7E; [11 68 4F, 05, 05]
+10BAD; [11 92 E9, 05, 05]
-10A9E; [11 68 56, 05, 05]
+10BAE; [11 92 F0, 05, 05]
-10A9F; [11 68 5D, 05, 05]
+10BAF; [11 92 F7, 05, 05]
-10917; [11 68 64, 05, 05]
+10F22; [11 92 FE, 05, 05]
-10918; [11 68 6B, 05, 05]
+10F23; [11 93 07, 05, 05]
-10919; [11 68 72, 05, 05]
+10F24; [11 93 0E, 05, 05]
-1085B; [11 68 79, 05, 05]
+10F25; [11 93 15, 05, 05]
-1085C; [11 68 80, 05, 05]
+10F26; [11 93 1C, 05, 05]
-1085D; [11 68 87, 05, 05]
+10F52; [11 93 23, 05, 05]
-1085E; [11 68 8E, 05, 05]
+10F53; [11 93 2A, 05, 05]
-1085F; [11 68 95, 05, 05]
+10F54; [11 93 31, 05, 05]
-10AED; [11 68 9C, 05, 05]
+1173A; [11 93 38, 05, 05]
-10AEE; [11 68 A3, 05, 05]
+1173B; [11 93 3F, 05, 05]
-10AEF; [11 68 AA, 05, 05]
+1105B; [11 93 46, 05, 05]
-10B5C; [11 68 B1, 05, 05]
+1105C; [11 93 4D, 05, 05]
-10B5D; [11 68 B8, 05, 05]
+1105D; [11 93 54, 05, 05]
-10B5E; [11 68 BF, 05, 05]
+1105E; [11 93 5B, 05, 05]
-10B5F; [11 68 C6, 05, 05]
+1105F; [11 93 62, 05, 05]
-10B7C; [11 68 CD, 05, 05]
+11060; [11 93 69, 05, 05]
-10B7D; [11 68 D4, 05, 05]
+11061; [11 93 70, 05, 05]
-10B7E; [11 68 DB, 05, 05]
+11062; [11 93 77, 05, 05]
-10B7F; [11 68 E2, 05, 05]
+11063; [11 93 7E, 05, 05]
-10BAD; [11 68 E9, 05, 05]
+11064; [11 93 85, 05, 05]
-10BAE; [11 68 F0, 05, 05]
+11065; [11 93 8C, 05, 05]
-10BAF; [11 68 F7, 05, 05]
+10A44; [11 93 93, 05, 05]
-10F22; [11 68 FE, 05, 05]
+10A45; [11 93 9A, 05, 05]
-10F23; [11 69 07, 05, 05]
+10A46; [11 93 A1, 05, 05]
-10F24; [11 69 0E, 05, 05]
+10A47; [11 93 A8, 05, 05]
-10F25; [11 69 15, 05, 05]
+10A48; [11 93 AF, 05, 05]
-10F26; [11 69 1C, 05, 05]
+11C63; [11 93 B6, 05, 05]
-10F52; [11 69 23, 05, 05]
+11C64; [11 93 BD, 05, 05]
-10F53; [11 69 2A, 05, 05]
+11C65; [11 93 C4, 05, 05]
-10F54; [11 69 31, 05, 05]
+11C66; [11 93 CB, 05, 05]
-1173A; [11 69 38, 05, 05]
+11C67; [11 93 D2, 05, 05]
-1173B; [11 69 3F, 05, 05]
+11C68; [11 93 D9, 05, 05]
-1105B; [11 69 46, 05, 05]
+11C69; [11 93 E0, 05, 05]
-1105C; [11 69 4D, 05, 05]
+11C6A; [11 93 E7, 05, 05]
-1105D; [11 69 54, 05, 05]
+11C6B; [11 93 EE, 05, 05]
-1105E; [11 69 5B, 05, 05]
+11C6C; [11 93 F5, 05, 05]
-1105F; [11 69 62, 05, 05]
+111EA; [11 95, 05, 05]
-11060; [11 69 69, 05, 05]
+111EB; [11 97, 05, 05]
-11061; [11 69 70, 05, 05]
+111EC; [11 99, 05, 05]
-11062; [11 69 77, 05, 05]
+111ED; [11 9B, 05, 05]
-11063; [11 69 7E, 05, 05]
+111EE; [11 9D, 05, 05]
-11064; [11 69 85, 05, 05]
+111EF; [11 9F, 05, 05]
-11065; [11 69 8C, 05, 05]
+111F0; [11 A1, 05, 05]
-10A44; [11 69 93, 05, 05]
+111F1; [11 A3, 05, 05]
-10A45; [11 69 9A, 05, 05]
+111F2; [11 A5, 05, 05]
-10A46; [11 69 A1, 05, 05]
+111F3; [11 A7, 05, 05]
-10A47; [11 69 A8, 05, 05]
+111F4; [11 A9, 05, 05]
-10A48; [11 69 AF, 05, 05]
+118EA; [11 AB 02, 05, 05]
-11C63; [11 69 B6, 05, 05]
+118EB; [11 AB 09, 05, 05]
-11C64; [11 69 BD, 05, 05]
+118EC; [11 AB 10, 05, 05]
-11C65; [11 69 C4, 05, 05]
+118ED; [11 AB 17, 05, 05]
-11C66; [11 69 CB, 05, 05]
+118EE; [11 AB 1E, 05, 05]
-11C67; [11 69 D2, 05, 05]
+118EF; [11 AB 25, 05, 05]
-11C68; [11 69 D9, 05, 05]
+118F0; [11 AB 2C, 05, 05]
-11C69; [11 69 E0, 05, 05]
+118F1; [11 AB 33, 05, 05]
-11C6A; [11 69 E7, 05, 05]
+118F2; [11 AB 3A, 05, 05]
-11C6B; [11 69 EE, 05, 05]
+16B5B; [11 AB 41, 05, 05]
-11C6C; [11 69 F5, 05, 05]
+16B5C; [11 AB 48, 05, 05]
-111EA; [11 6B, 05, 05]
+16B5D; [11 AB 4F, 05, 05]
-111EB; [11 6D, 05, 05]
+16B5E; [11 AB 56, 05, 05]
-111EC; [11 6F, 05, 05]
+16B5F; [11 AB 5D, 05, 05]
-111ED; [11 71, 05, 05]
+16B60; [11 AB 64, 05, 05]
-111EE; [11 73, 05, 05]
+16B61; [11 AB 6B, 05, 05]
-111EF; [11 75, 05, 05]
+16E8A; [11 AB 72, 05, 05]
-111F0; [11 77, 05, 05]
+16E8B; [11 AB 79, 05, 05]
-111F1; [11 79, 05, 05]
+16E8C; [11 AB 80, 05, 05]
-111F2; [11 7B, 05, 05]
+16E8D; [11 AB 87, 05, 05]
-111F3; [11 7D, 05, 05]
+16E8E; [11 AB 8E, 05, 05]
-111F4; [11 7F, 05, 05]
+16E8F; [11 AB 95, 05, 05]
-118EA; [11 81 02, 05, 05]
+16E90; [11 AB 9C, 05, 05]
-118EB; [11 81 09, 05, 05]
+16E91; [11 AB A3, 05, 05]
-118EC; [11 81 10, 05, 05]
+16E92; [11 AB AA, 05, 05]
-118ED; [11 81 17, 05, 05]
+16E93; [11 AB B1, 05, 05]
-118EE; [11 81 1E, 05, 05]
+1D2EA; [11 AD, 05, 05]
-118EF; [11 81 25, 05, 05]
+1D2EB; [11 AF, 05, 05]
-118F0; [11 81 2C, 05, 05]
+1D2EC; [11 B1, 05, 05]
-118F1; [11 81 33, 05, 05]
+1D2ED; [11 B3, 05, 05]
-118F2; [11 81 3A, 05, 05]
+1D2EE; [11 B5, 05, 05]
-16B5B; [11 81 41, 05, 05]
+1D2EF; [11 B7, 05, 05]
-16B5C; [11 81 48, 05, 05]
+1D2F0; [11 B9, 05, 05]
-16B5D; [11 81 4F, 05, 05]
+1D2F1; [11 BB, 05, 05]
-16B5E; [11 81 56, 05, 05]
+1D2F2; [11 BD, 05, 05]
-16B5F; [11 81 5D, 05, 05]
+1D2F3; [11 BF, 05, 05]
-16B60; [11 81 64, 05, 05]
+1EC7A; [11 C1, 05, 05]
-16B61; [11 81 6B, 05, 05]
+1EC7B; [11 C3, 05, 05]
-16E8A; [11 81 72, 05, 05]
+1EC7C; [11 C5, 05, 05]
-16E8B; [11 81 79, 05, 05]
+1EC7D; [11 C7, 05, 05]
-16E8C; [11 81 80, 05, 05]
+1EC7E; [11 C9, 05, 05]
-16E8D; [11 81 87, 05, 05]
+1EC7F; [11 CB, 05, 05]
-16E8E; [11 81 8E, 05, 05]
+1EC80; [11 CD, 05, 05]
-16E8F; [11 81 95, 05, 05]
+1EC81; [11 CF, 05, 05]
-16E90; [11 81 9C, 05, 05]
+1EC82; [11 D1, 05, 05]
-16E91; [11 81 A3, 05, 05]
+1EC83; [11 D3, 05, 05]
-16E92; [11 81 AA, 05, 05]
+1EC84; [11 D5, 05, 05]
-16E93; [11 81 B1, 05, 05]
+1EC85; [11 D7, 05, 05]
-1D2EA; [11 83, 05, 05]
+1EC86; [11 D9, 05, 05]
-1D2EB; [11 85, 05, 05]
+1EC87; [11 DB, 05, 05]
-1D2EC; [11 87, 05, 05]
+1EC88; [11 DD, 05, 05]
-1D2ED; [11 89, 05, 05]
+1EC89; [11 DF, 05, 05]
-1D2EE; [11 8B, 05, 05]
+1EC8A; [11 E1, 05, 05]
-1D2EF; [11 8D, 05, 05]
+1EC8B; [11 E3, 05, 05]
-1D2F0; [11 8F, 05, 05]
+1EC8C; [11 E5, 05, 05]
-1D2F1; [11 91, 05, 05]
+1EC8D; [11 E7, 05, 05]
-1D2F2; [11 93, 05, 05]
+1EC8E; [11 E9, 05, 05]
-1D2F3; [11 95, 05, 05]
+1EC8F; [11 EB, 05, 05]
-1EC7A; [11 97, 05, 05]
+1EC90; [11 ED, 05, 05]
-1EC7B; [11 99, 05, 05]
+1EC91; [11 EF, 05, 05]
-1EC7C; [11 9B, 05, 05]
+1EC92; [11 F1, 05, 05]
-1EC7D; [11 9D, 05, 05]
+1EC93; [11 F3, 05, 05]
-1EC7E; [11 9F, 05, 05]
+1EC94; [11 F5, 05, 05]
-1EC7F; [11 A1, 05, 05]
+1EC95; [11 F7, 05, 05]
-1EC80; [11 A3, 05, 05]
+1EC96; [11 F9, 05, 05]
-1EC81; [11 A5, 05, 05]
+1EC97; [11 FB, 05, 05]
-1EC82; [11 A7, 05, 05]
+1EC98; [11 FD, 05, 05]
-1EC83; [11 A9, 05, 05]
+1EC99; [11 FF, 05, 05]
-1EC84; [11 AB, 05, 05]
+1EC9A; [12 03, 05, 05]
-1EC85; [11 AD, 05, 05]
+1EC9B; [12 05, 05, 05]
-1EC86; [11 AF, 05, 05]
+1EC9C; [12 07, 05, 05]
-1EC87; [11 B1, 05, 05]
+1EC9D; [12 09, 05, 05]
-1EC88; [11 B3, 05, 05]
+1EC9E; [12 0B, 05, 05]
-1EC89; [11 B5, 05, 05]
+1EC9F; [12 0D, 05, 05]
-1EC8A; [11 B7, 05, 05]
+1ECA0; [12 0F, 05, 05]
-1EC8B; [11 B9, 05, 05]
+1ECA1; [12 11, 05, 05]
-1EC8C; [11 BB, 05, 05]
+1ECA2; [12 13, 05, 05]
-1EC8D; [11 BD, 05, 05]
+1ECAD; [12 15, 05, 05]
-1EC8E; [11 BF, 05, 05]
+1ECAE; [12 17, 05, 05]
-1EC8F; [11 C1, 05, 05]
+1ECAF; [12 19, 05, 05]
-1EC90; [11 C3, 05, 05]
+1ECB3; [12 1B, 05, 05]
-1EC91; [11 C5, 05, 05]
+1ECB4; [12 1D, 05, 05]
-1EC92; [11 C7, 05, 05]
+1ED0A; [12 1F, 05, 05]
-1EC93; [11 C9, 05, 05]
+1ED0B; [12 21, 05, 05]
-1EC94; [11 CB, 05, 05]
+1ED0C; [12 23, 05, 05]
-1EC95; [11 CD, 05, 05]
+1ED0D; [12 25, 05, 05]
-1EC96; [11 CF, 05, 05]
+1ED0E; [12 27, 05, 05]
-1EC97; [11 D1, 05, 05]
+1ED0F; [12 29, 05, 05]
-1EC98; [11 D3, 05, 05]
+1ED10; [12 2B, 05, 05]
-1EC99; [11 D5, 05, 05]
+1ED11; [12 2D, 05, 05]
-1EC9A; [11 D7, 05, 05]
+1ED12; [12 2F, 05, 05]
-1EC9B; [11 D9, 05, 05]
+1ED13; [12 31, 05, 05]
-1EC9C; [11 DB, 05, 05]
+1ED14; [12 33, 05, 05]
-1EC9D; [11 DD, 05, 05]
+1ED15; [12 35, 05, 05]
-1EC9E; [11 DF, 05, 05]
+1ED16; [12 37, 05, 05]
-1EC9F; [11 E1, 05, 05]
+1ED17; [12 39, 05, 05]
-1ECA0; [11 E3, 05, 05]
+1ED18; [12 3B, 05, 05]
-1ECA1; [11 E5, 05, 05]
+1ED19; [12 3D, 05, 05]
-1ECA2; [11 E7, 05, 05]
+1ED1A; [12 3F, 05, 05]
-1ECAD; [11 E9, 05, 05]
+1ED1B; [12 41, 05, 05]
-1ECAE; [11 EB, 05, 05]
+1ED1C; [12 43, 05, 05]
-1ECAF; [11 ED, 05, 05]
+1ED1D; [12 45, 05, 05]
-1ECB3; [11 EF, 05, 05]
+1ED1E; [12 47, 05, 05]
-1ECB4; [11 F1, 05, 05]
+1ED1F; [12 49, 05, 05]
-109C9; [11 F3 02, 05, 05]
+1ED20; [12 4B, 05, 05]
-109CA; [11 F3 09, 05, 05]
+1ED21; [12 4D, 05, 05]
-109CB; [11 F3 10, 05, 05]
+1ED22; [12 4F, 05, 05]
-109CC; [11 F3 17, 05, 05]
+1ED23; [12 51, 05, 05]
-109CD; [11 F3 1E, 05, 05]
+1ED24; [12 53, 05, 05]
-109CE; [11 F3 25, 05, 05]
+1ED25; [12 55, 05, 05]
-109CF; [11 F3 2C, 05, 05]
+1ED26; [12 57, 05, 05]
-109D2; [11 F3 33, 05, 05]
+1ED27; [12 59, 05, 05]
-109D3; [11 F3 3A, 05, 05]
+1ED28; [12 5B, 05, 05]
-109D4; [11 F3 41, 05, 05]
+1ED29; [12 5D, 05, 05]
-109D5; [11 F3 48, 05, 05]
+1ED2A; [12 5F, 05, 05]
-109D6; [11 F3 4F, 05, 05]
+1ED2B; [12 61, 05, 05]
-109D7; [11 F3 56, 05, 05]
+1ED2C; [12 63, 05, 05]
-109D8; [11 F3 5D, 05, 05]
+1ED2D; [12 65, 05, 05]
-109D9; [11 F3 64, 05, 05]
+1ED37; [12 67, 05, 05]
-109DA; [11 F3 6B, 05, 05]
+1ED38; [12 69, 05, 05]
-109DB; [11 F3 72, 05, 05]
+1ED39; [12 6B, 05, 05]
-109DC; [11 F3 79, 05, 05]
+1ED3A; [12 6D, 05, 05]
-109DD; [11 F3 80, 05, 05]
+1ED3B; [12 6F, 05, 05]
-109DE; [11 F3 87, 05, 05]
+1ED3C; [12 71, 05, 05]
-109DF; [11 F3 8E, 05, 05]
+1ED3D; [12 73, 05, 05]
-109E0; [11 F3 95, 05, 05]
+109C9; [12 75 02, 05, 05]
-109E1; [11 F3 9C, 05, 05]
+109CA; [12 75 09, 05, 05]
-109E2; [11 F3 A3, 05, 05]
+109CB; [12 75 10, 05, 05]
-109E3; [11 F3 AA, 05, 05]
+109CC; [12 75 17, 05, 05]
-109E4; [11 F3 B1, 05, 05]
+109CD; [12 75 1E, 05, 05]
-109E5; [11 F3 B8, 05, 05]
+109CE; [12 75 25, 05, 05]
-109E6; [11 F3 BF, 05, 05]
+109CF; [12 75 2C, 05, 05]
-109E7; [11 F3 C6, 05, 05]
+109D2; [12 75 33, 05, 05]
-109E8; [11 F3 CD, 05, 05]
+109D3; [12 75 3A, 05, 05]
-109E9; [11 F3 D4, 05, 05]
+109D4; [12 75 41, 05, 05]
-109EA; [11 F3 DB, 05, 05]
+109D5; [12 75 48, 05, 05]
-109EB; [11 F3 E2, 05, 05]
+109D6; [12 75 4F, 05, 05]
-109EC; [11 F3 E9, 05, 05]
+109D7; [12 75 56, 05, 05]
-109ED; [11 F3 F0, 05, 05]
+109D8; [12 75 5D, 05, 05]
-109EE; [11 F3 F7, 05, 05]
+109D9; [12 75 64, 05, 05]
-109EF; [11 F3 FE, 05, 05]
+109DA; [12 75 6B, 05, 05]
-109F0; [11 F4 07, 05, 05]
+109DB; [12 75 72, 05, 05]
-109F1; [11 F4 0E, 05, 05]
+109DC; [12 75 79, 05, 05]
-109F2; [11 F4 15, 05, 05]
+109DD; [12 75 80, 05, 05]
-109F3; [11 F4 1C, 05, 05]
+109DE; [12 75 87, 05, 05]
-109F4; [11 F4 23, 05, 05]
+109DF; [12 75 8E, 05, 05]
-109F5; [11 F4 2A, 05, 05]
+109E0; [12 75 95, 05, 05]
-109BD; [11 F4 31, 05, 05]
+109E1; [12 75 9C, 05, 05]
-109F6; [11 F4 38, 05, 05]
+109E2; [12 75 A3, 05, 05]
-109F7; [11 F4 3F, 05, 05]
+109E3; [12 75 AA, 05, 05]
-109F8; [11 F4 46, 05, 05]
+109E4; [12 75 B1, 05, 05]
-109F9; [11 F4 4D, 05, 05]
+109E5; [12 75 B8, 05, 05]
-109FA; [11 F4 54, 05, 05]
+109E6; [12 75 BF, 05, 05]
-109FB; [11 F4 5B, 05, 05]
+109E7; [12 75 C6, 05, 05]
-109FC; [11 F4 62, 05, 05]
+109E8; [12 75 CD, 05, 05]
-109FD; [11 F4 69, 05, 05]
+109E9; [12 75 D4, 05, 05]
-109FE; [11 F4 70, 05, 05]
+109EA; [12 75 DB, 05, 05]
-109FF; [11 F4 77, 05, 05]
+109EB; [12 75 E2, 05, 05]
-109BC; [11 F4 7E, 05, 05]
+109EC; [12 75 E9, 05, 05]
-12432; [11 F4 85, 05, 05]
+109ED; [12 75 F0, 05, 05]
-12433; [11 F4 8C, 05, 05]
+109EE; [12 75 F7, 05, 05]
-1245A; [11 F4 93, 05, 05]
+109EF; [12 75 FE, 05, 05]
-1245B; [11 F4 9A, 05, 05]
+109F0; [12 76 07, 05, 05]
-1245C; [11 F4 A1, 05, 05]
+109F1; [12 76 0E, 05, 05]
-1245D; [11 F4 A8, 05, 05]
+109F2; [12 76 15, 05, 05]
-1245E; [11 F4 AF, 05, 05]
+109F3; [12 76 1C, 05, 05]
-1245F; [11 F4 B6, 05, 05]
+109F4; [12 76 23, 05, 05]
-12460; [11 F4 BD, 05, 05]
+109F5; [12 76 2A, 05, 05]
-12461; [11 F4 C4, 05, 05]
+109BD; [12 76 31, 05, 05]
-12462; [11 F4 CB, 05, 05]
+109F6; [12 76 38, 05, 05]
-12463; [11 F4 D2, 05, 05]
+109F7; [12 76 3F, 05, 05]
-12464; [11 F4 D9, 05, 05]
+109F8; [12 76 46, 05, 05]
-12465; [11 F4 E0, 05, 05]
+109F9; [12 76 4D, 05, 05]
-12466; [11 F4 E7, 05, 05]
+109FA; [12 76 54, 05, 05]
-12467; [11 F4 EE, 05, 05]
+109FB; [12 76 5B, 05, 05]
-12468; [11 F4 F5, 05, 05]
+109FC; [12 76 62, 05, 05]
-1D369; [11 F6, 05, 05]
+109FD; [12 76 69, 05, 05]
-1D36A; [11 F8, 05, 05]
+109FE; [12 76 70, 05, 05]
-1D36B; [11 FA, 05, 05]
+109FF; [12 76 77, 05, 05]
-1D36C; [11 FC, 05, 05]
+109BC; [12 76 7E, 05, 05]
-1D36D; [11 FE, 05, 05]
+12432; [12 76 85, 05, 05]
-1D36E; [12 02, 05, 05]
+12433; [12 76 8C, 05, 05]
-1D36F; [12 04, 05, 05]
+1245A; [12 76 93, 05, 05]
-1D370; [12 06, 05, 05]
+1245B; [12 76 9A, 05, 05]
-1D371; [12 08, 05, 05]
+1245C; [12 76 A1, 05, 05]
+
+1245D; [12 76 A8, 05, 05]
+
+1245E; [12 76 AF, 05, 05]
+
+1245F; [12 76 B6, 05, 05]
+
+12460; [12 76 BD, 05, 05]
+
+12461; [12 76 C4, 05, 05]
+
+12462; [12 76 CB, 05, 05]
+
+12463; [12 76 D2, 05, 05]
+
+12464; [12 76 D9, 05, 05]
+
+12465; [12 76 E0, 05, 05]
+
+12466; [12 76 E7, 05, 05]
+
+12467; [12 76 EE, 05, 05]
+
+12468; [12 76 F5, 05, 05]
+
+1D369; [12 78, 05, 05]
+
+1D36A; [12 7A, 05, 05]
+
+1D36B; [12 7C, 05, 05]
+
+1D36C; [12 7E, 05, 05]
+
+1D36D; [12 80, 05, 05]
+
+1D36E; [12 82, 05, 05]
+
+1D36F; [12 84, 05, 05]
+
+1D370; [12 86, 05, 05]
+
+1D371; [12 88, 05, 05]
0030; [13, 05, 05]
0660; [13, 05, 05]
@@ -16508,6 +17032,8 @@ ABF0; [13, 05, 05]
16B50; [13, 05, 05]
16E80; [13, 05, 05]
1D2E0; [13, 05, 05]
+1E140; [13, 05, 05]
+1E2F0; [13, 05, 05]
1E950; [13, 05, 05]
FF10; [13, 05, 10]
0F33; [13, 05, 15]
@@ -16524,7 +17050,7 @@ FF10; [13, 05, 10]
2080; [13, 05, 29]
1F101; [13, 05, 15][06, 05, 1B]
1F100; [13, 05, 15][08, 05, 18]
-2189; [13, 05, 33][0C 94, 05, 20][19, 05, 33]
+2189; [13, 05, 33][0C 95, 05, 20][19, 05, 33]
3358; [13, 05, 15][U+70B9, 10]
0031; [15, 05, 05]
@@ -16626,10 +17152,13 @@ ABF1; [15, 05, 05]
1D360; [15, 05, 05]
1D372; [15, 05, 05]
1D377; [15, 05, 05]
+1E141; [15, 05, 05]
+1E2F1; [15, 05, 05]
1E8C7; [15, 05, 05]
1E951; [15, 05, 05]
1EC71; [15, 05, 05]
1ECA3; [15, 05, 05]
+1ED01; [15, 05, 05]
FF11; [15, 05, 10]
0F2A; [15, 05, 15]
1D7CF; [15, 05, 1A]
@@ -16648,16 +17177,16 @@ FF11; [15, 05, 10]
1ECB1; [15, 70, 05]
1F102; [15, 05, 15][06, 05, 1B]
2488; [15, 05, 15][08, 05, 18]
-215F; [15, 05, 33][0C 94, 05, 20]
-2152; [15, 05, 33][0C 94, 05, 20][15, 05, 33][13, 05, 33]
-00BD; [15, 05, 33][0C 94, 05, 20][17, 05, 33]
-2153; [15, 05, 33][0C 94, 05, 20][19, 05, 33]
-00BC; [15, 05, 33][0C 94, 05, 20][1B, 05, 33]
-2155; [15, 05, 33][0C 94, 05, 20][1D, 05, 33]
-2159; [15, 05, 33][0C 94, 05, 20][1F, 05, 33]
-2150; [15, 05, 33][0C 94, 05, 20][21, 05, 33]
-215B; [15, 05, 33][0C 94, 05, 20][23, 05, 33]
-2151; [15, 05, 33][0C 94, 05, 20][25, 05, 34]
+215F; [15, 05, 33][0C 95, 05, 20]
+2152; [15, 05, 33][0C 95, 05, 20][15, 05, 33][13, 05, 33]
+00BD; [15, 05, 33][0C 95, 05, 20][17, 05, 33]
+2153; [15, 05, 33][0C 95, 05, 20][19, 05, 33]
+00BC; [15, 05, 33][0C 95, 05, 20][1B, 05, 33]
+2155; [15, 05, 33][0C 95, 05, 20][1D, 05, 33]
+2159; [15, 05, 33][0C 95, 05, 20][1F, 05, 33]
+2150; [15, 05, 33][0C 95, 05, 20][21, 05, 33]
+215B; [15, 05, 33][0C 95, 05, 20][23, 05, 33]
+2151; [15, 05, 33][0C 95, 05, 20][25, 05, 34]
2469; [15, 05, 1F][13, 05, 1F]
24FE; [15, 05, 1F][13, 05, 1F]
277F; [15, 05, 1F][13, 05, 1F]
@@ -16814,10 +17343,13 @@ ABF2; [17, 05, 05]
1D2E2; [17, 05, 05]
1D361; [17, 05, 05]
1D373; [17, 05, 05]
+1E142; [17, 05, 05]
+1E2F2; [17, 05, 05]
1E8C8; [17, 05, 05]
1E952; [17, 05, 05]
1EC72; [17, 05, 05]
1ECA4; [17, 05, 05]
+1ED02; [17, 05, 05]
FF12; [17, 05, 10]
0F2B; [17, 05, 15]
1D7D0; [17, 05, 1A]
@@ -16834,10 +17366,11 @@ FF12; [17, 05, 10]
2082; [17, 05, 29]
16E95; [17, 70, 05]
1ECB2; [17, 70, 05]
+1ED2F; [17, 70, 05]
1F103; [17, 05, 15][06, 05, 1B]
2489; [17, 05, 15][08, 05, 18]
-2154; [17, 05, 33][0C 94, 05, 20][19, 05, 33]
-2156; [17, 05, 33][0C 94, 05, 20][1D, 05, 33]
+2154; [17, 05, 33][0C 95, 05, 20][19, 05, 33]
+2156; [17, 05, 33][0C 95, 05, 20][1D, 05, 33]
2473; [17, 05, 1F][13, 05, 1F]
24F4; [17, 05, 1F][13, 05, 1F]
3249; [17, 05, 1F][13, 05, 1F]
@@ -16967,10 +17500,13 @@ ABF3; [19, 05, 05]
1D2E3; [19, 05, 05]
1D362; [19, 05, 05]
1D374; [19, 05, 05]
+1E143; [19, 05, 05]
+1E2F3; [19, 05, 05]
1E8C9; [19, 05, 05]
1E953; [19, 05, 05]
1EC73; [19, 05, 05]
1ECA5; [19, 05, 05]
+1ED03; [19, 05, 05]
FF13; [19, 05, 10]
0F2C; [19, 05, 15]
1D7D1; [19, 05, 1A]
@@ -16986,11 +17522,12 @@ FF13; [19, 05, 10]
00B3; [19, 05, 24]
2083; [19, 05, 29]
16E96; [19, 70, 05]
+1ED30; [19, 70, 20]
1F104; [19, 05, 15][06, 05, 1B]
248A; [19, 05, 15][08, 05, 18]
-00BE; [19, 05, 33][0C 94, 05, 20][1B, 05, 33]
-2157; [19, 05, 33][0C 94, 05, 20][1D, 05, 33]
-215C; [19, 05, 33][0C 94, 05, 20][23, 05, 33]
+00BE; [19, 05, 33][0C 95, 05, 20][1B, 05, 33]
+2157; [19, 05, 33][0C 95, 05, 20][1D, 05, 33]
+215C; [19, 05, 33][0C 95, 05, 20][23, 05, 33]
324A; [19, 05, 1F][13, 05, 1F]
325A; [19, 05, 1F][13, 05, 1F]
33FD; [19, 05, 15][13, 05, 15][U+65E5, 10]
@@ -17101,10 +17638,13 @@ ABF4; [1B, 05, 05]
1D2E4; [1B, 05, 05]
1D363; [1B, 05, 05]
1D375; [1B, 05, 05]
+1E144; [1B, 05, 05]
+1E2F4; [1B, 05, 05]
1E8CA; [1B, 05, 05]
1E954; [1B, 05, 05]
1EC74; [1B, 05, 05]
1ECA6; [1B, 05, 05]
+1ED04; [1B, 05, 05]
FF14; [1B, 05, 10]
0F2D; [1B, 05, 15]
1D7D2; [1B, 05, 1A]
@@ -17119,9 +17659,10 @@ FF14; [1B, 05, 10]
278D; [1B, 05, 1F]
2074; [1B, 05, 24]
2084; [1B, 05, 29]
+1ED31; [1B, 70, 05]
1F105; [1B, 05, 15][06, 05, 1B]
248B; [1B, 05, 15][08, 05, 18]
-2158; [1B, 05, 33][0C 94, 05, 20][1D, 05, 33]
+2158; [1B, 05, 33][0C 95, 05, 20][1D, 05, 33]
324B; [1B, 05, 1F][13, 05, 1F]
32B5; [1B, 05, 1F][13, 05, 1F]
32B6; [1B, 05, 1F][15, 05, 1F]
@@ -17231,10 +17772,13 @@ ABF5; [1D, 05, 05]
1D364; [1D, 05, 05]
1D376; [1D, 05, 05]
1D378; [1D, 05, 05]
+1E145; [1D, 05, 05]
+1E2F5; [1D, 05, 05]
1E8CB; [1D, 05, 05]
1E955; [1D, 05, 05]
1EC75; [1D, 05, 05]
1ECA7; [1D, 05, 05]
+1ED05; [1D, 05, 05]
FF15; [1D, 05, 10]
0F2E; [1D, 05, 15]
1D7D3; [1D, 05, 1A]
@@ -17249,11 +17793,12 @@ FF15; [1D, 05, 10]
278E; [1D, 05, 1F]
2075; [1D, 05, 24]
2085; [1D, 05, 29]
+1ED32; [1D, 70, 05]
1F106; [1D, 05, 15][06, 05, 1B]
248C; [1D, 05, 15][08, 05, 18]
1F1A0; [1D, 05, 2E][08, 05, 30][15, 05, 2E]
-215A; [1D, 05, 33][0C 94, 05, 20][1F, 05, 33]
-215D; [1D, 05, 33][0C 94, 05, 20][23, 05, 33]
+215A; [1D, 05, 33][0C 95, 05, 20][1F, 05, 33]
+215D; [1D, 05, 33][0C 95, 05, 20][23, 05, 33]
324C; [1D, 05, 1F][13, 05, 1F]
32BF; [1D, 05, 1F][13, 05, 1F]
33E4; [1D, 05, 15][U+65E5, 10]
@@ -17336,10 +17881,13 @@ ABF6; [1F, 05, 05]
16E86; [1F, 05, 05]
1D2E6; [1F, 05, 05]
1D365; [1F, 05, 05]
+1E146; [1F, 05, 05]
+1E2F6; [1F, 05, 05]
1E8CC; [1F, 05, 05]
1E956; [1F, 05, 05]
1EC76; [1F, 05, 05]
1ECA8; [1F, 05, 05]
+1ED06; [1F, 05, 05]
FF16; [1F, 05, 10]
0F2F; [1F, 05, 15]
1D7D4; [1F, 05, 1A]
@@ -17354,6 +17902,7 @@ FF16; [1F, 05, 10]
278F; [1F, 05, 1F]
2076; [1F, 05, 24]
2086; [1F, 05, 29]
+1ED33; [1F, 70, 05]
1F107; [1F, 05, 15][06, 05, 1B]
248D; [1F, 05, 15][08, 05, 18]
324D; [1F, 05, 1F][13, 05, 1F]
@@ -17438,10 +17987,13 @@ ABF7; [21, 05, 05]
16E87; [21, 05, 05]
1D2E7; [21, 05, 05]
1D366; [21, 05, 05]
+1E147; [21, 05, 05]
+1E2F7; [21, 05, 05]
1E8CD; [21, 05, 05]
1E957; [21, 05, 05]
1EC77; [21, 05, 05]
1ECA9; [21, 05, 05]
+1ED07; [21, 05, 05]
FF17; [21, 05, 10]
0F30; [21, 05, 15]
1D7D5; [21, 05, 1A]
@@ -17456,10 +18008,11 @@ FF17; [21, 05, 10]
2790; [21, 05, 1F]
2077; [21, 05, 24]
2087; [21, 05, 29]
+1ED34; [21, 70, 05]
1F108; [21, 05, 15][06, 05, 1B]
248E; [21, 05, 15][08, 05, 18]
1F1A1; [21, 05, 2E][08, 05, 30][15, 05, 2E]
-215E; [21, 05, 33][0C 94, 05, 20][23, 05, 33]
+215E; [21, 05, 33][0C 95, 05, 20][23, 05, 33]
324E; [21, 05, 1F][13, 05, 1F]
33E6; [21, 05, 15][U+65E5, 10]
32C6; [21, 05, 15][U+6708, 10]
@@ -17540,10 +18093,13 @@ ABF8; [23, 05, 05]
16E88; [23, 05, 05]
1D2E8; [23, 05, 05]
1D367; [23, 05, 05]
+1E148; [23, 05, 05]
+1E2F8; [23, 05, 05]
1E8CE; [23, 05, 05]
1E958; [23, 05, 05]
1EC78; [23, 05, 05]
1ECAA; [23, 05, 05]
+1ED08; [23, 05, 05]
FF18; [23, 05, 10]
0F31; [23, 05, 15]
1D7D6; [23, 05, 1A]
@@ -17558,6 +18114,7 @@ FF18; [23, 05, 10]
2791; [23, 05, 1F]
2078; [23, 05, 24]
2088; [23, 05, 29]
+1ED35; [23, 70, 05]
1F109; [23, 05, 15][06, 05, 1B]
248F; [23, 05, 15][08, 05, 18]
324F; [23, 05, 1F][13, 05, 1F]
@@ -17643,10 +18200,13 @@ ABF9; [25, 05, 05]
16E89; [25, 05, 05]
1D2E9; [25, 05, 05]
1D368; [25, 05, 05]
+1E149; [25, 05, 05]
+1E2F9; [25, 05, 05]
1E8CF; [25, 05, 05]
1E959; [25, 05, 05]
1EC79; [25, 05, 05]
1ECAB; [25, 05, 05]
+1ED09; [25, 05, 05]
FF19; [25, 05, 10]
0F32; [25, 05, 16]
1D7D7; [25, 05, 1C]
@@ -17661,6 +18221,7 @@ FF19; [25, 05, 10]
2792; [25, 05, 22]
2079; [25, 05, 28]
2089; [25, 05, 2E]
+1ED36; [25, 70, 05]
1F10A; [25, 05, 16][06, 05, 1B]
2490; [25, 05, 16][08, 05, 18]
33E8; [25, 05, 16][U+65E5, 10]
@@ -17778,7 +18339,7 @@ A79A; [2A, 05, A2][, 96, 20]
2100; [2A, 05, 13][0A 8A, 05, 2E][2E, 05, 13]
2101; [2A, 05, 13][0A 8A, 05, 2E][4E, 05, 13]
214D; [2A, 05, A2][0A 8A, 05, 2E][4E, 05, A2]
-33DF; [2A, 05, B4][0C 92, 05, 20][42, 05, 31]
+33DF; [2A, 05, B4][0C 93, 05, 20][42, 05, 31]
A733; [2A, 05, 13][2A, 05, 13]
A732; [2A, 05, A2][2A, 05, A2]
1F18E; [2A, 05, B4][2C, 05, B1]
@@ -17812,31 +18373,34 @@ A73C; [2A, 05, A2][5A, 05, A2]
1D8F; [2B 0A, 05, 05]
-1D01; [2B 0C, 05, 05]
+A7BB; [2B 0C, 05, 05]
+A7BA; [2B 0C, 05, A0]
+
+1D01; [2B 0E, 05, 05]
-1D02; [2B 0E, 05, 05]
-1D46; [2B 0E, 05, 20]
+1D02; [2B 10, 05, 05]
+1D46; [2B 10, 05, 20]
-AB31; [2B 10, 05, 05]
+AB31; [2B 12, 05, 05]
-0250; [2B 12, 05, 05]
-2C6F; [2B 12, 05, A0]
-1D44; [2B 12, 05, 2E]
+0250; [2B 14, 05, 05]
+2C6F; [2B 14, 05, A0]
+1D44; [2B 14, 05, 2E]
-0251; [2B 14, 05, 05]
-1DE7; [2B 14, 05, 10]
-2C6D; [2B 14, 05, 9E]
-1D45; [2B 14, 05, 2C]
+0251; [2B 16, 05, 05]
+1DE7; [2B 16, 05, 10]
+2C6D; [2B 16, 05, 9E]
+1D45; [2B 16, 05, 2C]
-AB30; [2B 16, 05, 05]
+AB30; [2B 18, 05, 05]
-1D90; [2B 18, 05, 05]
+1D90; [2B 1A, 05, 05]
-0252; [2B 1A, 05, 05]
-2C70; [2B 1A, 05, A0]
-1D9B; [2B 1A, 05, 2E]
+0252; [2B 1C, 05, 05]
+2C70; [2B 1C, 05, A0]
+1D9B; [2B 1C, 05, 2E]
-AB64; [2B 1C, 05, 05]
+AB64; [2B 1E, 05, 05]
0062; [2C, 05, 05]
FF42; [2C, 05, 10]
@@ -17966,7 +18530,7 @@ FF23; [2E, 05, 9F]
1E08; [2E, 05, 9C][, A0, 05][, 88, 05]
2105; [2E, 05, 13][0A 8A, 05, 2E][46, 05, 13]
2106; [2E, 05, 13][0A 8A, 05, 2E][52, 05, 13]
-33C6; [2E, 05, B1][0C 92, 05, 20][3E, 05, 31][36, 05, 2E]
+33C6; [2E, 05, B1][0C 93, 05, 20][3E, 05, 31][36, 05, 2E]
3388; [2E, 05, 2E][2A, 05, 31][40, 05, 31]
33C4; [2E, 05, 2E][2E, 05, 2E]
1F12D; [2E, 05, A8][30, 05, A8]
@@ -17987,6 +18551,7 @@ A793; [2F 0A, 05, 05]
A792; [2F 0A, 05, A0]
A794; [2F 0C, 05, 05]
+A7C4; [2F 0C, 05, A0]
0188; [2F 0E, 05, 05]
0187; [2F 0E, 05, A0]
@@ -18079,6 +18644,7 @@ A779; [30, 78, A0]
01C6; [30, 05, 13][5C, 05, 13][, 90, 20]
01C5; [30, 05, A2][5C, 05, 13][, 90, 20]
01C4; [30, 05, A2][5C, 05, A2][, 90, 20]
+AB66; [30, 05, 13][5D 10, 05, 20]
02A5; [30, 05, 13][5D 12, 05, 20]
02A4; [30, 05, 13][5D 1A, 05, 10]
@@ -18627,11 +19193,14 @@ A7F7; [3B 0C, 05, 05]
1D96; [3B 14, 05, 05]
-0269; [3B 16, 05, 05]
-0196; [3B 16, 05, A0]
-1DA5; [3B 16, 05, 2E]
+A7BD; [3B 16, 05, 05]
+A7BC; [3B 16, 05, A0]
-1D7C; [3B 18, 05, 05]
+0269; [3B 18, 05, 05]
+0196; [3B 18, 05, A0]
+1DA5; [3B 18, 05, 2E]
+
+1D7C; [3B 1A, 05, 05]
006A; [3C, 05, 05]
FF4A; [3C, 05, 10]
@@ -18842,8 +19411,8 @@ FF2C; [40, 05, 9F]
1E3C; [40, 05, 9C][, CC, 05]
1E3B; [40, 05, 05][, D2, 05]
1E3A; [40, 05, 9C][, D2, 05]
-0140; [40, 05, 05][, FB D6, 05]
-013F; [40, 05, 9C][, FB D6, 05]
+0140; [40, 05, 05][, FB 99, 05]
+013F; [40, 05, 9C][, FB 99, 05]
01C9; [40, 05, 13][3C, 05, 13]
01C8; [40, 05, A2][3C, 05, 13]
01C7; [40, 05, A2][3C, 05, A2]
@@ -18959,8 +19528,8 @@ FF2D; [42, 05, 9F]
1E40; [42, 05, 9C][, 9C, 05]
1E43; [42, 05, 05][, C4, 05]
1E42; [42, 05, 9C][, C4, 05]
-33A7; [42, 05, 31][0C 92, 05, 20][4E, 05, 31]
-33A8; [42, 05, 31][0C 92, 05, 20][4E, 05, 31][17, 05, 2E]
+33A7; [42, 05, 31][0C 93, 05, 20][4E, 05, 31]
+33A8; [42, 05, 31][0C 93, 05, 20][4E, 05, 31][17, 05, 2E]
33A1; [42, 05, 31][17, 05, 2E]
33A5; [42, 05, 31][19, 05, 2E]
3383; [42, 05, 31][2A, 05, B4]
@@ -18977,6 +19546,7 @@ FF2D; [42, 05, 9F]
33A3; [42, 05, 31][42, 05, 31][19, 05, 2E]
33D6; [42, 05, 31][46, 05, 31][40, 05, 31]
33AB; [42, 05, B4][48, 05, B4][2A, 05, 31]
+1F16C; [42, 05, 2B][4C, 05, 2B]
33B3; [42, 05, 31][4E, 05, 31]
33B7; [42, 05, 31][54, 05, B4]
33B9; [42, 05, B4][54, 05, B4]
@@ -19507,8 +20077,8 @@ A7A6; [4C, 05, A2][, AA, 20]
A783; [4C, 70, 05]
A782; [4C, 70, A0]
33AD; [4C, 05, 31][2A, 05, 31][30, 05, 2E]
-33AE; [4C, 05, 31][2A, 05, 31][30, 05, 2E][0C 92, 05, 20][4E, 05, 31]
-33AF; [4C, 05, 31][2A, 05, 31][30, 05, 2E][0C 92, 05, 20][4E, 05, 31][17, 05, 2E]
+33AE; [4C, 05, 31][2A, 05, 31][30, 05, 2E][0C 93, 05, 20][4E, 05, 31]
+33AF; [4C, 05, 31][2A, 05, 31][30, 05, 2E][0C 93, 05, 20][4E, 05, 31][17, 05, 2E]
AB45; [4D 06, 05, 05]
@@ -19661,7 +20231,8 @@ A731; [4F 06, 05, 05]
1D8A; [4F 0A, 05, 05]
0282; [4F 0C, 05, 05]
-1DB3; [4F 0C, 05, 20]
+A7C5; [4F 0C, 05, 9E]
+1DB3; [4F 0C, 05, 2C]
023F; [4F 0E, 05, 05]
2C7E; [4F 0E, 05, A0]
@@ -19750,6 +20321,7 @@ A786; [50, 78, A0]
2122; [50, 05, 2B][42, 05, 2B]
01BE; [50, 05, 13][4E, 05, 13]
02A6; [50, 05, 13][4E, 05, 13]
+AB67; [50, 05, 13][4F 0C, 05, 10]
02A7; [50, 05, 13][4F 14, 05, 10]
A729; [50, 05, 13][5C, 05, 13]
A728; [50, 05, A2][5C, 05, 13]
@@ -19884,7 +20456,7 @@ A79E; [52, 05, A2][, 96, 20]
1E75; [52, 05, 05][, D0, 05]
1E74; [52, 05, 9C][, D0, 05]
1F1AB; [52, 05, B1][38, 05, B4][30, 05, B1]
-1F199; [52, 05, B1][48, 05, B4][07 56, 05, 30]
+1F199; [52, 05, B1][48, 05, B4][07 5A, 05, 30]
1D1C; [53 06, 05, 05]
1DB8; [53 06, 05, 20]
@@ -19918,30 +20490,33 @@ A7B8; [53 18, 05, A0]
AB52; [53 1E, 05, 05]
AB5F; [53 1E, 05, 20]
-0265; [53 20, 05, 05]
-A78D; [53 20, 05, A0]
-1DA3; [53 20, 05, 2E]
+A7BF; [53 20, 05, 05]
+A7BE; [53 20, 05, A0]
+
+0265; [53 22, 05, 05]
+A78D; [53 22, 05, A0]
+1DA3; [53 22, 05, 2E]
-02AE; [53 22, 05, 05]
+02AE; [53 24, 05, 05]
-02AF; [53 24, 05, 05]
+02AF; [53 26, 05, 05]
-026F; [53 26, 05, 05]
-019C; [53 26, 05, A0]
-1D5A; [53 26, 05, 2E]
+026F; [53 28, 05, 05]
+019C; [53 28, 05, A0]
+1D5A; [53 28, 05, 2E]
-A7FA; [53 28, 05, 05]
+A7FA; [53 2A, 05, 05]
-1D1F; [53 2A, 05, 05]
+1D1F; [53 2C, 05, 05]
-0270; [53 2C, 05, 05]
-1DAD; [53 2C, 05, 20]
+0270; [53 2E, 05, 05]
+1DAD; [53 2E, 05, 20]
-028A; [53 2E, 05, 05]
-01B1; [53 2E, 05, A0]
-1DB7; [53 2E, 05, 2E]
+028A; [53 30, 05, 05]
+01B1; [53 30, 05, A0]
+1DB7; [53 30, 05, 2E]
-1D7F; [53 30, 05, 05]
+1D7F; [53 32, 05, 05]
0076; [54, 05, 05]
FF56; [54, 05, 10]
@@ -19988,7 +20563,7 @@ FF36; [54, 05, 9F]
1E7C; [54, 05, 9C][, 9A, 05]
1E7F; [54, 05, 05][, C4, 05]
1E7E; [54, 05, 9C][, C4, 05]
-33DE; [54, 05, B4][0C 92, 05, 20][42, 05, 31]
+33DE; [54, 05, B4][0C 93, 05, 20][42, 05, 31]
2175; [54, 05, 13][3A, 05, 13]
2165; [54, 05, A2][3A, 05, A2]
2176; [54, 05, 13][3A, 05, 13][3A, 05, 13]
@@ -20080,10 +20655,13 @@ FF37; [56, 05, A4]
1D21; [57 06, 05, 05]
-2C73; [57 08, 05, 05]
-2C72; [57 08, 05, A0]
+A7C3; [57 08, 05, 05]
+A7C2; [57 08, 05, A0]
-028D; [57 0A, 05, 05]
+2C73; [57 0A, 05, 05]
+2C72; [57 0A, 05, A0]
+
+028D; [57 0C, 05, 05]
0078; [58, 05, 05]
FF58; [58, 05, 10]
@@ -20282,12 +20860,13 @@ FF3A; [5C, 05, 9F]
1D76; [5D 0A, 05, 05]
1D8E; [5D 0C, 05, 05]
+A7C6; [5D 0C, 05, A0]
0225; [5D 0E, 05, 05]
0224; [5D 0E, 05, A0]
0290; [5D 10, 05, 05]
-1DBC; [5D 10, 05, 20]
+1DBC; [5D 10, 05, 2E]
0291; [5D 12, 05, 05]
1DBD; [5D 12, 05, 2E]
@@ -22555,103 +23134,103 @@ FDD1 05D0; [65 04 02, 05, 05] # HEBREW first primary starts new lead byte (compr
05D0; [65 06, 05, 05]
2135; [65 06, 05, 20]
FB21; [65 06, 05, 2E]
-FB2E; [65 06, 05, 05][, E3 14, 05]
-FB2F; [65 06, 05, 05][, E3 36, 05]
-FB30; [65 06, 05, 05][, E3 E0, 05]
+FB2E; [65 06, 05, 05][, E3 0C, 05]
+FB2F; [65 06, 05, 05][, E3 2D, 05]
+FB30; [65 06, 05, 05][, E3 D2, 05]
FB4F; [65 06, 05, 20][65 1C, 05, 20]
05D1; [65 08, 05, 05]
2136; [65 08, 05, 20]
-FB31; [65 08, 05, 05][, E3 E0, 05]
-FB4C; [65 08, 05, 05][, E4 04, 05]
+FB31; [65 08, 05, 05][, E3 D2, 05]
+FB4C; [65 08, 05, 05][, E3 F3, 05]
05D2; [65 0A, 05, 05]
2137; [65 0A, 05, 20]
-FB32; [65 0A, 05, 05][, E3 E0, 05]
+FB32; [65 0A, 05, 05][, E3 D2, 05]
05D3; [65 0C, 05, 05]
2138; [65 0C, 05, 20]
FB22; [65 0C, 05, 2E]
-FB33; [65 0C, 05, 05][, E3 E0, 05]
+FB33; [65 0C, 05, 05][, E3 D2, 05]
05D4; [65 0E, 05, 05]
FB23; [65 0E, 05, 2E]
-FB34; [65 0E, 05, 05][, E3 E0, 05]
+FB34; [65 0E, 05, 05][, E3 D2, 05]
05D5; [65 10, 05, 05]
-FB4B; [65 10, 05, 05][, E3 58, 05]
-FB35; [65 10, 05, 05][, E3 E0, 05]
+FB4B; [65 10, 05, 05][, E3 4E, 05]
+FB35; [65 10, 05, 05][, E3 D2, 05]
05F0; [65 10, 05, 20][65 10, 05, 20]
05F1; [65 10, 05, 20][65 18, 05, 20]
05D6; [65 12, 05, 05]
-FB36; [65 12, 05, 05][, E3 E0, 05]
+FB36; [65 12, 05, 05][, E3 D2, 05]
05D7; [65 14, 05, 05]
05D8; [65 16, 05, 05]
-FB38; [65 16, 05, 05][, E3 E0, 05]
+FB38; [65 16, 05, 05][, E3 D2, 05]
05D9; [65 18, 05, 05]
-FB1D; [65 18, 05, 05][, E2 AC, 05]
-FB39; [65 18, 05, 05][, E3 E0, 05]
+FB1D; [65 18, 05, 05][, E2 A7, 05]
+FB39; [65 18, 05, 05][, E3 D2, 05]
05EF; [65 18, 05, 20][65 0E, 05, 20][65 10, 05, 20][65 0E, 05, 20]
05F2; [65 18, 05, 20][65 18, 05, 20]
-FB1F; [65 18, 05, 20][65 18, 05, 20][, E3 14, 05]
+FB1F; [65 18, 05, 20][65 18, 05, 20][, E3 0C, 05]
05DB; [65 1A, 05, 05]
FB24; [65 1A, 05, 20]
05DA; [65 1A, 05, 2E]
-FB3B; [65 1A, 05, 05][, E3 E0, 05]
-FB3A; [65 1A, 05, 2E][, E3 E0, 05]
-FB4D; [65 1A, 05, 05][, E4 04, 05]
+FB3B; [65 1A, 05, 05][, E3 D2, 05]
+FB3A; [65 1A, 05, 2E][, E3 D2, 05]
+FB4D; [65 1A, 05, 05][, E3 F3, 05]
05DC; [65 1C, 05, 05]
FB25; [65 1C, 05, 2E]
-FB3C; [65 1C, 05, 05][, E3 E0, 05]
+FB3C; [65 1C, 05, 05][, E3 D2, 05]
05DE; [65 1E, 05, 05]
FB26; [65 1E, 05, 20]
05DD; [65 1E, 05, 2E]
-FB3E; [65 1E, 05, 05][, E3 E0, 05]
+FB3E; [65 1E, 05, 05][, E3 D2, 05]
05E0; [65 20, 05, 05]
05DF; [65 20, 05, 20]
-FB40; [65 20, 05, 05][, E3 E0, 05]
+FB40; [65 20, 05, 05][, E3 D2, 05]
05E1; [65 22, 05, 05]
-FB41; [65 22, 05, 05][, E3 E0, 05]
+FB41; [65 22, 05, 05][, E3 D2, 05]
05E2; [65 24, 05, 05]
FB20; [65 24, 05, 20]
05E4; [65 26, 05, 05]
05E3; [65 26, 05, 20]
-FB44; [65 26, 05, 05][, E3 E0, 05]
-FB43; [65 26, 05, 20][, E3 E0, 05]
-FB4E; [65 26, 05, 05][, E4 04, 05]
+FB44; [65 26, 05, 05][, E3 D2, 05]
+FB43; [65 26, 05, 20][, E3 D2, 05]
+FB4E; [65 26, 05, 05][, E3 F3, 05]
05E6; [65 28, 05, 05]
05E5; [65 28, 05, 20]
-FB46; [65 28, 05, 05][, E3 E0, 05]
+FB46; [65 28, 05, 05][, E3 D2, 05]
05E7; [65 2A, 05, 05]
-FB47; [65 2A, 05, 05][, E3 E0, 05]
+FB47; [65 2A, 05, 05][, E3 D2, 05]
05E8; [65 2C, 05, 05]
FB27; [65 2C, 05, 20]
-FB48; [65 2C, 05, 05][, E3 E0, 05]
+FB48; [65 2C, 05, 05][, E3 D2, 05]
05E9; [65 2E, 05, 05]
-FB2B; [65 2E, 05, 05][, E3 9C, 05]
-FB2A; [65 2E, 05, 05][, E3 BE, 05]
-FB49; [65 2E, 05, 05][, E3 E0, 05]
-FB2D; [65 2E, 05, 05][, E3 E0, 05][, E3 9C, 05]
-FB2C; [65 2E, 05, 05][, E3 E0, 05][, E3 BE, 05]
+FB2B; [65 2E, 05, 05][, E3 90, 05]
+FB2A; [65 2E, 05, 05][, E3 B1, 05]
+FB49; [65 2E, 05, 05][, E3 D2, 05]
+FB2D; [65 2E, 05, 05][, E3 D2, 05][, E3 90, 05]
+FB2C; [65 2E, 05, 05][, E3 D2, 05][, E3 B1, 05]
05EA; [65 30, 05, 05]
FB28; [65 30, 05, 20]
-FB4A; [65 30, 05, 05][, E3 E0, 05]
+FB4A; [65 30, 05, 05][, E3 D2, 05]
FDD1 10900; [65 32 02, 05, 05] # Phoenician first primary (compressible)
@@ -22847,8 +23426,8 @@ FBF6; [66 16, 05, 31][66 F6, 05, 31]
1EE80; [66 1A, 05, 1B]
FE8E; [66 1A, 05, 26]
FE8D; [66 1A, 05, 31]
-FD3C; [66 1A, 05, 26][, E5 C0, 1E]
-FD3D; [66 1A, 05, 31][, E5 C0, 2C]
+FD3C; [66 1A, 05, 26][, E5 A4, 1E]
+FD3D; [66 1A, 05, 31][, E5 A4, 2C]
0675; [66 1A, 05, 10][66 06, 05, 20]
FDF3; [66 1A, 05, 31][66 B6, 05, 30][66 1E, 05, 30][66 6E, 05, 2C]
FDF2; [66 1A, 05, 31][66 C4, 05, 30][66 C4, 05, 30][66 D6, 05, 30]
@@ -23155,7 +23734,7 @@ FEA9; [66 54, 05, 2C]
1EEB8; [66 56, 05, 10]
FEAC; [66 56, 05, 1E]
FEAB; [66 56, 05, 2C]
-FC5B; [66 56, 05, 2C][, EB 82, 2C]
+FC5B; [66 56, 05, 2C][, EB 3B, 2C]
0688; [66 58, 05, 05]
FB89; [66 58, 05, 20]
@@ -23197,7 +23776,7 @@ FB86; [66 66, 05, 2E]
1EEB3; [66 6E, 05, 10]
FEAE; [66 6E, 05, 1E]
FEAD; [66 6E, 05, 2C]
-FC5C; [66 6E, 05, 2C][, EB 82, 2C]
+FC5C; [66 6E, 05, 2C][, EB 3B, 2C]
FDF6; [66 6E, 05, 2C][66 86, 05, 30][66 DE, 05, 31][66 C4, 05, 30]
0632; [66 70, 05, 05]
@@ -23884,7 +24463,7 @@ FEEB; [66 D6, 05, 18]
FEEC; [66 D6, 05, 20]
FEEA; [66 D6, 05, 28]
FEE9; [66 D6, 05, 30]
-FCD9; [66 D6, 05, 18][, EB 82, 10]
+FCD9; [66 D6, 05, 18][, EB 3B, 10]
FCD7; [66 D6, 05, 18][66 3A, 05, 18]
FC51; [66 D6, 05, 30][66 3A, 05, 30]
FCD8; [66 D6, 05, 18][66 C8, 05, 18]
@@ -23905,16 +24484,16 @@ FBA8; [66 DA, 05, 10]
FBA9; [66 DA, 05, 1B]
FBA7; [66 DA, 05, 26]
FBA6; [66 DA, 05, 31]
-06C2; [66 DA, 05, 05][, E8 B2, 05]
+06C2; [66 DA, 05, 05][, E8 80, 05]
06C3; [66 DC 02, 05, 05]
06FF; [66 DC 09, 05, 05]
06D5; [66 DC 10, 05, 05]
-06C0; [66 DC 10, 05, 05][, E8 B2, 05]
-FBA5; [66 DC 10, 05, 20][, E8 B2, 20]
-FBA4; [66 DC 10, 05, 2E][, E8 B2, 2E]
+06C0; [66 DC 10, 05, 05][, E8 80, 05]
+FBA5; [66 DC 10, 05, 20][, E8 80, 20]
+FBA4; [66 DC 10, 05, 2E][, E8 80, 2E]
0648; [66 DE, 05, 05]
06E5; [66 DE, 05, 10]
@@ -23971,8 +24550,8 @@ FBE8; [66 EC, 05, 10]
FBE9; [66 EC, 05, 1B]
FEF0; [66 EC, 05, 26]
FEEF; [66 EC, 05, 31]
-FC90; [66 EC, 05, 26][, EB 82, 1E]
-FC5D; [66 EC, 05, 31][, EB 82, 2C]
+FC90; [66 EC, 05, 26][, EB 3B, 1E]
+FC5D; [66 EC, 05, 31][, EB 3B, 2C]
064A; [66 EE, 05, 05]
06E6; [66 EE, 05, 10]
@@ -24049,9 +24628,9 @@ FBE4; [66 F6, 05, 31]
06D2; [66 FA, 05, 05]
FBAF; [66 FA, 05, 20]
FBAE; [66 FA, 05, 2E]
-06D3; [66 FA, 05, 05][, E8 B2, 05]
-FBB1; [66 FA, 05, 20][, E8 B2, 20]
-FBB0; [66 FA, 05, 2E][, E8 B2, 2E]
+06D3; [66 FA, 05, 05][, E8 80, 05]
+FBB1; [66 FA, 05, 20][, E8 80, 20]
+FBB0; [66 FA, 05, 2E][, E8 80, 2E]
077A; [66 FC 02, 05, 05]
@@ -25448,13 +26027,13 @@ A8FE; [68 34, 05, 05]
0914; [68 3C, 05, 05]
0915; [68 3E, 05, 05]
-0958; [68 3E, 05, 05][, F1 22, 05]
+0958; [68 3E, 05, 05][, F0 AF, 05]
0916; [68 40, 05, 05]
-0959; [68 40, 05, 05][, F1 22, 05]
+0959; [68 40, 05, 05][, F0 AF, 05]
0917; [68 42, 05, 05]
-095A; [68 42, 05, 05][, F1 22, 05]
+095A; [68 42, 05, 05][, F0 AF, 05]
097B; [68 44, 05, 05]
@@ -25467,7 +26046,7 @@ A8FE; [68 34, 05, 05]
091B; [68 4C, 05, 05]
091C; [68 4E, 05, 05]
-095B; [68 4E, 05, 05][, F1 22, 05]
+095B; [68 4E, 05, 05][, F0 AF, 05]
0979; [68 50, 05, 05]
@@ -25484,12 +26063,12 @@ A8FE; [68 34, 05, 05]
0978; [68 5C, 05, 05]
0921; [68 5E, 05, 05]
-095C; [68 5E, 05, 05][, F1 22, 05]
+095C; [68 5E, 05, 05][, F0 AF, 05]
097E; [68 60, 05, 05]
0922; [68 62, 05, 05]
-095D; [68 62, 05, 05][, F1 22, 05]
+095D; [68 62, 05, 05][, F0 AF, 05]
0923; [68 64, 05, 05]
@@ -25502,12 +26081,12 @@ A8FE; [68 34, 05, 05]
0927; [68 6C, 05, 05]
0928; [68 6E, 05, 05]
-0929; [68 6E, 05, 05][, F1 22, 05]
+0929; [68 6E, 05, 05][, F0 AF, 05]
092A; [68 70, 05, 05]
092B; [68 72, 05, 05]
-095E; [68 72, 05, 05][, F1 22, 05]
+095E; [68 72, 05, 05][, F0 AF, 05]
092C; [68 74, 05, 05]
@@ -25518,17 +26097,17 @@ A8FE; [68 34, 05, 05]
092E; [68 7A, 05, 05]
092F; [68 7C, 05, 05]
-095F; [68 7C, 05, 05][, F1 22, 05]
+095F; [68 7C, 05, 05][, F0 AF, 05]
097A; [68 7E, 05, 05]
0930; [68 80, 05, 05]
-0931; [68 80, 05, 05][, F1 22, 05]
+0931; [68 80, 05, 05][, F0 AF, 05]
0932; [68 82, 05, 05]
0933; [68 84, 05, 05]
-0934; [68 84, 05, 05][, F1 22, 05]
+0934; [68 84, 05, 05][, F0 AF, 05]
0935; [68 86, 05, 05]
@@ -25552,6 +26131,7 @@ A8FE; [68 34, 05, 05]
1CEF; [68 94, 05, 20]
1CF0; [68 94, 05, 20]
1CF1; [68 94, 05, 20]
+1CFA; [68 94, 05, 20]
1CF5; [68 96, 05, 05]
@@ -25675,10 +26255,10 @@ FDD1 0995; [69 04 02, 05, 05] # BENGALI first primary starts new lead byte (comp
09A0; [69 3A, 05, 05]
09A1; [69 3C, 05, 05]
-09DC; [69 3C, 05, 05][, F1 22, 05]
+09DC; [69 3C, 05, 05][, F0 AF, 05]
09A2; [69 3E, 05, 05]
-09DD; [69 3E, 05, 05][, F1 22, 05]
+09DD; [69 3E, 05, 05][, F0 AF, 05]
09A3; [69 40, 05, 05]
@@ -25704,7 +26284,7 @@ FDD1 0995; [69 04 02, 05, 05] # BENGALI first primary starts new lead byte (comp
09AE; [69 54, 05, 05]
09AF; [69 56, 05, 05]
-09DF; [69 56, 05, 05][, F1 22, 05]
+09DF; [69 56, 05, 05][, F0 AF, 05]
09B0; [69 58, 05, 05]
@@ -25787,7 +26367,7 @@ FDD1 0A15; [6A 04 02, 05, 05] # GURMUKHI first primary starts new lead byte (com
0A0F; [6A 1E, 05, 05]
0A38; [6A 20, 05, 05]
-0A36; [6A 20, 05, 05][, F1 22, 05]
+0A36; [6A 20, 05, 05][, F0 AF, 05]
0A39; [6A 22, 05, 05]
@@ -25796,10 +26376,10 @@ FDD1 0A15; [6A 04 02, 05, 05] # GURMUKHI first primary starts new lead byte (com
0A15; [6A 26, 05, 05]
0A16; [6A 28, 05, 05]
-0A59; [6A 28, 05, 05][, F1 22, 05]
+0A59; [6A 28, 05, 05][, F0 AF, 05]
0A17; [6A 2A, 05, 05]
-0A5A; [6A 2A, 05, 05][, F1 22, 05]
+0A5A; [6A 2A, 05, 05][, F0 AF, 05]
0A18; [6A 2C, 05, 05]
@@ -25810,7 +26390,7 @@ FDD1 0A15; [6A 04 02, 05, 05] # GURMUKHI first primary starts new lead byte (com
0A1B; [6A 32, 05, 05]
0A1C; [6A 34, 05, 05]
-0A5B; [6A 34, 05, 05][, F1 22, 05]
+0A5B; [6A 34, 05, 05][, F0 AF, 05]
0A1D; [6A 36, 05, 05]
@@ -25839,7 +26419,7 @@ FDD1 0A15; [6A 04 02, 05, 05] # GURMUKHI first primary starts new lead byte (com
0A2A; [6A 4E, 05, 05]
0A2B; [6A 50, 05, 05]
-0A5E; [6A 50, 05, 05][, F1 22, 05]
+0A5E; [6A 50, 05, 05][, F0 AF, 05]
0A2C; [6A 52, 05, 05]
@@ -25854,7 +26434,7 @@ FDD1 0A15; [6A 04 02, 05, 05] # GURMUKHI first primary starts new lead byte (com
0A30; [6A 5C, 05, 05]
0A32; [6A 5E, 05, 05]
-0A33; [6A 5E, 05, 05][, F1 22, 05]
+0A33; [6A 5E, 05, 05][, F0 AF, 05]
0A35; [6A 60, 05, 05]
@@ -26075,10 +26655,10 @@ FDD1 0B15; [6C 04 02, 05, 05] # ORIYA first primary starts new lead byte (compre
0B20; [6C 38, 05, 05]
0B21; [6C 3A, 05, 05]
-0B5C; [6C 3A, 05, 05][, F1 22, 05]
+0B5C; [6C 3A, 05, 05][, F0 AF, 05]
0B22; [6C 3C, 05, 05]
-0B5D; [6C 3C, 05, 05][, F1 22, 05]
+0B5D; [6C 3C, 05, 05][, F0 AF, 05]
0B23; [6C 3E, 05, 05]
@@ -27289,10 +27869,10 @@ FDD1 11083; [71 A6 02, 05, 05] # Kaithi first primary (compressible)
11098; [71 A6 9C, 05, 05]
11099; [71 A6 A3, 05, 05]
-1109A; [71 A6 A3, 05, 05][, F1 22, 05]
+1109A; [71 A6 A3, 05, 05][, F0 AF, 05]
1109B; [71 A6 AA, 05, 05]
-1109C; [71 A6 AA, 05, 05][, F1 22, 05]
+1109C; [71 A6 AA, 05, 05][, F0 AF, 05]
1109D; [71 A6 B1, 05, 05]
@@ -27311,7 +27891,7 @@ FDD1 11083; [71 A6 02, 05, 05] # Kaithi first primary (compressible)
110A4; [71 A6 E2, 05, 05]
110A5; [71 A6 E9, 05, 05]
-110AB; [71 A6 E9, 05, 05][, F1 22, 05]
+110AB; [71 A6 E9, 05, 05][, F0 AF, 05]
110A6; [71 A6 F0, 05, 05]
@@ -28117,1412 +28697,1542 @@ FDD1 11412; [71 B4 02, 05, 05] # Newa first primary (compressible)
11448; [71 B5 93, 05, 05]
-11435; [71 B5 9A, 05, 05]
+1145F; [71 B5 9A, 05, 05]
+
+11435; [71 B5 A1, 05, 05]
+
+11436; [71 B5 A8, 05, 05]
+
+11437; [71 B5 AF, 05, 05]
+
+11438; [71 B5 B6, 05, 05]
+
+11439; [71 B5 BD, 05, 05]
+
+1143A; [71 B5 C4, 05, 05]
+
+1143B; [71 B5 CB, 05, 05]
+
+1143C; [71 B5 D2, 05, 05]
+
+1143D; [71 B5 D9, 05, 05]
+
+1143E; [71 B5 E0, 05, 05]
+
+1143F; [71 B5 E7, 05, 05]
+
+11440; [71 B5 EE, 05, 05]
+
+11441; [71 B5 F5, 05, 05]
+
+11442; [71 B5 FC, 05, 05]
+
+FDD1 11484; [71 B7 02, 05, 05] # Tirhuta first primary (compressible)
+
+114C7; [71 B7 09, 05, 05]
+
+11480; [71 B7 10, 05, 05]
+
+11481; [71 B7 17, 05, 05]
+
+11482; [71 B7 1E, 05, 05]
+
+11483; [71 B7 25, 05, 05]
+
+11484; [71 B7 2C, 05, 05]
+
+11485; [71 B7 33, 05, 05]
+
+11486; [71 B7 3A, 05, 05]
+
+11487; [71 B7 41, 05, 05]
+
+11488; [71 B7 48, 05, 05]
+
+11489; [71 B7 4F, 05, 05]
+
+1148A; [71 B7 56, 05, 05]
+
+1148B; [71 B7 5D, 05, 05]
+
+1148C; [71 B7 64, 05, 05]
+
+1148D; [71 B7 6B, 05, 05]
+
+1148E; [71 B7 72, 05, 05]
+
+1148F; [71 B7 79, 05, 05]
+
+11490; [71 B7 80, 05, 05]
-11436; [71 B5 A1, 05, 05]
+11491; [71 B7 87, 05, 05]
-11437; [71 B5 A8, 05, 05]
+11492; [71 B7 8E, 05, 05]
-11438; [71 B5 AF, 05, 05]
+11493; [71 B7 95, 05, 05]
-11439; [71 B5 B6, 05, 05]
+11494; [71 B7 9C, 05, 05]
-1143A; [71 B5 BD, 05, 05]
+11495; [71 B7 A3, 05, 05]
-1143B; [71 B5 C4, 05, 05]
+11496; [71 B7 AA, 05, 05]
-1143C; [71 B5 CB, 05, 05]
+11497; [71 B7 B1, 05, 05]
-1143D; [71 B5 D2, 05, 05]
+11498; [71 B7 B8, 05, 05]
-1143E; [71 B5 D9, 05, 05]
+11499; [71 B7 BF, 05, 05]
-1143F; [71 B5 E0, 05, 05]
+1149A; [71 B7 C6, 05, 05]
-11440; [71 B5 E7, 05, 05]
+1149B; [71 B7 CD, 05, 05]
-11441; [71 B5 EE, 05, 05]
+1149C; [71 B7 D4, 05, 05]
-11442; [71 B5 F5, 05, 05]
+1149D; [71 B7 DB, 05, 05]
-FDD1 11484; [71 B6 02, 05, 05] # Tirhuta first primary (compressible)
+1149E; [71 B7 E2, 05, 05]
-114C7; [71 B6 09, 05, 05]
+1149F; [71 B7 E9, 05, 05]
-11480; [71 B6 10, 05, 05]
+114A0; [71 B7 F0, 05, 05]
-11481; [71 B6 17, 05, 05]
+114A1; [71 B7 F7, 05, 05]
-11482; [71 B6 1E, 05, 05]
+114A2; [71 B7 FE, 05, 05]
-11483; [71 B6 25, 05, 05]
+114A3; [71 B8 07, 05, 05]
-11484; [71 B6 2C, 05, 05]
+114A4; [71 B8 0E, 05, 05]
-11485; [71 B6 33, 05, 05]
+114A5; [71 B8 15, 05, 05]
-11486; [71 B6 3A, 05, 05]
+114A6; [71 B8 1C, 05, 05]
-11487; [71 B6 41, 05, 05]
+114A7; [71 B8 23, 05, 05]
-11488; [71 B6 48, 05, 05]
+114A8; [71 B8 2A, 05, 05]
-11489; [71 B6 4F, 05, 05]
+114A9; [71 B8 31, 05, 05]
-1148A; [71 B6 56, 05, 05]
+114AA; [71 B8 38, 05, 05]
-1148B; [71 B6 5D, 05, 05]
+114AB; [71 B8 3F, 05, 05]
-1148C; [71 B6 64, 05, 05]
+114AC; [71 B8 46, 05, 05]
-1148D; [71 B6 6B, 05, 05]
+114AD; [71 B8 4D, 05, 05]
-1148E; [71 B6 72, 05, 05]
+114AE; [71 B8 54, 05, 05]
-1148F; [71 B6 79, 05, 05]
+114AF; [71 B8 5B, 05, 05]
-11490; [71 B6 80, 05, 05]
+114C4; [71 B8 62, 05, 05]
-11491; [71 B6 87, 05, 05]
+114C5; [71 B8 69, 05, 05]
-11492; [71 B6 8E, 05, 05]
+114B0; [71 B8 70, 05, 05]
-11493; [71 B6 95, 05, 05]
+114B1; [71 B8 77, 05, 05]
-11494; [71 B6 9C, 05, 05]
+114B2; [71 B8 7E, 05, 05]
-11495; [71 B6 A3, 05, 05]
+114B3; [71 B8 85, 05, 05]
-11496; [71 B6 AA, 05, 05]
+114B4; [71 B8 8C, 05, 05]
-11497; [71 B6 B1, 05, 05]
+114B5; [71 B8 93, 05, 05]
-11498; [71 B6 B8, 05, 05]
+114B6; [71 B8 9A, 05, 05]
-11499; [71 B6 BF, 05, 05]
+114B7; [71 B8 A1, 05, 05]
-1149A; [71 B6 C6, 05, 05]
+114B8; [71 B8 A8, 05, 05]
-1149B; [71 B6 CD, 05, 05]
+114B9; [71 B8 AF, 05, 05]
-1149C; [71 B6 D4, 05, 05]
+114BA; [71 B8 B6, 05, 05]
-1149D; [71 B6 DB, 05, 05]
+114B9 114BA; [71 B8 BD, 05, 05]
+114BB; [71 B8 BD, 05, 05]
-1149E; [71 B6 E2, 05, 05]
+114B9 114B0; [71 B8 C4, 05, 05]
+114BC; [71 B8 C4, 05, 05]
-1149F; [71 B6 E9, 05, 05]
+114BD; [71 B8 CB, 05, 05]
-114A0; [71 B6 F0, 05, 05]
+114B9 114BD; [71 B8 D2, 05, 05]
+114BE; [71 B8 D2, 05, 05]
-114A1; [71 B6 F7, 05, 05]
+114C2; [71 B8 D9, 05, 05]
-114A2; [71 B6 FE, 05, 05]
+FDD1 1158E; [71 B9 02, 05, 05] # Siddham first primary (compressible)
-114A3; [71 B7 07, 05, 05]
+11580; [71 B9 09, 05, 05]
-114A4; [71 B7 0E, 05, 05]
+11581; [71 B9 10, 05, 05]
-114A5; [71 B7 15, 05, 05]
+11582; [71 BB, 05, 05]
+115D8; [71 BB, 70, 05]
+115D9; [71 BB, 78, 05]
-114A6; [71 B7 1C, 05, 05]
+11583; [71 BD, 05, 05]
+115DA; [71 BD, 70, 05]
-114A7; [71 B7 23, 05, 05]
+11584; [71 BF, 05, 05]
+115DB; [71 BF, 70, 05]
-114A8; [71 B7 2A, 05, 05]
+11585; [71 C1 02, 05, 05]
-114A9; [71 B7 31, 05, 05]
+11586; [71 C1 09, 05, 05]
-114AA; [71 B7 38, 05, 05]
+11587; [71 C1 10, 05, 05]
-114AB; [71 B7 3F, 05, 05]
+11588; [71 C1 17, 05, 05]
-114AC; [71 B7 46, 05, 05]
+11589; [71 C1 1E, 05, 05]
-114AD; [71 B7 4D, 05, 05]
+1158A; [71 C1 25, 05, 05]
-114AE; [71 B7 54, 05, 05]
+1158B; [71 C1 2C, 05, 05]
-114AF; [71 B7 5B, 05, 05]
+1158C; [71 C1 33, 05, 05]
-114C4; [71 B7 62, 05, 05]
+1158D; [71 C1 3A, 05, 05]
-114C5; [71 B7 69, 05, 05]
+1158E; [71 C1 41, 05, 05]
-114B0; [71 B7 70, 05, 05]
+1158F; [71 C1 48, 05, 05]
-114B1; [71 B7 77, 05, 05]
+11590; [71 C1 4F, 05, 05]
-114B2; [71 B7 7E, 05, 05]
+11591; [71 C1 56, 05, 05]
-114B3; [71 B7 85, 05, 05]
+11592; [71 C1 5D, 05, 05]
-114B4; [71 B7 8C, 05, 05]
+11593; [71 C1 64, 05, 05]
-114B5; [71 B7 93, 05, 05]
+11594; [71 C1 6B, 05, 05]
-114B6; [71 B7 9A, 05, 05]
+11595; [71 C1 72, 05, 05]
-114B7; [71 B7 A1, 05, 05]
+11596; [71 C1 79, 05, 05]
-114B8; [71 B7 A8, 05, 05]
+11597; [71 C1 80, 05, 05]
-114B9; [71 B7 AF, 05, 05]
+11598; [71 C1 87, 05, 05]
-114BA; [71 B7 B6, 05, 05]
+11599; [71 C1 8E, 05, 05]
-114B9 114BA; [71 B7 BD, 05, 05]
-114BB; [71 B7 BD, 05, 05]
+1159A; [71 C1 95, 05, 05]
-114B9 114B0; [71 B7 C4, 05, 05]
-114BC; [71 B7 C4, 05, 05]
+1159B; [71 C1 9C, 05, 05]
-114BD; [71 B7 CB, 05, 05]
+1159C; [71 C1 A3, 05, 05]
-114B9 114BD; [71 B7 D2, 05, 05]
-114BE; [71 B7 D2, 05, 05]
+1159D; [71 C1 AA, 05, 05]
-114C2; [71 B7 D9, 05, 05]
+1159E; [71 C1 B1, 05, 05]
-FDD1 1158E; [71 B8 02, 05, 05] # Siddham first primary (compressible)
+1159F; [71 C1 B8, 05, 05]
-11580; [71 B8 09, 05, 05]
+115A0; [71 C1 BF, 05, 05]
-11581; [71 B8 10, 05, 05]
+115A1; [71 C1 C6, 05, 05]
-11582; [71 BA, 05, 05]
-115D8; [71 BA, 70, 05]
-115D9; [71 BA, 78, 05]
+115A2; [71 C1 CD, 05, 05]
-11583; [71 BC, 05, 05]
-115DA; [71 BC, 70, 05]
+115A3; [71 C1 D4, 05, 05]
-11584; [71 BE, 05, 05]
-115DB; [71 BE, 70, 05]
+115A4; [71 C1 DB, 05, 05]
-11585; [71 C0 02, 05, 05]
+115A5; [71 C1 E2, 05, 05]
-11586; [71 C0 09, 05, 05]
+115A6; [71 C1 E9, 05, 05]
-11587; [71 C0 10, 05, 05]
+115A7; [71 C1 F0, 05, 05]
-11588; [71 C0 17, 05, 05]
+115A8; [71 C1 F7, 05, 05]
-11589; [71 C0 1E, 05, 05]
+115A9; [71 C1 FE, 05, 05]
-1158A; [71 C0 25, 05, 05]
+115AA; [71 C2 07, 05, 05]
-1158B; [71 C0 2C, 05, 05]
+115AB; [71 C2 0E, 05, 05]
-1158C; [71 C0 33, 05, 05]
+115AC; [71 C2 15, 05, 05]
-1158D; [71 C0 3A, 05, 05]
+115AD; [71 C2 1C, 05, 05]
-1158E; [71 C0 41, 05, 05]
+115AE; [71 C2 23, 05, 05]
-1158F; [71 C0 48, 05, 05]
+115AF; [71 C2 2A, 05, 05]
-11590; [71 C0 4F, 05, 05]
+115B0; [71 C2 31, 05, 05]
-11591; [71 C0 56, 05, 05]
+115B1; [71 C2 38, 05, 05]
-11592; [71 C0 5D, 05, 05]
+115B2; [71 C4, 05, 05]
+115DC; [71 C4, 70, 05]
-11593; [71 C0 64, 05, 05]
+115B3; [71 C6, 05, 05]
+115DD; [71 C6, 70, 05]
-11594; [71 C0 6B, 05, 05]
+115B4; [71 C8 02, 05, 05]
-11595; [71 C0 72, 05, 05]
+115B5; [71 C8 09, 05, 05]
-11596; [71 C0 79, 05, 05]
+115B8; [71 C8 10, 05, 05]
-11597; [71 C0 80, 05, 05]
+115B9; [71 C8 17, 05, 05]
-11598; [71 C0 87, 05, 05]
+115B8 115AF; [71 C8 1E, 05, 05]
+115BA; [71 C8 1E, 05, 05]
-11599; [71 C0 8E, 05, 05]
+115B9 115AF; [71 C8 25, 05, 05]
+115BB; [71 C8 25, 05, 05]
-1159A; [71 C0 95, 05, 05]
+115BF; [71 C8 2C, 05, 05]
-1159B; [71 C0 9C, 05, 05]
+FDD1 1160E; [71 C9 02, 05, 05] # Modi first primary (compressible)
-1159C; [71 C0 A3, 05, 05]
+11600; [71 C9 09, 05, 05]
-1159D; [71 C0 AA, 05, 05]
+11601; [71 C9 10, 05, 05]
-1159E; [71 C0 B1, 05, 05]
+11602; [71 C9 17, 05, 05]
-1159F; [71 C0 B8, 05, 05]
+11603; [71 C9 1E, 05, 05]
-115A0; [71 C0 BF, 05, 05]
+11604; [71 C9 25, 05, 05]
-115A1; [71 C0 C6, 05, 05]
+11605; [71 C9 2C, 05, 05]
-115A2; [71 C0 CD, 05, 05]
+11606; [71 C9 33, 05, 05]
-115A3; [71 C0 D4, 05, 05]
+11607; [71 C9 3A, 05, 05]
-115A4; [71 C0 DB, 05, 05]
+11608; [71 C9 41, 05, 05]
-115A5; [71 C0 E2, 05, 05]
+11609; [71 C9 48, 05, 05]
-115A6; [71 C0 E9, 05, 05]
+1160A; [71 C9 4F, 05, 05]
-115A7; [71 C0 F0, 05, 05]
+1160B; [71 C9 56, 05, 05]
-115A8; [71 C0 F7, 05, 05]
+1160C; [71 C9 5D, 05, 05]
-115A9; [71 C0 FE, 05, 05]
+1160D; [71 C9 64, 05, 05]
-115AA; [71 C1 07, 05, 05]
+1160E; [71 C9 6B, 05, 05]
-115AB; [71 C1 0E, 05, 05]
+1160F; [71 C9 72, 05, 05]
-115AC; [71 C1 15, 05, 05]
+11610; [71 C9 79, 05, 05]
-115AD; [71 C1 1C, 05, 05]
+11611; [71 C9 80, 05, 05]
-115AE; [71 C1 23, 05, 05]
+11612; [71 C9 87, 05, 05]
-115AF; [71 C1 2A, 05, 05]
+11613; [71 C9 8E, 05, 05]
-115B0; [71 C1 31, 05, 05]
+11614; [71 C9 95, 05, 05]
-115B1; [71 C1 38, 05, 05]
+11615; [71 C9 9C, 05, 05]
-115B2; [71 C3, 05, 05]
-115DC; [71 C3, 70, 05]
+11616; [71 C9 A3, 05, 05]
-115B3; [71 C5, 05, 05]
-115DD; [71 C5, 70, 05]
+11617; [71 C9 AA, 05, 05]
-115B4; [71 C7 02, 05, 05]
+11618; [71 C9 B1, 05, 05]
-115B5; [71 C7 09, 05, 05]
+11619; [71 C9 B8, 05, 05]
-115B8; [71 C7 10, 05, 05]
+1161A; [71 C9 BF, 05, 05]
-115B9; [71 C7 17, 05, 05]
+1161B; [71 C9 C6, 05, 05]
-115B8 115AF; [71 C7 1E, 05, 05]
-115BA; [71 C7 1E, 05, 05]
+1161C; [71 C9 CD, 05, 05]
-115B9 115AF; [71 C7 25, 05, 05]
-115BB; [71 C7 25, 05, 05]
+1161D; [71 C9 D4, 05, 05]
-115BF; [71 C7 2C, 05, 05]
+1161E; [71 C9 DB, 05, 05]
-FDD1 1160E; [71 C8 02, 05, 05] # Modi first primary (compressible)
+1161F; [71 C9 E2, 05, 05]
-11600; [71 C8 09, 05, 05]
+11620; [71 C9 E9, 05, 05]
-11601; [71 C8 10, 05, 05]
+11621; [71 C9 F0, 05, 05]
-11602; [71 C8 17, 05, 05]
+11622; [71 C9 F7, 05, 05]
-11603; [71 C8 1E, 05, 05]
+11623; [71 C9 FE, 05, 05]
-11604; [71 C8 25, 05, 05]
+11624; [71 CA 07, 05, 05]
-11605; [71 C8 2C, 05, 05]
+11625; [71 CA 0E, 05, 05]
-11606; [71 C8 33, 05, 05]
+11626; [71 CA 15, 05, 05]
-11607; [71 C8 3A, 05, 05]
+11627; [71 CA 1C, 05, 05]
-11608; [71 C8 41, 05, 05]
+11628; [71 CA 23, 05, 05]
-11609; [71 C8 48, 05, 05]
+11629; [71 CA 2A, 05, 05]
-1160A; [71 C8 4F, 05, 05]
+1162A; [71 CA 31, 05, 05]
-1160B; [71 C8 56, 05, 05]
+1162B; [71 CA 38, 05, 05]
-1160C; [71 C8 5D, 05, 05]
+1162C; [71 CA 3F, 05, 05]
-1160D; [71 C8 64, 05, 05]
+1162D; [71 CA 46, 05, 05]
-1160E; [71 C8 6B, 05, 05]
+1162E; [71 CA 4D, 05, 05]
-1160F; [71 C8 72, 05, 05]
+1162F; [71 CA 54, 05, 05]
-11610; [71 C8 79, 05, 05]
+11630; [71 CA 5B, 05, 05]
-11611; [71 C8 80, 05, 05]
+11631; [71 CA 62, 05, 05]
-11612; [71 C8 87, 05, 05]
+11632; [71 CA 69, 05, 05]
-11613; [71 C8 8E, 05, 05]
+11633; [71 CA 70, 05, 05]
-11614; [71 C8 95, 05, 05]
+11634; [71 CA 77, 05, 05]
-11615; [71 C8 9C, 05, 05]
+11635; [71 CA 7E, 05, 05]
-11616; [71 C8 A3, 05, 05]
+11636; [71 CA 85, 05, 05]
-11617; [71 C8 AA, 05, 05]
+11637; [71 CA 8C, 05, 05]
-11618; [71 C8 B1, 05, 05]
+11638; [71 CA 93, 05, 05]
-11619; [71 C8 B8, 05, 05]
+11639; [71 CA 9A, 05, 05]
-1161A; [71 C8 BF, 05, 05]
+1163A; [71 CA A1, 05, 05]
-1161B; [71 C8 C6, 05, 05]
+1163B; [71 CA A8, 05, 05]
-1161C; [71 C8 CD, 05, 05]
+1163C; [71 CA AF, 05, 05]
-1161D; [71 C8 D4, 05, 05]
+1163F; [71 CA B6, 05, 05]
-1161E; [71 C8 DB, 05, 05]
+11644; [71 CA BD, 05, 05]
-1161F; [71 C8 E2, 05, 05]
+FDD1 11680; [71 CB 02, 05, 05] # Takri first primary (compressible)
-11620; [71 C8 E9, 05, 05]
+11680; [71 CB 09, 05, 05]
-11621; [71 C8 F0, 05, 05]
+11681; [71 CB 10, 05, 05]
-11622; [71 C8 F7, 05, 05]
+11682; [71 CB 17, 05, 05]
-11623; [71 C8 FE, 05, 05]
+11683; [71 CB 1E, 05, 05]
-11624; [71 C9 07, 05, 05]
+11684; [71 CB 25, 05, 05]
-11625; [71 C9 0E, 05, 05]
+11685; [71 CB 2C, 05, 05]
-11626; [71 C9 15, 05, 05]
+11686; [71 CB 33, 05, 05]
-11627; [71 C9 1C, 05, 05]
+11687; [71 CB 3A, 05, 05]
-11628; [71 C9 23, 05, 05]
+11688; [71 CB 41, 05, 05]
-11629; [71 C9 2A, 05, 05]
+11689; [71 CB 48, 05, 05]
-1162A; [71 C9 31, 05, 05]
+116A8; [71 CB 4F, 05, 05]
-1162B; [71 C9 38, 05, 05]
+116A7; [71 CB 56, 05, 05]
-1162C; [71 C9 3F, 05, 05]
+116A9; [71 CB 5D, 05, 05]
-1162D; [71 C9 46, 05, 05]
+1168A; [71 CB 64, 05, 05]
-1162E; [71 C9 4D, 05, 05]
+1168B; [71 CB 6B, 05, 05]
-1162F; [71 C9 54, 05, 05]
+116B8; [71 CB 72, 05, 05]
-11630; [71 C9 5B, 05, 05]
+1168C; [71 CB 79, 05, 05]
-11631; [71 C9 62, 05, 05]
+1168D; [71 CB 80, 05, 05]
-11632; [71 C9 69, 05, 05]
+1168E; [71 CB 87, 05, 05]
-11633; [71 C9 70, 05, 05]
+1168F; [71 CB 8E, 05, 05]
-11634; [71 C9 77, 05, 05]
+11690; [71 CB 95, 05, 05]
-11635; [71 C9 7E, 05, 05]
+11691; [71 CB 9C, 05, 05]
-11636; [71 C9 85, 05, 05]
+11692; [71 CB A3, 05, 05]
-11637; [71 C9 8C, 05, 05]
+11693; [71 CB AA, 05, 05]
-11638; [71 C9 93, 05, 05]
+11694; [71 CB B1, 05, 05]
-11639; [71 C9 9A, 05, 05]
+11695; [71 CB B8, 05, 05]
-1163A; [71 C9 A1, 05, 05]
+11696; [71 CB BF, 05, 05]
-1163B; [71 C9 A8, 05, 05]
+11697; [71 CB C6, 05, 05]
-1163C; [71 C9 AF, 05, 05]
+11698; [71 CB CD, 05, 05]
-1163F; [71 C9 B6, 05, 05]
+11699; [71 CB D4, 05, 05]
-11644; [71 C9 BD, 05, 05]
+1169A; [71 CB DB, 05, 05]
-FDD1 11680; [71 CA 02, 05, 05] # Takri first primary (compressible)
+1169B; [71 CB E2, 05, 05]
-11680; [71 CA 09, 05, 05]
+1169C; [71 CB E9, 05, 05]
-11681; [71 CA 10, 05, 05]
+1169D; [71 CB F0, 05, 05]
-11682; [71 CA 17, 05, 05]
+1169E; [71 CB F7, 05, 05]
-11683; [71 CA 1E, 05, 05]
+1169F; [71 CB FE, 05, 05]
-11684; [71 CA 25, 05, 05]
+116A0; [71 CC 07, 05, 05]
-11685; [71 CA 2C, 05, 05]
+116A1; [71 CC 0E, 05, 05]
-11686; [71 CA 33, 05, 05]
+116A2; [71 CC 15, 05, 05]
-11687; [71 CA 3A, 05, 05]
+116A3; [71 CC 1C, 05, 05]
-11688; [71 CA 41, 05, 05]
+116A4; [71 CC 23, 05, 05]
-11689; [71 CA 48, 05, 05]
+116A5; [71 CC 2A, 05, 05]
-116A8; [71 CA 4F, 05, 05]
+116A6; [71 CC 31, 05, 05]
-116A7; [71 CA 56, 05, 05]
+116AA; [71 CC 38, 05, 05]
-116A9; [71 CA 5D, 05, 05]
+116AD; [71 CC 3F, 05, 05]
-1168A; [71 CA 64, 05, 05]
+116AE; [71 CC 46, 05, 05]
-1168B; [71 CA 6B, 05, 05]
+116AF; [71 CC 4D, 05, 05]
-1168C; [71 CA 72, 05, 05]
+116B0; [71 CC 54, 05, 05]
-1168D; [71 CA 79, 05, 05]
+116B1; [71 CC 5B, 05, 05]
-1168E; [71 CA 80, 05, 05]
+116B2; [71 CC 62, 05, 05]
-1168F; [71 CA 87, 05, 05]
+116B3; [71 CC 69, 05, 05]
-11690; [71 CA 8E, 05, 05]
+116B4; [71 CC 70, 05, 05]
-11691; [71 CA 95, 05, 05]
+116B5; [71 CC 77, 05, 05]
-11692; [71 CA 9C, 05, 05]
+116B6; [71 CC 7E, 05, 05]
-11693; [71 CA A3, 05, 05]
+FDD1 119CE; [71 CD 02, 05, 05] # Nandinagari first primary (compressible)
-11694; [71 CA AA, 05, 05]
+119A0; [71 CD 09, 05, 05]
-11695; [71 CA B1, 05, 05]
+119A1; [71 CD 10, 05, 05]
-11696; [71 CA B8, 05, 05]
+119A2; [71 CD 17, 05, 05]
-11697; [71 CA BF, 05, 05]
+119A3; [71 CD 1E, 05, 05]
-11698; [71 CA C6, 05, 05]
+119A4; [71 CD 25, 05, 05]
-11699; [71 CA CD, 05, 05]
+119A5; [71 CD 2C, 05, 05]
-1169A; [71 CA D4, 05, 05]
+119A6; [71 CD 33, 05, 05]
-1169B; [71 CA DB, 05, 05]
+119A7; [71 CD 3A, 05, 05]
-1169C; [71 CA E2, 05, 05]
+119AA; [71 CD 41, 05, 05]
-1169D; [71 CA E9, 05, 05]
+119AB; [71 CD 48, 05, 05]
-1169E; [71 CA F0, 05, 05]
+119AC; [71 CD 4F, 05, 05]
-1169F; [71 CA F7, 05, 05]
+119AD; [71 CD 56, 05, 05]
-116A0; [71 CA FE, 05, 05]
+119AE; [71 CD 5D, 05, 05]
-116A1; [71 CB 07, 05, 05]
+119AF; [71 CD 64, 05, 05]
-116A2; [71 CB 0E, 05, 05]
+119B0; [71 CD 6B, 05, 05]
-116A3; [71 CB 15, 05, 05]
+119B1; [71 CD 72, 05, 05]
-116A4; [71 CB 1C, 05, 05]
+119B2; [71 CD 79, 05, 05]
-116A5; [71 CB 23, 05, 05]
+119B3; [71 CD 80, 05, 05]
-116A6; [71 CB 2A, 05, 05]
+119B4; [71 CD 87, 05, 05]
-116AA; [71 CB 31, 05, 05]
+119B5; [71 CD 8E, 05, 05]
-116AD; [71 CB 38, 05, 05]
+119B6; [71 CD 95, 05, 05]
-116AE; [71 CB 3F, 05, 05]
+119B7; [71 CD 9C, 05, 05]
-116AF; [71 CB 46, 05, 05]
+119B8; [71 CD A3, 05, 05]
-116B0; [71 CB 4D, 05, 05]
+119B9; [71 CD AA, 05, 05]
-116B1; [71 CB 54, 05, 05]
+119BA; [71 CD B1, 05, 05]
-116B2; [71 CB 5B, 05, 05]
+119BB; [71 CD B8, 05, 05]
-116B3; [71 CB 62, 05, 05]
+119BC; [71 CD BF, 05, 05]
-116B4; [71 CB 69, 05, 05]
+119BD; [71 CD C6, 05, 05]
-116B5; [71 CB 70, 05, 05]
+119BE; [71 CD CD, 05, 05]
-116B6; [71 CB 77, 05, 05]
+119BF; [71 CD D4, 05, 05]
-FDD1 1180B; [71 CC 02, 05, 05] # Dogra first primary (compressible)
+119C0; [71 CD DB, 05, 05]
-11800; [71 CC 09, 05, 05]
+119C1; [71 CD E2, 05, 05]
-11801; [71 CC 10, 05, 05]
+119C2; [71 CD E9, 05, 05]
-11802; [71 CC 17, 05, 05]
+119C3; [71 CD F0, 05, 05]
-11803; [71 CC 1E, 05, 05]
+119C4; [71 CD F7, 05, 05]
-11804; [71 CC 25, 05, 05]
+119C5; [71 CD FE, 05, 05]
-11805; [71 CC 2C, 05, 05]
+119C6; [71 CE 07, 05, 05]
-11806; [71 CC 33, 05, 05]
+119C7; [71 CE 0E, 05, 05]
-11807; [71 CC 3A, 05, 05]
+119C8; [71 CE 15, 05, 05]
-11808; [71 CC 41, 05, 05]
+119C9; [71 CE 1C, 05, 05]
-11809; [71 CC 48, 05, 05]
+119CA; [71 CE 23, 05, 05]
-1180A; [71 CC 4F, 05, 05]
+119CB; [71 CE 2A, 05, 05]
-1180B; [71 CC 56, 05, 05]
+119CC; [71 CE 31, 05, 05]
-1180C; [71 CC 5D, 05, 05]
+119CD; [71 CE 38, 05, 05]
-1180D; [71 CC 64, 05, 05]
+119CE; [71 CE 3F, 05, 05]
-1180E; [71 CC 6B, 05, 05]
+119CF; [71 CE 46, 05, 05]
-1180F; [71 CC 72, 05, 05]
+119D0; [71 CE 4D, 05, 05]
-11810; [71 CC 79, 05, 05]
+119E1; [71 CE 54, 05, 05]
-11811; [71 CC 80, 05, 05]
+119E3; [71 CE 5B, 05, 05]
-11812; [71 CC 87, 05, 05]
+119D1; [71 CE 62, 05, 05]
-11813; [71 CC 8E, 05, 05]
+119D2; [71 CE 69, 05, 05]
-11814; [71 CC 95, 05, 05]
+119D3; [71 CE 70, 05, 05]
-11815; [71 CC 9C, 05, 05]
+119D4; [71 CE 77, 05, 05]
-11816; [71 CC A3, 05, 05]
+119D5; [71 CE 7E, 05, 05]
-11817; [71 CC AA, 05, 05]
+119D6; [71 CE 85, 05, 05]
-11818; [71 CC B1, 05, 05]
+119D7; [71 CE 8C, 05, 05]
-11819; [71 CC B8, 05, 05]
+119DA; [71 CE 93, 05, 05]
-1181A; [71 CC BF, 05, 05]
+119E4; [71 CE 9A, 05, 05]
-1181B; [71 CC C6, 05, 05]
+119DB; [71 CE A1, 05, 05]
-1181C; [71 CC CD, 05, 05]
+119DC; [71 CE A8, 05, 05]
-1181D; [71 CC D4, 05, 05]
+119DD; [71 CE AF, 05, 05]
-1181E; [71 CC DB, 05, 05]
+119E0; [71 CE B6, 05, 05]
-1181F; [71 CC E2, 05, 05]
+FDD1 1180B; [71 CF 02, 05, 05] # Dogra first primary (compressible)
-11820; [71 CC E9, 05, 05]
+11800; [71 CF 09, 05, 05]
-11821; [71 CC F0, 05, 05]
+11801; [71 CF 10, 05, 05]
-11822; [71 CC F7, 05, 05]
+11802; [71 CF 17, 05, 05]
-11823; [71 CC FE, 05, 05]
+11803; [71 CF 1E, 05, 05]
-11824; [71 CD 07, 05, 05]
+11804; [71 CF 25, 05, 05]
-11825; [71 CD 0E, 05, 05]
+11805; [71 CF 2C, 05, 05]
-11826; [71 CD 15, 05, 05]
+11806; [71 CF 33, 05, 05]
-11827; [71 CD 1C, 05, 05]
+11807; [71 CF 3A, 05, 05]
-11828; [71 CD 23, 05, 05]
+11808; [71 CF 41, 05, 05]
-11829; [71 CD 2A, 05, 05]
+11809; [71 CF 48, 05, 05]
-1182A; [71 CD 31, 05, 05]
+1180A; [71 CF 4F, 05, 05]
-1182B; [71 CD 38, 05, 05]
+1180B; [71 CF 56, 05, 05]
-1182C; [71 CD 3F, 05, 05]
+1180C; [71 CF 5D, 05, 05]
-1182D; [71 CD 46, 05, 05]
+1180D; [71 CF 64, 05, 05]
-1182E; [71 CD 4D, 05, 05]
+1180E; [71 CF 6B, 05, 05]
-1182F; [71 CD 54, 05, 05]
+1180F; [71 CF 72, 05, 05]
-11830; [71 CD 5B, 05, 05]
+11810; [71 CF 79, 05, 05]
-11831; [71 CD 62, 05, 05]
+11811; [71 CF 80, 05, 05]
-11832; [71 CD 69, 05, 05]
+11812; [71 CF 87, 05, 05]
-11833; [71 CD 70, 05, 05]
+11813; [71 CF 8E, 05, 05]
-11834; [71 CD 77, 05, 05]
+11814; [71 CF 95, 05, 05]
-11835; [71 CD 7E, 05, 05]
+11815; [71 CF 9C, 05, 05]
-11836; [71 CD 85, 05, 05]
+11816; [71 CF A3, 05, 05]
-11839; [71 CD 8C, 05, 05]
+11817; [71 CF AA, 05, 05]
-FDD1 11717; [71 CE 02, 05, 05] # Ahom first primary (compressible)
+11818; [71 CF B1, 05, 05]
-11700; [71 CE 09, 05, 05]
+11819; [71 CF B8, 05, 05]
-11701; [71 CE 10, 05, 05]
+1181A; [71 CF BF, 05, 05]
-11702; [71 CE 17, 05, 05]
+1181B; [71 CF C6, 05, 05]
-11703; [71 CE 1E, 05, 05]
+1181C; [71 CF CD, 05, 05]
-11704; [71 D0, 05, 05]
-11705; [71 D0, 70, 05]
+1181D; [71 CF D4, 05, 05]
-11706; [71 D2 02, 05, 05]
+1181E; [71 CF DB, 05, 05]
-11707; [71 D2 09, 05, 05]
+1181F; [71 CF E2, 05, 05]
-11708; [71 D4, 05, 05]
-1171A; [71 D4, 70, 05]
+11820; [71 CF E9, 05, 05]
-11709; [71 D6 02, 05, 05]
+11821; [71 CF F0, 05, 05]
-1170A; [71 D6 09, 05, 05]
+11822; [71 CF F7, 05, 05]
-1170B; [71 D6 10, 05, 05]
+11823; [71 CF FE, 05, 05]
-1170C; [71 D6 17, 05, 05]
+11824; [71 D0 07, 05, 05]
-1170D; [71 D6 1E, 05, 05]
+11825; [71 D0 0E, 05, 05]
-1170E; [71 D6 25, 05, 05]
+11826; [71 D0 15, 05, 05]
-1170F; [71 D6 2C, 05, 05]
+11827; [71 D0 1C, 05, 05]
-11710; [71 D6 33, 05, 05]
+11828; [71 D0 23, 05, 05]
-11711; [71 D6 3A, 05, 05]
+11829; [71 D0 2A, 05, 05]
-11712; [71 D6 41, 05, 05]
+1182A; [71 D0 31, 05, 05]
-11713; [71 D6 48, 05, 05]
+1182B; [71 D0 38, 05, 05]
-11714; [71 D6 4F, 05, 05]
+1182C; [71 D0 3F, 05, 05]
-11715; [71 D8, 05, 05]
-11716; [71 D8, 70, 05]
+1182D; [71 D0 46, 05, 05]
-11717; [71 DA 02, 05, 05]
+1182E; [71 D0 4D, 05, 05]
-11718; [71 DA 09, 05, 05]
+1182F; [71 D0 54, 05, 05]
-11719; [71 DA 10, 05, 05]
+11830; [71 D0 5B, 05, 05]
-11720; [71 DA 17, 05, 05]
+11831; [71 D0 62, 05, 05]
-11721; [71 DA 1E, 05, 05]
+11832; [71 D0 69, 05, 05]
-11722; [71 DA 25, 05, 05]
+11833; [71 D0 70, 05, 05]
-11723; [71 DA 2C, 05, 05]
+11834; [71 D0 77, 05, 05]
-11724; [71 DA 33, 05, 05]
+11835; [71 D0 7E, 05, 05]
-11725; [71 DA 3A, 05, 05]
+11836; [71 D0 85, 05, 05]
-11726; [71 DA 41, 05, 05]
+11839; [71 D0 8C, 05, 05]
-11727; [71 DA 48, 05, 05]
+FDD1 11717; [71 D1 02, 05, 05] # Ahom first primary (compressible)
-11728; [71 DA 4F, 05, 05]
+11700; [71 D1 09, 05, 05]
-11729; [71 DA 56, 05, 05]
+11701; [71 D1 10, 05, 05]
-1172A; [71 DA 5D, 05, 05]
+11702; [71 D1 17, 05, 05]
-1172B; [71 DA 64, 05, 05]
+11703; [71 D1 1E, 05, 05]
-1171D; [71 DA 6B, 05, 05]
+11704; [71 D3, 05, 05]
+11705; [71 D3, 70, 05]
-1171E; [71 DA 72, 05, 05]
+11706; [71 D5 02, 05, 05]
-1171F; [71 DA 79, 05, 05]
+11707; [71 D5 09, 05, 05]
-FDD1 11D10; [71 DB 02, 05, 05] # Masaram_Gondi first primary (compressible)
+11708; [71 D7, 05, 05]
+1171A; [71 D7, 70, 05]
-11D00; [71 DB 09, 05, 05]
+11709; [71 D9 02, 05, 05]
-11D01; [71 DB 10, 05, 05]
+1170A; [71 D9 09, 05, 05]
-11D02; [71 DB 17, 05, 05]
+1170B; [71 D9 10, 05, 05]
-11D03; [71 DB 1E, 05, 05]
+1170C; [71 D9 17, 05, 05]
-11D04; [71 DB 25, 05, 05]
+1170D; [71 D9 1E, 05, 05]
-11D05; [71 DB 2C, 05, 05]
+1170E; [71 D9 25, 05, 05]
-11D06; [71 DB 33, 05, 05]
+1170F; [71 D9 2C, 05, 05]
-11D08; [71 DB 3A, 05, 05]
+11710; [71 D9 33, 05, 05]
-11D09; [71 DB 41, 05, 05]
+11711; [71 D9 3A, 05, 05]
-11D0B; [71 DB 48, 05, 05]
+11712; [71 D9 41, 05, 05]
-11D0C; [71 DB 4F, 05, 05]
+11713; [71 D9 48, 05, 05]
-11D0D; [71 DB 56, 05, 05]
+11714; [71 D9 4F, 05, 05]
-11D0E; [71 DB 5D, 05, 05]
+11715; [71 DB, 05, 05]
+11716; [71 DB, 70, 05]
-11D0F; [71 DB 64, 05, 05]
+11717; [71 DD 02, 05, 05]
-11D10; [71 DB 6B, 05, 05]
+11718; [71 DD 09, 05, 05]
-11D11; [71 DB 72, 05, 05]
+11719; [71 DD 10, 05, 05]
-11D12; [71 DB 79, 05, 05]
+11720; [71 DD 17, 05, 05]
-11D13; [71 DB 80, 05, 05]
+11721; [71 DD 1E, 05, 05]
-11D14; [71 DB 87, 05, 05]
+11722; [71 DD 25, 05, 05]
-11D15; [71 DB 8E, 05, 05]
+11723; [71 DD 2C, 05, 05]
-11D16; [71 DB 95, 05, 05]
+11724; [71 DD 33, 05, 05]
-11D17; [71 DB 9C, 05, 05]
+11725; [71 DD 3A, 05, 05]
-11D18; [71 DB A3, 05, 05]
+11726; [71 DD 41, 05, 05]
-11D19; [71 DB AA, 05, 05]
+11727; [71 DD 48, 05, 05]
-11D1A; [71 DB B1, 05, 05]
+11728; [71 DD 4F, 05, 05]
-11D1B; [71 DB B8, 05, 05]
+11729; [71 DD 56, 05, 05]
-11D1C; [71 DB BF, 05, 05]
+1172A; [71 DD 5D, 05, 05]
-11D1D; [71 DB C6, 05, 05]
+1172B; [71 DD 64, 05, 05]
-11D1E; [71 DB CD, 05, 05]
+1171D; [71 DD 6B, 05, 05]
-11D1F; [71 DB D4, 05, 05]
+1171E; [71 DD 72, 05, 05]
-11D20; [71 DB DB, 05, 05]
+1171F; [71 DD 79, 05, 05]
-11D21; [71 DB E2, 05, 05]
+FDD1 11D10; [71 DE 02, 05, 05] # Masaram_Gondi first primary (compressible)
-11D22; [71 DB E9, 05, 05]
+11D00; [71 DE 09, 05, 05]
-11D23; [71 DB F0, 05, 05]
+11D01; [71 DE 10, 05, 05]
-11D24; [71 DB F7, 05, 05]
+11D02; [71 DE 17, 05, 05]
-11D25; [71 DB FE, 05, 05]
+11D03; [71 DE 1E, 05, 05]
-11D26; [71 DD, 05, 05]
-11D46; [71 DD, 05, 20]
-11D47; [71 DD, 05, 2E]
+11D04; [71 DE 25, 05, 05]
-11D27; [71 DF 02, 05, 05]
+11D05; [71 DE 2C, 05, 05]
-11D28; [71 DF 09, 05, 05]
+11D06; [71 DE 33, 05, 05]
-11D29; [71 DF 10, 05, 05]
+11D08; [71 DE 3A, 05, 05]
-11D2A; [71 DF 17, 05, 05]
+11D09; [71 DE 41, 05, 05]
-11D2B; [71 DF 1E, 05, 05]
+11D0B; [71 DE 48, 05, 05]
-11D2C; [71 DF 25, 05, 05]
+11D0C; [71 DE 4F, 05, 05]
-11D2D; [71 DF 2C, 05, 05]
+11D0D; [71 DE 56, 05, 05]
-11D2E; [71 DF 33, 05, 05]
+11D0E; [71 DE 5D, 05, 05]
-11D2F; [71 DF 3A, 05, 05]
+11D0F; [71 DE 64, 05, 05]
-11D30; [71 DF 41, 05, 05]
+11D10; [71 DE 6B, 05, 05]
-11D31; [71 DF 48, 05, 05]
+11D11; [71 DE 72, 05, 05]
-11D32; [71 DF 4F, 05, 05]
+11D12; [71 DE 79, 05, 05]
-11D33; [71 DF 56, 05, 05]
+11D13; [71 DE 80, 05, 05]
-11D34; [71 DF 5D, 05, 05]
+11D14; [71 DE 87, 05, 05]
-11D35; [71 DF 64, 05, 05]
+11D15; [71 DE 8E, 05, 05]
-11D36; [71 DF 6B, 05, 05]
+11D16; [71 DE 95, 05, 05]
-11D3A; [71 DF 72, 05, 05]
+11D17; [71 DE 9C, 05, 05]
-11D3C; [71 DF 79, 05, 05]
+11D18; [71 DE A3, 05, 05]
-11D3D; [71 DF 80, 05, 05]
+11D19; [71 DE AA, 05, 05]
-11D3F; [71 DF 87, 05, 05]
+11D1A; [71 DE B1, 05, 05]
-11D44; [71 DF 8E, 05, 05]
+11D1B; [71 DE B8, 05, 05]
-11D45; [71 DF 95, 05, 05]
+11D1C; [71 DE BF, 05, 05]
-FDD1 11D71; [71 E0 02, 05, 05] # Gunjala_Gondi first primary (compressible)
+11D1D; [71 DE C6, 05, 05]
-11D98; [71 E0 09, 05, 05]
+11D1E; [71 DE CD, 05, 05]
-11D60; [71 E0 10, 05, 05]
+11D1F; [71 DE D4, 05, 05]
-11D61; [71 E0 17, 05, 05]
+11D20; [71 DE DB, 05, 05]
-11D62; [71 E0 1E, 05, 05]
+11D21; [71 DE E2, 05, 05]
-11D63; [71 E0 25, 05, 05]
+11D22; [71 DE E9, 05, 05]
-11D64; [71 E0 2C, 05, 05]
+11D23; [71 DE F0, 05, 05]
-11D65; [71 E0 33, 05, 05]
+11D24; [71 DE F7, 05, 05]
-11D67; [71 E0 3A, 05, 05]
+11D25; [71 DE FE, 05, 05]
-11D68; [71 E0 41, 05, 05]
+11D26; [71 E0, 05, 05]
+11D46; [71 E0, 05, 20]
+11D47; [71 E0, 05, 2E]
-11D6A; [71 E0 48, 05, 05]
+11D27; [71 E2 02, 05, 05]
-11D6B; [71 E0 4F, 05, 05]
+11D28; [71 E2 09, 05, 05]
-11D6C; [71 E0 56, 05, 05]
+11D29; [71 E2 10, 05, 05]
-11D6D; [71 E0 5D, 05, 05]
+11D2A; [71 E2 17, 05, 05]
-11D6E; [71 E0 64, 05, 05]
+11D2B; [71 E2 1E, 05, 05]
-11D6F; [71 E0 6B, 05, 05]
+11D2C; [71 E2 25, 05, 05]
-11D70; [71 E0 72, 05, 05]
+11D2D; [71 E2 2C, 05, 05]
-11D71; [71 E0 79, 05, 05]
+11D2E; [71 E2 33, 05, 05]
-11D72; [71 E0 80, 05, 05]
+11D2F; [71 E2 3A, 05, 05]
-11D73; [71 E0 87, 05, 05]
+11D30; [71 E2 41, 05, 05]
-11D74; [71 E0 8E, 05, 05]
+11D31; [71 E2 48, 05, 05]
-11D75; [71 E0 95, 05, 05]
+11D32; [71 E2 4F, 05, 05]
-11D76; [71 E0 9C, 05, 05]
+11D33; [71 E2 56, 05, 05]
-11D77; [71 E0 A3, 05, 05]
+11D34; [71 E2 5D, 05, 05]
-11D78; [71 E0 AA, 05, 05]
+11D35; [71 E2 64, 05, 05]
-11D79; [71 E0 B1, 05, 05]
+11D36; [71 E2 6B, 05, 05]
-11D7A; [71 E0 B8, 05, 05]
+11D3A; [71 E2 72, 05, 05]
-11D7B; [71 E0 BF, 05, 05]
+11D3C; [71 E2 79, 05, 05]
-11D7C; [71 E0 C6, 05, 05]
+11D3D; [71 E2 80, 05, 05]
-11D7D; [71 E0 CD, 05, 05]
+11D3F; [71 E2 87, 05, 05]
-11D7E; [71 E0 D4, 05, 05]
+11D44; [71 E2 8E, 05, 05]
-11D7F; [71 E0 DB, 05, 05]
+11D45; [71 E2 95, 05, 05]
-11D80; [71 E0 E2, 05, 05]
+FDD1 11D71; [71 E3 02, 05, 05] # Gunjala_Gondi first primary (compressible)
-11D81; [71 E0 E9, 05, 05]
+11D98; [71 E3 09, 05, 05]
-11D82; [71 E0 F0, 05, 05]
+11D60; [71 E3 10, 05, 05]
-11D83; [71 E0 F7, 05, 05]
+11D61; [71 E3 17, 05, 05]
-11D84; [71 E0 FE, 05, 05]
+11D62; [71 E3 1E, 05, 05]
-11D85; [71 E1 07, 05, 05]
+11D63; [71 E3 25, 05, 05]
-11D86; [71 E1 0E, 05, 05]
+11D64; [71 E3 2C, 05, 05]
-11D87; [71 E1 15, 05, 05]
+11D65; [71 E3 33, 05, 05]
-11D88; [71 E1 1C, 05, 05]
+11D67; [71 E3 3A, 05, 05]
-11D89; [71 E1 23, 05, 05]
+11D68; [71 E3 41, 05, 05]
-11D8A; [71 E1 2A, 05, 05]
+11D6A; [71 E3 48, 05, 05]
-11D8B; [71 E1 31, 05, 05]
+11D6B; [71 E3 4F, 05, 05]
-11D8C; [71 E1 38, 05, 05]
+11D6C; [71 E3 56, 05, 05]
-11D8D; [71 E1 3F, 05, 05]
+11D6D; [71 E3 5D, 05, 05]
-11D8E; [71 E1 46, 05, 05]
+11D6E; [71 E3 64, 05, 05]
-11D90; [71 E1 4D, 05, 05]
+11D6F; [71 E3 6B, 05, 05]
-11D91; [71 E1 54, 05, 05]
+11D70; [71 E3 72, 05, 05]
-11D93; [71 E1 5B, 05, 05]
+11D71; [71 E3 79, 05, 05]
-11D94; [71 E1 62, 05, 05]
+11D72; [71 E3 80, 05, 05]
-11D97; [71 E1 69, 05, 05]
+11D73; [71 E3 87, 05, 05]
-FDD1 1B83; [71 E2 02, 05, 05] # Sundanese first primary (compressible)
+11D74; [71 E3 8E, 05, 05]
-1B83; [71 E4, 05, 05]
-1BBA; [71 E4, 05, 20]
+11D75; [71 E3 95, 05, 05]
-1B84; [71 E6 02, 05, 05]
+11D76; [71 E3 9C, 05, 05]
-1B85; [71 E6 09, 05, 05]
+11D77; [71 E3 A3, 05, 05]
-1B86; [71 E6 10, 05, 05]
+11D78; [71 E3 AA, 05, 05]
-1B87; [71 E6 17, 05, 05]
+11D79; [71 E3 B1, 05, 05]
-1B88; [71 E6 1E, 05, 05]
+11D7A; [71 E3 B8, 05, 05]
-1B89; [71 E6 25, 05, 05]
+11D7B; [71 E3 BF, 05, 05]
-1B8A; [71 E8, 05, 05]
-1BBE; [71 E8, 05, 20]
+11D7C; [71 E3 C6, 05, 05]
-1BAE; [71 EA 02, 05, 05]
+11D7D; [71 E3 CD, 05, 05]
-1B8B; [71 EA 09, 05, 05]
+11D7E; [71 E3 D4, 05, 05]
-1B8C; [71 EA 10, 05, 05]
+11D7F; [71 E3 DB, 05, 05]
-1B8D; [71 EA 17, 05, 05]
+11D80; [71 E3 E2, 05, 05]
-1B8E; [71 EA 1E, 05, 05]
+11D81; [71 E3 E9, 05, 05]
-1B8F; [71 EA 25, 05, 05]
+11D82; [71 E3 F0, 05, 05]
-1B90; [71 EA 2C, 05, 05]
+11D83; [71 E3 F7, 05, 05]
-1B91; [71 EA 33, 05, 05]
+11D84; [71 E3 FE, 05, 05]
-1B92; [71 EA 3A, 05, 05]
+11D85; [71 E4 07, 05, 05]
-1B93; [71 EA 41, 05, 05]
+11D86; [71 E4 0E, 05, 05]
-1B94; [71 EA 48, 05, 05]
+11D87; [71 E4 15, 05, 05]
-1B95; [71 EA 4F, 05, 05]
+11D88; [71 E4 1C, 05, 05]
-1B96; [71 EA 56, 05, 05]
+11D89; [71 E4 23, 05, 05]
-1B97; [71 EA 5D, 05, 05]
+11D8A; [71 E4 2A, 05, 05]
-1B98; [71 EA 64, 05, 05]
+11D8B; [71 E4 31, 05, 05]
-1BBD; [71 EA 6B, 05, 05]
+11D8C; [71 E4 38, 05, 05]
-1B99; [71 EC, 05, 05]
-1BBF; [71 EC, 05, 20]
+11D8D; [71 E4 3F, 05, 05]
-1BAC; [71 EE 02, 05, 05]
+11D8E; [71 E4 46, 05, 05]
-1B9A; [71 EE 09, 05, 05]
+11D90; [71 E4 4D, 05, 05]
-1BA1; [71 EE 10, 05, 05]
+11D91; [71 E4 54, 05, 05]
-1B9B; [71 EE 17, 05, 05]
+11D93; [71 E4 5B, 05, 05]
-1BA2; [71 EE 1E, 05, 05]
+11D94; [71 E4 62, 05, 05]
-1BBB; [71 EE 25, 05, 05]
+11D97; [71 E4 69, 05, 05]
-1B9C; [71 EE 2C, 05, 05]
+FDD1 1B83; [71 E5 02, 05, 05] # Sundanese first primary (compressible)
-1BA3; [71 EE 33, 05, 05]
+1B83; [71 E7, 05, 05]
+1BBA; [71 E7, 05, 20]
-1BBC; [71 EE 3A, 05, 05]
+1B84; [71 E9 02, 05, 05]
-1B9D; [71 EE 41, 05, 05]
+1B85; [71 E9 09, 05, 05]
-1BAD; [71 EE 48, 05, 05]
+1B86; [71 E9 10, 05, 05]
-1B9E; [71 EE 4F, 05, 05]
+1B87; [71 E9 17, 05, 05]
-1B9F; [71 EE 56, 05, 05]
+1B88; [71 E9 1E, 05, 05]
-1BAF; [71 EE 5D, 05, 05]
+1B89; [71 E9 25, 05, 05]
-1BA0; [71 EE 64, 05, 05]
+1B8A; [71 EB, 05, 05]
+1BBE; [71 EB, 05, 20]
-1BA4; [71 EE 6B, 05, 05]
+1BAE; [71 ED 02, 05, 05]
-1BA5; [71 EE 72, 05, 05]
+1B8B; [71 ED 09, 05, 05]
-1BA6; [71 EE 79, 05, 05]
+1B8C; [71 ED 10, 05, 05]
-1BA7; [71 EE 80, 05, 05]
+1B8D; [71 ED 17, 05, 05]
-1BA8; [71 EE 87, 05, 05]
+1B8E; [71 ED 1E, 05, 05]
-1BA9; [71 EE 8E, 05, 05]
+1B8F; [71 ED 25, 05, 05]
-1BAA; [71 EE 95, 05, 05]
+1B90; [71 ED 2C, 05, 05]
-1BAB; [71 EE 9C, 05, 05]
+1B91; [71 ED 33, 05, 05]
-FDD1 11005; [71 EF 02, 05, 05] # Brahmi first primary (compressible)
+1B92; [71 ED 3A, 05, 05]
-11005; [71 EF 09, 05, 05]
+1B93; [71 ED 41, 05, 05]
-11006; [71 EF 10, 05, 05]
+1B94; [71 ED 48, 05, 05]
-11007; [71 EF 17, 05, 05]
+1B95; [71 ED 4F, 05, 05]
-11008; [71 EF 1E, 05, 05]
+1B96; [71 ED 56, 05, 05]
-11009; [71 EF 25, 05, 05]
+1B97; [71 ED 5D, 05, 05]
-1100A; [71 EF 2C, 05, 05]
+1B98; [71 ED 64, 05, 05]
-1100B; [71 EF 33, 05, 05]
+1BBD; [71 ED 6B, 05, 05]
-1100C; [71 EF 3A, 05, 05]
+1B99; [71 EF, 05, 05]
+1BBF; [71 EF, 05, 20]
-1100D; [71 EF 41, 05, 05]
+1BAC; [71 F1 02, 05, 05]
-1100E; [71 EF 48, 05, 05]
+1B9A; [71 F1 09, 05, 05]
-1100F; [71 EF 4F, 05, 05]
+1BA1; [71 F1 10, 05, 05]
-11010; [71 EF 56, 05, 05]
+1B9B; [71 F1 17, 05, 05]
-11011; [71 EF 5D, 05, 05]
+1BA2; [71 F1 1E, 05, 05]
-11012; [71 EF 64, 05, 05]
+1BBB; [71 F1 25, 05, 05]
-11013; [71 EF 6B, 05, 05]
+1B9C; [71 F1 2C, 05, 05]
-11014; [71 EF 72, 05, 05]
+1BA3; [71 F1 33, 05, 05]
-11015; [71 EF 79, 05, 05]
+1BBC; [71 F1 3A, 05, 05]
-11016; [71 EF 80, 05, 05]
+1B9D; [71 F1 41, 05, 05]
-11017; [71 EF 87, 05, 05]
+1BAD; [71 F1 48, 05, 05]
-11018; [71 EF 8E, 05, 05]
+1B9E; [71 F1 4F, 05, 05]
-11019; [71 EF 95, 05, 05]
+1B9F; [71 F1 56, 05, 05]
-1101A; [71 EF 9C, 05, 05]
+1BAF; [71 F1 5D, 05, 05]
-1101B; [71 EF A3, 05, 05]
+1BA0; [71 F1 64, 05, 05]
-1101C; [71 EF AA, 05, 05]
+1BA4; [71 F1 6B, 05, 05]
-1101D; [71 EF B1, 05, 05]
+1BA5; [71 F1 72, 05, 05]
-1101E; [71 EF B8, 05, 05]
+1BA6; [71 F1 79, 05, 05]
-1101F; [71 EF BF, 05, 05]
+1BA7; [71 F1 80, 05, 05]
-11020; [71 EF C6, 05, 05]
+1BA8; [71 F1 87, 05, 05]
-11021; [71 EF CD, 05, 05]
+1BA9; [71 F1 8E, 05, 05]
-11022; [71 EF D4, 05, 05]
+1BAA; [71 F1 95, 05, 05]
-11023; [71 EF DB, 05, 05]
+1BAB; [71 F1 9C, 05, 05]
-11024; [71 EF E2, 05, 05]
+FDD1 11005; [71 F2 02, 05, 05] # Brahmi first primary (compressible)
-11025; [71 EF E9, 05, 05]
+11005; [71 F2 09, 05, 05]
-11026; [71 EF F0, 05, 05]
+11006; [71 F2 10, 05, 05]
-11027; [71 EF F7, 05, 05]
+11007; [71 F2 17, 05, 05]
-11028; [71 EF FE, 05, 05]
+11008; [71 F2 1E, 05, 05]
-11029; [71 F0 07, 05, 05]
+11009; [71 F2 25, 05, 05]
-1102A; [71 F0 0E, 05, 05]
+1100A; [71 F2 2C, 05, 05]
-1102B; [71 F0 15, 05, 05]
+1100B; [71 F2 33, 05, 05]
-1102C; [71 F0 1C, 05, 05]
+1100C; [71 F2 3A, 05, 05]
-1102D; [71 F0 23, 05, 05]
+1100D; [71 F2 41, 05, 05]
-1102E; [71 F0 2A, 05, 05]
+1100E; [71 F2 48, 05, 05]
-1102F; [71 F0 31, 05, 05]
+1100F; [71 F2 4F, 05, 05]
-11030; [71 F0 38, 05, 05]
+11010; [71 F2 56, 05, 05]
-11031; [71 F0 3F, 05, 05]
+11011; [71 F2 5D, 05, 05]
-11032; [71 F0 46, 05, 05]
+11012; [71 F2 64, 05, 05]
-11033; [71 F0 4D, 05, 05]
+11013; [71 F2 6B, 05, 05]
-11003; [71 F0 54, 05, 05]
+11014; [71 F2 72, 05, 05]
-11004; [71 F0 5B, 05, 05]
+11015; [71 F2 79, 05, 05]
-11034; [71 F0 62, 05, 05]
+11016; [71 F2 80, 05, 05]
-11035; [71 F0 69, 05, 05]
+11017; [71 F2 87, 05, 05]
-11036; [71 F0 70, 05, 05]
+11018; [71 F2 8E, 05, 05]
-11037; [71 F0 77, 05, 05]
+11019; [71 F2 95, 05, 05]
-11038; [71 F0 7E, 05, 05]
+1101A; [71 F2 9C, 05, 05]
-11039; [71 F0 85, 05, 05]
+1101B; [71 F2 A3, 05, 05]
-1103A; [71 F0 8C, 05, 05]
+1101C; [71 F2 AA, 05, 05]
-1103B; [71 F0 93, 05, 05]
+1101D; [71 F2 B1, 05, 05]
-1103C; [71 F0 9A, 05, 05]
+1101E; [71 F2 B8, 05, 05]
-1103D; [71 F0 A1, 05, 05]
+1101F; [71 F2 BF, 05, 05]
-1103E; [71 F0 A8, 05, 05]
+11020; [71 F2 C6, 05, 05]
-1103F; [71 F0 AF, 05, 05]
+11021; [71 F2 CD, 05, 05]
-11040; [71 F0 B6, 05, 05]
+11022; [71 F2 D4, 05, 05]
-11041; [71 F0 BD, 05, 05]
+11023; [71 F2 DB, 05, 05]
-11042; [71 F0 C4, 05, 05]
+11024; [71 F2 E2, 05, 05]
-11043; [71 F0 CB, 05, 05]
+11025; [71 F2 E9, 05, 05]
-11044; [71 F0 D2, 05, 05]
+11026; [71 F2 F0, 05, 05]
-11045; [71 F0 D9, 05, 05]
+11027; [71 F2 F7, 05, 05]
-11046; [71 F0 E0, 05, 05]
+11028; [71 F2 FE, 05, 05]
-1107F; [71 F0 E7, 05, 05]
+11029; [71 F3 07, 05, 05]
-FDD1 10A00; [71 F1 02, 05, 05] # KHAROSHTHI first primary (compressible)
+1102A; [71 F3 0E, 05, 05]
-10A00; [71 F1 09, 05, 05]
+1102B; [71 F3 15, 05, 05]
-10A01; [71 F1 10, 05, 05]
+1102C; [71 F3 1C, 05, 05]
-10A02; [71 F1 17, 05, 05]
+1102D; [71 F3 23, 05, 05]
-10A03; [71 F1 1E, 05, 05]
+1102E; [71 F3 2A, 05, 05]
-10A05; [71 F1 25, 05, 05]
+1102F; [71 F3 31, 05, 05]
-10A06; [71 F1 2C, 05, 05]
+11030; [71 F3 38, 05, 05]
-10A0C; [71 F1 33, 05, 05]
+11031; [71 F3 3F, 05, 05]
-10A10; [71 F1 3A, 05, 05]
+11032; [71 F3 46, 05, 05]
-10A32; [71 F1 41, 05, 05]
+11033; [71 F3 4D, 05, 05]
-10A11; [71 F1 48, 05, 05]
+11003; [71 F3 54, 05, 05]
-10A12; [71 F1 4F, 05, 05]
+11004; [71 F3 5B, 05, 05]
-10A13; [71 F1 56, 05, 05]
+11034; [71 F3 62, 05, 05]
-10A15; [71 F1 5D, 05, 05]
+11035; [71 F3 69, 05, 05]
-10A16; [71 F1 64, 05, 05]
+11036; [71 F3 70, 05, 05]
-10A17; [71 F1 6B, 05, 05]
+11037; [71 F3 77, 05, 05]
-10A19; [71 F1 72, 05, 05]
+11038; [71 F3 7E, 05, 05]
-10A1A; [71 F1 79, 05, 05]
+11039; [71 F3 85, 05, 05]
-10A34; [71 F1 80, 05, 05]
+1103A; [71 F3 8C, 05, 05]
-10A1B; [71 F1 87, 05, 05]
+1103B; [71 F3 93, 05, 05]
-10A33; [71 F1 8E, 05, 05]
+1103C; [71 F3 9A, 05, 05]
-10A1C; [71 F1 95, 05, 05]
+1103D; [71 F3 A1, 05, 05]
-10A1D; [71 F1 9C, 05, 05]
+1103E; [71 F3 A8, 05, 05]
-10A1E; [71 F1 A3, 05, 05]
+1103F; [71 F3 AF, 05, 05]
-10A1F; [71 F1 AA, 05, 05]
+11040; [71 F3 B6, 05, 05]
-10A20; [71 F1 B1, 05, 05]
+11041; [71 F3 BD, 05, 05]
-10A21; [71 F1 B8, 05, 05]
+11042; [71 F3 C4, 05, 05]
-10A22; [71 F1 BF, 05, 05]
+11043; [71 F3 CB, 05, 05]
-10A23; [71 F1 C6, 05, 05]
+11044; [71 F3 D2, 05, 05]
-10A24; [71 F1 CD, 05, 05]
+11045; [71 F3 D9, 05, 05]
-10A25; [71 F1 D4, 05, 05]
+11046; [71 F3 E0, 05, 05]
-10A26; [71 F1 DB, 05, 05]
+1107F; [71 F3 E7, 05, 05]
-10A27; [71 F1 E2, 05, 05]
+FDD1 10A00; [71 F4 02, 05, 05] # KHAROSHTHI first primary (compressible)
-10A28; [71 F1 E9, 05, 05]
+10A00; [71 F4 09, 05, 05]
-10A29; [71 F1 F0, 05, 05]
+10A01; [71 F4 10, 05, 05]
-10A2A; [71 F1 F7, 05, 05]
+10A02; [71 F4 17, 05, 05]
-10A2B; [71 F1 FE, 05, 05]
+10A03; [71 F4 1E, 05, 05]
-10A2C; [71 F2 07, 05, 05]
+10A05; [71 F4 25, 05, 05]
-10A35; [71 F2 0E, 05, 05]
+10A06; [71 F4 2C, 05, 05]
-10A2D; [71 F2 15, 05, 05]
+10A0C; [71 F4 33, 05, 05]
-10A2E; [71 F2 1C, 05, 05]
+10A10; [71 F4 3A, 05, 05]
-10A2F; [71 F2 23, 05, 05]
+10A32; [71 F4 41, 05, 05]
-10A30; [71 F2 2A, 05, 05]
+10A11; [71 F4 48, 05, 05]
-10A31; [71 F2 31, 05, 05]
+10A12; [71 F4 4F, 05, 05]
-10A3F; [71 F2 38, 05, 05]
+10A13; [71 F4 56, 05, 05]
-FDD1 11C0E; [71 F3 02, 05, 05] # Bhaiksuki first primary (compressible)
+10A15; [71 F4 5D, 05, 05]
-11C00; [71 F3 09, 05, 05]
+10A16; [71 F4 64, 05, 05]
-11C01; [71 F3 10, 05, 05]
+10A17; [71 F4 6B, 05, 05]
-11C02; [71 F3 17, 05, 05]
+10A19; [71 F4 72, 05, 05]
-11C03; [71 F3 1E, 05, 05]
+10A1A; [71 F4 79, 05, 05]
-11C04; [71 F3 25, 05, 05]
+10A34; [71 F4 80, 05, 05]
-11C05; [71 F3 2C, 05, 05]
+10A1B; [71 F4 87, 05, 05]
-11C06; [71 F3 33, 05, 05]
+10A33; [71 F4 8E, 05, 05]
-11C07; [71 F3 3A, 05, 05]
+10A1C; [71 F4 95, 05, 05]
-11C08; [71 F3 41, 05, 05]
+10A1D; [71 F4 9C, 05, 05]
-11C0A; [71 F3 48, 05, 05]
+10A1E; [71 F4 A3, 05, 05]
-11C0B; [71 F3 4F, 05, 05]
+10A1F; [71 F4 AA, 05, 05]
-11C0C; [71 F3 56, 05, 05]
+10A20; [71 F4 B1, 05, 05]
-11C0D; [71 F3 5D, 05, 05]
+10A21; [71 F4 B8, 05, 05]
-11C0E; [71 F3 64, 05, 05]
+10A22; [71 F4 BF, 05, 05]
-11C0F; [71 F3 6B, 05, 05]
+10A23; [71 F4 C6, 05, 05]
-11C10; [71 F3 72, 05, 05]
+10A24; [71 F4 CD, 05, 05]
-11C11; [71 F3 79, 05, 05]
+10A25; [71 F4 D4, 05, 05]
-11C12; [71 F3 80, 05, 05]
+10A26; [71 F4 DB, 05, 05]
-11C13; [71 F3 87, 05, 05]
+10A27; [71 F4 E2, 05, 05]
-11C14; [71 F3 8E, 05, 05]
+10A28; [71 F4 E9, 05, 05]
-11C15; [71 F3 95, 05, 05]
+10A29; [71 F4 F0, 05, 05]
-11C16; [71 F3 9C, 05, 05]
+10A2A; [71 F4 F7, 05, 05]
-11C17; [71 F3 A3, 05, 05]
+10A2B; [71 F4 FE, 05, 05]
-11C18; [71 F3 AA, 05, 05]
+10A2C; [71 F5 07, 05, 05]
-11C19; [71 F3 B1, 05, 05]
+10A35; [71 F5 0E, 05, 05]
-11C1A; [71 F3 B8, 05, 05]
+10A2D; [71 F5 15, 05, 05]
-11C1B; [71 F3 BF, 05, 05]
+10A2E; [71 F5 1C, 05, 05]
-11C1C; [71 F3 C6, 05, 05]
+10A2F; [71 F5 23, 05, 05]
-11C1D; [71 F3 CD, 05, 05]
+10A30; [71 F5 2A, 05, 05]
-11C1E; [71 F3 D4, 05, 05]
+10A31; [71 F5 31, 05, 05]
-11C1F; [71 F3 DB, 05, 05]
+10A3F; [71 F5 38, 05, 05]
-11C20; [71 F3 E2, 05, 05]
+FDD1 11C0E; [71 F6 02, 05, 05] # Bhaiksuki first primary (compressible)
-11C21; [71 F3 E9, 05, 05]
+11C00; [71 F6 09, 05, 05]
-11C22; [71 F3 F0, 05, 05]
+11C01; [71 F6 10, 05, 05]
-11C23; [71 F3 F7, 05, 05]
+11C02; [71 F6 17, 05, 05]
-11C24; [71 F3 FE, 05, 05]
+11C03; [71 F6 1E, 05, 05]
-11C25; [71 F4 07, 05, 05]
+11C04; [71 F6 25, 05, 05]
-11C26; [71 F4 0E, 05, 05]
+11C05; [71 F6 2C, 05, 05]
-11C27; [71 F4 15, 05, 05]
+11C06; [71 F6 33, 05, 05]
-11C28; [71 F4 1C, 05, 05]
+11C07; [71 F6 3A, 05, 05]
-11C29; [71 F4 23, 05, 05]
+11C08; [71 F6 41, 05, 05]
-11C2A; [71 F4 2A, 05, 05]
+11C0A; [71 F6 48, 05, 05]
-11C2B; [71 F4 31, 05, 05]
+11C0B; [71 F6 4F, 05, 05]
-11C2C; [71 F4 38, 05, 05]
+11C0C; [71 F6 56, 05, 05]
-11C2D; [71 F4 3F, 05, 05]
+11C0D; [71 F6 5D, 05, 05]
-11C2E; [71 F4 46, 05, 05]
+11C0E; [71 F6 64, 05, 05]
-11C40; [71 F4 4D, 05, 05]
+11C0F; [71 F6 6B, 05, 05]
-11C2F; [71 F4 54, 05, 05]
+11C10; [71 F6 72, 05, 05]
-11C30; [71 F4 5B, 05, 05]
+11C11; [71 F6 79, 05, 05]
-11C31; [71 F4 62, 05, 05]
+11C12; [71 F6 80, 05, 05]
-11C32; [71 F4 69, 05, 05]
+11C13; [71 F6 87, 05, 05]
-11C33; [71 F4 70, 05, 05]
+11C14; [71 F6 8E, 05, 05]
-11C34; [71 F4 77, 05, 05]
+11C15; [71 F6 95, 05, 05]
-11C35; [71 F4 7E, 05, 05]
+11C16; [71 F6 9C, 05, 05]
-11C36; [71 F4 85, 05, 05]
+11C17; [71 F6 A3, 05, 05]
-11C38; [71 F4 8C, 05, 05]
+11C18; [71 F6 AA, 05, 05]
-11C39; [71 F4 93, 05, 05]
+11C19; [71 F6 B1, 05, 05]
-11C3A; [71 F4 9A, 05, 05]
+11C1A; [71 F6 B8, 05, 05]
-11C3B; [71 F4 A1, 05, 05]
+11C1B; [71 F6 BF, 05, 05]
-11C3F; [71 F4 A8, 05, 05]
+11C1C; [71 F6 C6, 05, 05]
+
+11C1D; [71 F6 CD, 05, 05]
+
+11C1E; [71 F6 D4, 05, 05]
+
+11C1F; [71 F6 DB, 05, 05]
+
+11C20; [71 F6 E2, 05, 05]
+
+11C21; [71 F6 E9, 05, 05]
+
+11C22; [71 F6 F0, 05, 05]
+
+11C23; [71 F6 F7, 05, 05]
+
+11C24; [71 F6 FE, 05, 05]
+
+11C25; [71 F7 07, 05, 05]
+
+11C26; [71 F7 0E, 05, 05]
+
+11C27; [71 F7 15, 05, 05]
+
+11C28; [71 F7 1C, 05, 05]
+
+11C29; [71 F7 23, 05, 05]
+
+11C2A; [71 F7 2A, 05, 05]
+
+11C2B; [71 F7 31, 05, 05]
+
+11C2C; [71 F7 38, 05, 05]
+
+11C2D; [71 F7 3F, 05, 05]
+
+11C2E; [71 F7 46, 05, 05]
+
+11C40; [71 F7 4D, 05, 05]
+
+11C2F; [71 F7 54, 05, 05]
+
+11C30; [71 F7 5B, 05, 05]
+
+11C31; [71 F7 62, 05, 05]
+
+11C32; [71 F7 69, 05, 05]
+
+11C33; [71 F7 70, 05, 05]
+
+11C34; [71 F7 77, 05, 05]
+
+11C35; [71 F7 7E, 05, 05]
+
+11C36; [71 F7 85, 05, 05]
+
+11C38; [71 F7 8C, 05, 05]
+
+11C39; [71 F7 93, 05, 05]
+
+11C3A; [71 F7 9A, 05, 05]
+
+11C3B; [71 F7 A1, 05, 05]
+
+11C3F; [71 F7 A8, 05, 05]
FDD1 0E17; [72 04 02, 05, 05] # THAI first primary starts new lead byte (compressible)
@@ -29888,634 +30598,734 @@ FDD1 0E17; [72 04 02, 05, 05] # THAI first primary starts new lead byte (compres
FDD1 0EA5; [73 04 02, 05, 05] # LAO first primary starts new lead byte (compressible)
0EDE; [73 06, 05, 05]
-0EC0 0EDE; [73 06, 05, 05][73 5C, 05, 05]
-0EC1 0EDE; [73 06, 05, 05][73 5E, 05, 05]
-0EC2 0EDE; [73 06, 05, 05][73 60, 05, 05]
-0EC3 0EDE; [73 06, 05, 05][73 62, 05, 05]
-0EC4 0EDE; [73 06, 05, 05][73 64, 05, 05]
+0EC0 0EDE; [73 06, 05, 05][73 7A, 05, 05]
+0EC1 0EDE; [73 06, 05, 05][73 7C, 05, 05]
+0EC2 0EDE; [73 06, 05, 05][73 7E, 05, 05]
+0EC3 0EDE; [73 06, 05, 05][73 80, 05, 05]
+0EC4 0EDE; [73 06, 05, 05][73 82, 05, 05]
0E81; [73 08, 05, 05]
-0EC0 0E81; [73 08, 05, 05][73 5C, 05, 05]
-0EC1 0E81; [73 08, 05, 05][73 5E, 05, 05]
-0EC2 0E81; [73 08, 05, 05][73 60, 05, 05]
-0EC3 0E81; [73 08, 05, 05][73 62, 05, 05]
-0EC4 0E81; [73 08, 05, 05][73 64, 05, 05]
+0EC0 0E81; [73 08, 05, 05][73 7A, 05, 05]
+0EC1 0E81; [73 08, 05, 05][73 7C, 05, 05]
+0EC2 0E81; [73 08, 05, 05][73 7E, 05, 05]
+0EC3 0E81; [73 08, 05, 05][73 80, 05, 05]
+0EC4 0E81; [73 08, 05, 05][73 82, 05, 05]
0E82; [73 0A, 05, 05]
-0EC0 0E82; [73 0A, 05, 05][73 5C, 05, 05]
-0EC1 0E82; [73 0A, 05, 05][73 5E, 05, 05]
-0EC2 0E82; [73 0A, 05, 05][73 60, 05, 05]
-0EC3 0E82; [73 0A, 05, 05][73 62, 05, 05]
-0EC4 0E82; [73 0A, 05, 05][73 64, 05, 05]
+0EC0 0E82; [73 0A, 05, 05][73 7A, 05, 05]
+0EC1 0E82; [73 0A, 05, 05][73 7C, 05, 05]
+0EC2 0E82; [73 0A, 05, 05][73 7E, 05, 05]
+0EC3 0E82; [73 0A, 05, 05][73 80, 05, 05]
+0EC4 0E82; [73 0A, 05, 05][73 82, 05, 05]
0E84; [73 0C, 05, 05]
-0EC0 0E84; [73 0C, 05, 05][73 5C, 05, 05]
-0EC1 0E84; [73 0C, 05, 05][73 5E, 05, 05]
-0EC2 0E84; [73 0C, 05, 05][73 60, 05, 05]
-0EC3 0E84; [73 0C, 05, 05][73 62, 05, 05]
-0EC4 0E84; [73 0C, 05, 05][73 64, 05, 05]
-
-0E87; [73 0E, 05, 05]
-0EC0 0E87; [73 0E, 05, 05][73 5C, 05, 05]
-0EC1 0E87; [73 0E, 05, 05][73 5E, 05, 05]
-0EC2 0E87; [73 0E, 05, 05][73 60, 05, 05]
-0EC3 0E87; [73 0E, 05, 05][73 62, 05, 05]
-0EC4 0E87; [73 0E, 05, 05][73 64, 05, 05]
-
-0E88; [73 10, 05, 05]
-0EC0 0E88; [73 10, 05, 05][73 5C, 05, 05]
-0EC1 0E88; [73 10, 05, 05][73 5E, 05, 05]
-0EC2 0E88; [73 10, 05, 05][73 60, 05, 05]
-0EC3 0E88; [73 10, 05, 05][73 62, 05, 05]
-0EC4 0E88; [73 10, 05, 05][73 64, 05, 05]
-
-0EAA; [73 12, 05, 05]
-0EC0 0EAA; [73 12, 05, 05][73 5C, 05, 05]
-0EC1 0EAA; [73 12, 05, 05][73 5E, 05, 05]
-0EC2 0EAA; [73 12, 05, 05][73 60, 05, 05]
-0EC3 0EAA; [73 12, 05, 05][73 62, 05, 05]
-0EC4 0EAA; [73 12, 05, 05][73 64, 05, 05]
-
-0E8A; [73 14, 05, 05]
-0EC0 0E8A; [73 14, 05, 05][73 5C, 05, 05]
-0EC1 0E8A; [73 14, 05, 05][73 5E, 05, 05]
-0EC2 0E8A; [73 14, 05, 05][73 60, 05, 05]
-0EC3 0E8A; [73 14, 05, 05][73 62, 05, 05]
-0EC4 0E8A; [73 14, 05, 05][73 64, 05, 05]
-
-0EDF; [73 16, 05, 05]
-0EC0 0EDF; [73 16, 05, 05][73 5C, 05, 05]
-0EC1 0EDF; [73 16, 05, 05][73 5E, 05, 05]
-0EC2 0EDF; [73 16, 05, 05][73 60, 05, 05]
-0EC3 0EDF; [73 16, 05, 05][73 62, 05, 05]
-0EC4 0EDF; [73 16, 05, 05][73 64, 05, 05]
-
-0E8D; [73 18, 05, 05]
-0EC0 0E8D; [73 18, 05, 05][73 5C, 05, 05]
-0EC1 0E8D; [73 18, 05, 05][73 5E, 05, 05]
-0EC2 0E8D; [73 18, 05, 05][73 60, 05, 05]
-0EC3 0E8D; [73 18, 05, 05][73 62, 05, 05]
-0EC4 0E8D; [73 18, 05, 05][73 64, 05, 05]
-
-0E94; [73 1A, 05, 05]
-0EC0 0E94; [73 1A, 05, 05][73 5C, 05, 05]
-0EC1 0E94; [73 1A, 05, 05][73 5E, 05, 05]
-0EC2 0E94; [73 1A, 05, 05][73 60, 05, 05]
-0EC3 0E94; [73 1A, 05, 05][73 62, 05, 05]
-0EC4 0E94; [73 1A, 05, 05][73 64, 05, 05]
-
-0E95; [73 1C, 05, 05]
-0EC0 0E95; [73 1C, 05, 05][73 5C, 05, 05]
-0EC1 0E95; [73 1C, 05, 05][73 5E, 05, 05]
-0EC2 0E95; [73 1C, 05, 05][73 60, 05, 05]
-0EC3 0E95; [73 1C, 05, 05][73 62, 05, 05]
-0EC4 0E95; [73 1C, 05, 05][73 64, 05, 05]
-
-0E96; [73 1E, 05, 05]
-0EC0 0E96; [73 1E, 05, 05][73 5C, 05, 05]
-0EC1 0E96; [73 1E, 05, 05][73 5E, 05, 05]
-0EC2 0E96; [73 1E, 05, 05][73 60, 05, 05]
-0EC3 0E96; [73 1E, 05, 05][73 62, 05, 05]
-0EC4 0E96; [73 1E, 05, 05][73 64, 05, 05]
-
-0E97; [73 20, 05, 05]
-0EC0 0E97; [73 20, 05, 05][73 5C, 05, 05]
-0EC1 0E97; [73 20, 05, 05][73 5E, 05, 05]
-0EC2 0E97; [73 20, 05, 05][73 60, 05, 05]
-0EC3 0E97; [73 20, 05, 05][73 62, 05, 05]
-0EC4 0E97; [73 20, 05, 05][73 64, 05, 05]
-
-0E99; [73 22, 05, 05]
-0EC0 0E99; [73 22, 05, 05][73 5C, 05, 05]
-0EC1 0E99; [73 22, 05, 05][73 5E, 05, 05]
-0EC2 0E99; [73 22, 05, 05][73 60, 05, 05]
-0EC3 0E99; [73 22, 05, 05][73 62, 05, 05]
-0EC4 0E99; [73 22, 05, 05][73 64, 05, 05]
-
-0E9A; [73 24, 05, 05]
-0EC0 0E9A; [73 24, 05, 05][73 5C, 05, 05]
-0EC1 0E9A; [73 24, 05, 05][73 5E, 05, 05]
-0EC2 0E9A; [73 24, 05, 05][73 60, 05, 05]
-0EC3 0E9A; [73 24, 05, 05][73 62, 05, 05]
-0EC4 0E9A; [73 24, 05, 05][73 64, 05, 05]
-
-0E9B; [73 26, 05, 05]
-0EC0 0E9B; [73 26, 05, 05][73 5C, 05, 05]
-0EC1 0E9B; [73 26, 05, 05][73 5E, 05, 05]
-0EC2 0E9B; [73 26, 05, 05][73 60, 05, 05]
-0EC3 0E9B; [73 26, 05, 05][73 62, 05, 05]
-0EC4 0E9B; [73 26, 05, 05][73 64, 05, 05]
-
-0E9C; [73 28, 05, 05]
-0EC0 0E9C; [73 28, 05, 05][73 5C, 05, 05]
-0EC1 0E9C; [73 28, 05, 05][73 5E, 05, 05]
-0EC2 0E9C; [73 28, 05, 05][73 60, 05, 05]
-0EC3 0E9C; [73 28, 05, 05][73 62, 05, 05]
-0EC4 0E9C; [73 28, 05, 05][73 64, 05, 05]
-
-0E9D; [73 2A, 05, 05]
-0EC0 0E9D; [73 2A, 05, 05][73 5C, 05, 05]
-0EC1 0E9D; [73 2A, 05, 05][73 5E, 05, 05]
-0EC2 0E9D; [73 2A, 05, 05][73 60, 05, 05]
-0EC3 0E9D; [73 2A, 05, 05][73 62, 05, 05]
-0EC4 0E9D; [73 2A, 05, 05][73 64, 05, 05]
-
-0E9E; [73 2C, 05, 05]
-0EC0 0E9E; [73 2C, 05, 05][73 5C, 05, 05]
-0EC1 0E9E; [73 2C, 05, 05][73 5E, 05, 05]
-0EC2 0E9E; [73 2C, 05, 05][73 60, 05, 05]
-0EC3 0E9E; [73 2C, 05, 05][73 62, 05, 05]
-0EC4 0E9E; [73 2C, 05, 05][73 64, 05, 05]
-
-0E9F; [73 2E, 05, 05]
-0EC0 0E9F; [73 2E, 05, 05][73 5C, 05, 05]
-0EC1 0E9F; [73 2E, 05, 05][73 5E, 05, 05]
-0EC2 0E9F; [73 2E, 05, 05][73 60, 05, 05]
-0EC3 0E9F; [73 2E, 05, 05][73 62, 05, 05]
-0EC4 0E9F; [73 2E, 05, 05][73 64, 05, 05]
-
-0EA1; [73 30, 05, 05]
-0EC0 0EA1; [73 30, 05, 05][73 5C, 05, 05]
-0EC1 0EA1; [73 30, 05, 05][73 5E, 05, 05]
-0EC2 0EA1; [73 30, 05, 05][73 60, 05, 05]
-0EC3 0EA1; [73 30, 05, 05][73 62, 05, 05]
-0EC4 0EA1; [73 30, 05, 05][73 64, 05, 05]
-
-0EA2; [73 32, 05, 05]
-0EC0 0EA2; [73 32, 05, 05][73 5C, 05, 05]
-0EC1 0EA2; [73 32, 05, 05][73 5E, 05, 05]
-0EC2 0EA2; [73 32, 05, 05][73 60, 05, 05]
-0EC3 0EA2; [73 32, 05, 05][73 62, 05, 05]
-0EC4 0EA2; [73 32, 05, 05][73 64, 05, 05]
-
-0EA3; [73 34, 05, 05]
-0EC0 0EA3; [73 34, 05, 05][73 5C, 05, 05]
-0EC1 0EA3; [73 34, 05, 05][73 5E, 05, 05]
-0EC2 0EA3; [73 34, 05, 05][73 60, 05, 05]
-0EC3 0EA3; [73 34, 05, 05][73 62, 05, 05]
-0EC4 0EA3; [73 34, 05, 05][73 64, 05, 05]
-
-0EA5; [73 36, 05, 05]
-0EC0 0EA5; [73 36, 05, 05][73 5C, 05, 05]
-0EC1 0EA5; [73 36, 05, 05][73 5E, 05, 05]
-0EC2 0EA5; [73 36, 05, 05][73 60, 05, 05]
-0EC3 0EA5; [73 36, 05, 05][73 62, 05, 05]
-0EC4 0EA5; [73 36, 05, 05][73 64, 05, 05]
-
-0EA7; [73 38, 05, 05]
-0EC0 0EA7; [73 38, 05, 05][73 5C, 05, 05]
-0EC1 0EA7; [73 38, 05, 05][73 5E, 05, 05]
-0EC2 0EA7; [73 38, 05, 05][73 60, 05, 05]
-0EC3 0EA7; [73 38, 05, 05][73 62, 05, 05]
-0EC4 0EA7; [73 38, 05, 05][73 64, 05, 05]
-
-0EAB; [73 3A, 05, 05]
-0EDC; [73 3A, 05, 20][73 22, 05, 20]
-0EC0 0EDC; [73 3A, 05, 20][73 22, 05, 20][73 5C, 05, 05]
-0EC1 0EDC; [73 3A, 05, 20][73 22, 05, 20][73 5E, 05, 05]
-0EC2 0EDC; [73 3A, 05, 20][73 22, 05, 20][73 60, 05, 05]
-0EC3 0EDC; [73 3A, 05, 20][73 22, 05, 20][73 62, 05, 05]
-0EC4 0EDC; [73 3A, 05, 20][73 22, 05, 20][73 64, 05, 05]
-0EDD; [73 3A, 05, 20][73 30, 05, 20]
-0EC0 0EDD; [73 3A, 05, 20][73 30, 05, 20][73 5C, 05, 05]
-0EC1 0EDD; [73 3A, 05, 20][73 30, 05, 20][73 5E, 05, 05]
-0EC2 0EDD; [73 3A, 05, 20][73 30, 05, 20][73 60, 05, 05]
-0EC3 0EDD; [73 3A, 05, 20][73 30, 05, 20][73 62, 05, 05]
-0EC4 0EDD; [73 3A, 05, 20][73 30, 05, 20][73 64, 05, 05]
-0EC0 0EAB; [73 3A, 05, 05][73 5C, 05, 05]
-0EC1 0EAB; [73 3A, 05, 05][73 5E, 05, 05]
-0EC2 0EAB; [73 3A, 05, 05][73 60, 05, 05]
-0EC3 0EAB; [73 3A, 05, 05][73 62, 05, 05]
-0EC4 0EAB; [73 3A, 05, 05][73 64, 05, 05]
-
-0EAD; [73 3C, 05, 05]
-0EC0 0EAD; [73 3C, 05, 05][73 5C, 05, 05]
-0EC1 0EAD; [73 3C, 05, 05][73 5E, 05, 05]
-0EC2 0EAD; [73 3C, 05, 05][73 60, 05, 05]
-0EC3 0EAD; [73 3C, 05, 05][73 62, 05, 05]
-0EC4 0EAD; [73 3C, 05, 05][73 64, 05, 05]
-
-0EAE; [73 3E, 05, 05]
-0EC0 0EAE; [73 3E, 05, 05][73 5C, 05, 05]
-0EC1 0EAE; [73 3E, 05, 05][73 5E, 05, 05]
-0EC2 0EAE; [73 3E, 05, 05][73 60, 05, 05]
-0EC3 0EAE; [73 3E, 05, 05][73 62, 05, 05]
-0EC4 0EAE; [73 3E, 05, 05][73 64, 05, 05]
-
-0EAF; [73 40, 05, 05]
-
-0EB0; [73 42, 05, 05]
-
-0EB1; [73 44, 05, 05]
-
-0EB2; [73 46, 05, 05]
-
-0EB3; [73 48, 05, 05]
-0ECD 0EB2; [73 48, 05, 05]
-
-0EB4; [73 4A, 05, 05]
-
-0EB5; [73 4C, 05, 05]
-
-0EB6; [73 4E, 05, 05]
-
-0EB7; [73 50, 05, 05]
-
-0EB8; [73 52, 05, 05]
-
-0EB9; [73 54, 05, 05]
-
-0EBB; [73 56, 05, 05]
-
-0EBC; [73 58, 05, 05]
-
-0EBD; [73 5A, 05, 05]
-
-0EC0; [73 5C, 05, 05]
-
-0EC1; [73 5E, 05, 05]
-
-0EC2; [73 60, 05, 05]
-
-0EC3; [73 62, 05, 05]
-
-0EC4; [73 64, 05, 05]
-
-FDD1 AA80; [73 66 02, 05, 05] # Tai Viet first primary (compressible)
-
-AA80; [73 66 09, 05, 05]
-AAB5 AA80; [73 66 09, 05, 05][73 67 7E, 05, 05]
-AAB6 AA80; [73 66 09, 05, 05][73 67 85, 05, 05]
-AAB9 AA80; [73 66 09, 05, 05][73 67 9A, 05, 05]
-AABB AA80; [73 66 09, 05, 05][73 67 A8, 05, 05]
-AABC AA80; [73 66 09, 05, 05][73 67 AF, 05, 05]
-
-AA81; [73 66 10, 05, 05]
-AAB5 AA81; [73 66 10, 05, 05][73 67 7E, 05, 05]
-AAB6 AA81; [73 66 10, 05, 05][73 67 85, 05, 05]
-AAB9 AA81; [73 66 10, 05, 05][73 67 9A, 05, 05]
-AABB AA81; [73 66 10, 05, 05][73 67 A8, 05, 05]
-AABC AA81; [73 66 10, 05, 05][73 67 AF, 05, 05]
-
-AA82; [73 66 17, 05, 05]
-AAB5 AA82; [73 66 17, 05, 05][73 67 7E, 05, 05]
-AAB6 AA82; [73 66 17, 05, 05][73 67 85, 05, 05]
-AAB9 AA82; [73 66 17, 05, 05][73 67 9A, 05, 05]
-AABB AA82; [73 66 17, 05, 05][73 67 A8, 05, 05]
-AABC AA82; [73 66 17, 05, 05][73 67 AF, 05, 05]
-
-AA83; [73 66 1E, 05, 05]
-AAB5 AA83; [73 66 1E, 05, 05][73 67 7E, 05, 05]
-AAB6 AA83; [73 66 1E, 05, 05][73 67 85, 05, 05]
-AAB9 AA83; [73 66 1E, 05, 05][73 67 9A, 05, 05]
-AABB AA83; [73 66 1E, 05, 05][73 67 A8, 05, 05]
-AABC AA83; [73 66 1E, 05, 05][73 67 AF, 05, 05]
-
-AA84; [73 66 25, 05, 05]
-AAB5 AA84; [73 66 25, 05, 05][73 67 7E, 05, 05]
-AAB6 AA84; [73 66 25, 05, 05][73 67 85, 05, 05]
-AAB9 AA84; [73 66 25, 05, 05][73 67 9A, 05, 05]
-AABB AA84; [73 66 25, 05, 05][73 67 A8, 05, 05]
-AABC AA84; [73 66 25, 05, 05][73 67 AF, 05, 05]
-
-AA85; [73 66 2C, 05, 05]
-AAB5 AA85; [73 66 2C, 05, 05][73 67 7E, 05, 05]
-AAB6 AA85; [73 66 2C, 05, 05][73 67 85, 05, 05]
-AAB9 AA85; [73 66 2C, 05, 05][73 67 9A, 05, 05]
-AABB AA85; [73 66 2C, 05, 05][73 67 A8, 05, 05]
-AABC AA85; [73 66 2C, 05, 05][73 67 AF, 05, 05]
-
-AA86; [73 66 33, 05, 05]
-AAB5 AA86; [73 66 33, 05, 05][73 67 7E, 05, 05]
-AAB6 AA86; [73 66 33, 05, 05][73 67 85, 05, 05]
-AAB9 AA86; [73 66 33, 05, 05][73 67 9A, 05, 05]
-AABB AA86; [73 66 33, 05, 05][73 67 A8, 05, 05]
-AABC AA86; [73 66 33, 05, 05][73 67 AF, 05, 05]
-
-AA87; [73 66 3A, 05, 05]
-AAB5 AA87; [73 66 3A, 05, 05][73 67 7E, 05, 05]
-AAB6 AA87; [73 66 3A, 05, 05][73 67 85, 05, 05]
-AAB9 AA87; [73 66 3A, 05, 05][73 67 9A, 05, 05]
-AABB AA87; [73 66 3A, 05, 05][73 67 A8, 05, 05]
-AABC AA87; [73 66 3A, 05, 05][73 67 AF, 05, 05]
-
-AA88; [73 66 41, 05, 05]
-AAB5 AA88; [73 66 41, 05, 05][73 67 7E, 05, 05]
-AAB6 AA88; [73 66 41, 05, 05][73 67 85, 05, 05]
-AAB9 AA88; [73 66 41, 05, 05][73 67 9A, 05, 05]
-AABB AA88; [73 66 41, 05, 05][73 67 A8, 05, 05]
-AABC AA88; [73 66 41, 05, 05][73 67 AF, 05, 05]
-
-AA89; [73 66 48, 05, 05]
-AAB5 AA89; [73 66 48, 05, 05][73 67 7E, 05, 05]
-AAB6 AA89; [73 66 48, 05, 05][73 67 85, 05, 05]
-AAB9 AA89; [73 66 48, 05, 05][73 67 9A, 05, 05]
-AABB AA89; [73 66 48, 05, 05][73 67 A8, 05, 05]
-AABC AA89; [73 66 48, 05, 05][73 67 AF, 05, 05]
-
-AA8A; [73 66 4F, 05, 05]
-AAB5 AA8A; [73 66 4F, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8A; [73 66 4F, 05, 05][73 67 85, 05, 05]
-AAB9 AA8A; [73 66 4F, 05, 05][73 67 9A, 05, 05]
-AABB AA8A; [73 66 4F, 05, 05][73 67 A8, 05, 05]
-AABC AA8A; [73 66 4F, 05, 05][73 67 AF, 05, 05]
-
-AA8B; [73 66 56, 05, 05]
-AAB5 AA8B; [73 66 56, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8B; [73 66 56, 05, 05][73 67 85, 05, 05]
-AAB9 AA8B; [73 66 56, 05, 05][73 67 9A, 05, 05]
-AABB AA8B; [73 66 56, 05, 05][73 67 A8, 05, 05]
-AABC AA8B; [73 66 56, 05, 05][73 67 AF, 05, 05]
-
-AA8C; [73 66 5D, 05, 05]
-AAB5 AA8C; [73 66 5D, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8C; [73 66 5D, 05, 05][73 67 85, 05, 05]
-AAB9 AA8C; [73 66 5D, 05, 05][73 67 9A, 05, 05]
-AABB AA8C; [73 66 5D, 05, 05][73 67 A8, 05, 05]
-AABC AA8C; [73 66 5D, 05, 05][73 67 AF, 05, 05]
-
-AA8D; [73 66 64, 05, 05]
-AAB5 AA8D; [73 66 64, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8D; [73 66 64, 05, 05][73 67 85, 05, 05]
-AAB9 AA8D; [73 66 64, 05, 05][73 67 9A, 05, 05]
-AABB AA8D; [73 66 64, 05, 05][73 67 A8, 05, 05]
-AABC AA8D; [73 66 64, 05, 05][73 67 AF, 05, 05]
-
-AA8E; [73 66 6B, 05, 05]
-AAB5 AA8E; [73 66 6B, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8E; [73 66 6B, 05, 05][73 67 85, 05, 05]
-AAB9 AA8E; [73 66 6B, 05, 05][73 67 9A, 05, 05]
-AABB AA8E; [73 66 6B, 05, 05][73 67 A8, 05, 05]
-AABC AA8E; [73 66 6B, 05, 05][73 67 AF, 05, 05]
-
-AA8F; [73 66 72, 05, 05]
-AAB5 AA8F; [73 66 72, 05, 05][73 67 7E, 05, 05]
-AAB6 AA8F; [73 66 72, 05, 05][73 67 85, 05, 05]
-AAB9 AA8F; [73 66 72, 05, 05][73 67 9A, 05, 05]
-AABB AA8F; [73 66 72, 05, 05][73 67 A8, 05, 05]
-AABC AA8F; [73 66 72, 05, 05][73 67 AF, 05, 05]
-
-AA90; [73 66 79, 05, 05]
-AAB5 AA90; [73 66 79, 05, 05][73 67 7E, 05, 05]
-AAB6 AA90; [73 66 79, 05, 05][73 67 85, 05, 05]
-AAB9 AA90; [73 66 79, 05, 05][73 67 9A, 05, 05]
-AABB AA90; [73 66 79, 05, 05][73 67 A8, 05, 05]
-AABC AA90; [73 66 79, 05, 05][73 67 AF, 05, 05]
-
-AA91; [73 66 80, 05, 05]
-AAB5 AA91; [73 66 80, 05, 05][73 67 7E, 05, 05]
-AAB6 AA91; [73 66 80, 05, 05][73 67 85, 05, 05]
-AAB9 AA91; [73 66 80, 05, 05][73 67 9A, 05, 05]
-AABB AA91; [73 66 80, 05, 05][73 67 A8, 05, 05]
-AABC AA91; [73 66 80, 05, 05][73 67 AF, 05, 05]
-
-AA92; [73 66 87, 05, 05]
-AAB5 AA92; [73 66 87, 05, 05][73 67 7E, 05, 05]
-AAB6 AA92; [73 66 87, 05, 05][73 67 85, 05, 05]
-AAB9 AA92; [73 66 87, 05, 05][73 67 9A, 05, 05]
-AABB AA92; [73 66 87, 05, 05][73 67 A8, 05, 05]
-AABC AA92; [73 66 87, 05, 05][73 67 AF, 05, 05]
-
-AA93; [73 66 8E, 05, 05]
-AAB5 AA93; [73 66 8E, 05, 05][73 67 7E, 05, 05]
-AAB6 AA93; [73 66 8E, 05, 05][73 67 85, 05, 05]
-AAB9 AA93; [73 66 8E, 05, 05][73 67 9A, 05, 05]
-AABB AA93; [73 66 8E, 05, 05][73 67 A8, 05, 05]
-AABC AA93; [73 66 8E, 05, 05][73 67 AF, 05, 05]
-
-AA94; [73 66 95, 05, 05]
-AAB5 AA94; [73 66 95, 05, 05][73 67 7E, 05, 05]
-AAB6 AA94; [73 66 95, 05, 05][73 67 85, 05, 05]
-AAB9 AA94; [73 66 95, 05, 05][73 67 9A, 05, 05]
-AABB AA94; [73 66 95, 05, 05][73 67 A8, 05, 05]
-AABC AA94; [73 66 95, 05, 05][73 67 AF, 05, 05]
-
-AA95; [73 66 9C, 05, 05]
-AAB5 AA95; [73 66 9C, 05, 05][73 67 7E, 05, 05]
-AAB6 AA95; [73 66 9C, 05, 05][73 67 85, 05, 05]
-AAB9 AA95; [73 66 9C, 05, 05][73 67 9A, 05, 05]
-AABB AA95; [73 66 9C, 05, 05][73 67 A8, 05, 05]
-AABC AA95; [73 66 9C, 05, 05][73 67 AF, 05, 05]
-
-AA96; [73 66 A3, 05, 05]
-AAB5 AA96; [73 66 A3, 05, 05][73 67 7E, 05, 05]
-AAB6 AA96; [73 66 A3, 05, 05][73 67 85, 05, 05]
-AAB9 AA96; [73 66 A3, 05, 05][73 67 9A, 05, 05]
-AABB AA96; [73 66 A3, 05, 05][73 67 A8, 05, 05]
-AABC AA96; [73 66 A3, 05, 05][73 67 AF, 05, 05]
-
-AA97; [73 66 AA, 05, 05]
-AAB5 AA97; [73 66 AA, 05, 05][73 67 7E, 05, 05]
-AAB6 AA97; [73 66 AA, 05, 05][73 67 85, 05, 05]
-AAB9 AA97; [73 66 AA, 05, 05][73 67 9A, 05, 05]
-AABB AA97; [73 66 AA, 05, 05][73 67 A8, 05, 05]
-AABC AA97; [73 66 AA, 05, 05][73 67 AF, 05, 05]
-
-AA98; [73 66 B1, 05, 05]
-AAB5 AA98; [73 66 B1, 05, 05][73 67 7E, 05, 05]
-AAB6 AA98; [73 66 B1, 05, 05][73 67 85, 05, 05]
-AAB9 AA98; [73 66 B1, 05, 05][73 67 9A, 05, 05]
-AABB AA98; [73 66 B1, 05, 05][73 67 A8, 05, 05]
-AABC AA98; [73 66 B1, 05, 05][73 67 AF, 05, 05]
-
-AA99; [73 66 B8, 05, 05]
-AAB5 AA99; [73 66 B8, 05, 05][73 67 7E, 05, 05]
-AAB6 AA99; [73 66 B8, 05, 05][73 67 85, 05, 05]
-AAB9 AA99; [73 66 B8, 05, 05][73 67 9A, 05, 05]
-AABB AA99; [73 66 B8, 05, 05][73 67 A8, 05, 05]
-AABC AA99; [73 66 B8, 05, 05][73 67 AF, 05, 05]
-
-AA9A; [73 66 BF, 05, 05]
-AAB5 AA9A; [73 66 BF, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9A; [73 66 BF, 05, 05][73 67 85, 05, 05]
-AAB9 AA9A; [73 66 BF, 05, 05][73 67 9A, 05, 05]
-AABB AA9A; [73 66 BF, 05, 05][73 67 A8, 05, 05]
-AABC AA9A; [73 66 BF, 05, 05][73 67 AF, 05, 05]
-
-AA9B; [73 66 C6, 05, 05]
-AAB5 AA9B; [73 66 C6, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9B; [73 66 C6, 05, 05][73 67 85, 05, 05]
-AAB9 AA9B; [73 66 C6, 05, 05][73 67 9A, 05, 05]
-AABB AA9B; [73 66 C6, 05, 05][73 67 A8, 05, 05]
-AABC AA9B; [73 66 C6, 05, 05][73 67 AF, 05, 05]
-
-AA9C; [73 66 CD, 05, 05]
-AAB5 AA9C; [73 66 CD, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9C; [73 66 CD, 05, 05][73 67 85, 05, 05]
-AAB9 AA9C; [73 66 CD, 05, 05][73 67 9A, 05, 05]
-AABB AA9C; [73 66 CD, 05, 05][73 67 A8, 05, 05]
-AABC AA9C; [73 66 CD, 05, 05][73 67 AF, 05, 05]
-
-AA9D; [73 66 D4, 05, 05]
-AAB5 AA9D; [73 66 D4, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9D; [73 66 D4, 05, 05][73 67 85, 05, 05]
-AAB9 AA9D; [73 66 D4, 05, 05][73 67 9A, 05, 05]
-AABB AA9D; [73 66 D4, 05, 05][73 67 A8, 05, 05]
-AABC AA9D; [73 66 D4, 05, 05][73 67 AF, 05, 05]
-
-AA9E; [73 66 DB, 05, 05]
-AAB5 AA9E; [73 66 DB, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9E; [73 66 DB, 05, 05][73 67 85, 05, 05]
-AAB9 AA9E; [73 66 DB, 05, 05][73 67 9A, 05, 05]
-AABB AA9E; [73 66 DB, 05, 05][73 67 A8, 05, 05]
-AABC AA9E; [73 66 DB, 05, 05][73 67 AF, 05, 05]
-
-AA9F; [73 66 E2, 05, 05]
-AAB5 AA9F; [73 66 E2, 05, 05][73 67 7E, 05, 05]
-AAB6 AA9F; [73 66 E2, 05, 05][73 67 85, 05, 05]
-AAB9 AA9F; [73 66 E2, 05, 05][73 67 9A, 05, 05]
-AABB AA9F; [73 66 E2, 05, 05][73 67 A8, 05, 05]
-AABC AA9F; [73 66 E2, 05, 05][73 67 AF, 05, 05]
-
-AAA0; [73 66 E9, 05, 05]
-AAB5 AAA0; [73 66 E9, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA0; [73 66 E9, 05, 05][73 67 85, 05, 05]
-AAB9 AAA0; [73 66 E9, 05, 05][73 67 9A, 05, 05]
-AABB AAA0; [73 66 E9, 05, 05][73 67 A8, 05, 05]
-AABC AAA0; [73 66 E9, 05, 05][73 67 AF, 05, 05]
-
-AAA1; [73 66 F0, 05, 05]
-AAB5 AAA1; [73 66 F0, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA1; [73 66 F0, 05, 05][73 67 85, 05, 05]
-AAB9 AAA1; [73 66 F0, 05, 05][73 67 9A, 05, 05]
-AABB AAA1; [73 66 F0, 05, 05][73 67 A8, 05, 05]
-AABC AAA1; [73 66 F0, 05, 05][73 67 AF, 05, 05]
-
-AAA2; [73 66 F7, 05, 05]
-AAB5 AAA2; [73 66 F7, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA2; [73 66 F7, 05, 05][73 67 85, 05, 05]
-AAB9 AAA2; [73 66 F7, 05, 05][73 67 9A, 05, 05]
-AABB AAA2; [73 66 F7, 05, 05][73 67 A8, 05, 05]
-AABC AAA2; [73 66 F7, 05, 05][73 67 AF, 05, 05]
-
-AAA3; [73 66 FE, 05, 05]
-AAB5 AAA3; [73 66 FE, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA3; [73 66 FE, 05, 05][73 67 85, 05, 05]
-AAB9 AAA3; [73 66 FE, 05, 05][73 67 9A, 05, 05]
-AABB AAA3; [73 66 FE, 05, 05][73 67 A8, 05, 05]
-AABC AAA3; [73 66 FE, 05, 05][73 67 AF, 05, 05]
-
-AAA4; [73 67 07, 05, 05]
-AAB5 AAA4; [73 67 07, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA4; [73 67 07, 05, 05][73 67 85, 05, 05]
-AAB9 AAA4; [73 67 07, 05, 05][73 67 9A, 05, 05]
-AABB AAA4; [73 67 07, 05, 05][73 67 A8, 05, 05]
-AABC AAA4; [73 67 07, 05, 05][73 67 AF, 05, 05]
-
-AAA5; [73 67 0E, 05, 05]
-AAB5 AAA5; [73 67 0E, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA5; [73 67 0E, 05, 05][73 67 85, 05, 05]
-AAB9 AAA5; [73 67 0E, 05, 05][73 67 9A, 05, 05]
-AABB AAA5; [73 67 0E, 05, 05][73 67 A8, 05, 05]
-AABC AAA5; [73 67 0E, 05, 05][73 67 AF, 05, 05]
-
-AAA6; [73 67 15, 05, 05]
-AAB5 AAA6; [73 67 15, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA6; [73 67 15, 05, 05][73 67 85, 05, 05]
-AAB9 AAA6; [73 67 15, 05, 05][73 67 9A, 05, 05]
-AABB AAA6; [73 67 15, 05, 05][73 67 A8, 05, 05]
-AABC AAA6; [73 67 15, 05, 05][73 67 AF, 05, 05]
-
-AAA7; [73 67 1C, 05, 05]
-AAB5 AAA7; [73 67 1C, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA7; [73 67 1C, 05, 05][73 67 85, 05, 05]
-AAB9 AAA7; [73 67 1C, 05, 05][73 67 9A, 05, 05]
-AABB AAA7; [73 67 1C, 05, 05][73 67 A8, 05, 05]
-AABC AAA7; [73 67 1C, 05, 05][73 67 AF, 05, 05]
-
-AAA8; [73 67 23, 05, 05]
-AAB5 AAA8; [73 67 23, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA8; [73 67 23, 05, 05][73 67 85, 05, 05]
-AAB9 AAA8; [73 67 23, 05, 05][73 67 9A, 05, 05]
-AABB AAA8; [73 67 23, 05, 05][73 67 A8, 05, 05]
-AABC AAA8; [73 67 23, 05, 05][73 67 AF, 05, 05]
-
-AAA9; [73 67 2A, 05, 05]
-AAB5 AAA9; [73 67 2A, 05, 05][73 67 7E, 05, 05]
-AAB6 AAA9; [73 67 2A, 05, 05][73 67 85, 05, 05]
-AAB9 AAA9; [73 67 2A, 05, 05][73 67 9A, 05, 05]
-AABB AAA9; [73 67 2A, 05, 05][73 67 A8, 05, 05]
-AABC AAA9; [73 67 2A, 05, 05][73 67 AF, 05, 05]
-
-AAAA; [73 67 31, 05, 05]
-AAB5 AAAA; [73 67 31, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAA; [73 67 31, 05, 05][73 67 85, 05, 05]
-AAB9 AAAA; [73 67 31, 05, 05][73 67 9A, 05, 05]
-AABB AAAA; [73 67 31, 05, 05][73 67 A8, 05, 05]
-AABC AAAA; [73 67 31, 05, 05][73 67 AF, 05, 05]
-
-AAAB; [73 67 38, 05, 05]
-AAB5 AAAB; [73 67 38, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAB; [73 67 38, 05, 05][73 67 85, 05, 05]
-AAB9 AAAB; [73 67 38, 05, 05][73 67 9A, 05, 05]
-AABB AAAB; [73 67 38, 05, 05][73 67 A8, 05, 05]
-AABC AAAB; [73 67 38, 05, 05][73 67 AF, 05, 05]
-
-AAAC; [73 67 3F, 05, 05]
-AAB5 AAAC; [73 67 3F, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAC; [73 67 3F, 05, 05][73 67 85, 05, 05]
-AAB9 AAAC; [73 67 3F, 05, 05][73 67 9A, 05, 05]
-AABB AAAC; [73 67 3F, 05, 05][73 67 A8, 05, 05]
-AABC AAAC; [73 67 3F, 05, 05][73 67 AF, 05, 05]
-
-AAAD; [73 67 46, 05, 05]
-AAB5 AAAD; [73 67 46, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAD; [73 67 46, 05, 05][73 67 85, 05, 05]
-AAB9 AAAD; [73 67 46, 05, 05][73 67 9A, 05, 05]
-AABB AAAD; [73 67 46, 05, 05][73 67 A8, 05, 05]
-AABC AAAD; [73 67 46, 05, 05][73 67 AF, 05, 05]
-
-AAAE; [73 67 4D, 05, 05]
-AAB5 AAAE; [73 67 4D, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAE; [73 67 4D, 05, 05][73 67 85, 05, 05]
-AAB9 AAAE; [73 67 4D, 05, 05][73 67 9A, 05, 05]
-AABB AAAE; [73 67 4D, 05, 05][73 67 A8, 05, 05]
-AABC AAAE; [73 67 4D, 05, 05][73 67 AF, 05, 05]
-
-AAAF; [73 67 54, 05, 05]
-AAB5 AAAF; [73 67 54, 05, 05][73 67 7E, 05, 05]
-AAB6 AAAF; [73 67 54, 05, 05][73 67 85, 05, 05]
-AAB9 AAAF; [73 67 54, 05, 05][73 67 9A, 05, 05]
-AABB AAAF; [73 67 54, 05, 05][73 67 A8, 05, 05]
-AABC AAAF; [73 67 54, 05, 05][73 67 AF, 05, 05]
+0EC0 0E84; [73 0C, 05, 05][73 7A, 05, 05]
+0EC1 0E84; [73 0C, 05, 05][73 7C, 05, 05]
+0EC2 0E84; [73 0C, 05, 05][73 7E, 05, 05]
+0EC3 0E84; [73 0C, 05, 05][73 80, 05, 05]
+0EC4 0E84; [73 0C, 05, 05][73 82, 05, 05]
+
+0E86; [73 0E, 05, 05]
+0EC0 0E86; [73 0E, 05, 05][73 7A, 05, 05]
+0EC1 0E86; [73 0E, 05, 05][73 7C, 05, 05]
+0EC2 0E86; [73 0E, 05, 05][73 7E, 05, 05]
+0EC3 0E86; [73 0E, 05, 05][73 80, 05, 05]
+0EC4 0E86; [73 0E, 05, 05][73 82, 05, 05]
+
+0E87; [73 10, 05, 05]
+0EC0 0E87; [73 10, 05, 05][73 7A, 05, 05]
+0EC1 0E87; [73 10, 05, 05][73 7C, 05, 05]
+0EC2 0E87; [73 10, 05, 05][73 7E, 05, 05]
+0EC3 0E87; [73 10, 05, 05][73 80, 05, 05]
+0EC4 0E87; [73 10, 05, 05][73 82, 05, 05]
+
+0E88; [73 12, 05, 05]
+0EC0 0E88; [73 12, 05, 05][73 7A, 05, 05]
+0EC1 0E88; [73 12, 05, 05][73 7C, 05, 05]
+0EC2 0E88; [73 12, 05, 05][73 7E, 05, 05]
+0EC3 0E88; [73 12, 05, 05][73 80, 05, 05]
+0EC4 0E88; [73 12, 05, 05][73 82, 05, 05]
+
+0E89; [73 14, 05, 05]
+0EC0 0E89; [73 14, 05, 05][73 7A, 05, 05]
+0EC1 0E89; [73 14, 05, 05][73 7C, 05, 05]
+0EC2 0E89; [73 14, 05, 05][73 7E, 05, 05]
+0EC3 0E89; [73 14, 05, 05][73 80, 05, 05]
+0EC4 0E89; [73 14, 05, 05][73 82, 05, 05]
+
+0EAA; [73 16, 05, 05]
+0EC0 0EAA; [73 16, 05, 05][73 7A, 05, 05]
+0EC1 0EAA; [73 16, 05, 05][73 7C, 05, 05]
+0EC2 0EAA; [73 16, 05, 05][73 7E, 05, 05]
+0EC3 0EAA; [73 16, 05, 05][73 80, 05, 05]
+0EC4 0EAA; [73 16, 05, 05][73 82, 05, 05]
+
+0E8A; [73 18, 05, 05]
+0EC0 0E8A; [73 18, 05, 05][73 7A, 05, 05]
+0EC1 0E8A; [73 18, 05, 05][73 7C, 05, 05]
+0EC2 0E8A; [73 18, 05, 05][73 7E, 05, 05]
+0EC3 0E8A; [73 18, 05, 05][73 80, 05, 05]
+0EC4 0E8A; [73 18, 05, 05][73 82, 05, 05]
+
+0E8C; [73 1A, 05, 05]
+0EC0 0E8C; [73 1A, 05, 05][73 7A, 05, 05]
+0EC1 0E8C; [73 1A, 05, 05][73 7C, 05, 05]
+0EC2 0E8C; [73 1A, 05, 05][73 7E, 05, 05]
+0EC3 0E8C; [73 1A, 05, 05][73 80, 05, 05]
+0EC4 0E8C; [73 1A, 05, 05][73 82, 05, 05]
+
+0E8E; [73 1C, 05, 05]
+0EC0 0E8E; [73 1C, 05, 05][73 7A, 05, 05]
+0EC1 0E8E; [73 1C, 05, 05][73 7C, 05, 05]
+0EC2 0E8E; [73 1C, 05, 05][73 7E, 05, 05]
+0EC3 0E8E; [73 1C, 05, 05][73 80, 05, 05]
+0EC4 0E8E; [73 1C, 05, 05][73 82, 05, 05]
+
+0EDF; [73 1E, 05, 05]
+0EC0 0EDF; [73 1E, 05, 05][73 7A, 05, 05]
+0EC1 0EDF; [73 1E, 05, 05][73 7C, 05, 05]
+0EC2 0EDF; [73 1E, 05, 05][73 7E, 05, 05]
+0EC3 0EDF; [73 1E, 05, 05][73 80, 05, 05]
+0EC4 0EDF; [73 1E, 05, 05][73 82, 05, 05]
+
+0E8D; [73 20, 05, 05]
+0EC0 0E8D; [73 20, 05, 05][73 7A, 05, 05]
+0EC1 0E8D; [73 20, 05, 05][73 7C, 05, 05]
+0EC2 0E8D; [73 20, 05, 05][73 7E, 05, 05]
+0EC3 0E8D; [73 20, 05, 05][73 80, 05, 05]
+0EC4 0E8D; [73 20, 05, 05][73 82, 05, 05]
+
+0E8F; [73 22, 05, 05]
+0EC0 0E8F; [73 22, 05, 05][73 7A, 05, 05]
+0EC1 0E8F; [73 22, 05, 05][73 7C, 05, 05]
+0EC2 0E8F; [73 22, 05, 05][73 7E, 05, 05]
+0EC3 0E8F; [73 22, 05, 05][73 80, 05, 05]
+0EC4 0E8F; [73 22, 05, 05][73 82, 05, 05]
+
+0E90; [73 24, 05, 05]
+0EC0 0E90; [73 24, 05, 05][73 7A, 05, 05]
+0EC1 0E90; [73 24, 05, 05][73 7C, 05, 05]
+0EC2 0E90; [73 24, 05, 05][73 7E, 05, 05]
+0EC3 0E90; [73 24, 05, 05][73 80, 05, 05]
+0EC4 0E90; [73 24, 05, 05][73 82, 05, 05]
+
+0E91; [73 26, 05, 05]
+0EC0 0E91; [73 26, 05, 05][73 7A, 05, 05]
+0EC1 0E91; [73 26, 05, 05][73 7C, 05, 05]
+0EC2 0E91; [73 26, 05, 05][73 7E, 05, 05]
+0EC3 0E91; [73 26, 05, 05][73 80, 05, 05]
+0EC4 0E91; [73 26, 05, 05][73 82, 05, 05]
+
+0E92; [73 28, 05, 05]
+0EC0 0E92; [73 28, 05, 05][73 7A, 05, 05]
+0EC1 0E92; [73 28, 05, 05][73 7C, 05, 05]
+0EC2 0E92; [73 28, 05, 05][73 7E, 05, 05]
+0EC3 0E92; [73 28, 05, 05][73 80, 05, 05]
+0EC4 0E92; [73 28, 05, 05][73 82, 05, 05]
+
+0E93; [73 2A, 05, 05]
+0EC0 0E93; [73 2A, 05, 05][73 7A, 05, 05]
+0EC1 0E93; [73 2A, 05, 05][73 7C, 05, 05]
+0EC2 0E93; [73 2A, 05, 05][73 7E, 05, 05]
+0EC3 0E93; [73 2A, 05, 05][73 80, 05, 05]
+0EC4 0E93; [73 2A, 05, 05][73 82, 05, 05]
+
+0E94; [73 2C, 05, 05]
+0EC0 0E94; [73 2C, 05, 05][73 7A, 05, 05]
+0EC1 0E94; [73 2C, 05, 05][73 7C, 05, 05]
+0EC2 0E94; [73 2C, 05, 05][73 7E, 05, 05]
+0EC3 0E94; [73 2C, 05, 05][73 80, 05, 05]
+0EC4 0E94; [73 2C, 05, 05][73 82, 05, 05]
+
+0E95; [73 2E, 05, 05]
+0EC0 0E95; [73 2E, 05, 05][73 7A, 05, 05]
+0EC1 0E95; [73 2E, 05, 05][73 7C, 05, 05]
+0EC2 0E95; [73 2E, 05, 05][73 7E, 05, 05]
+0EC3 0E95; [73 2E, 05, 05][73 80, 05, 05]
+0EC4 0E95; [73 2E, 05, 05][73 82, 05, 05]
+
+0E96; [73 30, 05, 05]
+0EC0 0E96; [73 30, 05, 05][73 7A, 05, 05]
+0EC1 0E96; [73 30, 05, 05][73 7C, 05, 05]
+0EC2 0E96; [73 30, 05, 05][73 7E, 05, 05]
+0EC3 0E96; [73 30, 05, 05][73 80, 05, 05]
+0EC4 0E96; [73 30, 05, 05][73 82, 05, 05]
+
+0E97; [73 32, 05, 05]
+0EC0 0E97; [73 32, 05, 05][73 7A, 05, 05]
+0EC1 0E97; [73 32, 05, 05][73 7C, 05, 05]
+0EC2 0E97; [73 32, 05, 05][73 7E, 05, 05]
+0EC3 0E97; [73 32, 05, 05][73 80, 05, 05]
+0EC4 0E97; [73 32, 05, 05][73 82, 05, 05]
+
+0E98; [73 34, 05, 05]
+0EC0 0E98; [73 34, 05, 05][73 7A, 05, 05]
+0EC1 0E98; [73 34, 05, 05][73 7C, 05, 05]
+0EC2 0E98; [73 34, 05, 05][73 7E, 05, 05]
+0EC3 0E98; [73 34, 05, 05][73 80, 05, 05]
+0EC4 0E98; [73 34, 05, 05][73 82, 05, 05]
+
+0E99; [73 36, 05, 05]
+0EC0 0E99; [73 36, 05, 05][73 7A, 05, 05]
+0EC1 0E99; [73 36, 05, 05][73 7C, 05, 05]
+0EC2 0E99; [73 36, 05, 05][73 7E, 05, 05]
+0EC3 0E99; [73 36, 05, 05][73 80, 05, 05]
+0EC4 0E99; [73 36, 05, 05][73 82, 05, 05]
+
+0E9A; [73 38, 05, 05]
+0EC0 0E9A; [73 38, 05, 05][73 7A, 05, 05]
+0EC1 0E9A; [73 38, 05, 05][73 7C, 05, 05]
+0EC2 0E9A; [73 38, 05, 05][73 7E, 05, 05]
+0EC3 0E9A; [73 38, 05, 05][73 80, 05, 05]
+0EC4 0E9A; [73 38, 05, 05][73 82, 05, 05]
+
+0E9B; [73 3A, 05, 05]
+0EC0 0E9B; [73 3A, 05, 05][73 7A, 05, 05]
+0EC1 0E9B; [73 3A, 05, 05][73 7C, 05, 05]
+0EC2 0E9B; [73 3A, 05, 05][73 7E, 05, 05]
+0EC3 0E9B; [73 3A, 05, 05][73 80, 05, 05]
+0EC4 0E9B; [73 3A, 05, 05][73 82, 05, 05]
+
+0E9C; [73 3C, 05, 05]
+0EC0 0E9C; [73 3C, 05, 05][73 7A, 05, 05]
+0EC1 0E9C; [73 3C, 05, 05][73 7C, 05, 05]
+0EC2 0E9C; [73 3C, 05, 05][73 7E, 05, 05]
+0EC3 0E9C; [73 3C, 05, 05][73 80, 05, 05]
+0EC4 0E9C; [73 3C, 05, 05][73 82, 05, 05]
+
+0E9D; [73 3E, 05, 05]
+0EC0 0E9D; [73 3E, 05, 05][73 7A, 05, 05]
+0EC1 0E9D; [73 3E, 05, 05][73 7C, 05, 05]
+0EC2 0E9D; [73 3E, 05, 05][73 7E, 05, 05]
+0EC3 0E9D; [73 3E, 05, 05][73 80, 05, 05]
+0EC4 0E9D; [73 3E, 05, 05][73 82, 05, 05]
+
+0E9E; [73 40, 05, 05]
+0EC0 0E9E; [73 40, 05, 05][73 7A, 05, 05]
+0EC1 0E9E; [73 40, 05, 05][73 7C, 05, 05]
+0EC2 0E9E; [73 40, 05, 05][73 7E, 05, 05]
+0EC3 0E9E; [73 40, 05, 05][73 80, 05, 05]
+0EC4 0E9E; [73 40, 05, 05][73 82, 05, 05]
+
+0E9F; [73 42, 05, 05]
+0EC0 0E9F; [73 42, 05, 05][73 7A, 05, 05]
+0EC1 0E9F; [73 42, 05, 05][73 7C, 05, 05]
+0EC2 0E9F; [73 42, 05, 05][73 7E, 05, 05]
+0EC3 0E9F; [73 42, 05, 05][73 80, 05, 05]
+0EC4 0E9F; [73 42, 05, 05][73 82, 05, 05]
+
+0EA0; [73 44, 05, 05]
+0EC0 0EA0; [73 44, 05, 05][73 7A, 05, 05]
+0EC1 0EA0; [73 44, 05, 05][73 7C, 05, 05]
+0EC2 0EA0; [73 44, 05, 05][73 7E, 05, 05]
+0EC3 0EA0; [73 44, 05, 05][73 80, 05, 05]
+0EC4 0EA0; [73 44, 05, 05][73 82, 05, 05]
+
+0EA1; [73 46, 05, 05]
+0EC0 0EA1; [73 46, 05, 05][73 7A, 05, 05]
+0EC1 0EA1; [73 46, 05, 05][73 7C, 05, 05]
+0EC2 0EA1; [73 46, 05, 05][73 7E, 05, 05]
+0EC3 0EA1; [73 46, 05, 05][73 80, 05, 05]
+0EC4 0EA1; [73 46, 05, 05][73 82, 05, 05]
+
+0EA2; [73 48, 05, 05]
+0EC0 0EA2; [73 48, 05, 05][73 7A, 05, 05]
+0EC1 0EA2; [73 48, 05, 05][73 7C, 05, 05]
+0EC2 0EA2; [73 48, 05, 05][73 7E, 05, 05]
+0EC3 0EA2; [73 48, 05, 05][73 80, 05, 05]
+0EC4 0EA2; [73 48, 05, 05][73 82, 05, 05]
+
+0EA3; [73 4A, 05, 05]
+0EC0 0EA3; [73 4A, 05, 05][73 7A, 05, 05]
+0EC1 0EA3; [73 4A, 05, 05][73 7C, 05, 05]
+0EC2 0EA3; [73 4A, 05, 05][73 7E, 05, 05]
+0EC3 0EA3; [73 4A, 05, 05][73 80, 05, 05]
+0EC4 0EA3; [73 4A, 05, 05][73 82, 05, 05]
+
+0EA5; [73 4C, 05, 05]
+0EC0 0EA5; [73 4C, 05, 05][73 7A, 05, 05]
+0EC1 0EA5; [73 4C, 05, 05][73 7C, 05, 05]
+0EC2 0EA5; [73 4C, 05, 05][73 7E, 05, 05]
+0EC3 0EA5; [73 4C, 05, 05][73 80, 05, 05]
+0EC4 0EA5; [73 4C, 05, 05][73 82, 05, 05]
+
+0EA7; [73 4E, 05, 05]
+0EC0 0EA7; [73 4E, 05, 05][73 7A, 05, 05]
+0EC1 0EA7; [73 4E, 05, 05][73 7C, 05, 05]
+0EC2 0EA7; [73 4E, 05, 05][73 7E, 05, 05]
+0EC3 0EA7; [73 4E, 05, 05][73 80, 05, 05]
+0EC4 0EA7; [73 4E, 05, 05][73 82, 05, 05]
+
+0EA8; [73 50, 05, 05]
+0EC0 0EA8; [73 50, 05, 05][73 7A, 05, 05]
+0EC1 0EA8; [73 50, 05, 05][73 7C, 05, 05]
+0EC2 0EA8; [73 50, 05, 05][73 7E, 05, 05]
+0EC3 0EA8; [73 50, 05, 05][73 80, 05, 05]
+0EC4 0EA8; [73 50, 05, 05][73 82, 05, 05]
+
+0EA9; [73 52, 05, 05]
+0EC0 0EA9; [73 52, 05, 05][73 7A, 05, 05]
+0EC1 0EA9; [73 52, 05, 05][73 7C, 05, 05]
+0EC2 0EA9; [73 52, 05, 05][73 7E, 05, 05]
+0EC3 0EA9; [73 52, 05, 05][73 80, 05, 05]
+0EC4 0EA9; [73 52, 05, 05][73 82, 05, 05]
+
+0EAB; [73 54, 05, 05]
+0EDC; [73 54, 05, 20][73 36, 05, 20]
+0EC0 0EDC; [73 54, 05, 20][73 36, 05, 20][73 7A, 05, 05]
+0EC1 0EDC; [73 54, 05, 20][73 36, 05, 20][73 7C, 05, 05]
+0EC2 0EDC; [73 54, 05, 20][73 36, 05, 20][73 7E, 05, 05]
+0EC3 0EDC; [73 54, 05, 20][73 36, 05, 20][73 80, 05, 05]
+0EC4 0EDC; [73 54, 05, 20][73 36, 05, 20][73 82, 05, 05]
+0EDD; [73 54, 05, 20][73 46, 05, 20]
+0EC0 0EDD; [73 54, 05, 20][73 46, 05, 20][73 7A, 05, 05]
+0EC1 0EDD; [73 54, 05, 20][73 46, 05, 20][73 7C, 05, 05]
+0EC2 0EDD; [73 54, 05, 20][73 46, 05, 20][73 7E, 05, 05]
+0EC3 0EDD; [73 54, 05, 20][73 46, 05, 20][73 80, 05, 05]
+0EC4 0EDD; [73 54, 05, 20][73 46, 05, 20][73 82, 05, 05]
+0EC0 0EAB; [73 54, 05, 05][73 7A, 05, 05]
+0EC1 0EAB; [73 54, 05, 05][73 7C, 05, 05]
+0EC2 0EAB; [73 54, 05, 05][73 7E, 05, 05]
+0EC3 0EAB; [73 54, 05, 05][73 80, 05, 05]
+0EC4 0EAB; [73 54, 05, 05][73 82, 05, 05]
+
+0EAC; [73 56, 05, 05]
+0EC0 0EAC; [73 56, 05, 05][73 7A, 05, 05]
+0EC1 0EAC; [73 56, 05, 05][73 7C, 05, 05]
+0EC2 0EAC; [73 56, 05, 05][73 7E, 05, 05]
+0EC3 0EAC; [73 56, 05, 05][73 80, 05, 05]
+0EC4 0EAC; [73 56, 05, 05][73 82, 05, 05]
+
+0EAD; [73 58, 05, 05]
+0EC0 0EAD; [73 58, 05, 05][73 7A, 05, 05]
+0EC1 0EAD; [73 58, 05, 05][73 7C, 05, 05]
+0EC2 0EAD; [73 58, 05, 05][73 7E, 05, 05]
+0EC3 0EAD; [73 58, 05, 05][73 80, 05, 05]
+0EC4 0EAD; [73 58, 05, 05][73 82, 05, 05]
+
+0EAE; [73 5A, 05, 05]
+0EC0 0EAE; [73 5A, 05, 05][73 7A, 05, 05]
+0EC1 0EAE; [73 5A, 05, 05][73 7C, 05, 05]
+0EC2 0EAE; [73 5A, 05, 05][73 7E, 05, 05]
+0EC3 0EAE; [73 5A, 05, 05][73 80, 05, 05]
+0EC4 0EAE; [73 5A, 05, 05][73 82, 05, 05]
+
+0EAF; [73 5C, 05, 05]
+
+0EB0; [73 5E, 05, 05]
+
+0EB1; [73 60, 05, 05]
+
+0EB2; [73 62, 05, 05]
+
+0EB3; [73 64, 05, 05]
+0ECD 0EB2; [73 64, 05, 05]
+
+0EB4; [73 66, 05, 05]
+
+0EB5; [73 68, 05, 05]
+
+0EB6; [73 6A, 05, 05]
+
+0EB7; [73 6C, 05, 05]
+
+0EB8; [73 6E, 05, 05]
+
+0EB9; [73 70, 05, 05]
+
+0EBA; [73 72, 05, 05]
+
+0EBB; [73 74, 05, 05]
+
+0EBC; [73 76, 05, 05]
+
+0EBD; [73 78, 05, 05]
+
+0EC0; [73 7A, 05, 05]
+
+0EC1; [73 7C, 05, 05]
+
+0EC2; [73 7E, 05, 05]
+
+0EC3; [73 80, 05, 05]
+
+0EC4; [73 82, 05, 05]
+
+FDD1 AA80; [73 84 02, 05, 05] # Tai Viet first primary (compressible)
+
+AA80; [73 84 09, 05, 05]
+AAB5 AA80; [73 84 09, 05, 05][73 85 7E, 05, 05]
+AAB6 AA80; [73 84 09, 05, 05][73 85 85, 05, 05]
+AAB9 AA80; [73 84 09, 05, 05][73 85 9A, 05, 05]
+AABB AA80; [73 84 09, 05, 05][73 85 A8, 05, 05]
+AABC AA80; [73 84 09, 05, 05][73 85 AF, 05, 05]
+
+AA81; [73 84 10, 05, 05]
+AAB5 AA81; [73 84 10, 05, 05][73 85 7E, 05, 05]
+AAB6 AA81; [73 84 10, 05, 05][73 85 85, 05, 05]
+AAB9 AA81; [73 84 10, 05, 05][73 85 9A, 05, 05]
+AABB AA81; [73 84 10, 05, 05][73 85 A8, 05, 05]
+AABC AA81; [73 84 10, 05, 05][73 85 AF, 05, 05]
+
+AA82; [73 84 17, 05, 05]
+AAB5 AA82; [73 84 17, 05, 05][73 85 7E, 05, 05]
+AAB6 AA82; [73 84 17, 05, 05][73 85 85, 05, 05]
+AAB9 AA82; [73 84 17, 05, 05][73 85 9A, 05, 05]
+AABB AA82; [73 84 17, 05, 05][73 85 A8, 05, 05]
+AABC AA82; [73 84 17, 05, 05][73 85 AF, 05, 05]
+
+AA83; [73 84 1E, 05, 05]
+AAB5 AA83; [73 84 1E, 05, 05][73 85 7E, 05, 05]
+AAB6 AA83; [73 84 1E, 05, 05][73 85 85, 05, 05]
+AAB9 AA83; [73 84 1E, 05, 05][73 85 9A, 05, 05]
+AABB AA83; [73 84 1E, 05, 05][73 85 A8, 05, 05]
+AABC AA83; [73 84 1E, 05, 05][73 85 AF, 05, 05]
+
+AA84; [73 84 25, 05, 05]
+AAB5 AA84; [73 84 25, 05, 05][73 85 7E, 05, 05]
+AAB6 AA84; [73 84 25, 05, 05][73 85 85, 05, 05]
+AAB9 AA84; [73 84 25, 05, 05][73 85 9A, 05, 05]
+AABB AA84; [73 84 25, 05, 05][73 85 A8, 05, 05]
+AABC AA84; [73 84 25, 05, 05][73 85 AF, 05, 05]
+
+AA85; [73 84 2C, 05, 05]
+AAB5 AA85; [73 84 2C, 05, 05][73 85 7E, 05, 05]
+AAB6 AA85; [73 84 2C, 05, 05][73 85 85, 05, 05]
+AAB9 AA85; [73 84 2C, 05, 05][73 85 9A, 05, 05]
+AABB AA85; [73 84 2C, 05, 05][73 85 A8, 05, 05]
+AABC AA85; [73 84 2C, 05, 05][73 85 AF, 05, 05]
+
+AA86; [73 84 33, 05, 05]
+AAB5 AA86; [73 84 33, 05, 05][73 85 7E, 05, 05]
+AAB6 AA86; [73 84 33, 05, 05][73 85 85, 05, 05]
+AAB9 AA86; [73 84 33, 05, 05][73 85 9A, 05, 05]
+AABB AA86; [73 84 33, 05, 05][73 85 A8, 05, 05]
+AABC AA86; [73 84 33, 05, 05][73 85 AF, 05, 05]
+
+AA87; [73 84 3A, 05, 05]
+AAB5 AA87; [73 84 3A, 05, 05][73 85 7E, 05, 05]
+AAB6 AA87; [73 84 3A, 05, 05][73 85 85, 05, 05]
+AAB9 AA87; [73 84 3A, 05, 05][73 85 9A, 05, 05]
+AABB AA87; [73 84 3A, 05, 05][73 85 A8, 05, 05]
+AABC AA87; [73 84 3A, 05, 05][73 85 AF, 05, 05]
+
+AA88; [73 84 41, 05, 05]
+AAB5 AA88; [73 84 41, 05, 05][73 85 7E, 05, 05]
+AAB6 AA88; [73 84 41, 05, 05][73 85 85, 05, 05]
+AAB9 AA88; [73 84 41, 05, 05][73 85 9A, 05, 05]
+AABB AA88; [73 84 41, 05, 05][73 85 A8, 05, 05]
+AABC AA88; [73 84 41, 05, 05][73 85 AF, 05, 05]
+
+AA89; [73 84 48, 05, 05]
+AAB5 AA89; [73 84 48, 05, 05][73 85 7E, 05, 05]
+AAB6 AA89; [73 84 48, 05, 05][73 85 85, 05, 05]
+AAB9 AA89; [73 84 48, 05, 05][73 85 9A, 05, 05]
+AABB AA89; [73 84 48, 05, 05][73 85 A8, 05, 05]
+AABC AA89; [73 84 48, 05, 05][73 85 AF, 05, 05]
+
+AA8A; [73 84 4F, 05, 05]
+AAB5 AA8A; [73 84 4F, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8A; [73 84 4F, 05, 05][73 85 85, 05, 05]
+AAB9 AA8A; [73 84 4F, 05, 05][73 85 9A, 05, 05]
+AABB AA8A; [73 84 4F, 05, 05][73 85 A8, 05, 05]
+AABC AA8A; [73 84 4F, 05, 05][73 85 AF, 05, 05]
+
+AA8B; [73 84 56, 05, 05]
+AAB5 AA8B; [73 84 56, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8B; [73 84 56, 05, 05][73 85 85, 05, 05]
+AAB9 AA8B; [73 84 56, 05, 05][73 85 9A, 05, 05]
+AABB AA8B; [73 84 56, 05, 05][73 85 A8, 05, 05]
+AABC AA8B; [73 84 56, 05, 05][73 85 AF, 05, 05]
+
+AA8C; [73 84 5D, 05, 05]
+AAB5 AA8C; [73 84 5D, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8C; [73 84 5D, 05, 05][73 85 85, 05, 05]
+AAB9 AA8C; [73 84 5D, 05, 05][73 85 9A, 05, 05]
+AABB AA8C; [73 84 5D, 05, 05][73 85 A8, 05, 05]
+AABC AA8C; [73 84 5D, 05, 05][73 85 AF, 05, 05]
+
+AA8D; [73 84 64, 05, 05]
+AAB5 AA8D; [73 84 64, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8D; [73 84 64, 05, 05][73 85 85, 05, 05]
+AAB9 AA8D; [73 84 64, 05, 05][73 85 9A, 05, 05]
+AABB AA8D; [73 84 64, 05, 05][73 85 A8, 05, 05]
+AABC AA8D; [73 84 64, 05, 05][73 85 AF, 05, 05]
+
+AA8E; [73 84 6B, 05, 05]
+AAB5 AA8E; [73 84 6B, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8E; [73 84 6B, 05, 05][73 85 85, 05, 05]
+AAB9 AA8E; [73 84 6B, 05, 05][73 85 9A, 05, 05]
+AABB AA8E; [73 84 6B, 05, 05][73 85 A8, 05, 05]
+AABC AA8E; [73 84 6B, 05, 05][73 85 AF, 05, 05]
+
+AA8F; [73 84 72, 05, 05]
+AAB5 AA8F; [73 84 72, 05, 05][73 85 7E, 05, 05]
+AAB6 AA8F; [73 84 72, 05, 05][73 85 85, 05, 05]
+AAB9 AA8F; [73 84 72, 05, 05][73 85 9A, 05, 05]
+AABB AA8F; [73 84 72, 05, 05][73 85 A8, 05, 05]
+AABC AA8F; [73 84 72, 05, 05][73 85 AF, 05, 05]
+
+AA90; [73 84 79, 05, 05]
+AAB5 AA90; [73 84 79, 05, 05][73 85 7E, 05, 05]
+AAB6 AA90; [73 84 79, 05, 05][73 85 85, 05, 05]
+AAB9 AA90; [73 84 79, 05, 05][73 85 9A, 05, 05]
+AABB AA90; [73 84 79, 05, 05][73 85 A8, 05, 05]
+AABC AA90; [73 84 79, 05, 05][73 85 AF, 05, 05]
+
+AA91; [73 84 80, 05, 05]
+AAB5 AA91; [73 84 80, 05, 05][73 85 7E, 05, 05]
+AAB6 AA91; [73 84 80, 05, 05][73 85 85, 05, 05]
+AAB9 AA91; [73 84 80, 05, 05][73 85 9A, 05, 05]
+AABB AA91; [73 84 80, 05, 05][73 85 A8, 05, 05]
+AABC AA91; [73 84 80, 05, 05][73 85 AF, 05, 05]
+
+AA92; [73 84 87, 05, 05]
+AAB5 AA92; [73 84 87, 05, 05][73 85 7E, 05, 05]
+AAB6 AA92; [73 84 87, 05, 05][73 85 85, 05, 05]
+AAB9 AA92; [73 84 87, 05, 05][73 85 9A, 05, 05]
+AABB AA92; [73 84 87, 05, 05][73 85 A8, 05, 05]
+AABC AA92; [73 84 87, 05, 05][73 85 AF, 05, 05]
+
+AA93; [73 84 8E, 05, 05]
+AAB5 AA93; [73 84 8E, 05, 05][73 85 7E, 05, 05]
+AAB6 AA93; [73 84 8E, 05, 05][73 85 85, 05, 05]
+AAB9 AA93; [73 84 8E, 05, 05][73 85 9A, 05, 05]
+AABB AA93; [73 84 8E, 05, 05][73 85 A8, 05, 05]
+AABC AA93; [73 84 8E, 05, 05][73 85 AF, 05, 05]
+
+AA94; [73 84 95, 05, 05]
+AAB5 AA94; [73 84 95, 05, 05][73 85 7E, 05, 05]
+AAB6 AA94; [73 84 95, 05, 05][73 85 85, 05, 05]
+AAB9 AA94; [73 84 95, 05, 05][73 85 9A, 05, 05]
+AABB AA94; [73 84 95, 05, 05][73 85 A8, 05, 05]
+AABC AA94; [73 84 95, 05, 05][73 85 AF, 05, 05]
+
+AA95; [73 84 9C, 05, 05]
+AAB5 AA95; [73 84 9C, 05, 05][73 85 7E, 05, 05]
+AAB6 AA95; [73 84 9C, 05, 05][73 85 85, 05, 05]
+AAB9 AA95; [73 84 9C, 05, 05][73 85 9A, 05, 05]
+AABB AA95; [73 84 9C, 05, 05][73 85 A8, 05, 05]
+AABC AA95; [73 84 9C, 05, 05][73 85 AF, 05, 05]
+
+AA96; [73 84 A3, 05, 05]
+AAB5 AA96; [73 84 A3, 05, 05][73 85 7E, 05, 05]
+AAB6 AA96; [73 84 A3, 05, 05][73 85 85, 05, 05]
+AAB9 AA96; [73 84 A3, 05, 05][73 85 9A, 05, 05]
+AABB AA96; [73 84 A3, 05, 05][73 85 A8, 05, 05]
+AABC AA96; [73 84 A3, 05, 05][73 85 AF, 05, 05]
+
+AA97; [73 84 AA, 05, 05]
+AAB5 AA97; [73 84 AA, 05, 05][73 85 7E, 05, 05]
+AAB6 AA97; [73 84 AA, 05, 05][73 85 85, 05, 05]
+AAB9 AA97; [73 84 AA, 05, 05][73 85 9A, 05, 05]
+AABB AA97; [73 84 AA, 05, 05][73 85 A8, 05, 05]
+AABC AA97; [73 84 AA, 05, 05][73 85 AF, 05, 05]
+
+AA98; [73 84 B1, 05, 05]
+AAB5 AA98; [73 84 B1, 05, 05][73 85 7E, 05, 05]
+AAB6 AA98; [73 84 B1, 05, 05][73 85 85, 05, 05]
+AAB9 AA98; [73 84 B1, 05, 05][73 85 9A, 05, 05]
+AABB AA98; [73 84 B1, 05, 05][73 85 A8, 05, 05]
+AABC AA98; [73 84 B1, 05, 05][73 85 AF, 05, 05]
+
+AA99; [73 84 B8, 05, 05]
+AAB5 AA99; [73 84 B8, 05, 05][73 85 7E, 05, 05]
+AAB6 AA99; [73 84 B8, 05, 05][73 85 85, 05, 05]
+AAB9 AA99; [73 84 B8, 05, 05][73 85 9A, 05, 05]
+AABB AA99; [73 84 B8, 05, 05][73 85 A8, 05, 05]
+AABC AA99; [73 84 B8, 05, 05][73 85 AF, 05, 05]
+
+AA9A; [73 84 BF, 05, 05]
+AAB5 AA9A; [73 84 BF, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9A; [73 84 BF, 05, 05][73 85 85, 05, 05]
+AAB9 AA9A; [73 84 BF, 05, 05][73 85 9A, 05, 05]
+AABB AA9A; [73 84 BF, 05, 05][73 85 A8, 05, 05]
+AABC AA9A; [73 84 BF, 05, 05][73 85 AF, 05, 05]
+
+AA9B; [73 84 C6, 05, 05]
+AAB5 AA9B; [73 84 C6, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9B; [73 84 C6, 05, 05][73 85 85, 05, 05]
+AAB9 AA9B; [73 84 C6, 05, 05][73 85 9A, 05, 05]
+AABB AA9B; [73 84 C6, 05, 05][73 85 A8, 05, 05]
+AABC AA9B; [73 84 C6, 05, 05][73 85 AF, 05, 05]
+
+AA9C; [73 84 CD, 05, 05]
+AAB5 AA9C; [73 84 CD, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9C; [73 84 CD, 05, 05][73 85 85, 05, 05]
+AAB9 AA9C; [73 84 CD, 05, 05][73 85 9A, 05, 05]
+AABB AA9C; [73 84 CD, 05, 05][73 85 A8, 05, 05]
+AABC AA9C; [73 84 CD, 05, 05][73 85 AF, 05, 05]
+
+AA9D; [73 84 D4, 05, 05]
+AAB5 AA9D; [73 84 D4, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9D; [73 84 D4, 05, 05][73 85 85, 05, 05]
+AAB9 AA9D; [73 84 D4, 05, 05][73 85 9A, 05, 05]
+AABB AA9D; [73 84 D4, 05, 05][73 85 A8, 05, 05]
+AABC AA9D; [73 84 D4, 05, 05][73 85 AF, 05, 05]
+
+AA9E; [73 84 DB, 05, 05]
+AAB5 AA9E; [73 84 DB, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9E; [73 84 DB, 05, 05][73 85 85, 05, 05]
+AAB9 AA9E; [73 84 DB, 05, 05][73 85 9A, 05, 05]
+AABB AA9E; [73 84 DB, 05, 05][73 85 A8, 05, 05]
+AABC AA9E; [73 84 DB, 05, 05][73 85 AF, 05, 05]
+
+AA9F; [73 84 E2, 05, 05]
+AAB5 AA9F; [73 84 E2, 05, 05][73 85 7E, 05, 05]
+AAB6 AA9F; [73 84 E2, 05, 05][73 85 85, 05, 05]
+AAB9 AA9F; [73 84 E2, 05, 05][73 85 9A, 05, 05]
+AABB AA9F; [73 84 E2, 05, 05][73 85 A8, 05, 05]
+AABC AA9F; [73 84 E2, 05, 05][73 85 AF, 05, 05]
+
+AAA0; [73 84 E9, 05, 05]
+AAB5 AAA0; [73 84 E9, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA0; [73 84 E9, 05, 05][73 85 85, 05, 05]
+AAB9 AAA0; [73 84 E9, 05, 05][73 85 9A, 05, 05]
+AABB AAA0; [73 84 E9, 05, 05][73 85 A8, 05, 05]
+AABC AAA0; [73 84 E9, 05, 05][73 85 AF, 05, 05]
+
+AAA1; [73 84 F0, 05, 05]
+AAB5 AAA1; [73 84 F0, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA1; [73 84 F0, 05, 05][73 85 85, 05, 05]
+AAB9 AAA1; [73 84 F0, 05, 05][73 85 9A, 05, 05]
+AABB AAA1; [73 84 F0, 05, 05][73 85 A8, 05, 05]
+AABC AAA1; [73 84 F0, 05, 05][73 85 AF, 05, 05]
+
+AAA2; [73 84 F7, 05, 05]
+AAB5 AAA2; [73 84 F7, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA2; [73 84 F7, 05, 05][73 85 85, 05, 05]
+AAB9 AAA2; [73 84 F7, 05, 05][73 85 9A, 05, 05]
+AABB AAA2; [73 84 F7, 05, 05][73 85 A8, 05, 05]
+AABC AAA2; [73 84 F7, 05, 05][73 85 AF, 05, 05]
+
+AAA3; [73 84 FE, 05, 05]
+AAB5 AAA3; [73 84 FE, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA3; [73 84 FE, 05, 05][73 85 85, 05, 05]
+AAB9 AAA3; [73 84 FE, 05, 05][73 85 9A, 05, 05]
+AABB AAA3; [73 84 FE, 05, 05][73 85 A8, 05, 05]
+AABC AAA3; [73 84 FE, 05, 05][73 85 AF, 05, 05]
+
+AAA4; [73 85 07, 05, 05]
+AAB5 AAA4; [73 85 07, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA4; [73 85 07, 05, 05][73 85 85, 05, 05]
+AAB9 AAA4; [73 85 07, 05, 05][73 85 9A, 05, 05]
+AABB AAA4; [73 85 07, 05, 05][73 85 A8, 05, 05]
+AABC AAA4; [73 85 07, 05, 05][73 85 AF, 05, 05]
+
+AAA5; [73 85 0E, 05, 05]
+AAB5 AAA5; [73 85 0E, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA5; [73 85 0E, 05, 05][73 85 85, 05, 05]
+AAB9 AAA5; [73 85 0E, 05, 05][73 85 9A, 05, 05]
+AABB AAA5; [73 85 0E, 05, 05][73 85 A8, 05, 05]
+AABC AAA5; [73 85 0E, 05, 05][73 85 AF, 05, 05]
+
+AAA6; [73 85 15, 05, 05]
+AAB5 AAA6; [73 85 15, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA6; [73 85 15, 05, 05][73 85 85, 05, 05]
+AAB9 AAA6; [73 85 15, 05, 05][73 85 9A, 05, 05]
+AABB AAA6; [73 85 15, 05, 05][73 85 A8, 05, 05]
+AABC AAA6; [73 85 15, 05, 05][73 85 AF, 05, 05]
+
+AAA7; [73 85 1C, 05, 05]
+AAB5 AAA7; [73 85 1C, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA7; [73 85 1C, 05, 05][73 85 85, 05, 05]
+AAB9 AAA7; [73 85 1C, 05, 05][73 85 9A, 05, 05]
+AABB AAA7; [73 85 1C, 05, 05][73 85 A8, 05, 05]
+AABC AAA7; [73 85 1C, 05, 05][73 85 AF, 05, 05]
+
+AAA8; [73 85 23, 05, 05]
+AAB5 AAA8; [73 85 23, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA8; [73 85 23, 05, 05][73 85 85, 05, 05]
+AAB9 AAA8; [73 85 23, 05, 05][73 85 9A, 05, 05]
+AABB AAA8; [73 85 23, 05, 05][73 85 A8, 05, 05]
+AABC AAA8; [73 85 23, 05, 05][73 85 AF, 05, 05]
+
+AAA9; [73 85 2A, 05, 05]
+AAB5 AAA9; [73 85 2A, 05, 05][73 85 7E, 05, 05]
+AAB6 AAA9; [73 85 2A, 05, 05][73 85 85, 05, 05]
+AAB9 AAA9; [73 85 2A, 05, 05][73 85 9A, 05, 05]
+AABB AAA9; [73 85 2A, 05, 05][73 85 A8, 05, 05]
+AABC AAA9; [73 85 2A, 05, 05][73 85 AF, 05, 05]
+
+AAAA; [73 85 31, 05, 05]
+AAB5 AAAA; [73 85 31, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAA; [73 85 31, 05, 05][73 85 85, 05, 05]
+AAB9 AAAA; [73 85 31, 05, 05][73 85 9A, 05, 05]
+AABB AAAA; [73 85 31, 05, 05][73 85 A8, 05, 05]
+AABC AAAA; [73 85 31, 05, 05][73 85 AF, 05, 05]
+
+AAAB; [73 85 38, 05, 05]
+AAB5 AAAB; [73 85 38, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAB; [73 85 38, 05, 05][73 85 85, 05, 05]
+AAB9 AAAB; [73 85 38, 05, 05][73 85 9A, 05, 05]
+AABB AAAB; [73 85 38, 05, 05][73 85 A8, 05, 05]
+AABC AAAB; [73 85 38, 05, 05][73 85 AF, 05, 05]
+
+AAAC; [73 85 3F, 05, 05]
+AAB5 AAAC; [73 85 3F, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAC; [73 85 3F, 05, 05][73 85 85, 05, 05]
+AAB9 AAAC; [73 85 3F, 05, 05][73 85 9A, 05, 05]
+AABB AAAC; [73 85 3F, 05, 05][73 85 A8, 05, 05]
+AABC AAAC; [73 85 3F, 05, 05][73 85 AF, 05, 05]
+
+AAAD; [73 85 46, 05, 05]
+AAB5 AAAD; [73 85 46, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAD; [73 85 46, 05, 05][73 85 85, 05, 05]
+AAB9 AAAD; [73 85 46, 05, 05][73 85 9A, 05, 05]
+AABB AAAD; [73 85 46, 05, 05][73 85 A8, 05, 05]
+AABC AAAD; [73 85 46, 05, 05][73 85 AF, 05, 05]
+
+AAAE; [73 85 4D, 05, 05]
+AAB5 AAAE; [73 85 4D, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAE; [73 85 4D, 05, 05][73 85 85, 05, 05]
+AAB9 AAAE; [73 85 4D, 05, 05][73 85 9A, 05, 05]
+AABB AAAE; [73 85 4D, 05, 05][73 85 A8, 05, 05]
+AABC AAAE; [73 85 4D, 05, 05][73 85 AF, 05, 05]
+
+AAAF; [73 85 54, 05, 05]
+AAB5 AAAF; [73 85 54, 05, 05][73 85 7E, 05, 05]
+AAB6 AAAF; [73 85 54, 05, 05][73 85 85, 05, 05]
+AAB9 AAAF; [73 85 54, 05, 05][73 85 9A, 05, 05]
+AABB AAAF; [73 85 54, 05, 05][73 85 A8, 05, 05]
+AABC AAAF; [73 85 54, 05, 05][73 85 AF, 05, 05]
-AAB0; [73 67 5B, 05, 05]
+AAB0; [73 85 5B, 05, 05]
-AAB1; [73 67 62, 05, 05]
+AAB1; [73 85 62, 05, 05]
-AAB2; [73 67 69, 05, 05]
+AAB2; [73 85 69, 05, 05]
-AAB3; [73 67 70, 05, 05]
+AAB3; [73 85 70, 05, 05]
-AAB4; [73 67 77, 05, 05]
+AAB4; [73 85 77, 05, 05]
-AAB5; [73 67 7E, 05, 05]
+AAB5; [73 85 7E, 05, 05]
-AAB6; [73 67 85, 05, 05]
+AAB6; [73 85 85, 05, 05]
-AAB7; [73 67 8C, 05, 05]
+AAB7; [73 85 8C, 05, 05]
-AAB8; [73 67 93, 05, 05]
+AAB8; [73 85 93, 05, 05]
-AAB9; [73 67 9A, 05, 05]
+AAB9; [73 85 9A, 05, 05]
-AABA; [73 67 A1, 05, 05]
+AABA; [73 85 A1, 05, 05]
-AABB; [73 67 A8, 05, 05]
+AABB; [73 85 A8, 05, 05]
-AABC; [73 67 AF, 05, 05]
+AABC; [73 85 AF, 05, 05]
-AABD; [73 67 B6, 05, 05]
+AABD; [73 85 B6, 05, 05]
-AABE; [73 67 BD, 05, 05]
+AABE; [73 85 BD, 05, 05]
-AAC0; [73 67 C4, 05, 05]
+AAC0; [73 85 C4, 05, 05]
-AAC2; [73 67 CB, 05, 05]
+AAC2; [73 85 CB, 05, 05]
-AADB; [73 67 D2, 05, 05]
+AADB; [73 85 D2, 05, 05]
-AADC; [73 67 D9, 05, 05]
+AADC; [73 85 D9, 05, 05]
FDD1 0F40; [74 04 02, 05, 05] # TIBETAN first primary starts new lead byte (compressible)
@@ -30686,7 +31496,7 @@ FDD1 0F40; [74 04 02, 05, 05] # TIBETAN first primary starts new lead byte (comp
0FB7; [74 90, 05, 05]
0F68; [74 92, 05, 05]
-0F00; [74 92, 05, 20][74 C0, 05, 20][, F1 66, 20]
+0F00; [74 92, 05, 20][74 C0, 05, 20][, F0 F1, 20]
0FB8; [74 94, 05, 05]
@@ -30982,9 +31792,13 @@ FDD1 11A5C; [74 D1 02, 05, 05] # Soyombo first primary (compressible)
11A82; [74 FD 02, 05, 05]
-11A99; [74 FD 09, 05, 05]
+11A84; [74 FD 09, 05, 05]
+
+11A85; [74 FD 10, 05, 05]
-11A9D; [74 FD 10, 05, 05]
+11A99; [74 FD 17, 05, 05]
+
+11A9D; [74 FD 1E, 05, 05]
FDD1 11C72; [75 04 02, 05, 05] # Marchen first primary starts new lead byte (compressible)
@@ -38688,6 +39502,8 @@ FDD1 1E909; [78 A7 02, 05, 05] # Adlam first primary (compressible)
1E943; [78 EB, 05, 05]
1E921; [78 EB, 05, A0]
+1E94B; [78 ED 02, 05, 05]
+
FDD1 AC00; [79 04 02, 05, 05] # HANGUL first primary starts new lead byte (compressible)
1100; [79 06, 05, 05]
@@ -39592,10 +40408,10 @@ FF67; [7A 06, 05, 17]
30A2; [7A 06, 05, 9E]
FF71; [7A 06, 05, A5]
32D0; [7A 06, 05, 2C]
-3303; [7A 06, 05, 33][0D 68, 05, 2E][7A 58, 05, 30]
-3300; [7A 06, 05, 33][7A 3A, 05, 30][, B0, 2E][0D 68, 05, 2E][7A 2E, 05, 33]
+3303; [7A 06, 05, 33][0D 6F, 05, 2E][7A 58, 05, 30]
+3300; [7A 06, 05, 33][7A 3A, 05, 30][, B0, 2E][0D 6F, 05, 2E][7A 2E, 05, 33]
3301; [7A 06, 05, 33][7A 58, 05, 30][7A 3E, 05, 30][7A 06, 05, 33]
-3302; [7A 06, 05, 33][7A 66, 05, 2C][7A 40, 05, 30][, B0, 2E][7A 06, 05, 33]
+3302; [7A 06, 05, 33][7A 66, 05, 31][7A 40, 05, 30][, B0, 2E][7A 06, 05, 33]
3043; [7A 08, 05, 03]
3044; [7A 08, 05, 85]
@@ -39604,8 +40420,8 @@ FF68; [7A 08, 05, 17]
30A4; [7A 08, 05, 9E]
FF72; [7A 08, 05, A5]
32D1; [7A 08, 05, 2C]
-3304; [7A 08, 05, 33][7A 32, 05, 31][7A 66, 05, 2C][7A 16, 05, 30][, AE, 2E]
-3305; [7A 08, 05, 33][7A 66, 05, 2C][7A 28, 05, 31]
+3304; [7A 08, 05, 33][7A 32, 05, 31][7A 66, 05, 31][7A 16, 05, 30][, AE, 2E]
+3305; [7A 08, 05, 33][7A 66, 05, 31][7A 28, 05, 31]
3045; [7A 0A, 05, 03]
3046; [7A 0A, 05, 85]
@@ -39616,7 +40432,7 @@ FF73; [7A 0A, 05, A5]
32D2; [7A 0A, 05, 2C]
3094; [7A 0A, 05, 85][, AE, 05]
30F4; [7A 0A, 05, 9E][, AE, 05]
-3306; [7A 0A, 05, 33][7A 10, 05, 33][7A 66, 05, 2C]
+3306; [7A 0A, 05, 33][7A 10, 05, 33][7A 66, 05, 31]
1B000; [7A 0C, 05, 85]
@@ -39627,8 +40443,8 @@ FF6A; [7A 0E, 05, 17]
30A8; [7A 0E, 05, 9E]
FF74; [7A 0E, 05, A5]
32D3; [7A 0E, 05, 2C]
-3308; [7A 0E, 05, 33][0D 68, 05, 2E][7A 12, 05, 30][0D 68, 05, 2E]
-3307; [7A 0E, 05, 33][7A 20, 05, 30][7A 16, 05, 30][0D 68, 05, 2E][7A 2E, 05, 33][, AE, 2E]
+3308; [7A 0E, 05, 33][0D 6F, 05, 2E][7A 12, 05, 30][0D 6F, 05, 2E]
+3307; [7A 0E, 05, 33][7A 20, 05, 30][7A 16, 05, 30][0D 6F, 05, 2E][7A 2E, 05, 33][, AE, 2E]
3049; [7A 10, 05, 03]
304A; [7A 10, 05, 85]
@@ -39637,8 +40453,8 @@ FF6B; [7A 10, 05, 17]
30AA; [7A 10, 05, 9E]
FF75; [7A 10, 05, A5]
32D4; [7A 10, 05, 2C]
-330A; [7A 10, 05, 33][0D 68, 05, 2E][7A 48, 05, 30]
-3309; [7A 10, 05, 33][7A 66, 05, 2C][7A 20, 05, 30]
+330A; [7A 10, 05, 33][0D 6F, 05, 2E][7A 48, 05, 30]
+3309; [7A 10, 05, 33][7A 66, 05, 31][7A 20, 05, 30]
3095; [7A 12, 05, 03]
304B; [7A 12, 05, 85]
@@ -39650,9 +40466,9 @@ FF76; [7A 12, 05, A0]
30AC; [7A 12, 05, 98][, AE, 05]
330B; [7A 12, 05, 30][7A 08, 05, 33][7A 56, 05, 33]
330C; [7A 12, 05, 30][7A 54, 05, 30][7A 2A, 05, 33][7A 2E, 05, 33]
-330D; [7A 12, 05, 30][7A 5C, 05, 30][7A 56, 05, 33][0D 68, 05, 2E]
-330E; [7A 12, 05, 30][, AE, 2E][7A 5C, 05, 30][7A 66, 05, 2C]
-330F; [7A 12, 05, 30][, AE, 2E][7A 66, 05, 2C][7A 44, 05, 31]
+330D; [7A 12, 05, 30][7A 5C, 05, 30][7A 56, 05, 33][0D 6F, 05, 2E]
+330E; [7A 12, 05, 30][, AE, 2E][7A 5C, 05, 30][7A 66, 05, 31]
+330F; [7A 12, 05, 30][, AE, 2E][7A 66, 05, 31][7A 44, 05, 31]
304D; [7A 14, 05, 85]
30AD; [7A 14, 05, 90]
@@ -39661,12 +40477,12 @@ FF77; [7A 14, 05, 9B]
304E; [7A 14, 05, 85][, AE, 05]
30AE; [7A 14, 05, 90][, AE, 05]
3310; [7A 14, 05, 31][, AE, 2E][7A 12, 05, 30][, AE, 2E]
-3311; [7A 14, 05, 31][, AE, 2E][7A 32, 05, 31][0D 68, 05, 2E]
-3312; [7A 14, 05, 31][7A 50, 05, 33][7A 56, 05, 33][0D 68, 05, 2E]
-3313; [7A 14, 05, 31][, AE, 2E][7A 58, 05, 30][7A 26, 05, 31][, AE, 2E][0D 68, 05, 2E]
+3311; [7A 14, 05, 31][, AE, 2E][7A 32, 05, 31][0D 6F, 05, 2E]
+3312; [7A 14, 05, 31][7A 50, 05, 33][7A 56, 05, 33][0D 6F, 05, 2E]
+3313; [7A 14, 05, 31][, AE, 2E][7A 58, 05, 30][7A 26, 05, 31][, AE, 2E][0D 6F, 05, 2E]
3314; [7A 14, 05, 31][7A 5C, 05, 30]
3315; [7A 14, 05, 31][7A 5C, 05, 30][7A 16, 05, 30][, AE, 2E][7A 54, 05, 30][7A 48, 05, 30]
-3316; [7A 14, 05, 31][7A 5C, 05, 30][7A 4A, 05, 31][0D 68, 05, 2E][7A 2E, 05, 33][7A 58, 05, 30]
+3316; [7A 14, 05, 31][7A 5C, 05, 30][7A 4A, 05, 31][0D 6F, 05, 2E][7A 2E, 05, 33][7A 58, 05, 30]
3317; [7A 14, 05, 31][7A 5C, 05, 30][7A 5E, 05, 30][7A 2A, 05, 33][7A 2E, 05, 33]
304F; [7A 16, 05, 85]
@@ -39677,9 +40493,9 @@ FF78; [7A 16, 05, A0]
3050; [7A 16, 05, 85][, AE, 05]
30B0; [7A 16, 05, 98][, AE, 05]
3318; [7A 16, 05, 30][, AE, 2E][7A 54, 05, 30][7A 48, 05, 30]
-3319; [7A 16, 05, 30][, AE, 2E][7A 54, 05, 30][7A 48, 05, 30][7A 2E, 05, 33][7A 66, 05, 2C]
+3319; [7A 16, 05, 30][, AE, 2E][7A 54, 05, 30][7A 48, 05, 30][7A 2E, 05, 33][7A 66, 05, 31]
331A; [7A 16, 05, 30][7A 58, 05, 30][7A 22, 05, 31][, AE, 2E][7A 08, 05, 33][7A 5C, 05, 30]
-331B; [7A 16, 05, 30][7A 5C, 05, 30][0D 68, 05, 2E][7A 36, 05, 31]
+331B; [7A 16, 05, 30][7A 5C, 05, 30][0D 6F, 05, 2E][7A 36, 05, 31]
3096; [7A 18, 05, 03]
3051; [7A 18, 05, 85]
@@ -39689,7 +40505,7 @@ FF79; [7A 18, 05, A0]
32D8; [7A 18, 05, 28]
3052; [7A 18, 05, 85][, AE, 05]
30B2; [7A 18, 05, 98][, AE, 05]
-331C; [7A 18, 05, 30][0D 68, 05, 2E][7A 20, 05, 30]
+331C; [7A 18, 05, 30][0D 6F, 05, 2E][7A 20, 05, 30]
3053; [7A 1A, 05, 85]
30B3; [7A 1A, 05, 90]
@@ -39697,7 +40513,7 @@ FF7A; [7A 1A, 05, 98]
32D9; [7A 1A, 05, 20]
3054; [7A 1A, 05, 85][, AE, 05]
30B4; [7A 1A, 05, 90][, AE, 05]
-331E; [7A 1A, 05, 30][0D 68, 05, 2E][7A 42, 05, 30][, B0, 2E]
+331E; [7A 1A, 05, 30][0D 6F, 05, 2E][7A 42, 05, 30][, B0, 2E]
1F201; [7A 1A, 05, 30][7A 1A, 05, 30]
30FF; [7A 1A, 05, 28][7A 2E, 05, 2C]
331D; [7A 1A, 05, 30][7A 58, 05, 30][7A 30, 05, 31]
@@ -39710,7 +40526,7 @@ FF7B; [7A 1C, 05, 9B]
3056; [7A 1C, 05, 85][, AE, 05]
30B6; [7A 1C, 05, 90][, AE, 05]
331F; [7A 1C, 05, 31][7A 08, 05, 33][7A 16, 05, 30][7A 58, 05, 30]
-3320; [7A 1C, 05, 31][7A 66, 05, 2C][7A 28, 05, 31][0D 68, 05, 2E][7A 48, 05, 30]
+3320; [7A 1C, 05, 31][7A 66, 05, 31][7A 28, 05, 31][0D 6F, 05, 2E][7A 48, 05, 30]
3057; [7A 1E, 05, 85]
31F1; [7A 1E, 05, 10]
@@ -39720,7 +40536,7 @@ FF7C; [7A 1E, 05, A0]
3058; [7A 1E, 05, 85][, AE, 05]
30B8; [7A 1E, 05, 98][, AE, 05]
3006; [7A 1E, 05, 03][7A 4A, 05, 03]
-3321; [7A 1E, 05, 30][7A 56, 05, 33][7A 66, 05, 2C][7A 16, 05, 30][, AE, 2E]
+3321; [7A 1E, 05, 30][7A 56, 05, 33][7A 66, 05, 31][7A 16, 05, 30][, AE, 2E]
3059; [7A 20, 05, 85]
31F2; [7A 20, 05, 10]
@@ -39736,8 +40552,8 @@ FF7E; [7A 22, 05, 9B]
32DD; [7A 22, 05, 26]
305C; [7A 22, 05, 85][, AE, 05]
30BC; [7A 22, 05, 90][, AE, 05]
-3322; [7A 22, 05, 31][7A 66, 05, 2C][7A 28, 05, 31]
-3323; [7A 22, 05, 31][7A 66, 05, 2C][7A 2E, 05, 33]
+3322; [7A 22, 05, 31][7A 66, 05, 31][7A 28, 05, 31]
+3323; [7A 22, 05, 31][7A 66, 05, 31][7A 2E, 05, 33]
305D; [7A 24, 05, 85]
30BD; [7A 24, 05, 90]
@@ -39752,7 +40568,7 @@ FF80; [7A 26, 05, 9B]
32DF; [7A 26, 05, 26]
3060; [7A 26, 05, 85][, AE, 05]
30C0; [7A 26, 05, 90][, AE, 05]
-3324; [7A 26, 05, 31][, AE, 2E][0D 68, 05, 2E][7A 20, 05, 30]
+3324; [7A 26, 05, 31][, AE, 2E][0D 6F, 05, 2E][7A 20, 05, 30]
3061; [7A 28, 05, 85]
30C1; [7A 28, 05, 90]
@@ -39788,7 +40604,7 @@ FF84; [7A 2E, 05, 9E]
3069; [7A 2E, 05, 85][, AE, 05]
30C9; [7A 2E, 05, 97][, AE, 05]
3326; [7A 2E, 05, 33][, AE, 2E][7A 58, 05, 30]
-3327; [7A 2E, 05, 33][7A 66, 05, 2C]
+3327; [7A 2E, 05, 33][7A 66, 05, 31]
306A; [7A 30, 05, 85]
30CA; [7A 30, 05, 90]
@@ -39827,9 +40643,9 @@ FF8A; [7A 3A, 05, A0]
30D0; [7A 3A, 05, 98][, AE, 05]
3071; [7A 3A, 05, 85][, B0, 05]
30D1; [7A 3A, 05, 98][, B0, 05]
-332B; [7A 3A, 05, 30][, B0, 2E][0D 68, 05, 2E][7A 22, 05, 31][7A 66, 05, 2C][7A 2E, 05, 33]
-332C; [7A 3A, 05, 30][, B0, 2E][0D 68, 05, 2E][7A 2A, 05, 33]
-332D; [7A 3A, 05, 30][, AE, 2E][0D 68, 05, 2E][7A 5A, 05, 30][7A 58, 05, 30]
+332B; [7A 3A, 05, 30][, B0, 2E][0D 6F, 05, 2E][7A 22, 05, 31][7A 66, 05, 31][7A 2E, 05, 33]
+332C; [7A 3A, 05, 30][, B0, 2E][0D 6F, 05, 2E][7A 2A, 05, 33]
+332D; [7A 3A, 05, 30][, AE, 2E][0D 6F, 05, 2E][7A 5A, 05, 30][7A 58, 05, 30]
332A; [7A 3A, 05, 30][7A 08, 05, 33][7A 2A, 05, 33]
3072; [7A 3C, 05, 85]
@@ -39856,9 +40672,9 @@ FF8C; [7A 3E, 05, A0]
3077; [7A 3E, 05, 85][, B0, 05]
30D7; [7A 3E, 05, 98][, B0, 05]
3332; [7A 3E, 05, 30][7A 06, 05, 33][7A 54, 05, 30][7A 2A, 05, 33][7A 2E, 05, 33][, AE, 2E]
-3333; [7A 3E, 05, 30][7A 08, 05, 33][0D 68, 05, 2E][7A 2E, 05, 33]
+3333; [7A 3E, 05, 30][7A 08, 05, 33][0D 6F, 05, 2E][7A 2E, 05, 33]
3334; [7A 3E, 05, 30][, AE, 2E][7A 2A, 05, 33][7A 1E, 05, 30][7A 0E, 05, 33][7A 58, 05, 30]
-3335; [7A 3E, 05, 30][7A 54, 05, 30][7A 66, 05, 2C]
+3335; [7A 3E, 05, 30][7A 54, 05, 30][7A 66, 05, 31]
3078; [7A 40, 05, 85]
31F8; [7A 40, 05, 10]
@@ -39869,13 +40685,13 @@ FF8D; [7A 40, 05, A0]
30D9; [7A 40, 05, 98][, AE, 05]
307A; [7A 40, 05, 85][, B0, 05]
30DA; [7A 40, 05, 98][, B0, 05]
-333B; [7A 40, 05, 30][, B0, 2E][0D 68, 05, 2E][7A 1E, 05, 30][, AE, 2E]
-333C; [7A 40, 05, 30][, AE, 2E][0D 68, 05, 2E][7A 26, 05, 31]
-3336; [7A 40, 05, 30][7A 16, 05, 30][7A 26, 05, 31][0D 68, 05, 2E][7A 58, 05, 30]
+333B; [7A 40, 05, 30][, B0, 2E][0D 6F, 05, 2E][7A 1E, 05, 30][, AE, 2E]
+333C; [7A 40, 05, 30][, AE, 2E][0D 6F, 05, 2E][7A 26, 05, 31]
+3336; [7A 40, 05, 30][7A 16, 05, 30][7A 26, 05, 31][0D 6F, 05, 2E][7A 58, 05, 30]
3337; [7A 40, 05, 30][, B0, 2E][7A 24, 05, 31]
3338; [7A 40, 05, 30][, B0, 2E][7A 32, 05, 31][7A 3C, 05, 30]
3339; [7A 40, 05, 30][7A 58, 05, 30][7A 2A, 05, 33]
-333A; [7A 40, 05, 30][, B0, 2E][7A 66, 05, 2C][7A 20, 05, 30]
+333A; [7A 40, 05, 30][, B0, 2E][7A 66, 05, 31][7A 20, 05, 30]
307B; [7A 42, 05, 85]
31F9; [7A 42, 05, 10]
@@ -39886,13 +40702,13 @@ FF8E; [7A 42, 05, A0]
30DC; [7A 42, 05, 98][, AE, 05]
307D; [7A 42, 05, 85][, B0, 05]
30DD; [7A 42, 05, 98][, B0, 05]
-3341; [7A 42, 05, 30][0D 68, 05, 2E][7A 58, 05, 30]
-3342; [7A 42, 05, 30][0D 68, 05, 2E][7A 66, 05, 2C]
-333D; [7A 42, 05, 30][, B0, 2E][7A 08, 05, 33][7A 66, 05, 2C][7A 2E, 05, 33]
+3341; [7A 42, 05, 30][0D 6F, 05, 2E][7A 58, 05, 30]
+3342; [7A 42, 05, 30][0D 6F, 05, 2E][7A 66, 05, 31]
+333D; [7A 42, 05, 30][, B0, 2E][7A 08, 05, 33][7A 66, 05, 31][7A 2E, 05, 33]
1F200; [7A 42, 05, 30][7A 12, 05, 30]
333E; [7A 42, 05, 30][, AE, 2E][7A 58, 05, 30][7A 2E, 05, 33]
-333F; [7A 42, 05, 30][7A 66, 05, 2C]
-3340; [7A 42, 05, 30][, B0, 2E][7A 66, 05, 2C][7A 2E, 05, 33][, AE, 2E]
+333F; [7A 42, 05, 30][7A 66, 05, 31]
+3340; [7A 42, 05, 30][, B0, 2E][7A 66, 05, 31][7A 2E, 05, 33][, AE, 2E]
307E; [7A 44, 05, 85]
30DE; [7A 44, 05, 90]
@@ -39903,15 +40719,15 @@ FF8F; [7A 44, 05, 9B]
303C; [7A 44, 05, 03][7A 20, 05, 03]
3345; [7A 44, 05, 31][7A 2A, 05, 33][7A 3A, 05, 30]
3346; [7A 44, 05, 31][7A 58, 05, 30][7A 16, 05, 30]
-3347; [7A 44, 05, 31][7A 66, 05, 2C][7A 1E, 05, 30][7A 52, 05, 34][7A 66, 05, 2C]
+3347; [7A 44, 05, 31][7A 66, 05, 31][7A 1E, 05, 30][7A 52, 05, 34][7A 66, 05, 31]
307F; [7A 46, 05, 85]
30DF; [7A 46, 05, 90]
FF90; [7A 46, 05, 9B]
32EF; [7A 46, 05, 26]
-3348; [7A 46, 05, 31][7A 16, 05, 30][7A 5C, 05, 30][7A 66, 05, 2C]
+3348; [7A 46, 05, 31][7A 16, 05, 30][7A 5C, 05, 30][7A 66, 05, 31]
3349; [7A 46, 05, 31][7A 56, 05, 33]
-334A; [7A 46, 05, 31][7A 56, 05, 33][7A 3A, 05, 30][, AE, 2E][0D 68, 05, 2E][7A 58, 05, 30]
+334A; [7A 46, 05, 31][7A 56, 05, 33][7A 3A, 05, 30][, AE, 2E][0D 6F, 05, 2E][7A 58, 05, 30]
3080; [7A 48, 05, 85]
31FA; [7A 48, 05, 10]
@@ -39923,9 +40739,9 @@ FF91; [7A 48, 05, A0]
30E1; [7A 4A, 05, 90]
FF92; [7A 4A, 05, 9B]
32F1; [7A 4A, 05, 26]
-334D; [7A 4A, 05, 31][0D 68, 05, 2E][7A 2E, 05, 33][7A 58, 05, 30]
+334D; [7A 4A, 05, 31][0D 6F, 05, 2E][7A 2E, 05, 33][7A 58, 05, 30]
334B; [7A 4A, 05, 31][7A 12, 05, 30][, AE, 2E]
-334C; [7A 4A, 05, 31][7A 12, 05, 30][, AE, 2E][7A 2E, 05, 33][7A 66, 05, 2C]
+334C; [7A 4A, 05, 31][7A 12, 05, 30][, AE, 2E][7A 2E, 05, 33][7A 66, 05, 31]
3082; [7A 4C, 05, 85]
30E2; [7A 4C, 05, 90]
@@ -39939,8 +40755,8 @@ FF6C; [7A 4E, 05, 17]
30E4; [7A 4E, 05, 9E]
FF94; [7A 4E, 05, A5]
32F3; [7A 4E, 05, 2C]
-334E; [7A 4E, 05, 33][0D 68, 05, 2E][7A 2E, 05, 33][, AE, 2E]
-334F; [7A 4E, 05, 33][0D 68, 05, 2E][7A 58, 05, 30]
+334E; [7A 4E, 05, 33][0D 6F, 05, 2E][7A 2E, 05, 33][, AE, 2E]
+334F; [7A 4E, 05, 33][0D 6F, 05, 2E][7A 58, 05, 30]
3085; [7A 50, 05, 03]
3086; [7A 50, 05, 85]
@@ -39949,7 +40765,7 @@ FF6D; [7A 50, 05, 17]
30E6; [7A 50, 05, 9E]
FF95; [7A 50, 05, A5]
32F4; [7A 50, 05, 2C]
-3350; [7A 50, 05, 33][7A 06, 05, 33][7A 66, 05, 2C]
+3350; [7A 50, 05, 33][7A 06, 05, 33][7A 66, 05, 31]
3087; [7A 52, 05, 03]
3088; [7A 52, 05, 85]
@@ -39979,8 +40795,8 @@ FF98; [7A 56, 05, 9E]
30EB; [7A 58, 05, 98]
FF99; [7A 58, 05, A0]
32F8; [7A 58, 05, 28]
-3354; [7A 58, 05, 30][0D 68, 05, 2E][7A 3E, 05, 30][, AE, 2E][7A 58, 05, 30]
-3353; [7A 58, 05, 30][7A 3C, 05, 30][, B0, 2E][0D 68, 05, 2E]
+3354; [7A 58, 05, 30][0D 6F, 05, 2E][7A 3E, 05, 30][, AE, 2E][7A 58, 05, 30]
+3353; [7A 58, 05, 30][7A 3C, 05, 30][, B0, 2E][0D 6F, 05, 2E]
308C; [7A 5A, 05, 85]
31FE; [7A 5A, 05, 10]
@@ -39988,7 +40804,7 @@ FF99; [7A 58, 05, A0]
FF9A; [7A 5A, 05, A0]
32F9; [7A 5A, 05, 28]
3355; [7A 5A, 05, 30][7A 48, 05, 30]
-3356; [7A 5A, 05, 30][7A 66, 05, 2C][7A 2E, 05, 33][7A 18, 05, 30][, AE, 2E][7A 66, 05, 2C]
+3356; [7A 5A, 05, 30][7A 66, 05, 31][7A 2E, 05, 33][7A 18, 05, 30][, AE, 2E][7A 66, 05, 31]
308D; [7A 5C, 05, 85]
31FF; [7A 5C, 05, 10]
@@ -40005,25 +40821,32 @@ FF9C; [7A 5E, 05, A0]
30F7; [7A 5E, 05, 98][, AE, 05]
3357; [7A 5E, 05, 30][7A 2A, 05, 33][7A 2E, 05, 33]
+1B150; [7A 60, 05, 03]
3090; [7A 60, 05, 85]
-30F0; [7A 60, 05, A0]
-32FC; [7A 60, 05, 2E]
-30F8; [7A 60, 05, A0][, AE, 05]
+1B164; [7A 60, 05, 10]
+30F0; [7A 60, 05, 9E]
+32FC; [7A 60, 05, 2C]
+30F8; [7A 60, 05, 9E][, AE, 05]
+1B151; [7A 62, 05, 03]
3091; [7A 62, 05, 85]
-30F1; [7A 62, 05, A0]
-32FD; [7A 62, 05, 2E]
-30F9; [7A 62, 05, A0][, AE, 05]
+1B165; [7A 62, 05, 10]
+30F1; [7A 62, 05, 9E]
+32FD; [7A 62, 05, 2C]
+30F9; [7A 62, 05, 9E][, AE, 05]
+1B152; [7A 64, 05, 03]
3092; [7A 64, 05, 85]
-30F2; [7A 64, 05, 90]
-FF66; [7A 64, 05, 9E]
-32FE; [7A 64, 05, 2C]
-30FA; [7A 64, 05, 90][, AE, 05]
+1B166; [7A 64, 05, 10]
+30F2; [7A 64, 05, 9B]
+FF66; [7A 64, 05, A6]
+32FE; [7A 64, 05, 31]
+30FA; [7A 64, 05, 9B][, AE, 05]
3093; [7A 66, 05, 85]
-30F3; [7A 66, 05, 90]
-FF9D; [7A 66, 05, 9E]
+1B167; [7A 66, 05, 10]
+30F3; [7A 66, 05, 9B]
+FF9D; [7A 66, 05, A6]
1B002; [7A 68 02, 05, 05]
@@ -43157,6 +43980,8 @@ FDD1 16F00; [7B 91 02, 05, 05] # Miao first primary (compressible)
16F03; [7B 91 1E, 05, 05]
+16F45; [7B 91 25, 05, 05]
+
16F04; [7B 93, 05, 05]
16F06; [7B 93, 05, 20]
@@ -43176,9 +44001,13 @@ FDD1 16F00; [7B 91 02, 05, 05] # Miao first primary (compressible)
16F0D; [7B 95 33, 05, 05]
-16F0E; [7B 95 3A, 05, 05]
+16F48; [7B 95 3A, 05, 05]
-16F0F; [7B 95 41, 05, 05]
+16F0E; [7B 95 41, 05, 05]
+
+16F0F; [7B 95 48, 05, 05]
+
+16F4A; [7B 95 4F, 05, 05]
16F10; [7B 97, 05, 05]
16F13; [7B 97, 05, 20]
@@ -43248,25 +44077,31 @@ FDD1 16F00; [7B 91 02, 05, 05] # Miao first primary (compressible)
16F32; [7B 9D 5D, 05, 05]
-16F33; [7B 9D 64, 05, 05]
+16F47; [7B 9D 64, 05, 05]
+
+16F33; [7B 9D 6B, 05, 05]
+
+16F46; [7B 9D 72, 05, 05]
-16F34; [7B 9D 6B, 05, 05]
+16F34; [7B 9D 79, 05, 05]
-16F35; [7B 9D 72, 05, 05]
+16F35; [7B 9D 80, 05, 05]
-16F36; [7B 9D 79, 05, 05]
+16F36; [7B 9D 87, 05, 05]
-16F37; [7B 9D 80, 05, 05]
+16F37; [7B 9D 8E, 05, 05]
-16F38; [7B 9D 87, 05, 05]
+16F38; [7B 9D 95, 05, 05]
-16F39; [7B 9D 8E, 05, 05]
+16F39; [7B 9D 9C, 05, 05]
-16F3A; [7B 9D 95, 05, 05]
+16F49; [7B 9D A3, 05, 05]
-16F3B; [7B 9D 9C, 05, 05]
+16F3A; [7B 9D AA, 05, 05]
-16F3C; [7B 9D A3, 05, 05]
+16F3B; [7B 9D B1, 05, 05]
+
+16F3C; [7B 9D B8, 05, 05]
16F3D; [7B 9F, 05, 05]
16F3F; [7B 9F, 05, 20]
@@ -43291,865 +44126,1079 @@ FDD1 16F00; [7B 91 02, 05, 05] # Miao first primary (compressible)
16F53; [7B A1 41, 05, 05]
-16F54; [7B A1 48, 05, 05]
+16F4F; [7B A1 48, 05, 05]
+
+16F54; [7B A1 4F, 05, 05]
+
+16F55; [7B A1 56, 05, 05]
+
+16F56; [7B A1 5D, 05, 05]
+
+16F57; [7B A1 64, 05, 05]
+
+16F58; [7B A1 6B, 05, 05]
+
+16F81; [7B A1 72, 05, 05]
+
+16F59; [7B A1 79, 05, 05]
+
+16F5A; [7B A1 80, 05, 05]
+
+16F5B; [7B A1 87, 05, 05]
+
+16F5C; [7B A1 8E, 05, 05]
+
+16F83; [7B A1 95, 05, 05]
+
+16F5D; [7B A1 9C, 05, 05]
+
+16F5E; [7B A1 A3, 05, 05]
+
+16F5F; [7B A1 AA, 05, 05]
+
+16F60; [7B A1 B1, 05, 05]
+
+16F84; [7B A1 B8, 05, 05]
-16F55; [7B A1 4F, 05, 05]
+16F61; [7B A1 BF, 05, 05]
-16F56; [7B A1 56, 05, 05]
+16F62; [7B A1 C6, 05, 05]
-16F57; [7B A1 5D, 05, 05]
+16F63; [7B A1 CD, 05, 05]
-16F58; [7B A1 64, 05, 05]
+16F64; [7B A1 D4, 05, 05]
-16F59; [7B A1 6B, 05, 05]
+16F65; [7B A1 DB, 05, 05]
-16F5A; [7B A1 72, 05, 05]
+16F86; [7B A1 E2, 05, 05]
-16F5B; [7B A1 79, 05, 05]
+16F66; [7B A1 E9, 05, 05]
-16F5C; [7B A1 80, 05, 05]
+16F67; [7B A1 F0, 05, 05]
-16F5D; [7B A1 87, 05, 05]
+16F68; [7B A1 F7, 05, 05]
-16F5E; [7B A1 8E, 05, 05]
+16F69; [7B A1 FE, 05, 05]
-16F5F; [7B A1 95, 05, 05]
+16F6A; [7B A2 07, 05, 05]
-16F60; [7B A1 9C, 05, 05]
+16F6B; [7B A2 0E, 05, 05]
-16F61; [7B A1 A3, 05, 05]
+16F6C; [7B A2 15, 05, 05]
-16F62; [7B A1 AA, 05, 05]
+16F6D; [7B A2 1C, 05, 05]
-16F63; [7B A1 B1, 05, 05]
+16F7F; [7B A2 23, 05, 05]
-16F64; [7B A1 B8, 05, 05]
+16F87; [7B A2 2A, 05, 05]
-16F65; [7B A1 BF, 05, 05]
+16F6E; [7B A2 31, 05, 05]
-16F66; [7B A1 C6, 05, 05]
+16F6F; [7B A2 38, 05, 05]
-16F67; [7B A1 CD, 05, 05]
+16F70; [7B A2 3F, 05, 05]
-16F68; [7B A1 D4, 05, 05]
+16F71; [7B A2 46, 05, 05]
-16F69; [7B A1 DB, 05, 05]
+16F72; [7B A2 4D, 05, 05]
-16F6A; [7B A1 E2, 05, 05]
+16F80; [7B A2 54, 05, 05]
-16F6B; [7B A1 E9, 05, 05]
+16F73; [7B A2 5B, 05, 05]
-16F6C; [7B A1 F0, 05, 05]
+16F74; [7B A2 62, 05, 05]
-16F6D; [7B A1 F7, 05, 05]
+16F85; [7B A2 69, 05, 05]
-16F6E; [7B A1 FE, 05, 05]
+16F82; [7B A2 70, 05, 05]
-16F6F; [7B A2 07, 05, 05]
+16F75; [7B A2 77, 05, 05]
-16F70; [7B A2 0E, 05, 05]
+16F76; [7B A2 7E, 05, 05]
-16F71; [7B A2 15, 05, 05]
+16F77; [7B A2 85, 05, 05]
-16F72; [7B A2 1C, 05, 05]
+16F78; [7B A2 8C, 05, 05]
-16F73; [7B A2 23, 05, 05]
+16F79; [7B A2 93, 05, 05]
-16F74; [7B A2 2A, 05, 05]
+16F7A; [7B A2 9A, 05, 05]
-16F75; [7B A2 31, 05, 05]
+16F7B; [7B A2 A1, 05, 05]
-16F76; [7B A2 38, 05, 05]
+16F7C; [7B A2 A8, 05, 05]
-16F77; [7B A2 3F, 05, 05]
+16F7D; [7B A2 AF, 05, 05]
-16F78; [7B A2 46, 05, 05]
+16F7E; [7B A2 B6, 05, 05]
-16F79; [7B A2 4D, 05, 05]
+16F8F; [7B A2 BD, 05, 05]
-16F7A; [7B A2 54, 05, 05]
+16F90; [7B A2 C4, 05, 05]
-16F7B; [7B A2 5B, 05, 05]
+16F91; [7B A2 CB, 05, 05]
-16F7C; [7B A2 62, 05, 05]
+16F92; [7B A2 D2, 05, 05]
-16F7D; [7B A2 69, 05, 05]
+16F93; [7B A2 D9, 05, 05]
-16F7E; [7B A2 70, 05, 05]
+16F94; [7B A2 E0, 05, 05]
-16F8F; [7B A2 77, 05, 05]
+16F95; [7B A2 E7, 05, 05]
-16F90; [7B A2 7E, 05, 05]
+16F96; [7B A2 EE, 05, 05]
-16F91; [7B A2 85, 05, 05]
+16F97; [7B A2 F5, 05, 05]
-16F92; [7B A2 8C, 05, 05]
+16F98; [7B A2 FC, 05, 05]
-16F93; [7B A2 93, 05, 05]
+16F99; [7B A3 05, 05, 05]
-16F94; [7B A2 9A, 05, 05]
+16F9A; [7B A3 0C, 05, 05]
-16F95; [7B A2 A1, 05, 05]
+16F9B; [7B A3 13, 05, 05]
-16F96; [7B A2 A8, 05, 05]
+16F9C; [7B A3 1A, 05, 05]
-16F97; [7B A2 AF, 05, 05]
+16F9D; [7B A3 21, 05, 05]
-16F98; [7B A2 B6, 05, 05]
+16F9E; [7B A3 28, 05, 05]
-16F99; [7B A2 BD, 05, 05]
+16F9F; [7B A3 2F, 05, 05]
-16F9A; [7B A2 C4, 05, 05]
+FDD1 118B4; [7B A4 02, 05, 05] # Warang_Citi first primary (compressible)
-16F9B; [7B A2 CB, 05, 05]
+118FF; [7B A4 09, 05, 05]
-16F9C; [7B A2 D2, 05, 05]
+118C0; [7B A6, 05, 05]
+118A0; [7B A6, 05, A0]
-16F9D; [7B A2 D9, 05, 05]
+118C1; [7B A8, 05, 05]
+118A1; [7B A8, 05, A0]
-16F9E; [7B A2 E0, 05, 05]
+118C2; [7B AA, 05, 05]
+118A2; [7B AA, 05, A0]
-16F9F; [7B A2 E7, 05, 05]
+118C3; [7B AC, 05, 05]
+118A3; [7B AC, 05, A0]
-FDD1 118B4; [7B A3 02, 05, 05] # Warang_Citi first primary (compressible)
+118C4; [7B AE, 05, 05]
+118A4; [7B AE, 05, A0]
-118FF; [7B A3 09, 05, 05]
+118C5; [7B B0, 05, 05]
+118A5; [7B B0, 05, A0]
-118C0; [7B A5, 05, 05]
-118A0; [7B A5, 05, A0]
+118C6; [7B B2, 05, 05]
+118A6; [7B B2, 05, A0]
-118C1; [7B A7, 05, 05]
-118A1; [7B A7, 05, A0]
+118C7; [7B B4, 05, 05]
+118A7; [7B B4, 05, A0]
-118C2; [7B A9, 05, 05]
-118A2; [7B A9, 05, A0]
+118C8; [7B B6, 05, 05]
+118A8; [7B B6, 05, A0]
-118C3; [7B AB, 05, 05]
-118A3; [7B AB, 05, A0]
+118C9; [7B B8, 05, 05]
+118A9; [7B B8, 05, A0]
-118C4; [7B AD, 05, 05]
-118A4; [7B AD, 05, A0]
+118CA; [7B BA, 05, 05]
+118AA; [7B BA, 05, A0]
-118C5; [7B AF, 05, 05]
-118A5; [7B AF, 05, A0]
+118CB; [7B BC, 05, 05]
+118AB; [7B BC, 05, A0]
-118C6; [7B B1, 05, 05]
-118A6; [7B B1, 05, A0]
+118CC; [7B BE, 05, 05]
+118AC; [7B BE, 05, A0]
-118C7; [7B B3, 05, 05]
-118A7; [7B B3, 05, A0]
+118CD; [7B C0, 05, 05]
+118AD; [7B C0, 05, A0]
-118C8; [7B B5, 05, 05]
-118A8; [7B B5, 05, A0]
+118CE; [7B C2, 05, 05]
+118AE; [7B C2, 05, A0]
-118C9; [7B B7, 05, 05]
-118A9; [7B B7, 05, A0]
+118CF; [7B C4, 05, 05]
+118AF; [7B C4, 05, A0]
-118CA; [7B B9, 05, 05]
-118AA; [7B B9, 05, A0]
+118D0; [7B C6, 05, 05]
+118B0; [7B C6, 05, A0]
-118CB; [7B BB, 05, 05]
-118AB; [7B BB, 05, A0]
+118D1; [7B C8, 05, 05]
+118B1; [7B C8, 05, A0]
-118CC; [7B BD, 05, 05]
-118AC; [7B BD, 05, A0]
+118D2; [7B CA, 05, 05]
+118B2; [7B CA, 05, A0]
-118CD; [7B BF, 05, 05]
-118AD; [7B BF, 05, A0]
+118D3; [7B CC, 05, 05]
+118B3; [7B CC, 05, A0]
-118CE; [7B C1, 05, 05]
-118AE; [7B C1, 05, A0]
+118D4; [7B CE, 05, 05]
+118B4; [7B CE, 05, A0]
-118CF; [7B C3, 05, 05]
-118AF; [7B C3, 05, A0]
+118D5; [7B D0, 05, 05]
+118B5; [7B D0, 05, A0]
-118D0; [7B C5, 05, 05]
-118B0; [7B C5, 05, A0]
+118D6; [7B D2, 05, 05]
+118B6; [7B D2, 05, A0]
-118D1; [7B C7, 05, 05]
-118B1; [7B C7, 05, A0]
+118D7; [7B D4, 05, 05]
+118B7; [7B D4, 05, A0]
-118D2; [7B C9, 05, 05]
-118B2; [7B C9, 05, A0]
+118D8; [7B D6, 05, 05]
+118B8; [7B D6, 05, A0]
-118D3; [7B CB, 05, 05]
-118B3; [7B CB, 05, A0]
+118D9; [7B D8, 05, 05]
+118B9; [7B D8, 05, A0]
-118D4; [7B CD, 05, 05]
-118B4; [7B CD, 05, A0]
+118DA; [7B DA, 05, 05]
+118BA; [7B DA, 05, A0]
-118D5; [7B CF, 05, 05]
-118B5; [7B CF, 05, A0]
+118DB; [7B DC, 05, 05]
+118BB; [7B DC, 05, A0]
-118D6; [7B D1, 05, 05]
-118B6; [7B D1, 05, A0]
+118DC; [7B DE, 05, 05]
+118BC; [7B DE, 05, A0]
-118D7; [7B D3, 05, 05]
-118B7; [7B D3, 05, A0]
+118DD; [7B E0, 05, 05]
+118BD; [7B E0, 05, A0]
-118D8; [7B D5, 05, 05]
-118B8; [7B D5, 05, A0]
+118DE; [7B E2, 05, 05]
+118BE; [7B E2, 05, A0]
-118D9; [7B D7, 05, 05]
-118B9; [7B D7, 05, A0]
+118DF; [7B E4, 05, 05]
+118BF; [7B E4, 05, A0]
-118DA; [7B D9, 05, 05]
-118BA; [7B D9, 05, A0]
+FDD1 11AC0; [7B E6 02, 05, 05] # Pau_Cin_Hau first primary (compressible)
-118DB; [7B DB, 05, 05]
-118BB; [7B DB, 05, A0]
+11AD5; [7B E6 09, 05, 05]
-118DC; [7B DD, 05, 05]
-118BC; [7B DD, 05, A0]
+11AD6; [7B E6 10, 05, 05]
-118DD; [7B DF, 05, 05]
-118BD; [7B DF, 05, A0]
+11AD7; [7B E6 17, 05, 05]
-118DE; [7B E1, 05, 05]
-118BE; [7B E1, 05, A0]
+11AD8; [7B E6 1E, 05, 05]
-118DF; [7B E3, 05, 05]
-118BF; [7B E3, 05, A0]
+11AD9; [7B E6 25, 05, 05]
-FDD1 11AC0; [7B E5 02, 05, 05] # Pau_Cin_Hau first primary (compressible)
+11ADA; [7B E6 2C, 05, 05]
-11AD5; [7B E5 09, 05, 05]
+11ADB; [7B E6 33, 05, 05]
-11AD6; [7B E5 10, 05, 05]
+11AC0; [7B E6 3A, 05, 05]
-11AD7; [7B E5 17, 05, 05]
+11AC1; [7B E6 41, 05, 05]
-11AD8; [7B E5 1E, 05, 05]
+11AC2; [7B E6 48, 05, 05]
-11AD9; [7B E5 25, 05, 05]
+11AC3; [7B E6 4F, 05, 05]
-11ADA; [7B E5 2C, 05, 05]
+11AC4; [7B E6 56, 05, 05]
-11ADB; [7B E5 33, 05, 05]
+11AC5; [7B E6 5D, 05, 05]
-11AC0; [7B E5 3A, 05, 05]
+11AC6; [7B E6 64, 05, 05]
-11AC1; [7B E5 41, 05, 05]
+11AC7; [7B E6 6B, 05, 05]
-11AC2; [7B E5 48, 05, 05]
+11AC8; [7B E6 72, 05, 05]
-11AC3; [7B E5 4F, 05, 05]
+11AC9; [7B E6 79, 05, 05]
-11AC4; [7B E5 56, 05, 05]
+11ACA; [7B E6 80, 05, 05]
-11AC5; [7B E5 5D, 05, 05]
+11ACB; [7B E6 87, 05, 05]
-11AC6; [7B E5 64, 05, 05]
+11ACC; [7B E6 8E, 05, 05]
-11AC7; [7B E5 6B, 05, 05]
+11ACD; [7B E6 95, 05, 05]
-11AC8; [7B E5 72, 05, 05]
+11ACE; [7B E6 9C, 05, 05]
-11AC9; [7B E5 79, 05, 05]
+11ACF; [7B E6 A3, 05, 05]
-11ACA; [7B E5 80, 05, 05]
+11AD0; [7B E6 AA, 05, 05]
-11ACB; [7B E5 87, 05, 05]
+11AD1; [7B E6 B1, 05, 05]
-11ACC; [7B E5 8E, 05, 05]
+11AD2; [7B E6 B8, 05, 05]
-11ACD; [7B E5 95, 05, 05]
+11AD3; [7B E6 BF, 05, 05]
-11ACE; [7B E5 9C, 05, 05]
+11AD4; [7B E6 C6, 05, 05]
-11ACF; [7B E5 A3, 05, 05]
+11ADC; [7B E6 CD, 05, 05]
-11AD0; [7B E5 AA, 05, 05]
+11ADD; [7B E6 D4, 05, 05]
-11AD1; [7B E5 B1, 05, 05]
+11ADF; [7B E6 DB, 05, 05]
-11AD2; [7B E5 B8, 05, 05]
+11AE0; [7B E6 E2, 05, 05]
-11AD3; [7B E5 BF, 05, 05]
+11AE1; [7B E6 E9, 05, 05]
-11AD4; [7B E5 C6, 05, 05]
+11AE2; [7B E6 F0, 05, 05]
-11ADC; [7B E5 CD, 05, 05]
+11AE3; [7B E6 F7, 05, 05]
-11ADD; [7B E5 D4, 05, 05]
+11ADE; [7B E6 FE, 05, 05]
-11ADF; [7B E5 DB, 05, 05]
+11AE4; [7B E7 07, 05, 05]
-11AE0; [7B E5 E2, 05, 05]
+11AEF; [7B E7 0E, 05, 05]
-11AE1; [7B E5 E9, 05, 05]
+11AF2; [7B E7 15, 05, 05]
-11AE2; [7B E5 F0, 05, 05]
+11AF1; [7B E7 1C, 05, 05]
-11AE3; [7B E5 F7, 05, 05]
+11AE6; [7B E7 23, 05, 05]
-11ADE; [7B E5 FE, 05, 05]
+11AE9; [7B E7 2A, 05, 05]
-11AE4; [7B E6 07, 05, 05]
+11AE5; [7B E7 31, 05, 05]
-11AEF; [7B E6 0E, 05, 05]
+11AE8; [7B E7 38, 05, 05]
-11AF2; [7B E6 15, 05, 05]
+11AF4; [7B E7 3F, 05, 05]
-11AF1; [7B E6 1C, 05, 05]
+11AF7; [7B E7 46, 05, 05]
-11AE6; [7B E6 23, 05, 05]
+11AF3; [7B E7 4D, 05, 05]
-11AE9; [7B E6 2A, 05, 05]
+11AF6; [7B E7 54, 05, 05]
-11AE5; [7B E6 31, 05, 05]
+11AEC; [7B E7 5B, 05, 05]
-11AE8; [7B E6 38, 05, 05]
+11AEE; [7B E7 62, 05, 05]
-11AF4; [7B E6 3F, 05, 05]
+11AEB; [7B E7 69, 05, 05]
-11AF7; [7B E6 46, 05, 05]
+11AED; [7B E7 70, 05, 05]
-11AF3; [7B E6 4D, 05, 05]
+11AF5; [7B E7 77, 05, 05]
-11AF6; [7B E6 54, 05, 05]
+11AF8; [7B E7 7E, 05, 05]
-11AEC; [7B E6 5B, 05, 05]
+11AE7; [7B E7 85, 05, 05]
-11AEE; [7B E6 62, 05, 05]
+11AEA; [7B E7 8C, 05, 05]
-11AEB; [7B E6 69, 05, 05]
+11AF0; [7B E7 93, 05, 05]
-11AED; [7B E6 70, 05, 05]
+FDD1 16B1C; [7B E8 02, 05, 05] # Pahawh_Hmong first primary (compressible)
-11AF5; [7B E6 77, 05, 05]
+16B00; [7B E8 09, 05, 05]
-11AF8; [7B E6 7E, 05, 05]
+16B01; [7B E8 10, 05, 05]
-11AE7; [7B E6 85, 05, 05]
+16B02; [7B E8 17, 05, 05]
-11AEA; [7B E6 8C, 05, 05]
+16B03; [7B E8 1E, 05, 05]
-11AF0; [7B E6 93, 05, 05]
+16B04; [7B E8 25, 05, 05]
-FDD1 16B1C; [7B E7 02, 05, 05] # Pahawh_Hmong first primary (compressible)
+16B05; [7B E8 2C, 05, 05]
-16B00; [7B E7 09, 05, 05]
+16B06; [7B E8 33, 05, 05]
-16B01; [7B E7 10, 05, 05]
+16B07; [7B E8 3A, 05, 05]
-16B02; [7B E7 17, 05, 05]
+16B08; [7B E8 41, 05, 05]
-16B03; [7B E7 1E, 05, 05]
+16B09; [7B E8 48, 05, 05]
-16B04; [7B E7 25, 05, 05]
+16B0A; [7B E8 4F, 05, 05]
-16B05; [7B E7 2C, 05, 05]
+16B0B; [7B E8 56, 05, 05]
-16B06; [7B E7 33, 05, 05]
+16B0C; [7B E8 5D, 05, 05]
-16B07; [7B E7 3A, 05, 05]
+16B0D; [7B E8 64, 05, 05]
-16B08; [7B E7 41, 05, 05]
+16B0E; [7B E8 6B, 05, 05]
-16B09; [7B E7 48, 05, 05]
+16B0F; [7B E8 72, 05, 05]
-16B0A; [7B E7 4F, 05, 05]
+16B10; [7B E8 79, 05, 05]
-16B0B; [7B E7 56, 05, 05]
+16B11; [7B E8 80, 05, 05]
-16B0C; [7B E7 5D, 05, 05]
+16B12; [7B E8 87, 05, 05]
-16B0D; [7B E7 64, 05, 05]
+16B13; [7B E8 8E, 05, 05]
-16B0E; [7B E7 6B, 05, 05]
+16B14; [7B E8 95, 05, 05]
-16B0F; [7B E7 72, 05, 05]
+16B15; [7B E8 9C, 05, 05]
-16B10; [7B E7 79, 05, 05]
+16B16; [7B E8 A3, 05, 05]
-16B11; [7B E7 80, 05, 05]
+16B17; [7B E8 AA, 05, 05]
-16B12; [7B E7 87, 05, 05]
+16B18; [7B E8 B1, 05, 05]
-16B13; [7B E7 8E, 05, 05]
+16B19; [7B E8 B8, 05, 05]
-16B14; [7B E7 95, 05, 05]
+16B1A; [7B E8 BF, 05, 05]
-16B15; [7B E7 9C, 05, 05]
+16B1B; [7B E8 C6, 05, 05]
-16B16; [7B E7 A3, 05, 05]
+16B1C; [7B E8 CD, 05, 05]
-16B17; [7B E7 AA, 05, 05]
+16B1D; [7B E8 D4, 05, 05]
-16B18; [7B E7 B1, 05, 05]
+16B1E; [7B E8 DB, 05, 05]
-16B19; [7B E7 B8, 05, 05]
+16B1F; [7B E8 E2, 05, 05]
-16B1A; [7B E7 BF, 05, 05]
+16B20; [7B E8 E9, 05, 05]
-16B1B; [7B E7 C6, 05, 05]
+16B21; [7B E8 F0, 05, 05]
-16B1C; [7B E7 CD, 05, 05]
+16B22; [7B E8 F7, 05, 05]
-16B1D; [7B E7 D4, 05, 05]
+16B23; [7B E8 FE, 05, 05]
-16B1E; [7B E7 DB, 05, 05]
+16B24; [7B E9 07, 05, 05]
-16B1F; [7B E7 E2, 05, 05]
+16B25; [7B E9 0E, 05, 05]
-16B20; [7B E7 E9, 05, 05]
+16B26; [7B E9 15, 05, 05]
-16B21; [7B E7 F0, 05, 05]
+16B27; [7B E9 1C, 05, 05]
-16B22; [7B E7 F7, 05, 05]
+16B28; [7B E9 23, 05, 05]
-16B23; [7B E7 FE, 05, 05]
+16B29; [7B E9 2A, 05, 05]
-16B24; [7B E8 07, 05, 05]
+16B2A; [7B E9 31, 05, 05]
-16B25; [7B E8 0E, 05, 05]
+16B2B; [7B E9 38, 05, 05]
-16B26; [7B E8 15, 05, 05]
+16B2C; [7B E9 3F, 05, 05]
-16B27; [7B E8 1C, 05, 05]
+16B2D; [7B E9 46, 05, 05]
-16B28; [7B E8 23, 05, 05]
+16B2E; [7B E9 4D, 05, 05]
-16B29; [7B E8 2A, 05, 05]
+16B2F; [7B E9 54, 05, 05]
-16B2A; [7B E8 31, 05, 05]
+16B40; [7B E9 5B, 05, 05]
-16B2B; [7B E8 38, 05, 05]
+16B41; [7B E9 62, 05, 05]
-16B2C; [7B E8 3F, 05, 05]
+16B63; [7B E9 69, 05, 05]
-16B2D; [7B E8 46, 05, 05]
+16B64; [7B E9 70, 05, 05]
-16B2E; [7B E8 4D, 05, 05]
+16B65; [7B E9 77, 05, 05]
-16B2F; [7B E8 54, 05, 05]
+16B66; [7B E9 7E, 05, 05]
-16B40; [7B E8 5B, 05, 05]
+16B67; [7B E9 85, 05, 05]
-16B41; [7B E8 62, 05, 05]
+16B68; [7B E9 8C, 05, 05]
-16B63; [7B E8 69, 05, 05]
+16B69; [7B E9 93, 05, 05]
-16B64; [7B E8 70, 05, 05]
+16B6A; [7B E9 9A, 05, 05]
-16B65; [7B E8 77, 05, 05]
+16B6B; [7B E9 A1, 05, 05]
-16B66; [7B E8 7E, 05, 05]
+16B6C; [7B E9 A8, 05, 05]
-16B67; [7B E8 85, 05, 05]
+16B6D; [7B E9 AF, 05, 05]
-16B68; [7B E8 8C, 05, 05]
+16B6E; [7B E9 B6, 05, 05]
-16B69; [7B E8 93, 05, 05]
+16B6F; [7B E9 BD, 05, 05]
-16B6A; [7B E8 9A, 05, 05]
+16B70; [7B E9 C4, 05, 05]
-16B6B; [7B E8 A1, 05, 05]
+16B71; [7B E9 CB, 05, 05]
-16B6C; [7B E8 A8, 05, 05]
+16B72; [7B E9 D2, 05, 05]
-16B6D; [7B E8 AF, 05, 05]
+16B73; [7B E9 D9, 05, 05]
-16B6E; [7B E8 B6, 05, 05]
+16B74; [7B E9 E0, 05, 05]
-16B6F; [7B E8 BD, 05, 05]
+16B75; [7B E9 E7, 05, 05]
-16B70; [7B E8 C4, 05, 05]
+16B76; [7B E9 EE, 05, 05]
-16B71; [7B E8 CB, 05, 05]
+16B77; [7B E9 F5, 05, 05]
-16B72; [7B E8 D2, 05, 05]
+16B7D; [7B E9 FC, 05, 05]
-16B73; [7B E8 D9, 05, 05]
+16B7E; [7B EA 05, 05, 05]
-16B74; [7B E8 E0, 05, 05]
+16B7F; [7B EA 0C, 05, 05]
-16B75; [7B E8 E7, 05, 05]
+16B80; [7B EA 13, 05, 05]
-16B76; [7B E8 EE, 05, 05]
+16B81; [7B EA 1A, 05, 05]
-16B77; [7B E8 F5, 05, 05]
+16B82; [7B EA 21, 05, 05]
-16B7D; [7B E8 FC, 05, 05]
+16B83; [7B EA 28, 05, 05]
-16B7E; [7B E9 05, 05, 05]
+16B84; [7B EA 2F, 05, 05]
-16B7F; [7B E9 0C, 05, 05]
+16B85; [7B EA 36, 05, 05]
-16B80; [7B E9 13, 05, 05]
+16B86; [7B EA 3D, 05, 05]
-16B81; [7B E9 1A, 05, 05]
+16B87; [7B EA 44, 05, 05]
-16B82; [7B E9 21, 05, 05]
+16B88; [7B EA 4B, 05, 05]
-16B83; [7B E9 28, 05, 05]
+16B89; [7B EA 52, 05, 05]
-16B84; [7B E9 2F, 05, 05]
+16B8A; [7B EA 59, 05, 05]
-16B85; [7B E9 36, 05, 05]
+16B8B; [7B EA 60, 05, 05]
-16B86; [7B E9 3D, 05, 05]
+16B8C; [7B EA 67, 05, 05]
-16B87; [7B E9 44, 05, 05]
+16B8D; [7B EA 6E, 05, 05]
-16B88; [7B E9 4B, 05, 05]
+16B8E; [7B EA 75, 05, 05]
-16B89; [7B E9 52, 05, 05]
+16B8F; [7B EA 7C, 05, 05]
-16B8A; [7B E9 59, 05, 05]
+FDD1 1E108; [7B EB 02, 05, 05] # Nyiakeng_Puachue_Hmong first primary (compressible)
-16B8B; [7B E9 60, 05, 05]
+1E100; [7B EB 09, 05, 05]
-16B8C; [7B E9 67, 05, 05]
+1E101; [7B EB 10, 05, 05]
-16B8D; [7B E9 6E, 05, 05]
+1E102; [7B EB 17, 05, 05]
-16B8E; [7B E9 75, 05, 05]
+1E103; [7B EB 1E, 05, 05]
-16B8F; [7B E9 7C, 05, 05]
+1E104; [7B EB 25, 05, 05]
-FDD1 10280; [7B EA 02, 05, 05] # Lycian first primary (compressible)
+1E105; [7B EB 2C, 05, 05]
-10280; [7B EA 09, 05, 05]
+1E106; [7B EB 33, 05, 05]
-10281; [7B EA 10, 05, 05]
+1E107; [7B EB 3A, 05, 05]
-10282; [7B EA 17, 05, 05]
+1E108; [7B EB 41, 05, 05]
-10283; [7B EA 1E, 05, 05]
+1E109; [7B EB 48, 05, 05]
-10284; [7B EA 25, 05, 05]
+1E10A; [7B EB 4F, 05, 05]
-10285; [7B EA 2C, 05, 05]
+1E10B; [7B EB 56, 05, 05]
-10286; [7B EA 33, 05, 05]
+1E10C; [7B EB 5D, 05, 05]
-10287; [7B EA 3A, 05, 05]
+1E10D; [7B EB 64, 05, 05]
-10288; [7B EA 41, 05, 05]
+1E10E; [7B EB 6B, 05, 05]
-10289; [7B EA 48, 05, 05]
+1E10F; [7B EB 72, 05, 05]
-1028A; [7B EA 4F, 05, 05]
+1E110; [7B EB 79, 05, 05]
-1028B; [7B EA 56, 05, 05]
+1E111; [7B EB 80, 05, 05]
-1028C; [7B EA 5D, 05, 05]
+1E112; [7B EB 87, 05, 05]
-1028D; [7B EA 64, 05, 05]
+1E113; [7B EB 8E, 05, 05]
-1028E; [7B EA 6B, 05, 05]
+1E114; [7B EB 95, 05, 05]
-1028F; [7B EA 72, 05, 05]
+1E115; [7B EB 9C, 05, 05]
-10290; [7B EA 79, 05, 05]
+1E116; [7B EB A3, 05, 05]
-10291; [7B EA 80, 05, 05]
+1E117; [7B EB AA, 05, 05]
-10292; [7B EA 87, 05, 05]
+1E118; [7B EB B1, 05, 05]
-10293; [7B EA 8E, 05, 05]
+1E119; [7B EB B8, 05, 05]
-10294; [7B EA 95, 05, 05]
+1E11A; [7B EB BF, 05, 05]
-10295; [7B EA 9C, 05, 05]
+1E11B; [7B EB C6, 05, 05]
-10296; [7B EA A3, 05, 05]
+1E11C; [7B EB CD, 05, 05]
-10297; [7B EA AA, 05, 05]
+1E11D; [7B EB D4, 05, 05]
-10298; [7B EA B1, 05, 05]
+1E11E; [7B EB DB, 05, 05]
-10299; [7B EA B8, 05, 05]
+1E11F; [7B EB E2, 05, 05]
-1029A; [7B EA BF, 05, 05]
+1E120; [7B EB E9, 05, 05]
-1029B; [7B EA C6, 05, 05]
+1E121; [7B EB F0, 05, 05]
-1029C; [7B EA CD, 05, 05]
+1E122; [7B EB F7, 05, 05]
-FDD1 102A0; [7B EB 02, 05, 05] # Carian first primary (compressible)
+1E123; [7B EB FE, 05, 05]
-102A0; [7B EB 09, 05, 05]
+1E124; [7B EC 07, 05, 05]
-102A1; [7B EB 10, 05, 05]
+1E125; [7B EC 0E, 05, 05]
-102A2; [7B EB 17, 05, 05]
+1E126; [7B EC 15, 05, 05]
-102A3; [7B EB 1E, 05, 05]
+1E127; [7B EC 1C, 05, 05]
-102A4; [7B EB 25, 05, 05]
+1E128; [7B EC 23, 05, 05]
-102A5; [7B EB 2C, 05, 05]
+1E129; [7B EC 2A, 05, 05]
-102A6; [7B EB 33, 05, 05]
+1E12A; [7B EC 31, 05, 05]
-102A7; [7B EB 3A, 05, 05]
+1E12B; [7B EC 38, 05, 05]
-102A8; [7B EB 41, 05, 05]
+1E12C; [7B EC 3F, 05, 05]
-102A9; [7B EB 48, 05, 05]
+1E137; [7B EC 46, 05, 05]
-102AA; [7B EB 4F, 05, 05]
+1E138; [7B EC 4D, 05, 05]
-102AB; [7B EB 56, 05, 05]
+1E139; [7B EC 54, 05, 05]
-102AC; [7B EB 5D, 05, 05]
+1E13A; [7B EC 5B, 05, 05]
-102AD; [7B EB 64, 05, 05]
+1E13B; [7B EC 62, 05, 05]
-102AE; [7B EB 6B, 05, 05]
+1E14E; [7B EC 69, 05, 05]
-102AF; [7B EB 72, 05, 05]
+FDD1 1E2E1; [7B ED 02, 05, 05] # Wancho first primary (compressible)
-102B0; [7B EB 79, 05, 05]
+1E2C0; [7B ED 09, 05, 05]
-102B1; [7B EB 80, 05, 05]
+1E2C1; [7B ED 10, 05, 05]
-102B2; [7B EB 87, 05, 05]
+1E2C2; [7B ED 17, 05, 05]
-102B3; [7B EB 8E, 05, 05]
+1E2C3; [7B ED 1E, 05, 05]
-102B4; [7B EB 95, 05, 05]
+1E2C4; [7B ED 25, 05, 05]
-102B5; [7B EB 9C, 05, 05]
+1E2C5; [7B ED 2C, 05, 05]
-102B6; [7B EB A3, 05, 05]
+1E2C6; [7B ED 33, 05, 05]
-102B7; [7B EB AA, 05, 05]
+1E2C7; [7B ED 3A, 05, 05]
-102B8; [7B EB B1, 05, 05]
+1E2C8; [7B ED 41, 05, 05]
-102B9; [7B EB B8, 05, 05]
+1E2C9; [7B ED 48, 05, 05]
-102BA; [7B EB BF, 05, 05]
+1E2CA; [7B ED 4F, 05, 05]
-102BB; [7B EB C6, 05, 05]
+1E2CB; [7B ED 56, 05, 05]
-102BC; [7B EB CD, 05, 05]
+1E2CC; [7B ED 5D, 05, 05]
-102BD; [7B EB D4, 05, 05]
+1E2CD; [7B ED 64, 05, 05]
-102BE; [7B EB DB, 05, 05]
+1E2CE; [7B ED 6B, 05, 05]
-102BF; [7B EB E2, 05, 05]
+1E2CF; [7B ED 72, 05, 05]
-102C0; [7B EB E9, 05, 05]
+1E2D0; [7B ED 79, 05, 05]
-102C1; [7B EB F0, 05, 05]
+1E2D1; [7B ED 80, 05, 05]
-102C2; [7B EB F7, 05, 05]
+1E2D2; [7B ED 87, 05, 05]
-102C3; [7B EB FE, 05, 05]
+1E2D3; [7B ED 8E, 05, 05]
-102C4; [7B EC 07, 05, 05]
+1E2D4; [7B ED 95, 05, 05]
-102C5; [7B EC 0E, 05, 05]
+1E2D5; [7B ED 9C, 05, 05]
-102C6; [7B EC 15, 05, 05]
+1E2D6; [7B ED A3, 05, 05]
-102C7; [7B EC 1C, 05, 05]
+1E2D7; [7B ED AA, 05, 05]
-102C8; [7B EC 23, 05, 05]
+1E2D8; [7B ED B1, 05, 05]
-102C9; [7B EC 2A, 05, 05]
+1E2D9; [7B ED B8, 05, 05]
-102CA; [7B EC 31, 05, 05]
+1E2DA; [7B ED BF, 05, 05]
-102CB; [7B EC 38, 05, 05]
+1E2DB; [7B ED C6, 05, 05]
-102CC; [7B EC 3F, 05, 05]
+1E2DC; [7B ED CD, 05, 05]
-102CD; [7B EC 46, 05, 05]
+1E2DD; [7B ED D4, 05, 05]
-102CE; [7B EC 4D, 05, 05]
+1E2DE; [7B ED DB, 05, 05]
-102CF; [7B EC 54, 05, 05]
+1E2DF; [7B ED E2, 05, 05]
-102D0; [7B EC 5B, 05, 05]
+1E2E0; [7B ED E9, 05, 05]
-FDD1 10920; [7B ED 02, 05, 05] # Lydian first primary (compressible)
+1E2E1; [7B ED F0, 05, 05]
-10920; [7B ED 09, 05, 05]
+1E2E2; [7B ED F7, 05, 05]
-10921; [7B ED 10, 05, 05]
+1E2E3; [7B ED FE, 05, 05]
-10922; [7B ED 17, 05, 05]
+1E2E4; [7B EE 07, 05, 05]
-10923; [7B ED 1E, 05, 05]
+1E2E5; [7B EE 0E, 05, 05]
-10924; [7B ED 25, 05, 05]
+1E2E6; [7B EE 15, 05, 05]
-10925; [7B ED 2C, 05, 05]
+1E2E7; [7B EE 1C, 05, 05]
-10926; [7B ED 33, 05, 05]
+1E2E8; [7B EE 23, 05, 05]
-10927; [7B ED 3A, 05, 05]
+1E2E9; [7B EE 2A, 05, 05]
-10928; [7B ED 41, 05, 05]
+1E2EA; [7B EE 31, 05, 05]
-10929; [7B ED 48, 05, 05]
+1E2EB; [7B EE 38, 05, 05]
-1092A; [7B ED 4F, 05, 05]
+FDD1 10280; [7B EF 02, 05, 05] # Lycian first primary (compressible)
-1092B; [7B ED 56, 05, 05]
+10280; [7B EF 09, 05, 05]
-1092C; [7B ED 5D, 05, 05]
+10281; [7B EF 10, 05, 05]
-1092D; [7B ED 64, 05, 05]
+10282; [7B EF 17, 05, 05]
-1092E; [7B ED 6B, 05, 05]
+10283; [7B EF 1E, 05, 05]
-1092F; [7B ED 72, 05, 05]
+10284; [7B EF 25, 05, 05]
-10930; [7B ED 79, 05, 05]
+10285; [7B EF 2C, 05, 05]
-10931; [7B ED 80, 05, 05]
+10286; [7B EF 33, 05, 05]
-10932; [7B ED 87, 05, 05]
+10287; [7B EF 3A, 05, 05]
-10933; [7B ED 8E, 05, 05]
+10288; [7B EF 41, 05, 05]
-10934; [7B ED 95, 05, 05]
+10289; [7B EF 48, 05, 05]
-10935; [7B ED 9C, 05, 05]
+1028A; [7B EF 4F, 05, 05]
-10936; [7B ED A3, 05, 05]
+1028B; [7B EF 56, 05, 05]
-10937; [7B ED AA, 05, 05]
+1028C; [7B EF 5D, 05, 05]
-10938; [7B ED B1, 05, 05]
+1028D; [7B EF 64, 05, 05]
-10939; [7B ED B8, 05, 05]
+1028E; [7B EF 6B, 05, 05]
-FDD1 10300; [7B EE 02, 05, 05] # OLD_ITALIC first primary (compressible)
+1028F; [7B EF 72, 05, 05]
-10300; [7B EE 09, 05, 05]
+10290; [7B EF 79, 05, 05]
-10301; [7B EE 10, 05, 05]
+10291; [7B EF 80, 05, 05]
-10302; [7B EE 17, 05, 05]
+10292; [7B EF 87, 05, 05]
-10303; [7B EE 1E, 05, 05]
+10293; [7B EF 8E, 05, 05]
-10304; [7B EE 25, 05, 05]
+10294; [7B EF 95, 05, 05]
-10305; [7B EE 2C, 05, 05]
+10295; [7B EF 9C, 05, 05]
-10306; [7B EE 33, 05, 05]
+10296; [7B EF A3, 05, 05]
-10307; [7B EE 3A, 05, 05]
+10297; [7B EF AA, 05, 05]
-10308; [7B EE 41, 05, 05]
+10298; [7B EF B1, 05, 05]
-10309; [7B EE 48, 05, 05]
+10299; [7B EF B8, 05, 05]
-1030A; [7B EE 4F, 05, 05]
+1029A; [7B EF BF, 05, 05]
-1030B; [7B EE 56, 05, 05]
+1029B; [7B EF C6, 05, 05]
-1030C; [7B EE 5D, 05, 05]
+1029C; [7B EF CD, 05, 05]
-1030D; [7B EE 64, 05, 05]
+FDD1 102A0; [7B F0 02, 05, 05] # Carian first primary (compressible)
-1030E; [7B EE 6B, 05, 05]
+102A0; [7B F0 09, 05, 05]
-1031F; [7B EE 72, 05, 05]
+102A1; [7B F0 10, 05, 05]
-1030F; [7B EE 79, 05, 05]
+102A2; [7B F0 17, 05, 05]
-10310; [7B EE 80, 05, 05]
+102A3; [7B F0 1E, 05, 05]
-10311; [7B EE 87, 05, 05]
+102A4; [7B F0 25, 05, 05]
-10312; [7B EE 8E, 05, 05]
+102A5; [7B F0 2C, 05, 05]
-10313; [7B EE 95, 05, 05]
+102A6; [7B F0 33, 05, 05]
-10314; [7B EE 9C, 05, 05]
+102A7; [7B F0 3A, 05, 05]
-10315; [7B EE A3, 05, 05]
+102A8; [7B F0 41, 05, 05]
-10316; [7B EE AA, 05, 05]
+102A9; [7B F0 48, 05, 05]
-10317; [7B EE B1, 05, 05]
+102AA; [7B F0 4F, 05, 05]
-10318; [7B EE B8, 05, 05]
+102AB; [7B F0 56, 05, 05]
-10319; [7B EE BF, 05, 05]
+102AC; [7B F0 5D, 05, 05]
-1031A; [7B EE C6, 05, 05]
+102AD; [7B F0 64, 05, 05]
-1031B; [7B EE CD, 05, 05]
+102AE; [7B F0 6B, 05, 05]
-1031C; [7B EE D4, 05, 05]
+102AF; [7B F0 72, 05, 05]
-1031D; [7B EE DB, 05, 05]
+102B0; [7B F0 79, 05, 05]
-1031E; [7B EE E2, 05, 05]
+102B1; [7B F0 80, 05, 05]
-1032D; [7B EE E9, 05, 05]
+102B2; [7B F0 87, 05, 05]
-1032E; [7B EE F0, 05, 05]
+102B3; [7B F0 8E, 05, 05]
-1032F; [7B EE F7, 05, 05]
+102B4; [7B F0 95, 05, 05]
-FDD1 10330; [7B EF 02, 05, 05] # GOTHIC first primary (compressible)
+102B5; [7B F0 9C, 05, 05]
-10330; [7B EF 09, 05, 05]
+102B6; [7B F0 A3, 05, 05]
-10331; [7B EF 10, 05, 05]
+102B7; [7B F0 AA, 05, 05]
-10332; [7B EF 17, 05, 05]
+102B8; [7B F0 B1, 05, 05]
-10333; [7B EF 1E, 05, 05]
+102B9; [7B F0 B8, 05, 05]
-10334; [7B EF 25, 05, 05]
+102BA; [7B F0 BF, 05, 05]
-10335; [7B EF 2C, 05, 05]
+102BB; [7B F0 C6, 05, 05]
-10336; [7B EF 33, 05, 05]
+102BC; [7B F0 CD, 05, 05]
-10337; [7B EF 3A, 05, 05]
+102BD; [7B F0 D4, 05, 05]
-10338; [7B EF 41, 05, 05]
+102BE; [7B F0 DB, 05, 05]
-10339; [7B EF 48, 05, 05]
+102BF; [7B F0 E2, 05, 05]
-1033A; [7B EF 4F, 05, 05]
+102C0; [7B F0 E9, 05, 05]
-1033B; [7B EF 56, 05, 05]
+102C1; [7B F0 F0, 05, 05]
-1033C; [7B EF 5D, 05, 05]
+102C2; [7B F0 F7, 05, 05]
-1033D; [7B EF 64, 05, 05]
+102C3; [7B F0 FE, 05, 05]
-1033E; [7B EF 6B, 05, 05]
+102C4; [7B F1 07, 05, 05]
-1033F; [7B EF 72, 05, 05]
+102C5; [7B F1 0E, 05, 05]
-10340; [7B EF 79, 05, 05]
+102C6; [7B F1 15, 05, 05]
-10341; [7B EF 80, 05, 05]
+102C7; [7B F1 1C, 05, 05]
-10342; [7B EF 87, 05, 05]
+102C8; [7B F1 23, 05, 05]
-10343; [7B EF 8E, 05, 05]
+102C9; [7B F1 2A, 05, 05]
-10344; [7B EF 95, 05, 05]
+102CA; [7B F1 31, 05, 05]
-10345; [7B EF 9C, 05, 05]
+102CB; [7B F1 38, 05, 05]
-10346; [7B EF A3, 05, 05]
+102CC; [7B F1 3F, 05, 05]
-10347; [7B EF AA, 05, 05]
+102CD; [7B F1 46, 05, 05]
-10348; [7B EF B1, 05, 05]
+102CE; [7B F1 4D, 05, 05]
-10349; [7B EF B8, 05, 05]
+102CF; [7B F1 54, 05, 05]
-1034A; [7B EF BF, 05, 05]
+102D0; [7B F1 5B, 05, 05]
+
+FDD1 10920; [7B F2 02, 05, 05] # Lydian first primary (compressible)
+
+10920; [7B F2 09, 05, 05]
+
+10921; [7B F2 10, 05, 05]
+
+10922; [7B F2 17, 05, 05]
+
+10923; [7B F2 1E, 05, 05]
+
+10924; [7B F2 25, 05, 05]
+
+10925; [7B F2 2C, 05, 05]
+
+10926; [7B F2 33, 05, 05]
+
+10927; [7B F2 3A, 05, 05]
+
+10928; [7B F2 41, 05, 05]
+
+10929; [7B F2 48, 05, 05]
+
+1092A; [7B F2 4F, 05, 05]
+
+1092B; [7B F2 56, 05, 05]
+
+1092C; [7B F2 5D, 05, 05]
+
+1092D; [7B F2 64, 05, 05]
+
+1092E; [7B F2 6B, 05, 05]
+
+1092F; [7B F2 72, 05, 05]
+
+10930; [7B F2 79, 05, 05]
+
+10931; [7B F2 80, 05, 05]
+
+10932; [7B F2 87, 05, 05]
+
+10933; [7B F2 8E, 05, 05]
+
+10934; [7B F2 95, 05, 05]
+
+10935; [7B F2 9C, 05, 05]
+
+10936; [7B F2 A3, 05, 05]
+
+10937; [7B F2 AA, 05, 05]
+
+10938; [7B F2 B1, 05, 05]
+
+10939; [7B F2 B8, 05, 05]
+
+FDD1 10300; [7B F3 02, 05, 05] # OLD_ITALIC first primary (compressible)
+
+10300; [7B F3 09, 05, 05]
+
+10301; [7B F3 10, 05, 05]
+
+10302; [7B F3 17, 05, 05]
+
+10303; [7B F3 1E, 05, 05]
+
+10304; [7B F3 25, 05, 05]
+
+10305; [7B F3 2C, 05, 05]
+
+10306; [7B F3 33, 05, 05]
+
+10307; [7B F3 3A, 05, 05]
+
+10308; [7B F3 41, 05, 05]
+
+10309; [7B F3 48, 05, 05]
+
+1030A; [7B F3 4F, 05, 05]
+
+1030B; [7B F3 56, 05, 05]
+
+1030C; [7B F3 5D, 05, 05]
+
+1030D; [7B F3 64, 05, 05]
+
+1030E; [7B F3 6B, 05, 05]
+
+1031F; [7B F3 72, 05, 05]
+
+1030F; [7B F3 79, 05, 05]
+
+10310; [7B F3 80, 05, 05]
+
+10311; [7B F3 87, 05, 05]
+
+10312; [7B F3 8E, 05, 05]
+
+10313; [7B F3 95, 05, 05]
+
+10314; [7B F3 9C, 05, 05]
+
+10315; [7B F3 A3, 05, 05]
+
+10316; [7B F3 AA, 05, 05]
+
+10317; [7B F3 B1, 05, 05]
+
+10318; [7B F3 B8, 05, 05]
+
+10319; [7B F3 BF, 05, 05]
+
+1031A; [7B F3 C6, 05, 05]
+
+1031B; [7B F3 CD, 05, 05]
+
+1031C; [7B F3 D4, 05, 05]
+
+1031D; [7B F3 DB, 05, 05]
+
+1031E; [7B F3 E2, 05, 05]
+
+1032D; [7B F3 E9, 05, 05]
+
+1032E; [7B F3 F0, 05, 05]
+
+1032F; [7B F3 F7, 05, 05]
+
+FDD1 10330; [7B F4 02, 05, 05] # GOTHIC first primary (compressible)
+
+10330; [7B F4 09, 05, 05]
+
+10331; [7B F4 10, 05, 05]
+
+10332; [7B F4 17, 05, 05]
+
+10333; [7B F4 1E, 05, 05]
+
+10334; [7B F4 25, 05, 05]
+
+10335; [7B F4 2C, 05, 05]
+
+10336; [7B F4 33, 05, 05]
+
+10337; [7B F4 3A, 05, 05]
+
+10338; [7B F4 41, 05, 05]
+
+10339; [7B F4 48, 05, 05]
+
+1033A; [7B F4 4F, 05, 05]
+
+1033B; [7B F4 56, 05, 05]
+
+1033C; [7B F4 5D, 05, 05]
+
+1033D; [7B F4 64, 05, 05]
+
+1033E; [7B F4 6B, 05, 05]
+
+1033F; [7B F4 72, 05, 05]
+
+10340; [7B F4 79, 05, 05]
+
+10341; [7B F4 80, 05, 05]
+
+10342; [7B F4 87, 05, 05]
+
+10343; [7B F4 8E, 05, 05]
+
+10344; [7B F4 95, 05, 05]
+
+10345; [7B F4 9C, 05, 05]
+
+10346; [7B F4 A3, 05, 05]
+
+10347; [7B F4 AA, 05, 05]
+
+10348; [7B F4 B1, 05, 05]
+
+10349; [7B F4 B8, 05, 05]
+
+1034A; [7B F4 BF, 05, 05]
FDD1 10414; [7C 04 02, 05, 05] # DESERET first primary starts new lead byte (compressible)
@@ -46782,2566 +47831,2613 @@ FDD1 10B8F; [7C A1 02, 05, 05] # Psalter_Pahlavi first primary (compressible)
10B91; [7C A1 80, 05, 05]
-FDD1 10AD8; [7C A2 02, 05, 05] # Manichaean first primary (compressible)
+FDD1 10FF1; [7C A2 02, 05, 05] # Elymaic first primary (compressible)
+
+10FE0; [7C A2 09, 05, 05]
+
+10FE1; [7C A2 10, 05, 05]
+
+10FE2; [7C A2 17, 05, 05]
+
+10FE3; [7C A2 1E, 05, 05]
+
+10FE4; [7C A2 25, 05, 05]
+
+10FE5; [7C A2 2C, 05, 05]
+
+10FE6; [7C A2 33, 05, 05]
+10FF6; [7C A2 33, 05, 20][7C A2 48, 05, 20]
+
+10FE7; [7C A2 3A, 05, 05]
+
+10FE8; [7C A2 41, 05, 05]
+
+10FE9; [7C A2 48, 05, 05]
+
+10FEA; [7C A2 4F, 05, 05]
+
+10FEB; [7C A2 56, 05, 05]
+
+10FEC; [7C A2 5D, 05, 05]
+
+10FED; [7C A2 64, 05, 05]
+
+10FEE; [7C A2 6B, 05, 05]
+
+10FEF; [7C A2 72, 05, 05]
+
+10FF0; [7C A2 79, 05, 05]
+
+10FF1; [7C A2 80, 05, 05]
+
+10FF2; [7C A2 87, 05, 05]
+
+10FF3; [7C A2 8E, 05, 05]
+
+10FF4; [7C A2 95, 05, 05]
+
+10FF5; [7C A2 9C, 05, 05]
+
+FDD1 10AD8; [7C A3 02, 05, 05] # Manichaean first primary (compressible)
-10AC0; [7C A2 09, 05, 05]
+10AC0; [7C A3 09, 05, 05]
-10AC1; [7C A2 10, 05, 05]
+10AC1; [7C A3 10, 05, 05]
-10AC2; [7C A2 17, 05, 05]
+10AC2; [7C A3 17, 05, 05]
-10AC3; [7C A2 1E, 05, 05]
+10AC3; [7C A3 1E, 05, 05]
-10AC4; [7C A2 25, 05, 05]
+10AC4; [7C A3 25, 05, 05]
-10AC5; [7C A2 2C, 05, 05]
+10AC5; [7C A3 2C, 05, 05]
-10AC6; [7C A2 33, 05, 05]
+10AC6; [7C A3 33, 05, 05]
-10AC7; [7C A4, 05, 05]
-10AC8; [7C A4, 70, 05]
+10AC7; [7C A5, 05, 05]
+10AC8; [7C A5, 70, 05]
-10AC9; [7C A6 02, 05, 05]
+10AC9; [7C A7 02, 05, 05]
-10ACA; [7C A6 09, 05, 05]
+10ACA; [7C A7 09, 05, 05]
-10ACB; [7C A6 10, 05, 05]
+10ACB; [7C A7 10, 05, 05]
-10ACC; [7C A6 17, 05, 05]
+10ACC; [7C A7 17, 05, 05]
-10ACD; [7C A6 1E, 05, 05]
+10ACD; [7C A7 1E, 05, 05]
-10ACE; [7C A6 25, 05, 05]
+10ACE; [7C A7 25, 05, 05]
-10ACF; [7C A6 2C, 05, 05]
+10ACF; [7C A7 2C, 05, 05]
-10AD0; [7C A6 33, 05, 05]
+10AD0; [7C A7 33, 05, 05]
-10AD1; [7C A6 3A, 05, 05]
+10AD1; [7C A7 3A, 05, 05]
-10AD2; [7C A6 41, 05, 05]
+10AD2; [7C A7 41, 05, 05]
-10AD3; [7C A6 48, 05, 05]
+10AD3; [7C A7 48, 05, 05]
-10AD4; [7C A6 4F, 05, 05]
+10AD4; [7C A7 4F, 05, 05]
-10AD5; [7C A6 56, 05, 05]
+10AD5; [7C A7 56, 05, 05]
-10AD6; [7C A6 5D, 05, 05]
+10AD6; [7C A7 5D, 05, 05]
-10AD7; [7C A6 64, 05, 05]
+10AD7; [7C A7 64, 05, 05]
-10AD8; [7C A6 6B, 05, 05]
+10AD8; [7C A7 6B, 05, 05]
-10AD9; [7C A6 72, 05, 05]
+10AD9; [7C A7 72, 05, 05]
-10ADA; [7C A6 79, 05, 05]
+10ADA; [7C A7 79, 05, 05]
-10ADB; [7C A6 80, 05, 05]
+10ADB; [7C A7 80, 05, 05]
-10ADC; [7C A6 87, 05, 05]
+10ADC; [7C A7 87, 05, 05]
-10ADD; [7C A6 8E, 05, 05]
+10ADD; [7C A7 8E, 05, 05]
-10ADE; [7C A6 95, 05, 05]
+10ADE; [7C A7 95, 05, 05]
-10ADF; [7C A6 9C, 05, 05]
+10ADF; [7C A7 9C, 05, 05]
-10AE0; [7C A6 A3, 05, 05]
+10AE0; [7C A7 A3, 05, 05]
-10AE1; [7C A6 AA, 05, 05]
+10AE1; [7C A7 AA, 05, 05]
-10AE2; [7C A6 B1, 05, 05]
+10AE2; [7C A7 B1, 05, 05]
-10AE3; [7C A6 B8, 05, 05]
+10AE3; [7C A7 B8, 05, 05]
-10AE4; [7C A6 BF, 05, 05]
+10AE4; [7C A7 BF, 05, 05]
-FDD1 10F19; [7C A7 02, 05, 05] # Old_Sogdian first primary (compressible)
+FDD1 10F19; [7C A8 02, 05, 05] # Old_Sogdian first primary (compressible)
-10F00; [7C A9, 05, 05]
-10F01; [7C A9, 05, 20]
+10F00; [7C AA, 05, 05]
+10F01; [7C AA, 05, 20]
-10F02; [7C AB, 05, 05]
-10F03; [7C AB, 05, 20]
+10F02; [7C AC, 05, 05]
+10F03; [7C AC, 05, 20]
-10F04; [7C AD, 05, 05]
+10F04; [7C AE, 05, 05]
-10F05; [7C AF, 05, 05]
-10F06; [7C AF, 05, 20]
+10F05; [7C B0, 05, 05]
+10F06; [7C B0, 05, 20]
-10F07; [7C B1 02, 05, 05]
+10F07; [7C B2 02, 05, 05]
-10F08; [7C B1 09, 05, 05]
+10F08; [7C B2 09, 05, 05]
-10F09; [7C B1 10, 05, 05]
+10F09; [7C B2 10, 05, 05]
-10F0A; [7C B1 17, 05, 05]
+10F0A; [7C B2 17, 05, 05]
-10F0B; [7C B1 1E, 05, 05]
+10F0B; [7C B2 1E, 05, 05]
-10F0C; [7C B1 25, 05, 05]
+10F0C; [7C B2 25, 05, 05]
-10F0D; [7C B1 2C, 05, 05]
+10F0D; [7C B2 2C, 05, 05]
-10F0E; [7C B3, 05, 05]
-10F0F; [7C B3, 05, 20]
-10F10; [7C B3, 70, 05]
+10F0E; [7C B4, 05, 05]
+10F0F; [7C B4, 05, 20]
+10F10; [7C B4, 70, 05]
-10F11; [7C B5, 05, 05]
+10F11; [7C B6, 05, 05]
-10F12; [7C B7, 05, 05]
-10F13; [7C B7, 70, 05]
-10F27; [7C B7, 05, 20][7C BD, 05, 20]
+10F12; [7C B8, 05, 05]
+10F13; [7C B8, 70, 05]
+10F27; [7C B8, 05, 20][7C BE, 05, 20]
-10F14; [7C B9, 05, 05]
+10F14; [7C BA, 05, 05]
-10F15; [7C BB, 05, 05]
-10F16; [7C BB, 05, 20]
-10F17; [7C BB, 70, 05]
+10F15; [7C BC, 05, 05]
+10F16; [7C BC, 05, 20]
+10F17; [7C BC, 70, 05]
-10F18; [7C BD, 05, 05]
+10F18; [7C BE, 05, 05]
-10F19; [7C BF, 05, 05]
+10F19; [7C C0, 05, 05]
-10F1A; [7C C1, 05, 05]
-10F1B; [7C C1, 05, 20]
-10F1C; [7C C1, 70, 05]
+10F1A; [7C C2, 05, 05]
+10F1B; [7C C2, 05, 20]
+10F1C; [7C C2, 70, 05]
-FDD1 10F42; [7C C3 02, 05, 05] # Sogdian first primary (compressible)
+FDD1 10F42; [7C C4 02, 05, 05] # Sogdian first primary (compressible)
-10F30; [7C C3 09, 05, 05]
+10F30; [7C C4 09, 05, 05]
-10F31; [7C C3 10, 05, 05]
+10F31; [7C C4 10, 05, 05]
-10F32; [7C C3 17, 05, 05]
+10F32; [7C C4 17, 05, 05]
-10F33; [7C C3 1E, 05, 05]
+10F33; [7C C4 1E, 05, 05]
-10F34; [7C C3 25, 05, 05]
+10F34; [7C C4 25, 05, 05]
-10F35; [7C C3 2C, 05, 05]
+10F35; [7C C4 2C, 05, 05]
-10F36; [7C C3 33, 05, 05]
+10F36; [7C C4 33, 05, 05]
-10F37; [7C C3 3A, 05, 05]
+10F37; [7C C4 3A, 05, 05]
-10F38; [7C C3 41, 05, 05]
+10F38; [7C C4 41, 05, 05]
-10F39; [7C C3 48, 05, 05]
+10F39; [7C C4 48, 05, 05]
-10F3A; [7C C3 4F, 05, 05]
+10F3A; [7C C4 4F, 05, 05]
-10F3B; [7C C3 56, 05, 05]
+10F3B; [7C C4 56, 05, 05]
-10F3C; [7C C3 5D, 05, 05]
+10F3C; [7C C4 5D, 05, 05]
-10F3D; [7C C3 64, 05, 05]
+10F3D; [7C C4 64, 05, 05]
-10F3E; [7C C3 6B, 05, 05]
+10F3E; [7C C4 6B, 05, 05]
-10F3F; [7C C3 72, 05, 05]
+10F3F; [7C C4 72, 05, 05]
-10F40; [7C C3 79, 05, 05]
+10F40; [7C C4 79, 05, 05]
-10F41; [7C C5, 05, 05]
-10F45; [7C C5, 70, 05]
+10F41; [7C C6, 05, 05]
+10F45; [7C C6, 70, 05]
-10F42; [7C C7 02, 05, 05]
+10F42; [7C C8 02, 05, 05]
-10F43; [7C C7 09, 05, 05]
+10F43; [7C C8 09, 05, 05]
-10F44; [7C C7 10, 05, 05]
+10F44; [7C C8 10, 05, 05]
-FDD1 10380; [7C C8 02, 05, 05] # UGARITIC first primary (compressible)
+FDD1 10380; [7C C9 02, 05, 05] # UGARITIC first primary (compressible)
-10380; [7C C8 09, 05, 05]
+10380; [7C C9 09, 05, 05]
-10381; [7C C8 10, 05, 05]
+10381; [7C C9 10, 05, 05]
-10382; [7C C8 17, 05, 05]
+10382; [7C C9 17, 05, 05]
-10383; [7C C8 1E, 05, 05]
+10383; [7C C9 1E, 05, 05]
-10384; [7C C8 25, 05, 05]
+10384; [7C C9 25, 05, 05]
-10385; [7C C8 2C, 05, 05]
+10385; [7C C9 2C, 05, 05]
-10386; [7C C8 33, 05, 05]
+10386; [7C C9 33, 05, 05]
-10387; [7C C8 3A, 05, 05]
+10387; [7C C9 3A, 05, 05]
-10388; [7C C8 41, 05, 05]
+10388; [7C C9 41, 05, 05]
-10389; [7C C8 48, 05, 05]
+10389; [7C C9 48, 05, 05]
-1038A; [7C C8 4F, 05, 05]
+1038A; [7C C9 4F, 05, 05]
-1038B; [7C C8 56, 05, 05]
+1038B; [7C C9 56, 05, 05]
-1038C; [7C C8 5D, 05, 05]
+1038C; [7C C9 5D, 05, 05]
-1038D; [7C C8 64, 05, 05]
+1038D; [7C C9 64, 05, 05]
-1038E; [7C C8 6B, 05, 05]
+1038E; [7C C9 6B, 05, 05]
-1038F; [7C C8 72, 05, 05]
+1038F; [7C C9 72, 05, 05]
-10390; [7C C8 79, 05, 05]
+10390; [7C C9 79, 05, 05]
-10391; [7C C8 80, 05, 05]
+10391; [7C C9 80, 05, 05]
-10392; [7C C8 87, 05, 05]
+10392; [7C C9 87, 05, 05]
-10393; [7C C8 8E, 05, 05]
+10393; [7C C9 8E, 05, 05]
-10394; [7C C8 95, 05, 05]
+10394; [7C C9 95, 05, 05]
-10395; [7C C8 9C, 05, 05]
+10395; [7C C9 9C, 05, 05]
-10396; [7C C8 A3, 05, 05]
+10396; [7C C9 A3, 05, 05]
-10397; [7C C8 AA, 05, 05]
+10397; [7C C9 AA, 05, 05]
-10398; [7C C8 B1, 05, 05]
+10398; [7C C9 B1, 05, 05]
-10399; [7C C8 B8, 05, 05]
+10399; [7C C9 B8, 05, 05]
-1039A; [7C C8 BF, 05, 05]
+1039A; [7C C9 BF, 05, 05]
-1039B; [7C C8 C6, 05, 05]
+1039B; [7C C9 C6, 05, 05]
-1039C; [7C C8 CD, 05, 05]
+1039C; [7C C9 CD, 05, 05]
-1039D; [7C C8 D4, 05, 05]
+1039D; [7C C9 D4, 05, 05]
-FDD1 103A0; [7C C9 02, 05, 05] # OLD_PERSIAN first primary (compressible)
+FDD1 103A0; [7C CA 02, 05, 05] # OLD_PERSIAN first primary (compressible)
-103A0; [7C C9 09, 05, 05]
+103A0; [7C CA 09, 05, 05]
-103A1; [7C C9 10, 05, 05]
+103A1; [7C CA 10, 05, 05]
-103A2; [7C C9 17, 05, 05]
+103A2; [7C CA 17, 05, 05]
-103A3; [7C C9 1E, 05, 05]
+103A3; [7C CA 1E, 05, 05]
-103A4; [7C C9 25, 05, 05]
+103A4; [7C CA 25, 05, 05]
-103A5; [7C C9 2C, 05, 05]
+103A5; [7C CA 2C, 05, 05]
-103A6; [7C C9 33, 05, 05]
+103A6; [7C CA 33, 05, 05]
-103A7; [7C C9 3A, 05, 05]
+103A7; [7C CA 3A, 05, 05]
-103A8; [7C C9 41, 05, 05]
+103A8; [7C CA 41, 05, 05]
-103A9; [7C C9 48, 05, 05]
+103A9; [7C CA 48, 05, 05]
-103AA; [7C C9 4F, 05, 05]
+103AA; [7C CA 4F, 05, 05]
-103AB; [7C C9 56, 05, 05]
+103AB; [7C CA 56, 05, 05]
-103AC; [7C C9 5D, 05, 05]
+103AC; [7C CA 5D, 05, 05]
-103AD; [7C C9 64, 05, 05]
+103AD; [7C CA 64, 05, 05]
-103AE; [7C C9 6B, 05, 05]
+103AE; [7C CA 6B, 05, 05]
-103AF; [7C C9 72, 05, 05]
+103AF; [7C CA 72, 05, 05]
-103B0; [7C C9 79, 05, 05]
+103B0; [7C CA 79, 05, 05]
-103B1; [7C C9 80, 05, 05]
+103B1; [7C CA 80, 05, 05]
-103B2; [7C C9 87, 05, 05]
+103B2; [7C CA 87, 05, 05]
-103B3; [7C C9 8E, 05, 05]
+103B3; [7C CA 8E, 05, 05]
-103B4; [7C C9 95, 05, 05]
+103B4; [7C CA 95, 05, 05]
-103B5; [7C C9 9C, 05, 05]
+103B5; [7C CA 9C, 05, 05]
-103B6; [7C C9 A3, 05, 05]
+103B6; [7C CA A3, 05, 05]
-103B7; [7C C9 AA, 05, 05]
+103B7; [7C CA AA, 05, 05]
-103B8; [7C C9 B1, 05, 05]
+103B8; [7C CA B1, 05, 05]
-103B9; [7C C9 B8, 05, 05]
+103B9; [7C CA B8, 05, 05]
-103BA; [7C C9 BF, 05, 05]
+103BA; [7C CA BF, 05, 05]
-103BB; [7C C9 C6, 05, 05]
+103BB; [7C CA C6, 05, 05]
-103BC; [7C C9 CD, 05, 05]
+103BC; [7C CA CD, 05, 05]
-103BD; [7C C9 D4, 05, 05]
+103BD; [7C CA D4, 05, 05]
-103BE; [7C C9 DB, 05, 05]
+103BE; [7C CA DB, 05, 05]
-103BF; [7C C9 E2, 05, 05]
+103BF; [7C CA E2, 05, 05]
-103C0; [7C C9 E9, 05, 05]
+103C0; [7C CA E9, 05, 05]
-103C1; [7C C9 F0, 05, 05]
+103C1; [7C CA F0, 05, 05]
-103C2; [7C C9 F7, 05, 05]
+103C2; [7C CA F7, 05, 05]
-103C3; [7C C9 FE, 05, 05]
+103C3; [7C CA FE, 05, 05]
-103C8; [7C CA 07, 05, 05]
+103C8; [7C CB 07, 05, 05]
-103C9; [7C CA 0E, 05, 05]
+103C9; [7C CB 0E, 05, 05]
-103CA; [7C CA 15, 05, 05]
+103CA; [7C CB 15, 05, 05]
-103CB; [7C CA 1C, 05, 05]
+103CB; [7C CB 1C, 05, 05]
-103CC; [7C CA 23, 05, 05]
+103CC; [7C CB 23, 05, 05]
-103CD; [7C CA 2A, 05, 05]
+103CD; [7C CB 2A, 05, 05]
-103CE; [7C CA 31, 05, 05]
+103CE; [7C CB 31, 05, 05]
-103CF; [7C CA 38, 05, 05]
+103CF; [7C CB 38, 05, 05]
-FDD1 12000; [7C CB 02, 05, 05] # Cuneiform first primary (compressible)
+FDD1 12000; [7C CC 02, 05, 05] # Cuneiform first primary (compressible)
-12000; [7C CB 09, 05, 05]
+12000; [7C CC 09, 05, 05]
-12001; [7C CB 10, 05, 05]
+12001; [7C CC 10, 05, 05]
-12002; [7C CB 17, 05, 05]
+12002; [7C CC 17, 05, 05]
-12003; [7C CB 1E, 05, 05]
+12003; [7C CC 1E, 05, 05]
-12004; [7C CB 25, 05, 05]
+12004; [7C CC 25, 05, 05]
-12005; [7C CB 2C, 05, 05]
+12005; [7C CC 2C, 05, 05]
-12006; [7C CB 33, 05, 05]
+12006; [7C CC 33, 05, 05]
-12007; [7C CB 3A, 05, 05]
+12007; [7C CC 3A, 05, 05]
-12008; [7C CB 41, 05, 05]
+12008; [7C CC 41, 05, 05]
-12009; [7C CB 48, 05, 05]
+12009; [7C CC 48, 05, 05]
-1200A; [7C CB 4F, 05, 05]
+1200A; [7C CC 4F, 05, 05]
-1200B; [7C CB 56, 05, 05]
+1200B; [7C CC 56, 05, 05]
-1200C; [7C CB 5D, 05, 05]
+1200C; [7C CC 5D, 05, 05]
-1200D; [7C CB 64, 05, 05]
+1200D; [7C CC 64, 05, 05]
-1200E; [7C CB 6B, 05, 05]
+1200E; [7C CC 6B, 05, 05]
-1200F; [7C CB 72, 05, 05]
+1200F; [7C CC 72, 05, 05]
-12010; [7C CB 79, 05, 05]
+12010; [7C CC 79, 05, 05]
-12011; [7C CB 80, 05, 05]
+12011; [7C CC 80, 05, 05]
-12012; [7C CB 87, 05, 05]
+12012; [7C CC 87, 05, 05]
-12013; [7C CB 8E, 05, 05]
+12013; [7C CC 8E, 05, 05]
-12014; [7C CB 95, 05, 05]
+12014; [7C CC 95, 05, 05]
-12015; [7C CB 9C, 05, 05]
+12015; [7C CC 9C, 05, 05]
-12016; [7C CB A3, 05, 05]
+12016; [7C CC A3, 05, 05]
-12017; [7C CB AA, 05, 05]
+12017; [7C CC AA, 05, 05]
-12018; [7C CB B1, 05, 05]
+12018; [7C CC B1, 05, 05]
-12019; [7C CB B8, 05, 05]
+12019; [7C CC B8, 05, 05]
-1201A; [7C CB BF, 05, 05]
+1201A; [7C CC BF, 05, 05]
-1201B; [7C CB C6, 05, 05]
+1201B; [7C CC C6, 05, 05]
-1201C; [7C CB CD, 05, 05]
+1201C; [7C CC CD, 05, 05]
-1201D; [7C CB D4, 05, 05]
+1201D; [7C CC D4, 05, 05]
-1201E; [7C CB DB, 05, 05]
+1201E; [7C CC DB, 05, 05]
-1201F; [7C CB E2, 05, 05]
+1201F; [7C CC E2, 05, 05]
-12020; [7C CB E9, 05, 05]
+12020; [7C CC E9, 05, 05]
-12021; [7C CB F0, 05, 05]
+12021; [7C CC F0, 05, 05]
-12022; [7C CB F7, 05, 05]
+12022; [7C CC F7, 05, 05]
-12023; [7C CB FE, 05, 05]
+12023; [7C CC FE, 05, 05]
-12024; [7C CC 07, 05, 05]
+12024; [7C CD 07, 05, 05]
-12025; [7C CC 0E, 05, 05]
+12025; [7C CD 0E, 05, 05]
-12026; [7C CC 15, 05, 05]
+12026; [7C CD 15, 05, 05]
-12027; [7C CC 1C, 05, 05]
+12027; [7C CD 1C, 05, 05]
-12028; [7C CC 23, 05, 05]
+12028; [7C CD 23, 05, 05]
-12029; [7C CC 2A, 05, 05]
+12029; [7C CD 2A, 05, 05]
-1202A; [7C CC 31, 05, 05]
+1202A; [7C CD 31, 05, 05]
-1202B; [7C CC 38, 05, 05]
+1202B; [7C CD 38, 05, 05]
-1202C; [7C CC 3F, 05, 05]
+1202C; [7C CD 3F, 05, 05]
-1202D; [7C CC 46, 05, 05]
+1202D; [7C CD 46, 05, 05]
-1202E; [7C CC 4D, 05, 05]
+1202E; [7C CD 4D, 05, 05]
-1202F; [7C CC 54, 05, 05]
+1202F; [7C CD 54, 05, 05]
-12030; [7C CC 5B, 05, 05]
+12030; [7C CD 5B, 05, 05]
-12031; [7C CC 62, 05, 05]
+12031; [7C CD 62, 05, 05]
-12032; [7C CC 69, 05, 05]
+12032; [7C CD 69, 05, 05]
-12033; [7C CC 70, 05, 05]
+12033; [7C CD 70, 05, 05]
-12034; [7C CC 77, 05, 05]
+12034; [7C CD 77, 05, 05]
-12035; [7C CC 7E, 05, 05]
+12035; [7C CD 7E, 05, 05]
-12036; [7C CC 85, 05, 05]
+12036; [7C CD 85, 05, 05]
-12037; [7C CC 8C, 05, 05]
+12037; [7C CD 8C, 05, 05]
-12038; [7C CC 93, 05, 05]
+12038; [7C CD 93, 05, 05]
-12039; [7C CC 9A, 05, 05]
+12039; [7C CD 9A, 05, 05]
-1203A; [7C CC A1, 05, 05]
+1203A; [7C CD A1, 05, 05]
-1203B; [7C CC A8, 05, 05]
+1203B; [7C CD A8, 05, 05]
-1203C; [7C CC AF, 05, 05]
+1203C; [7C CD AF, 05, 05]
-1203D; [7C CC B6, 05, 05]
+1203D; [7C CD B6, 05, 05]
-1203E; [7C CC BD, 05, 05]
+1203E; [7C CD BD, 05, 05]
-1203F; [7C CC C4, 05, 05]
+1203F; [7C CD C4, 05, 05]
-12040; [7C CC CB, 05, 05]
+12040; [7C CD CB, 05, 05]
-12041; [7C CC D2, 05, 05]
+12041; [7C CD D2, 05, 05]
-12042; [7C CC D9, 05, 05]
+12042; [7C CD D9, 05, 05]
-12043; [7C CC E0, 05, 05]
+12043; [7C CD E0, 05, 05]
-12044; [7C CC E7, 05, 05]
+12044; [7C CD E7, 05, 05]
-12045; [7C CC EE, 05, 05]
+12045; [7C CD EE, 05, 05]
-12046; [7C CC F5, 05, 05]
+12046; [7C CD F5, 05, 05]
-12047; [7C CC FC, 05, 05]
+12047; [7C CD FC, 05, 05]
-12048; [7C CD 05, 05, 05]
+12048; [7C CE 05, 05, 05]
-12049; [7C CD 0C, 05, 05]
+12049; [7C CE 0C, 05, 05]
-1204A; [7C CD 13, 05, 05]
+1204A; [7C CE 13, 05, 05]
-1204B; [7C CD 1A, 05, 05]
+1204B; [7C CE 1A, 05, 05]
-1204C; [7C CD 21, 05, 05]
+1204C; [7C CE 21, 05, 05]
-1204D; [7C CD 28, 05, 05]
+1204D; [7C CE 28, 05, 05]
-1204E; [7C CD 2F, 05, 05]
+1204E; [7C CE 2F, 05, 05]
-1204F; [7C CD 36, 05, 05]
+1204F; [7C CE 36, 05, 05]
-12050; [7C CD 3D, 05, 05]
+12050; [7C CE 3D, 05, 05]
-12051; [7C CD 44, 05, 05]
+12051; [7C CE 44, 05, 05]
-12052; [7C CD 4B, 05, 05]
+12052; [7C CE 4B, 05, 05]
-12053; [7C CD 52, 05, 05]
+12053; [7C CE 52, 05, 05]
-12054; [7C CD 59, 05, 05]
+12054; [7C CE 59, 05, 05]
-12055; [7C CD 60, 05, 05]
+12055; [7C CE 60, 05, 05]
-12056; [7C CD 67, 05, 05]
+12056; [7C CE 67, 05, 05]
-12057; [7C CD 6E, 05, 05]
+12057; [7C CE 6E, 05, 05]
-12058; [7C CD 75, 05, 05]
+12058; [7C CE 75, 05, 05]
-12059; [7C CD 7C, 05, 05]
+12059; [7C CE 7C, 05, 05]
-1205A; [7C CD 83, 05, 05]
+1205A; [7C CE 83, 05, 05]
-1205B; [7C CD 8A, 05, 05]
+1205B; [7C CE 8A, 05, 05]
-1205C; [7C CD 91, 05, 05]
+1205C; [7C CE 91, 05, 05]
-1205D; [7C CD 98, 05, 05]
+1205D; [7C CE 98, 05, 05]
-1205E; [7C CD 9F, 05, 05]
+1205E; [7C CE 9F, 05, 05]
-1205F; [7C CD A6, 05, 05]
+1205F; [7C CE A6, 05, 05]
-12060; [7C CD AD, 05, 05]
+12060; [7C CE AD, 05, 05]
-12061; [7C CD B4, 05, 05]
+12061; [7C CE B4, 05, 05]
-12062; [7C CD BB, 05, 05]
+12062; [7C CE BB, 05, 05]
-12063; [7C CD C2, 05, 05]
+12063; [7C CE C2, 05, 05]
-12064; [7C CD C9, 05, 05]
+12064; [7C CE C9, 05, 05]
-12065; [7C CD D0, 05, 05]
+12065; [7C CE D0, 05, 05]
-12066; [7C CD D7, 05, 05]
+12066; [7C CE D7, 05, 05]
-12067; [7C CD DE, 05, 05]
+12067; [7C CE DE, 05, 05]
-12068; [7C CD E5, 05, 05]
+12068; [7C CE E5, 05, 05]
-12069; [7C CD EC, 05, 05]
+12069; [7C CE EC, 05, 05]
-1206A; [7C CD F3, 05, 05]
+1206A; [7C CE F3, 05, 05]
-1206B; [7C CD FA, 05, 05]
+1206B; [7C CE FA, 05, 05]
-1206C; [7C CE 03, 05, 05]
+1206C; [7C CF 03, 05, 05]
-1206D; [7C CE 0A, 05, 05]
+1206D; [7C CF 0A, 05, 05]
-1206E; [7C CE 11, 05, 05]
+1206E; [7C CF 11, 05, 05]
-1206F; [7C CE 18, 05, 05]
+1206F; [7C CF 18, 05, 05]
-12070; [7C CE 1F, 05, 05]
+12070; [7C CF 1F, 05, 05]
-12071; [7C CE 26, 05, 05]
+12071; [7C CF 26, 05, 05]
-12072; [7C CE 2D, 05, 05]
+12072; [7C CF 2D, 05, 05]
-12073; [7C CE 34, 05, 05]
+12073; [7C CF 34, 05, 05]
-12074; [7C CE 3B, 05, 05]
+12074; [7C CF 3B, 05, 05]
-12075; [7C CE 42, 05, 05]
+12075; [7C CF 42, 05, 05]
-12076; [7C CE 49, 05, 05]
+12076; [7C CF 49, 05, 05]
-12077; [7C CE 50, 05, 05]
+12077; [7C CF 50, 05, 05]
-12078; [7C CE 57, 05, 05]
+12078; [7C CF 57, 05, 05]
-12079; [7C CE 5E, 05, 05]
+12079; [7C CF 5E, 05, 05]
-1207A; [7C CE 65, 05, 05]
+1207A; [7C CF 65, 05, 05]
-1207B; [7C CE 6C, 05, 05]
+1207B; [7C CF 6C, 05, 05]
-1207C; [7C CE 73, 05, 05]
+1207C; [7C CF 73, 05, 05]
-1207D; [7C CE 7A, 05, 05]
+1207D; [7C CF 7A, 05, 05]
-1207E; [7C CE 81, 05, 05]
+1207E; [7C CF 81, 05, 05]
-1207F; [7C CE 88, 05, 05]
+1207F; [7C CF 88, 05, 05]
-12080; [7C CE 8F, 05, 05]
+12080; [7C CF 8F, 05, 05]
-12081; [7C CE 96, 05, 05]
+12081; [7C CF 96, 05, 05]
-12082; [7C CE 9D, 05, 05]
+12082; [7C CF 9D, 05, 05]
-12083; [7C CE A4, 05, 05]
+12083; [7C CF A4, 05, 05]
-12084; [7C CE AB, 05, 05]
+12084; [7C CF AB, 05, 05]
-12085; [7C CE B2, 05, 05]
+12085; [7C CF B2, 05, 05]
-12086; [7C CE B9, 05, 05]
+12086; [7C CF B9, 05, 05]
-12087; [7C CE C0, 05, 05]
+12087; [7C CF C0, 05, 05]
-12088; [7C CE C7, 05, 05]
+12088; [7C CF C7, 05, 05]
-12089; [7C CE CE, 05, 05]
+12089; [7C CF CE, 05, 05]
-1208A; [7C CE D5, 05, 05]
+1208A; [7C CF D5, 05, 05]
-1208B; [7C CE DC, 05, 05]
+1208B; [7C CF DC, 05, 05]
-1208C; [7C CE E3, 05, 05]
+1208C; [7C CF E3, 05, 05]
-1208D; [7C CE EA, 05, 05]
+1208D; [7C CF EA, 05, 05]
-1208E; [7C CE F1, 05, 05]
+1208E; [7C CF F1, 05, 05]
-1208F; [7C CE F8, 05, 05]
+1208F; [7C CF F8, 05, 05]
-12090; [7C CE FF, 05, 05]
+12090; [7C CF FF, 05, 05]
-12091; [7C CF 08, 05, 05]
+12091; [7C D0 08, 05, 05]
-12092; [7C CF 0F, 05, 05]
+12092; [7C D0 0F, 05, 05]
-12093; [7C CF 16, 05, 05]
+12093; [7C D0 16, 05, 05]
-12094; [7C CF 1D, 05, 05]
+12094; [7C D0 1D, 05, 05]
-12095; [7C CF 24, 05, 05]
+12095; [7C D0 24, 05, 05]
-12096; [7C CF 2B, 05, 05]
+12096; [7C D0 2B, 05, 05]
-12097; [7C CF 32, 05, 05]
+12097; [7C D0 32, 05, 05]
-12098; [7C CF 39, 05, 05]
+12098; [7C D0 39, 05, 05]
-12099; [7C CF 40, 05, 05]
+12099; [7C D0 40, 05, 05]
-1209A; [7C CF 47, 05, 05]
+1209A; [7C D0 47, 05, 05]
-1209B; [7C CF 4E, 05, 05]
+1209B; [7C D0 4E, 05, 05]
-1209C; [7C CF 55, 05, 05]
+1209C; [7C D0 55, 05, 05]
-1209D; [7C CF 5C, 05, 05]
+1209D; [7C D0 5C, 05, 05]
-1209E; [7C CF 63, 05, 05]
+1209E; [7C D0 63, 05, 05]
-1209F; [7C CF 6A, 05, 05]
+1209F; [7C D0 6A, 05, 05]
-120A0; [7C CF 71, 05, 05]
+120A0; [7C D0 71, 05, 05]
-120A1; [7C CF 78, 05, 05]
+120A1; [7C D0 78, 05, 05]
-120A2; [7C CF 7F, 05, 05]
+120A2; [7C D0 7F, 05, 05]
-120A3; [7C CF 86, 05, 05]
+120A3; [7C D0 86, 05, 05]
-120A4; [7C CF 8D, 05, 05]
+120A4; [7C D0 8D, 05, 05]
-120A5; [7C CF 94, 05, 05]
+120A5; [7C D0 94, 05, 05]
-120A6; [7C CF 9B, 05, 05]
+120A6; [7C D0 9B, 05, 05]
-120A7; [7C CF A2, 05, 05]
+120A7; [7C D0 A2, 05, 05]
-120A8; [7C CF A9, 05, 05]
+120A8; [7C D0 A9, 05, 05]
-120A9; [7C CF B0, 05, 05]
+120A9; [7C D0 B0, 05, 05]
-120AA; [7C CF B7, 05, 05]
+120AA; [7C D0 B7, 05, 05]
-120AB; [7C CF BE, 05, 05]
+120AB; [7C D0 BE, 05, 05]
-120AC; [7C CF C5, 05, 05]
+120AC; [7C D0 C5, 05, 05]
-120AD; [7C CF CC, 05, 05]
+120AD; [7C D0 CC, 05, 05]
-120AE; [7C CF D3, 05, 05]
+120AE; [7C D0 D3, 05, 05]
-120AF; [7C CF DA, 05, 05]
+120AF; [7C D0 DA, 05, 05]
-120B0; [7C CF E1, 05, 05]
+120B0; [7C D0 E1, 05, 05]
-120B1; [7C CF E8, 05, 05]
+120B1; [7C D0 E8, 05, 05]
-120B2; [7C CF EF, 05, 05]
+120B2; [7C D0 EF, 05, 05]
-120B3; [7C CF F6, 05, 05]
+120B3; [7C D0 F6, 05, 05]
-120B4; [7C CF FD, 05, 05]
+120B4; [7C D0 FD, 05, 05]
-120B5; [7C D0 06, 05, 05]
+120B5; [7C D1 06, 05, 05]
-120B6; [7C D0 0D, 05, 05]
+120B6; [7C D1 0D, 05, 05]
-120B7; [7C D0 14, 05, 05]
+120B7; [7C D1 14, 05, 05]
-120B8; [7C D0 1B, 05, 05]
+120B8; [7C D1 1B, 05, 05]
-120B9; [7C D0 22, 05, 05]
+120B9; [7C D1 22, 05, 05]
-120BA; [7C D0 29, 05, 05]
+120BA; [7C D1 29, 05, 05]
-120BB; [7C D0 30, 05, 05]
+120BB; [7C D1 30, 05, 05]
-120BC; [7C D0 37, 05, 05]
+120BC; [7C D1 37, 05, 05]
-120BD; [7C D0 3E, 05, 05]
+120BD; [7C D1 3E, 05, 05]
-120BE; [7C D0 45, 05, 05]
+120BE; [7C D1 45, 05, 05]
-120BF; [7C D0 4C, 05, 05]
+120BF; [7C D1 4C, 05, 05]
-120C0; [7C D0 53, 05, 05]
+120C0; [7C D1 53, 05, 05]
-120C1; [7C D0 5A, 05, 05]
+120C1; [7C D1 5A, 05, 05]
-120C2; [7C D0 61, 05, 05]
+120C2; [7C D1 61, 05, 05]
-120C3; [7C D0 68, 05, 05]
+120C3; [7C D1 68, 05, 05]
-120C4; [7C D0 6F, 05, 05]
+120C4; [7C D1 6F, 05, 05]
-120C5; [7C D0 76, 05, 05]
+120C5; [7C D1 76, 05, 05]
-120C6; [7C D0 7D, 05, 05]
+120C6; [7C D1 7D, 05, 05]
-120C7; [7C D0 84, 05, 05]
+120C7; [7C D1 84, 05, 05]
-120C8; [7C D0 8B, 05, 05]
+120C8; [7C D1 8B, 05, 05]
-120C9; [7C D0 92, 05, 05]
+120C9; [7C D1 92, 05, 05]
-120CA; [7C D0 99, 05, 05]
+120CA; [7C D1 99, 05, 05]
-120CB; [7C D0 A0, 05, 05]
+120CB; [7C D1 A0, 05, 05]
-120CC; [7C D0 A7, 05, 05]
+120CC; [7C D1 A7, 05, 05]
-120CD; [7C D0 AE, 05, 05]
+120CD; [7C D1 AE, 05, 05]
-120CE; [7C D0 B5, 05, 05]
+120CE; [7C D1 B5, 05, 05]
-120CF; [7C D0 BC, 05, 05]
+120CF; [7C D1 BC, 05, 05]
-120D0; [7C D0 C3, 05, 05]
+120D0; [7C D1 C3, 05, 05]
-120D1; [7C D0 CA, 05, 05]
+120D1; [7C D1 CA, 05, 05]
-120D2; [7C D0 D1, 05, 05]
+120D2; [7C D1 D1, 05, 05]
-120D3; [7C D0 D8, 05, 05]
+120D3; [7C D1 D8, 05, 05]
-120D4; [7C D0 DF, 05, 05]
+120D4; [7C D1 DF, 05, 05]
-120D5; [7C D0 E6, 05, 05]
+120D5; [7C D1 E6, 05, 05]
-120D6; [7C D0 ED, 05, 05]
+120D6; [7C D1 ED, 05, 05]
-120D7; [7C D0 F4, 05, 05]
+120D7; [7C D1 F4, 05, 05]
-120D8; [7C D0 FB, 05, 05]
+120D8; [7C D1 FB, 05, 05]
-120D9; [7C D1 04, 05, 05]
+120D9; [7C D2 04, 05, 05]
-120DA; [7C D1 0B, 05, 05]
+120DA; [7C D2 0B, 05, 05]
-120DB; [7C D1 12, 05, 05]
+120DB; [7C D2 12, 05, 05]
-120DC; [7C D1 19, 05, 05]
+120DC; [7C D2 19, 05, 05]
-120DD; [7C D1 20, 05, 05]
+120DD; [7C D2 20, 05, 05]
-120DE; [7C D1 27, 05, 05]
+120DE; [7C D2 27, 05, 05]
-120DF; [7C D1 2E, 05, 05]
+120DF; [7C D2 2E, 05, 05]
-120E0; [7C D1 35, 05, 05]
+120E0; [7C D2 35, 05, 05]
-120E1; [7C D1 3C, 05, 05]
+120E1; [7C D2 3C, 05, 05]
-120E2; [7C D1 43, 05, 05]
+120E2; [7C D2 43, 05, 05]
-120E3; [7C D1 4A, 05, 05]
+120E3; [7C D2 4A, 05, 05]
-120E4; [7C D1 51, 05, 05]
+120E4; [7C D2 51, 05, 05]
-120E5; [7C D1 58, 05, 05]
+120E5; [7C D2 58, 05, 05]
-120E6; [7C D1 5F, 05, 05]
+120E6; [7C D2 5F, 05, 05]
-120E7; [7C D1 66, 05, 05]
+120E7; [7C D2 66, 05, 05]
-120E8; [7C D1 6D, 05, 05]
+120E8; [7C D2 6D, 05, 05]
-120E9; [7C D1 74, 05, 05]
+120E9; [7C D2 74, 05, 05]
-120EA; [7C D1 7B, 05, 05]
+120EA; [7C D2 7B, 05, 05]
-120EB; [7C D1 82, 05, 05]
+120EB; [7C D2 82, 05, 05]
-120EC; [7C D1 89, 05, 05]
+120EC; [7C D2 89, 05, 05]
-120ED; [7C D1 90, 05, 05]
+120ED; [7C D2 90, 05, 05]
-120EE; [7C D1 97, 05, 05]
+120EE; [7C D2 97, 05, 05]
-120EF; [7C D1 9E, 05, 05]
+120EF; [7C D2 9E, 05, 05]
-120F0; [7C D1 A5, 05, 05]
+120F0; [7C D2 A5, 05, 05]
-120F1; [7C D1 AC, 05, 05]
+120F1; [7C D2 AC, 05, 05]
-120F2; [7C D1 B3, 05, 05]
+120F2; [7C D2 B3, 05, 05]
-120F3; [7C D1 BA, 05, 05]
+120F3; [7C D2 BA, 05, 05]
-120F4; [7C D1 C1, 05, 05]
+120F4; [7C D2 C1, 05, 05]
-120F5; [7C D1 C8, 05, 05]
+120F5; [7C D2 C8, 05, 05]
-120F6; [7C D1 CF, 05, 05]
+120F6; [7C D2 CF, 05, 05]
-120F7; [7C D1 D6, 05, 05]
+120F7; [7C D2 D6, 05, 05]
-120F8; [7C D1 DD, 05, 05]
+120F8; [7C D2 DD, 05, 05]
-120F9; [7C D1 E4, 05, 05]
+120F9; [7C D2 E4, 05, 05]
-120FA; [7C D1 EB, 05, 05]
+120FA; [7C D2 EB, 05, 05]
-120FB; [7C D1 F2, 05, 05]
+120FB; [7C D2 F2, 05, 05]
-120FC; [7C D1 F9, 05, 05]
+120FC; [7C D2 F9, 05, 05]
-120FD; [7C D2 02, 05, 05]
+120FD; [7C D3 02, 05, 05]
-120FE; [7C D2 09, 05, 05]
+120FE; [7C D3 09, 05, 05]
-120FF; [7C D2 10, 05, 05]
+120FF; [7C D3 10, 05, 05]
-12100; [7C D2 17, 05, 05]
+12100; [7C D3 17, 05, 05]
-12101; [7C D2 1E, 05, 05]
+12101; [7C D3 1E, 05, 05]
-12102; [7C D2 25, 05, 05]
+12102; [7C D3 25, 05, 05]
-12103; [7C D2 2C, 05, 05]
+12103; [7C D3 2C, 05, 05]
-12104; [7C D2 33, 05, 05]
+12104; [7C D3 33, 05, 05]
-12105; [7C D2 3A, 05, 05]
+12105; [7C D3 3A, 05, 05]
-12106; [7C D2 41, 05, 05]
+12106; [7C D3 41, 05, 05]
-12107; [7C D2 48, 05, 05]
+12107; [7C D3 48, 05, 05]
-12108; [7C D2 4F, 05, 05]
+12108; [7C D3 4F, 05, 05]
-12109; [7C D2 56, 05, 05]
+12109; [7C D3 56, 05, 05]
-1210A; [7C D2 5D, 05, 05]
+1210A; [7C D3 5D, 05, 05]
-1210B; [7C D2 64, 05, 05]
+1210B; [7C D3 64, 05, 05]
-1210C; [7C D2 6B, 05, 05]
+1210C; [7C D3 6B, 05, 05]
-1210D; [7C D2 72, 05, 05]
+1210D; [7C D3 72, 05, 05]
-1210E; [7C D2 79, 05, 05]
+1210E; [7C D3 79, 05, 05]
-1210F; [7C D2 80, 05, 05]
+1210F; [7C D3 80, 05, 05]
-12110; [7C D2 87, 05, 05]
+12110; [7C D3 87, 05, 05]
-12111; [7C D2 8E, 05, 05]
+12111; [7C D3 8E, 05, 05]
-12112; [7C D2 95, 05, 05]
+12112; [7C D3 95, 05, 05]
-12113; [7C D2 9C, 05, 05]
+12113; [7C D3 9C, 05, 05]
-12114; [7C D2 A3, 05, 05]
+12114; [7C D3 A3, 05, 05]
-12115; [7C D2 AA, 05, 05]
+12115; [7C D3 AA, 05, 05]
-12116; [7C D2 B1, 05, 05]
+12116; [7C D3 B1, 05, 05]
-12117; [7C D2 B8, 05, 05]
+12117; [7C D3 B8, 05, 05]
-12118; [7C D2 BF, 05, 05]
+12118; [7C D3 BF, 05, 05]
-12119; [7C D2 C6, 05, 05]
+12119; [7C D3 C6, 05, 05]
-1211A; [7C D2 CD, 05, 05]
+1211A; [7C D3 CD, 05, 05]
-1211B; [7C D2 D4, 05, 05]
+1211B; [7C D3 D4, 05, 05]
-1211C; [7C D2 DB, 05, 05]
+1211C; [7C D3 DB, 05, 05]
-1211D; [7C D2 E2, 05, 05]
+1211D; [7C D3 E2, 05, 05]
-1211E; [7C D2 E9, 05, 05]
+1211E; [7C D3 E9, 05, 05]
-1211F; [7C D2 F0, 05, 05]
+1211F; [7C D3 F0, 05, 05]
-12120; [7C D2 F7, 05, 05]
+12120; [7C D3 F7, 05, 05]
-12121; [7C D2 FE, 05, 05]
+12121; [7C D3 FE, 05, 05]
-12122; [7C D3 07, 05, 05]
+12122; [7C D4 07, 05, 05]
-12123; [7C D3 0E, 05, 05]
+12123; [7C D4 0E, 05, 05]
-12124; [7C D3 15, 05, 05]
+12124; [7C D4 15, 05, 05]
-12125; [7C D3 1C, 05, 05]
+12125; [7C D4 1C, 05, 05]
-12126; [7C D3 23, 05, 05]
+12126; [7C D4 23, 05, 05]
-12127; [7C D3 2A, 05, 05]
+12127; [7C D4 2A, 05, 05]
-12128; [7C D3 31, 05, 05]
+12128; [7C D4 31, 05, 05]
-12129; [7C D3 38, 05, 05]
+12129; [7C D4 38, 05, 05]
-1212A; [7C D3 3F, 05, 05]
+1212A; [7C D4 3F, 05, 05]
-1212B; [7C D3 46, 05, 05]
+1212B; [7C D4 46, 05, 05]
-1212C; [7C D3 4D, 05, 05]
+1212C; [7C D4 4D, 05, 05]
-1212D; [7C D3 54, 05, 05]
+1212D; [7C D4 54, 05, 05]
-1212E; [7C D3 5B, 05, 05]
+1212E; [7C D4 5B, 05, 05]
-1212F; [7C D3 62, 05, 05]
+1212F; [7C D4 62, 05, 05]
-12130; [7C D3 69, 05, 05]
+12130; [7C D4 69, 05, 05]
-12131; [7C D3 70, 05, 05]
+12131; [7C D4 70, 05, 05]
-12132; [7C D3 77, 05, 05]
+12132; [7C D4 77, 05, 05]
-12133; [7C D3 7E, 05, 05]
+12133; [7C D4 7E, 05, 05]
-12134; [7C D3 85, 05, 05]
+12134; [7C D4 85, 05, 05]
-12135; [7C D3 8C, 05, 05]
+12135; [7C D4 8C, 05, 05]
-12136; [7C D3 93, 05, 05]
+12136; [7C D4 93, 05, 05]
-12137; [7C D3 9A, 05, 05]
+12137; [7C D4 9A, 05, 05]
-12138; [7C D3 A1, 05, 05]
+12138; [7C D4 A1, 05, 05]
-12139; [7C D3 A8, 05, 05]
+12139; [7C D4 A8, 05, 05]
-1213A; [7C D3 AF, 05, 05]
+1213A; [7C D4 AF, 05, 05]
-1213B; [7C D3 B6, 05, 05]
+1213B; [7C D4 B6, 05, 05]
-1213C; [7C D3 BD, 05, 05]
+1213C; [7C D4 BD, 05, 05]
-1213D; [7C D3 C4, 05, 05]
+1213D; [7C D4 C4, 05, 05]
-1213E; [7C D3 CB, 05, 05]
+1213E; [7C D4 CB, 05, 05]
-1213F; [7C D3 D2, 05, 05]
+1213F; [7C D4 D2, 05, 05]
-12140; [7C D3 D9, 05, 05]
+12140; [7C D4 D9, 05, 05]
-12141; [7C D3 E0, 05, 05]
+12141; [7C D4 E0, 05, 05]
-12142; [7C D3 E7, 05, 05]
+12142; [7C D4 E7, 05, 05]
-12143; [7C D3 EE, 05, 05]
+12143; [7C D4 EE, 05, 05]
-12144; [7C D3 F5, 05, 05]
+12144; [7C D4 F5, 05, 05]
-12145; [7C D3 FC, 05, 05]
+12145; [7C D4 FC, 05, 05]
-12146; [7C D4 05, 05, 05]
+12146; [7C D5 05, 05, 05]
-12147; [7C D4 0C, 05, 05]
+12147; [7C D5 0C, 05, 05]
-12148; [7C D4 13, 05, 05]
+12148; [7C D5 13, 05, 05]
-12149; [7C D4 1A, 05, 05]
+12149; [7C D5 1A, 05, 05]
-1214A; [7C D4 21, 05, 05]
+1214A; [7C D5 21, 05, 05]
-1214B; [7C D4 28, 05, 05]
+1214B; [7C D5 28, 05, 05]
-1214C; [7C D4 2F, 05, 05]
+1214C; [7C D5 2F, 05, 05]
-1214D; [7C D4 36, 05, 05]
+1214D; [7C D5 36, 05, 05]
-1214E; [7C D4 3D, 05, 05]
+1214E; [7C D5 3D, 05, 05]
-1214F; [7C D4 44, 05, 05]
+1214F; [7C D5 44, 05, 05]
-12150; [7C D4 4B, 05, 05]
+12150; [7C D5 4B, 05, 05]
-12151; [7C D4 52, 05, 05]
+12151; [7C D5 52, 05, 05]
-12152; [7C D4 59, 05, 05]
+12152; [7C D5 59, 05, 05]
-12153; [7C D4 60, 05, 05]
+12153; [7C D5 60, 05, 05]
-12154; [7C D4 67, 05, 05]
+12154; [7C D5 67, 05, 05]
-12155; [7C D4 6E, 05, 05]
+12155; [7C D5 6E, 05, 05]
-12156; [7C D4 75, 05, 05]
+12156; [7C D5 75, 05, 05]
-12157; [7C D4 7C, 05, 05]
+12157; [7C D5 7C, 05, 05]
-12158; [7C D4 83, 05, 05]
+12158; [7C D5 83, 05, 05]
-12159; [7C D4 8A, 05, 05]
+12159; [7C D5 8A, 05, 05]
-1215A; [7C D4 91, 05, 05]
+1215A; [7C D5 91, 05, 05]
-1215B; [7C D4 98, 05, 05]
+1215B; [7C D5 98, 05, 05]
-1215C; [7C D4 9F, 05, 05]
+1215C; [7C D5 9F, 05, 05]
-1215D; [7C D4 A6, 05, 05]
+1215D; [7C D5 A6, 05, 05]
-1215E; [7C D4 AD, 05, 05]
+1215E; [7C D5 AD, 05, 05]
-1215F; [7C D4 B4, 05, 05]
+1215F; [7C D5 B4, 05, 05]
-12160; [7C D4 BB, 05, 05]
+12160; [7C D5 BB, 05, 05]
-12161; [7C D4 C2, 05, 05]
+12161; [7C D5 C2, 05, 05]
-12162; [7C D4 C9, 05, 05]
+12162; [7C D5 C9, 05, 05]
-12163; [7C D4 D0, 05, 05]
+12163; [7C D5 D0, 05, 05]
-12164; [7C D4 D7, 05, 05]
+12164; [7C D5 D7, 05, 05]
-12165; [7C D4 DE, 05, 05]
+12165; [7C D5 DE, 05, 05]
-12166; [7C D4 E5, 05, 05]
+12166; [7C D5 E5, 05, 05]
-12167; [7C D4 EC, 05, 05]
+12167; [7C D5 EC, 05, 05]
-12168; [7C D4 F3, 05, 05]
+12168; [7C D5 F3, 05, 05]
-12169; [7C D4 FA, 05, 05]
+12169; [7C D5 FA, 05, 05]
-1216A; [7C D5 03, 05, 05]
+1216A; [7C D6 03, 05, 05]
-1216B; [7C D5 0A, 05, 05]
+1216B; [7C D6 0A, 05, 05]
-1216C; [7C D5 11, 05, 05]
+1216C; [7C D6 11, 05, 05]
-1216D; [7C D5 18, 05, 05]
+1216D; [7C D6 18, 05, 05]
-1216E; [7C D5 1F, 05, 05]
+1216E; [7C D6 1F, 05, 05]
-1216F; [7C D5 26, 05, 05]
+1216F; [7C D6 26, 05, 05]
-12170; [7C D5 2D, 05, 05]
+12170; [7C D6 2D, 05, 05]
-12171; [7C D5 34, 05, 05]
+12171; [7C D6 34, 05, 05]
-12172; [7C D5 3B, 05, 05]
+12172; [7C D6 3B, 05, 05]
-12173; [7C D5 42, 05, 05]
+12173; [7C D6 42, 05, 05]
-12174; [7C D5 49, 05, 05]
+12174; [7C D6 49, 05, 05]
-12175; [7C D5 50, 05, 05]
+12175; [7C D6 50, 05, 05]
-12176; [7C D5 57, 05, 05]
+12176; [7C D6 57, 05, 05]
-12177; [7C D5 5E, 05, 05]
+12177; [7C D6 5E, 05, 05]
-12178; [7C D5 65, 05, 05]
+12178; [7C D6 65, 05, 05]
-12179; [7C D5 6C, 05, 05]
+12179; [7C D6 6C, 05, 05]
-1217A; [7C D5 73, 05, 05]
+1217A; [7C D6 73, 05, 05]
-1217B; [7C D5 7A, 05, 05]
+1217B; [7C D6 7A, 05, 05]
-1217C; [7C D5 81, 05, 05]
+1217C; [7C D6 81, 05, 05]
-1217D; [7C D5 88, 05, 05]
+1217D; [7C D6 88, 05, 05]
-1217E; [7C D5 8F, 05, 05]
+1217E; [7C D6 8F, 05, 05]
-1217F; [7C D5 96, 05, 05]
+1217F; [7C D6 96, 05, 05]
-12180; [7C D5 9D, 05, 05]
+12180; [7C D6 9D, 05, 05]
-12181; [7C D5 A4, 05, 05]
+12181; [7C D6 A4, 05, 05]
-12182; [7C D5 AB, 05, 05]
+12182; [7C D6 AB, 05, 05]
-12183; [7C D5 B2, 05, 05]
+12183; [7C D6 B2, 05, 05]
-12184; [7C D5 B9, 05, 05]
+12184; [7C D6 B9, 05, 05]
-12185; [7C D5 C0, 05, 05]
+12185; [7C D6 C0, 05, 05]
-12186; [7C D5 C7, 05, 05]
+12186; [7C D6 C7, 05, 05]
-12187; [7C D5 CE, 05, 05]
+12187; [7C D6 CE, 05, 05]
-12188; [7C D5 D5, 05, 05]
+12188; [7C D6 D5, 05, 05]
-12189; [7C D5 DC, 05, 05]
+12189; [7C D6 DC, 05, 05]
-1218A; [7C D5 E3, 05, 05]
+1218A; [7C D6 E3, 05, 05]
-1218B; [7C D5 EA, 05, 05]
+1218B; [7C D6 EA, 05, 05]
-1218C; [7C D5 F1, 05, 05]
+1218C; [7C D6 F1, 05, 05]
-1218D; [7C D5 F8, 05, 05]
+1218D; [7C D6 F8, 05, 05]
-1218E; [7C D5 FF, 05, 05]
+1218E; [7C D6 FF, 05, 05]
-1218F; [7C D6 08, 05, 05]
+1218F; [7C D7 08, 05, 05]
-12190; [7C D6 0F, 05, 05]
+12190; [7C D7 0F, 05, 05]
-12191; [7C D6 16, 05, 05]
+12191; [7C D7 16, 05, 05]
-12192; [7C D6 1D, 05, 05]
+12192; [7C D7 1D, 05, 05]
-12193; [7C D6 24, 05, 05]
+12193; [7C D7 24, 05, 05]
-12194; [7C D6 2B, 05, 05]
+12194; [7C D7 2B, 05, 05]
-12195; [7C D6 32, 05, 05]
+12195; [7C D7 32, 05, 05]
-12196; [7C D6 39, 05, 05]
+12196; [7C D7 39, 05, 05]
-12197; [7C D6 40, 05, 05]
+12197; [7C D7 40, 05, 05]
-12198; [7C D6 47, 05, 05]
+12198; [7C D7 47, 05, 05]
-12199; [7C D6 4E, 05, 05]
+12199; [7C D7 4E, 05, 05]
-1219A; [7C D6 55, 05, 05]
+1219A; [7C D7 55, 05, 05]
-1219B; [7C D6 5C, 05, 05]
+1219B; [7C D7 5C, 05, 05]
-1219C; [7C D6 63, 05, 05]
+1219C; [7C D7 63, 05, 05]
-1219D; [7C D6 6A, 05, 05]
+1219D; [7C D7 6A, 05, 05]
-1219E; [7C D6 71, 05, 05]
+1219E; [7C D7 71, 05, 05]
-1219F; [7C D6 78, 05, 05]
+1219F; [7C D7 78, 05, 05]
-121A0; [7C D6 7F, 05, 05]
+121A0; [7C D7 7F, 05, 05]
-121A1; [7C D6 86, 05, 05]
+121A1; [7C D7 86, 05, 05]
-121A2; [7C D6 8D, 05, 05]
+121A2; [7C D7 8D, 05, 05]
-121A3; [7C D6 94, 05, 05]
+121A3; [7C D7 94, 05, 05]
-121A4; [7C D6 9B, 05, 05]
+121A4; [7C D7 9B, 05, 05]
-121A5; [7C D6 A2, 05, 05]
+121A5; [7C D7 A2, 05, 05]
-121A6; [7C D6 A9, 05, 05]
+121A6; [7C D7 A9, 05, 05]
-121A7; [7C D6 B0, 05, 05]
+121A7; [7C D7 B0, 05, 05]
-121A8; [7C D6 B7, 05, 05]
+121A8; [7C D7 B7, 05, 05]
-121A9; [7C D6 BE, 05, 05]
+121A9; [7C D7 BE, 05, 05]
-121AA; [7C D6 C5, 05, 05]
+121AA; [7C D7 C5, 05, 05]
-121AB; [7C D6 CC, 05, 05]
+121AB; [7C D7 CC, 05, 05]
-121AC; [7C D6 D3, 05, 05]
+121AC; [7C D7 D3, 05, 05]
-121AD; [7C D6 DA, 05, 05]
+121AD; [7C D7 DA, 05, 05]
-121AE; [7C D6 E1, 05, 05]
+121AE; [7C D7 E1, 05, 05]
-121AF; [7C D6 E8, 05, 05]
+121AF; [7C D7 E8, 05, 05]
-121B0; [7C D6 EF, 05, 05]
+121B0; [7C D7 EF, 05, 05]
-121B1; [7C D6 F6, 05, 05]
+121B1; [7C D7 F6, 05, 05]
-121B2; [7C D6 FD, 05, 05]
+121B2; [7C D7 FD, 05, 05]
-121B3; [7C D7 06, 05, 05]
+121B3; [7C D8 06, 05, 05]
-121B4; [7C D7 0D, 05, 05]
+121B4; [7C D8 0D, 05, 05]
-121B5; [7C D7 14, 05, 05]
+121B5; [7C D8 14, 05, 05]
-121B6; [7C D7 1B, 05, 05]
+121B6; [7C D8 1B, 05, 05]
-121B7; [7C D7 22, 05, 05]
+121B7; [7C D8 22, 05, 05]
-121B8; [7C D7 29, 05, 05]
+121B8; [7C D8 29, 05, 05]
-121B9; [7C D7 30, 05, 05]
+121B9; [7C D8 30, 05, 05]
-121BA; [7C D7 37, 05, 05]
+121BA; [7C D8 37, 05, 05]
-121BB; [7C D7 3E, 05, 05]
+121BB; [7C D8 3E, 05, 05]
-121BC; [7C D7 45, 05, 05]
+121BC; [7C D8 45, 05, 05]
-121BD; [7C D7 4C, 05, 05]
+121BD; [7C D8 4C, 05, 05]
-121BE; [7C D7 53, 05, 05]
+121BE; [7C D8 53, 05, 05]
-121BF; [7C D7 5A, 05, 05]
+121BF; [7C D8 5A, 05, 05]
-121C0; [7C D7 61, 05, 05]
+121C0; [7C D8 61, 05, 05]
-121C1; [7C D7 68, 05, 05]
+121C1; [7C D8 68, 05, 05]
-121C2; [7C D7 6F, 05, 05]
+121C2; [7C D8 6F, 05, 05]
-121C3; [7C D7 76, 05, 05]
+121C3; [7C D8 76, 05, 05]
-121C4; [7C D7 7D, 05, 05]
+121C4; [7C D8 7D, 05, 05]
-121C5; [7C D7 84, 05, 05]
+121C5; [7C D8 84, 05, 05]
-121C6; [7C D7 8B, 05, 05]
+121C6; [7C D8 8B, 05, 05]
-121C7; [7C D7 92, 05, 05]
+121C7; [7C D8 92, 05, 05]
-121C8; [7C D7 99, 05, 05]
+121C8; [7C D8 99, 05, 05]
-121C9; [7C D7 A0, 05, 05]
+121C9; [7C D8 A0, 05, 05]
-121CA; [7C D7 A7, 05, 05]
+121CA; [7C D8 A7, 05, 05]
-121CB; [7C D7 AE, 05, 05]
+121CB; [7C D8 AE, 05, 05]
-121CC; [7C D7 B5, 05, 05]
+121CC; [7C D8 B5, 05, 05]
-121CD; [7C D7 BC, 05, 05]
+121CD; [7C D8 BC, 05, 05]
-121CE; [7C D7 C3, 05, 05]
+121CE; [7C D8 C3, 05, 05]
-121CF; [7C D7 CA, 05, 05]
+121CF; [7C D8 CA, 05, 05]
-121D0; [7C D7 D1, 05, 05]
+121D0; [7C D8 D1, 05, 05]
-121D1; [7C D7 D8, 05, 05]
+121D1; [7C D8 D8, 05, 05]
-121D2; [7C D7 DF, 05, 05]
+121D2; [7C D8 DF, 05, 05]
-121D3; [7C D7 E6, 05, 05]
+121D3; [7C D8 E6, 05, 05]
-121D4; [7C D7 ED, 05, 05]
+121D4; [7C D8 ED, 05, 05]
-121D5; [7C D7 F4, 05, 05]
+121D5; [7C D8 F4, 05, 05]
-121D6; [7C D7 FB, 05, 05]
+121D6; [7C D8 FB, 05, 05]
-121D7; [7C D8 04, 05, 05]
+121D7; [7C D9 04, 05, 05]
-121D8; [7C D8 0B, 05, 05]
+121D8; [7C D9 0B, 05, 05]
-121D9; [7C D8 12, 05, 05]
+121D9; [7C D9 12, 05, 05]
-121DA; [7C D8 19, 05, 05]
+121DA; [7C D9 19, 05, 05]
-121DB; [7C D8 20, 05, 05]
+121DB; [7C D9 20, 05, 05]
-121DC; [7C D8 27, 05, 05]
+121DC; [7C D9 27, 05, 05]
-121DD; [7C D8 2E, 05, 05]
+121DD; [7C D9 2E, 05, 05]
-121DE; [7C D8 35, 05, 05]
+121DE; [7C D9 35, 05, 05]
-121DF; [7C D8 3C, 05, 05]
+121DF; [7C D9 3C, 05, 05]
-121E0; [7C D8 43, 05, 05]
+121E0; [7C D9 43, 05, 05]
-121E1; [7C D8 4A, 05, 05]
+121E1; [7C D9 4A, 05, 05]
-121E2; [7C D8 51, 05, 05]
+121E2; [7C D9 51, 05, 05]
-121E3; [7C D8 58, 05, 05]
+121E3; [7C D9 58, 05, 05]
-121E4; [7C D8 5F, 05, 05]
+121E4; [7C D9 5F, 05, 05]
-121E5; [7C D8 66, 05, 05]
+121E5; [7C D9 66, 05, 05]
-121E6; [7C D8 6D, 05, 05]
+121E6; [7C D9 6D, 05, 05]
-121E7; [7C D8 74, 05, 05]
+121E7; [7C D9 74, 05, 05]
-121E8; [7C D8 7B, 05, 05]
+121E8; [7C D9 7B, 05, 05]
-121E9; [7C D8 82, 05, 05]
+121E9; [7C D9 82, 05, 05]
-121EA; [7C D8 89, 05, 05]
+121EA; [7C D9 89, 05, 05]
-121EB; [7C D8 90, 05, 05]
+121EB; [7C D9 90, 05, 05]
-121EC; [7C D8 97, 05, 05]
+121EC; [7C D9 97, 05, 05]
-121ED; [7C D8 9E, 05, 05]
+121ED; [7C D9 9E, 05, 05]
-121EE; [7C D8 A5, 05, 05]
+121EE; [7C D9 A5, 05, 05]
-121EF; [7C D8 AC, 05, 05]
+121EF; [7C D9 AC, 05, 05]
-121F0; [7C D8 B3, 05, 05]
+121F0; [7C D9 B3, 05, 05]
-121F1; [7C D8 BA, 05, 05]
+121F1; [7C D9 BA, 05, 05]
-121F2; [7C D8 C1, 05, 05]
+121F2; [7C D9 C1, 05, 05]
-121F3; [7C D8 C8, 05, 05]
+121F3; [7C D9 C8, 05, 05]
-121F4; [7C D8 CF, 05, 05]
+121F4; [7C D9 CF, 05, 05]
-121F5; [7C D8 D6, 05, 05]
+121F5; [7C D9 D6, 05, 05]
-121F6; [7C D8 DD, 05, 05]
+121F6; [7C D9 DD, 05, 05]
-121F7; [7C D8 E4, 05, 05]
+121F7; [7C D9 E4, 05, 05]
-121F8; [7C D8 EB, 05, 05]
+121F8; [7C D9 EB, 05, 05]
-121F9; [7C D8 F2, 05, 05]
+121F9; [7C D9 F2, 05, 05]
-121FA; [7C D8 F9, 05, 05]
+121FA; [7C D9 F9, 05, 05]
-121FB; [7C D9 02, 05, 05]
+121FB; [7C DA 02, 05, 05]
-121FC; [7C D9 09, 05, 05]
+121FC; [7C DA 09, 05, 05]
-121FD; [7C D9 10, 05, 05]
+121FD; [7C DA 10, 05, 05]
-121FE; [7C D9 17, 05, 05]
+121FE; [7C DA 17, 05, 05]
-121FF; [7C D9 1E, 05, 05]
+121FF; [7C DA 1E, 05, 05]
-12200; [7C D9 25, 05, 05]
+12200; [7C DA 25, 05, 05]
-12201; [7C D9 2C, 05, 05]
+12201; [7C DA 2C, 05, 05]
-12202; [7C D9 33, 05, 05]
+12202; [7C DA 33, 05, 05]
-12203; [7C D9 3A, 05, 05]
+12203; [7C DA 3A, 05, 05]
-12204; [7C D9 41, 05, 05]
+12204; [7C DA 41, 05, 05]
-12205; [7C D9 48, 05, 05]
+12205; [7C DA 48, 05, 05]
-12206; [7C D9 4F, 05, 05]
+12206; [7C DA 4F, 05, 05]
-12207; [7C D9 56, 05, 05]
+12207; [7C DA 56, 05, 05]
-12208; [7C D9 5D, 05, 05]
+12208; [7C DA 5D, 05, 05]
-12209; [7C D9 64, 05, 05]
+12209; [7C DA 64, 05, 05]
-1220A; [7C D9 6B, 05, 05]
+1220A; [7C DA 6B, 05, 05]
-1220B; [7C D9 72, 05, 05]
+1220B; [7C DA 72, 05, 05]
-1220C; [7C D9 79, 05, 05]
+1220C; [7C DA 79, 05, 05]
-1220D; [7C D9 80, 05, 05]
+1220D; [7C DA 80, 05, 05]
-1220E; [7C D9 87, 05, 05]
+1220E; [7C DA 87, 05, 05]
-1220F; [7C D9 8E, 05, 05]
+1220F; [7C DA 8E, 05, 05]
-12210; [7C D9 95, 05, 05]
+12210; [7C DA 95, 05, 05]
-12211; [7C D9 9C, 05, 05]
+12211; [7C DA 9C, 05, 05]
-12212; [7C D9 A3, 05, 05]
+12212; [7C DA A3, 05, 05]
-12213; [7C D9 AA, 05, 05]
+12213; [7C DA AA, 05, 05]
-12214; [7C D9 B1, 05, 05]
+12214; [7C DA B1, 05, 05]
-12215; [7C D9 B8, 05, 05]
+12215; [7C DA B8, 05, 05]
-12216; [7C D9 BF, 05, 05]
+12216; [7C DA BF, 05, 05]
-12217; [7C D9 C6, 05, 05]
+12217; [7C DA C6, 05, 05]
-12218; [7C D9 CD, 05, 05]
+12218; [7C DA CD, 05, 05]
-12219; [7C D9 D4, 05, 05]
+12219; [7C DA D4, 05, 05]
-1221A; [7C D9 DB, 05, 05]
+1221A; [7C DA DB, 05, 05]
-1221B; [7C D9 E2, 05, 05]
+1221B; [7C DA E2, 05, 05]
-1221C; [7C D9 E9, 05, 05]
+1221C; [7C DA E9, 05, 05]
-1221D; [7C D9 F0, 05, 05]
+1221D; [7C DA F0, 05, 05]
-1221E; [7C D9 F7, 05, 05]
+1221E; [7C DA F7, 05, 05]
-1221F; [7C D9 FE, 05, 05]
+1221F; [7C DA FE, 05, 05]
-12220; [7C DA 07, 05, 05]
+12220; [7C DB 07, 05, 05]
-12221; [7C DA 0E, 05, 05]
+12221; [7C DB 0E, 05, 05]
-12222; [7C DA 15, 05, 05]
+12222; [7C DB 15, 05, 05]
-12223; [7C DA 1C, 05, 05]
+12223; [7C DB 1C, 05, 05]
-12224; [7C DA 23, 05, 05]
+12224; [7C DB 23, 05, 05]
-12225; [7C DA 2A, 05, 05]
+12225; [7C DB 2A, 05, 05]
-12226; [7C DA 31, 05, 05]
+12226; [7C DB 31, 05, 05]
-12227; [7C DA 38, 05, 05]
+12227; [7C DB 38, 05, 05]
-12228; [7C DA 3F, 05, 05]
+12228; [7C DB 3F, 05, 05]
-12229; [7C DA 46, 05, 05]
+12229; [7C DB 46, 05, 05]
-1222A; [7C DA 4D, 05, 05]
+1222A; [7C DB 4D, 05, 05]
-1222B; [7C DA 54, 05, 05]
+1222B; [7C DB 54, 05, 05]
-1222C; [7C DA 5B, 05, 05]
+1222C; [7C DB 5B, 05, 05]
-1222D; [7C DA 62, 05, 05]
+1222D; [7C DB 62, 05, 05]
-1222E; [7C DA 69, 05, 05]
+1222E; [7C DB 69, 05, 05]
-1222F; [7C DA 70, 05, 05]
+1222F; [7C DB 70, 05, 05]
-12230; [7C DA 77, 05, 05]
+12230; [7C DB 77, 05, 05]
-12231; [7C DA 7E, 05, 05]
+12231; [7C DB 7E, 05, 05]
-12232; [7C DA 85, 05, 05]
+12232; [7C DB 85, 05, 05]
-12233; [7C DA 8C, 05, 05]
+12233; [7C DB 8C, 05, 05]
-12234; [7C DA 93, 05, 05]
+12234; [7C DB 93, 05, 05]
-12235; [7C DA 9A, 05, 05]
+12235; [7C DB 9A, 05, 05]
-12236; [7C DA A1, 05, 05]
+12236; [7C DB A1, 05, 05]
-12237; [7C DA A8, 05, 05]
+12237; [7C DB A8, 05, 05]
-12238; [7C DA AF, 05, 05]
+12238; [7C DB AF, 05, 05]
-12239; [7C DA B6, 05, 05]
+12239; [7C DB B6, 05, 05]
-1223A; [7C DA BD, 05, 05]
+1223A; [7C DB BD, 05, 05]
-1223B; [7C DA C4, 05, 05]
+1223B; [7C DB C4, 05, 05]
-1223C; [7C DA CB, 05, 05]
+1223C; [7C DB CB, 05, 05]
-1223D; [7C DA D2, 05, 05]
+1223D; [7C DB D2, 05, 05]
-1223E; [7C DA D9, 05, 05]
+1223E; [7C DB D9, 05, 05]
-1223F; [7C DA E0, 05, 05]
+1223F; [7C DB E0, 05, 05]
-12240; [7C DA E7, 05, 05]
+12240; [7C DB E7, 05, 05]
-12241; [7C DA EE, 05, 05]
+12241; [7C DB EE, 05, 05]
-12242; [7C DA F5, 05, 05]
+12242; [7C DB F5, 05, 05]
-12243; [7C DA FC, 05, 05]
+12243; [7C DB FC, 05, 05]
-12244; [7C DB 05, 05, 05]
+12244; [7C DC 05, 05, 05]
-12245; [7C DB 0C, 05, 05]
+12245; [7C DC 0C, 05, 05]
-12246; [7C DB 13, 05, 05]
+12246; [7C DC 13, 05, 05]
-12247; [7C DB 1A, 05, 05]
+12247; [7C DC 1A, 05, 05]
-12248; [7C DB 21, 05, 05]
+12248; [7C DC 21, 05, 05]
-12249; [7C DB 28, 05, 05]
+12249; [7C DC 28, 05, 05]
-1224A; [7C DB 2F, 05, 05]
+1224A; [7C DC 2F, 05, 05]
-1224B; [7C DB 36, 05, 05]
+1224B; [7C DC 36, 05, 05]
-1224C; [7C DB 3D, 05, 05]
+1224C; [7C DC 3D, 05, 05]
-1224D; [7C DB 44, 05, 05]
+1224D; [7C DC 44, 05, 05]
-1224E; [7C DB 4B, 05, 05]
+1224E; [7C DC 4B, 05, 05]
-1224F; [7C DB 52, 05, 05]
+1224F; [7C DC 52, 05, 05]
-12250; [7C DB 59, 05, 05]
+12250; [7C DC 59, 05, 05]
-12251; [7C DB 60, 05, 05]
+12251; [7C DC 60, 05, 05]
-12252; [7C DB 67, 05, 05]
+12252; [7C DC 67, 05, 05]
-12253; [7C DB 6E, 05, 05]
+12253; [7C DC 6E, 05, 05]
-12254; [7C DB 75, 05, 05]
+12254; [7C DC 75, 05, 05]
-12255; [7C DB 7C, 05, 05]
+12255; [7C DC 7C, 05, 05]
-12256; [7C DB 83, 05, 05]
+12256; [7C DC 83, 05, 05]
-12257; [7C DB 8A, 05, 05]
+12257; [7C DC 8A, 05, 05]
-12258; [7C DB 91, 05, 05]
+12258; [7C DC 91, 05, 05]
-12259; [7C DB 98, 05, 05]
+12259; [7C DC 98, 05, 05]
-1225A; [7C DB 9F, 05, 05]
+1225A; [7C DC 9F, 05, 05]
-1225B; [7C DB A6, 05, 05]
+1225B; [7C DC A6, 05, 05]
-1225C; [7C DB AD, 05, 05]
+1225C; [7C DC AD, 05, 05]
-1225D; [7C DB B4, 05, 05]
+1225D; [7C DC B4, 05, 05]
-1225E; [7C DB BB, 05, 05]
+1225E; [7C DC BB, 05, 05]
-1225F; [7C DB C2, 05, 05]
+1225F; [7C DC C2, 05, 05]
-12260; [7C DB C9, 05, 05]
+12260; [7C DC C9, 05, 05]
-12261; [7C DB D0, 05, 05]
+12261; [7C DC D0, 05, 05]
-12262; [7C DB D7, 05, 05]
+12262; [7C DC D7, 05, 05]
-122D4; [7C DB DE, 05, 05]
+122D4; [7C DC DE, 05, 05]
-122D5; [7C DB E5, 05, 05]
+122D5; [7C DC E5, 05, 05]
-12263; [7C DB EC, 05, 05]
+12263; [7C DC EC, 05, 05]
-12264; [7C DB F3, 05, 05]
+12264; [7C DC F3, 05, 05]
-12265; [7C DB FA, 05, 05]
+12265; [7C DC FA, 05, 05]
-12266; [7C DC 03, 05, 05]
+12266; [7C DD 03, 05, 05]
-12267; [7C DC 0A, 05, 05]
+12267; [7C DD 0A, 05, 05]
-12268; [7C DC 11, 05, 05]
+12268; [7C DD 11, 05, 05]
-12269; [7C DC 18, 05, 05]
+12269; [7C DD 18, 05, 05]
-1226A; [7C DC 1F, 05, 05]
+1226A; [7C DD 1F, 05, 05]
-1226B; [7C DC 26, 05, 05]
+1226B; [7C DD 26, 05, 05]
-1226C; [7C DC 2D, 05, 05]
+1226C; [7C DD 2D, 05, 05]
-1226D; [7C DC 34, 05, 05]
+1226D; [7C DD 34, 05, 05]
-1226E; [7C DC 3B, 05, 05]
+1226E; [7C DD 3B, 05, 05]
-1226F; [7C DC 42, 05, 05]
+1226F; [7C DD 42, 05, 05]
-12270; [7C DC 49, 05, 05]
+12270; [7C DD 49, 05, 05]
-12271; [7C DC 50, 05, 05]
+12271; [7C DD 50, 05, 05]
-12272; [7C DC 57, 05, 05]
+12272; [7C DD 57, 05, 05]
-12273; [7C DC 5E, 05, 05]
+12273; [7C DD 5E, 05, 05]
-12274; [7C DC 65, 05, 05]
+12274; [7C DD 65, 05, 05]
-12275; [7C DC 6C, 05, 05]
+12275; [7C DD 6C, 05, 05]
-12276; [7C DC 73, 05, 05]
+12276; [7C DD 73, 05, 05]
-12277; [7C DC 7A, 05, 05]
+12277; [7C DD 7A, 05, 05]
-12278; [7C DC 81, 05, 05]
+12278; [7C DD 81, 05, 05]
-12279; [7C DC 88, 05, 05]
+12279; [7C DD 88, 05, 05]
-1227A; [7C DC 8F, 05, 05]
+1227A; [7C DD 8F, 05, 05]
-1227B; [7C DC 96, 05, 05]
+1227B; [7C DD 96, 05, 05]
-1227C; [7C DC 9D, 05, 05]
+1227C; [7C DD 9D, 05, 05]
-1227D; [7C DC A4, 05, 05]
+1227D; [7C DD A4, 05, 05]
-1227E; [7C DC AB, 05, 05]
+1227E; [7C DD AB, 05, 05]
-1227F; [7C DC B2, 05, 05]
+1227F; [7C DD B2, 05, 05]
-12280; [7C DC B9, 05, 05]
+12280; [7C DD B9, 05, 05]
-12281; [7C DC C0, 05, 05]
+12281; [7C DD C0, 05, 05]
-12282; [7C DC C7, 05, 05]
+12282; [7C DD C7, 05, 05]
-12283; [7C DC CE, 05, 05]
+12283; [7C DD CE, 05, 05]
-12284; [7C DC D5, 05, 05]
+12284; [7C DD D5, 05, 05]
-12285; [7C DC DC, 05, 05]
+12285; [7C DD DC, 05, 05]
-12286; [7C DC E3, 05, 05]
+12286; [7C DD E3, 05, 05]
-12287; [7C DC EA, 05, 05]
+12287; [7C DD EA, 05, 05]
-12288; [7C DC F1, 05, 05]
+12288; [7C DD F1, 05, 05]
-12289; [7C DC F8, 05, 05]
+12289; [7C DD F8, 05, 05]
-1228A; [7C DC FF, 05, 05]
+1228A; [7C DD FF, 05, 05]
-1228B; [7C DD 08, 05, 05]
+1228B; [7C DE 08, 05, 05]
-1228C; [7C DD 0F, 05, 05]
+1228C; [7C DE 0F, 05, 05]
-1228D; [7C DD 16, 05, 05]
+1228D; [7C DE 16, 05, 05]
-1228E; [7C DD 1D, 05, 05]
+1228E; [7C DE 1D, 05, 05]
-1228F; [7C DD 24, 05, 05]
+1228F; [7C DE 24, 05, 05]
-12290; [7C DD 2B, 05, 05]
+12290; [7C DE 2B, 05, 05]
-12291; [7C DD 32, 05, 05]
+12291; [7C DE 32, 05, 05]
-12292; [7C DD 39, 05, 05]
+12292; [7C DE 39, 05, 05]
-12293; [7C DD 40, 05, 05]
+12293; [7C DE 40, 05, 05]
-12294; [7C DD 47, 05, 05]
+12294; [7C DE 47, 05, 05]
-12295; [7C DD 4E, 05, 05]
+12295; [7C DE 4E, 05, 05]
-12296; [7C DD 55, 05, 05]
+12296; [7C DE 55, 05, 05]
-12297; [7C DD 5C, 05, 05]
+12297; [7C DE 5C, 05, 05]
-12298; [7C DD 63, 05, 05]
+12298; [7C DE 63, 05, 05]
-12299; [7C DD 6A, 05, 05]
+12299; [7C DE 6A, 05, 05]
-1229A; [7C DD 71, 05, 05]
+1229A; [7C DE 71, 05, 05]
-1229B; [7C DD 78, 05, 05]
+1229B; [7C DE 78, 05, 05]
-1229C; [7C DD 7F, 05, 05]
+1229C; [7C DE 7F, 05, 05]
-1229D; [7C DD 86, 05, 05]
+1229D; [7C DE 86, 05, 05]
-1229E; [7C DD 8D, 05, 05]
+1229E; [7C DE 8D, 05, 05]
-1229F; [7C DD 94, 05, 05]
+1229F; [7C DE 94, 05, 05]
-122A0; [7C DD 9B, 05, 05]
+122A0; [7C DE 9B, 05, 05]
-122A1; [7C DD A2, 05, 05]
+122A1; [7C DE A2, 05, 05]
-122A2; [7C DD A9, 05, 05]
+122A2; [7C DE A9, 05, 05]
-122A3; [7C DD B0, 05, 05]
+122A3; [7C DE B0, 05, 05]
-122A4; [7C DD B7, 05, 05]
+122A4; [7C DE B7, 05, 05]
-122A5; [7C DD BE, 05, 05]
+122A5; [7C DE BE, 05, 05]
-122A6; [7C DD C5, 05, 05]
+122A6; [7C DE C5, 05, 05]
-122A7; [7C DD CC, 05, 05]
+122A7; [7C DE CC, 05, 05]
-122A8; [7C DD D3, 05, 05]
+122A8; [7C DE D3, 05, 05]
-122A9; [7C DD DA, 05, 05]
+122A9; [7C DE DA, 05, 05]
-122AA; [7C DD E1, 05, 05]
+122AA; [7C DE E1, 05, 05]
-122AB; [7C DD E8, 05, 05]
+122AB; [7C DE E8, 05, 05]
-122AC; [7C DD EF, 05, 05]
+122AC; [7C DE EF, 05, 05]
-122AD; [7C DD F6, 05, 05]
+122AD; [7C DE F6, 05, 05]
-122AE; [7C DD FD, 05, 05]
+122AE; [7C DE FD, 05, 05]
-122AF; [7C DE 06, 05, 05]
+122AF; [7C DF 06, 05, 05]
-122B0; [7C DE 0D, 05, 05]
+122B0; [7C DF 0D, 05, 05]
-122B1; [7C DE 14, 05, 05]
+122B1; [7C DF 14, 05, 05]
-122B2; [7C DE 1B, 05, 05]
+122B2; [7C DF 1B, 05, 05]
-122B3; [7C DE 22, 05, 05]
+122B3; [7C DF 22, 05, 05]
-122B4; [7C DE 29, 05, 05]
+122B4; [7C DF 29, 05, 05]
-122B5; [7C DE 30, 05, 05]
+122B5; [7C DF 30, 05, 05]
-122B6; [7C DE 37, 05, 05]
+122B6; [7C DF 37, 05, 05]
-122B7; [7C DE 3E, 05, 05]
+122B7; [7C DF 3E, 05, 05]
-122B8; [7C DE 45, 05, 05]
+122B8; [7C DF 45, 05, 05]
-122B9; [7C DE 4C, 05, 05]
+122B9; [7C DF 4C, 05, 05]
-122BA; [7C DE 53, 05, 05]
+122BA; [7C DF 53, 05, 05]
-122BB; [7C DE 5A, 05, 05]
+122BB; [7C DF 5A, 05, 05]
-122BC; [7C DE 61, 05, 05]
+122BC; [7C DF 61, 05, 05]
-122BD; [7C DE 68, 05, 05]
+122BD; [7C DF 68, 05, 05]
-122BE; [7C DE 6F, 05, 05]
+122BE; [7C DF 6F, 05, 05]
-122BF; [7C DE 76, 05, 05]
+122BF; [7C DF 76, 05, 05]
-122C0; [7C DE 7D, 05, 05]
+122C0; [7C DF 7D, 05, 05]
-122C1; [7C DE 84, 05, 05]
+122C1; [7C DF 84, 05, 05]
-122C2; [7C DE 8B, 05, 05]
+122C2; [7C DF 8B, 05, 05]
-122C3; [7C DE 92, 05, 05]
+122C3; [7C DF 92, 05, 05]
-122C4; [7C DE 99, 05, 05]
+122C4; [7C DF 99, 05, 05]
-122C5; [7C DE A0, 05, 05]
+122C5; [7C DF A0, 05, 05]
-122C6; [7C DE A7, 05, 05]
+122C6; [7C DF A7, 05, 05]
-122C7; [7C DE AE, 05, 05]
+122C7; [7C DF AE, 05, 05]
-122C8; [7C DE B5, 05, 05]
+122C8; [7C DF B5, 05, 05]
-122C9; [7C DE BC, 05, 05]
+122C9; [7C DF BC, 05, 05]
-122CA; [7C DE C3, 05, 05]
+122CA; [7C DF C3, 05, 05]
-122CB; [7C DE CA, 05, 05]
+122CB; [7C DF CA, 05, 05]
-122CC; [7C DE D1, 05, 05]
+122CC; [7C DF D1, 05, 05]
-122CD; [7C DE D8, 05, 05]
+122CD; [7C DF D8, 05, 05]
-122CE; [7C DE DF, 05, 05]
+122CE; [7C DF DF, 05, 05]
-122CF; [7C DE E6, 05, 05]
+122CF; [7C DF E6, 05, 05]
-122D0; [7C DE ED, 05, 05]
+122D0; [7C DF ED, 05, 05]
-122D1; [7C DE F4, 05, 05]
+122D1; [7C DF F4, 05, 05]
-122D2; [7C DE FB, 05, 05]
+122D2; [7C DF FB, 05, 05]
-122D3; [7C DF 04, 05, 05]
+122D3; [7C E0 04, 05, 05]
-122D6; [7C DF 0B, 05, 05]
+122D6; [7C E0 0B, 05, 05]
-122D7; [7C DF 12, 05, 05]
+122D7; [7C E0 12, 05, 05]
-122D8; [7C DF 19, 05, 05]
+122D8; [7C E0 19, 05, 05]
-122D9; [7C DF 20, 05, 05]
+122D9; [7C E0 20, 05, 05]
-122DA; [7C DF 27, 05, 05]
+122DA; [7C E0 27, 05, 05]
-122DB; [7C DF 2E, 05, 05]
+122DB; [7C E0 2E, 05, 05]
-122DC; [7C DF 35, 05, 05]
+122DC; [7C E0 35, 05, 05]
-122DD; [7C DF 3C, 05, 05]
+122DD; [7C E0 3C, 05, 05]
-122DE; [7C DF 43, 05, 05]
+122DE; [7C E0 43, 05, 05]
-122DF; [7C DF 4A, 05, 05]
+122DF; [7C E0 4A, 05, 05]
-122E0; [7C DF 51, 05, 05]
+122E0; [7C E0 51, 05, 05]
-122E1; [7C DF 58, 05, 05]
+122E1; [7C E0 58, 05, 05]
-122E2; [7C DF 5F, 05, 05]
+122E2; [7C E0 5F, 05, 05]
-122E3; [7C DF 66, 05, 05]
+122E3; [7C E0 66, 05, 05]
-122E4; [7C DF 6D, 05, 05]
+122E4; [7C E0 6D, 05, 05]
-122E5; [7C DF 74, 05, 05]
+122E5; [7C E0 74, 05, 05]
-122E6; [7C DF 7B, 05, 05]
+122E6; [7C E0 7B, 05, 05]
-122E7; [7C DF 82, 05, 05]
+122E7; [7C E0 82, 05, 05]
-122E8; [7C DF 89, 05, 05]
+122E8; [7C E0 89, 05, 05]
-122E9; [7C DF 90, 05, 05]
+122E9; [7C E0 90, 05, 05]
-122EA; [7C DF 97, 05, 05]
+122EA; [7C E0 97, 05, 05]
-122EB; [7C DF 9E, 05, 05]
+122EB; [7C E0 9E, 05, 05]
-122EC; [7C DF A5, 05, 05]
+122EC; [7C E0 A5, 05, 05]
-122ED; [7C DF AC, 05, 05]
+122ED; [7C E0 AC, 05, 05]
-122EE; [7C DF B3, 05, 05]
+122EE; [7C E0 B3, 05, 05]
-122EF; [7C DF BA, 05, 05]
+122EF; [7C E0 BA, 05, 05]
-122F0; [7C DF C1, 05, 05]
+122F0; [7C E0 C1, 05, 05]
-122F1; [7C DF C8, 05, 05]
+122F1; [7C E0 C8, 05, 05]
-122F2; [7C DF CF, 05, 05]
+122F2; [7C E0 CF, 05, 05]
-122F3; [7C DF D6, 05, 05]
+122F3; [7C E0 D6, 05, 05]
-122F4; [7C DF DD, 05, 05]
+122F4; [7C E0 DD, 05, 05]
-122F5; [7C DF E4, 05, 05]
+122F5; [7C E0 E4, 05, 05]
-122F6; [7C DF EB, 05, 05]
+122F6; [7C E0 EB, 05, 05]
-122F7; [7C DF F2, 05, 05]
+122F7; [7C E0 F2, 05, 05]
-122F8; [7C DF F9, 05, 05]
+122F8; [7C E0 F9, 05, 05]
-122F9; [7C E0 02, 05, 05]
+122F9; [7C E1 02, 05, 05]
-122FA; [7C E0 09, 05, 05]
+122FA; [7C E1 09, 05, 05]
-122FB; [7C E0 10, 05, 05]
+122FB; [7C E1 10, 05, 05]
-122FC; [7C E0 17, 05, 05]
+122FC; [7C E1 17, 05, 05]
-122FD; [7C E0 1E, 05, 05]
+122FD; [7C E1 1E, 05, 05]
-122FE; [7C E0 25, 05, 05]
+122FE; [7C E1 25, 05, 05]
-122FF; [7C E0 2C, 05, 05]
+122FF; [7C E1 2C, 05, 05]
-12300; [7C E0 33, 05, 05]
+12300; [7C E1 33, 05, 05]
-12301; [7C E0 3A, 05, 05]
+12301; [7C E1 3A, 05, 05]
-12302; [7C E0 41, 05, 05]
+12302; [7C E1 41, 05, 05]
-12303; [7C E0 48, 05, 05]
+12303; [7C E1 48, 05, 05]
-12304; [7C E0 4F, 05, 05]
+12304; [7C E1 4F, 05, 05]
-12305; [7C E0 56, 05, 05]
+12305; [7C E1 56, 05, 05]
-12306; [7C E0 5D, 05, 05]
+12306; [7C E1 5D, 05, 05]
-12307; [7C E0 64, 05, 05]
+12307; [7C E1 64, 05, 05]
-12308; [7C E0 6B, 05, 05]
+12308; [7C E1 6B, 05, 05]
-12309; [7C E0 72, 05, 05]
+12309; [7C E1 72, 05, 05]
-1230A; [7C E0 79, 05, 05]
+1230A; [7C E1 79, 05, 05]
-1230B; [7C E0 80, 05, 05]
+1230B; [7C E1 80, 05, 05]
-1230C; [7C E0 87, 05, 05]
+1230C; [7C E1 87, 05, 05]
-1230D; [7C E0 8E, 05, 05]
+1230D; [7C E1 8E, 05, 05]
-1230E; [7C E0 95, 05, 05]
+1230E; [7C E1 95, 05, 05]
-1230F; [7C E0 9C, 05, 05]
+1230F; [7C E1 9C, 05, 05]
-12310; [7C E0 A3, 05, 05]
+12310; [7C E1 A3, 05, 05]
-12311; [7C E0 AA, 05, 05]
+12311; [7C E1 AA, 05, 05]
-12312; [7C E0 B1, 05, 05]
+12312; [7C E1 B1, 05, 05]
-12313; [7C E0 B8, 05, 05]
+12313; [7C E1 B8, 05, 05]
-12314; [7C E0 BF, 05, 05]
+12314; [7C E1 BF, 05, 05]
-12315; [7C E0 C6, 05, 05]
+12315; [7C E1 C6, 05, 05]
-12316; [7C E0 CD, 05, 05]
+12316; [7C E1 CD, 05, 05]
-12317; [7C E0 D4, 05, 05]
+12317; [7C E1 D4, 05, 05]
-12318; [7C E0 DB, 05, 05]
+12318; [7C E1 DB, 05, 05]
-12319; [7C E0 E2, 05, 05]
+12319; [7C E1 E2, 05, 05]
-1231A; [7C E0 E9, 05, 05]
+1231A; [7C E1 E9, 05, 05]
-1231B; [7C E0 F0, 05, 05]
+1231B; [7C E1 F0, 05, 05]
-1231C; [7C E0 F7, 05, 05]
+1231C; [7C E1 F7, 05, 05]
-1231D; [7C E0 FE, 05, 05]
+1231D; [7C E1 FE, 05, 05]
-1231E; [7C E1 07, 05, 05]
+1231E; [7C E2 07, 05, 05]
-1231F; [7C E1 0E, 05, 05]
+1231F; [7C E2 0E, 05, 05]
-12320; [7C E1 15, 05, 05]
+12320; [7C E2 15, 05, 05]
-12321; [7C E1 1C, 05, 05]
+12321; [7C E2 1C, 05, 05]
-12322; [7C E1 23, 05, 05]
+12322; [7C E2 23, 05, 05]
-12323; [7C E1 2A, 05, 05]
+12323; [7C E2 2A, 05, 05]
-12324; [7C E1 31, 05, 05]
+12324; [7C E2 31, 05, 05]
-12325; [7C E1 38, 05, 05]
+12325; [7C E2 38, 05, 05]
-12326; [7C E1 3F, 05, 05]
+12326; [7C E2 3F, 05, 05]
-12327; [7C E1 46, 05, 05]
+12327; [7C E2 46, 05, 05]
-12328; [7C E1 4D, 05, 05]
+12328; [7C E2 4D, 05, 05]
-12329; [7C E1 54, 05, 05]
+12329; [7C E2 54, 05, 05]
-1232A; [7C E1 5B, 05, 05]
+1232A; [7C E2 5B, 05, 05]
-1232B; [7C E1 62, 05, 05]
+1232B; [7C E2 62, 05, 05]
-1232C; [7C E1 69, 05, 05]
+1232C; [7C E2 69, 05, 05]
-1232D; [7C E1 70, 05, 05]
+1232D; [7C E2 70, 05, 05]
-1232E; [7C E1 77, 05, 05]
+1232E; [7C E2 77, 05, 05]
-1232F; [7C E1 7E, 05, 05]
+1232F; [7C E2 7E, 05, 05]
-12330; [7C E1 85, 05, 05]
+12330; [7C E2 85, 05, 05]
-12331; [7C E1 8C, 05, 05]
+12331; [7C E2 8C, 05, 05]
-12332; [7C E1 93, 05, 05]
+12332; [7C E2 93, 05, 05]
-12333; [7C E1 9A, 05, 05]
+12333; [7C E2 9A, 05, 05]
-12334; [7C E1 A1, 05, 05]
+12334; [7C E2 A1, 05, 05]
-12335; [7C E1 A8, 05, 05]
+12335; [7C E2 A8, 05, 05]
-12336; [7C E1 AF, 05, 05]
+12336; [7C E2 AF, 05, 05]
-12337; [7C E1 B6, 05, 05]
+12337; [7C E2 B6, 05, 05]
-12338; [7C E1 BD, 05, 05]
+12338; [7C E2 BD, 05, 05]
-12339; [7C E1 C4, 05, 05]
+12339; [7C E2 C4, 05, 05]
-1233A; [7C E1 CB, 05, 05]
+1233A; [7C E2 CB, 05, 05]
-1233B; [7C E1 D2, 05, 05]
+1233B; [7C E2 D2, 05, 05]
-1233C; [7C E1 D9, 05, 05]
+1233C; [7C E2 D9, 05, 05]
-1233D; [7C E1 E0, 05, 05]
+1233D; [7C E2 E0, 05, 05]
-1233E; [7C E1 E7, 05, 05]
+1233E; [7C E2 E7, 05, 05]
-1233F; [7C E1 EE, 05, 05]
+1233F; [7C E2 EE, 05, 05]
-12340; [7C E1 F5, 05, 05]
+12340; [7C E2 F5, 05, 05]
-12341; [7C E1 FC, 05, 05]
+12341; [7C E2 FC, 05, 05]
-12342; [7C E2 05, 05, 05]
+12342; [7C E3 05, 05, 05]
-12343; [7C E2 0C, 05, 05]
+12343; [7C E3 0C, 05, 05]
-12344; [7C E2 13, 05, 05]
+12344; [7C E3 13, 05, 05]
-12345; [7C E2 1A, 05, 05]
+12345; [7C E3 1A, 05, 05]
-12346; [7C E2 21, 05, 05]
+12346; [7C E3 21, 05, 05]
-12347; [7C E2 28, 05, 05]
+12347; [7C E3 28, 05, 05]
-12348; [7C E2 2F, 05, 05]
+12348; [7C E3 2F, 05, 05]
-12349; [7C E2 36, 05, 05]
+12349; [7C E3 36, 05, 05]
-1234A; [7C E2 3D, 05, 05]
+1234A; [7C E3 3D, 05, 05]
-1234B; [7C E2 44, 05, 05]
+1234B; [7C E3 44, 05, 05]
-1234C; [7C E2 4B, 05, 05]
+1234C; [7C E3 4B, 05, 05]
-1234D; [7C E2 52, 05, 05]
+1234D; [7C E3 52, 05, 05]
-1234E; [7C E2 59, 05, 05]
+1234E; [7C E3 59, 05, 05]
-1234F; [7C E2 60, 05, 05]
+1234F; [7C E3 60, 05, 05]
-12350; [7C E2 67, 05, 05]
+12350; [7C E3 67, 05, 05]
-12351; [7C E2 6E, 05, 05]
+12351; [7C E3 6E, 05, 05]
-12352; [7C E2 75, 05, 05]
+12352; [7C E3 75, 05, 05]
-12353; [7C E2 7C, 05, 05]
+12353; [7C E3 7C, 05, 05]
-12354; [7C E2 83, 05, 05]
+12354; [7C E3 83, 05, 05]
-12355; [7C E2 8A, 05, 05]
+12355; [7C E3 8A, 05, 05]
-12356; [7C E2 91, 05, 05]
+12356; [7C E3 91, 05, 05]
-12357; [7C E2 98, 05, 05]
+12357; [7C E3 98, 05, 05]
-12358; [7C E2 9F, 05, 05]
+12358; [7C E3 9F, 05, 05]
-12359; [7C E2 A6, 05, 05]
+12359; [7C E3 A6, 05, 05]
-1235A; [7C E2 AD, 05, 05]
+1235A; [7C E3 AD, 05, 05]
-1235B; [7C E2 B4, 05, 05]
+1235B; [7C E3 B4, 05, 05]
-1235C; [7C E2 BB, 05, 05]
+1235C; [7C E3 BB, 05, 05]
-1235D; [7C E2 C2, 05, 05]
+1235D; [7C E3 C2, 05, 05]
-1235E; [7C E2 C9, 05, 05]
+1235E; [7C E3 C9, 05, 05]
-1235F; [7C E2 D0, 05, 05]
+1235F; [7C E3 D0, 05, 05]
-12360; [7C E2 D7, 05, 05]
+12360; [7C E3 D7, 05, 05]
-12361; [7C E2 DE, 05, 05]
+12361; [7C E3 DE, 05, 05]
-12362; [7C E2 E5, 05, 05]
+12362; [7C E3 E5, 05, 05]
-12363; [7C E2 EC, 05, 05]
+12363; [7C E3 EC, 05, 05]
-12364; [7C E2 F3, 05, 05]
+12364; [7C E3 F3, 05, 05]
-12365; [7C E2 FA, 05, 05]
+12365; [7C E3 FA, 05, 05]
-12366; [7C E3 03, 05, 05]
+12366; [7C E4 03, 05, 05]
-12367; [7C E3 0A, 05, 05]
+12367; [7C E4 0A, 05, 05]
-12368; [7C E3 11, 05, 05]
+12368; [7C E4 11, 05, 05]
-12369; [7C E3 18, 05, 05]
+12369; [7C E4 18, 05, 05]
-1236A; [7C E3 1F, 05, 05]
+1236A; [7C E4 1F, 05, 05]
-1236B; [7C E3 26, 05, 05]
+1236B; [7C E4 26, 05, 05]
-1236C; [7C E3 2D, 05, 05]
+1236C; [7C E4 2D, 05, 05]
-1236D; [7C E3 34, 05, 05]
+1236D; [7C E4 34, 05, 05]
-1236E; [7C E3 3B, 05, 05]
+1236E; [7C E4 3B, 05, 05]
-1236F; [7C E3 42, 05, 05]
+1236F; [7C E4 42, 05, 05]
-12370; [7C E3 49, 05, 05]
+12370; [7C E4 49, 05, 05]
-12371; [7C E3 50, 05, 05]
+12371; [7C E4 50, 05, 05]
-12372; [7C E3 57, 05, 05]
+12372; [7C E4 57, 05, 05]
-12373; [7C E3 5E, 05, 05]
+12373; [7C E4 5E, 05, 05]
-12374; [7C E3 65, 05, 05]
+12374; [7C E4 65, 05, 05]
-12375; [7C E3 6C, 05, 05]
+12375; [7C E4 6C, 05, 05]
-12376; [7C E3 73, 05, 05]
+12376; [7C E4 73, 05, 05]
-12377; [7C E3 7A, 05, 05]
+12377; [7C E4 7A, 05, 05]
-12378; [7C E3 81, 05, 05]
+12378; [7C E4 81, 05, 05]
-12379; [7C E3 88, 05, 05]
+12379; [7C E4 88, 05, 05]
-1237A; [7C E3 8F, 05, 05]
+1237A; [7C E4 8F, 05, 05]
-1237B; [7C E3 96, 05, 05]
+1237B; [7C E4 96, 05, 05]
-1237C; [7C E3 9D, 05, 05]
+1237C; [7C E4 9D, 05, 05]
-1237D; [7C E3 A4, 05, 05]
+1237D; [7C E4 A4, 05, 05]
-1237E; [7C E3 AB, 05, 05]
+1237E; [7C E4 AB, 05, 05]
-1237F; [7C E3 B2, 05, 05]
+1237F; [7C E4 B2, 05, 05]
-12380; [7C E3 B9, 05, 05]
+12380; [7C E4 B9, 05, 05]
-12381; [7C E3 C0, 05, 05]
+12381; [7C E4 C0, 05, 05]
-12382; [7C E3 C7, 05, 05]
+12382; [7C E4 C7, 05, 05]
-12383; [7C E3 CE, 05, 05]
+12383; [7C E4 CE, 05, 05]
-12384; [7C E3 D5, 05, 05]
+12384; [7C E4 D5, 05, 05]
-12385; [7C E3 DC, 05, 05]
+12385; [7C E4 DC, 05, 05]
-12386; [7C E3 E3, 05, 05]
+12386; [7C E4 E3, 05, 05]
-12387; [7C E3 EA, 05, 05]
+12387; [7C E4 EA, 05, 05]
-12388; [7C E3 F1, 05, 05]
+12388; [7C E4 F1, 05, 05]
-12389; [7C E3 F8, 05, 05]
+12389; [7C E4 F8, 05, 05]
-1238A; [7C E3 FF, 05, 05]
+1238A; [7C E4 FF, 05, 05]
-1238B; [7C E4 08, 05, 05]
+1238B; [7C E5 08, 05, 05]
-1238C; [7C E4 0F, 05, 05]
+1238C; [7C E5 0F, 05, 05]
-1238D; [7C E4 16, 05, 05]
+1238D; [7C E5 16, 05, 05]
-1238E; [7C E4 1D, 05, 05]
+1238E; [7C E5 1D, 05, 05]
-1238F; [7C E4 24, 05, 05]
+1238F; [7C E5 24, 05, 05]
-12390; [7C E4 2B, 05, 05]
+12390; [7C E5 2B, 05, 05]
-12391; [7C E4 32, 05, 05]
+12391; [7C E5 32, 05, 05]
-12392; [7C E4 39, 05, 05]
+12392; [7C E5 39, 05, 05]
-12393; [7C E4 40, 05, 05]
+12393; [7C E5 40, 05, 05]
-12394; [7C E4 47, 05, 05]
+12394; [7C E5 47, 05, 05]
-12395; [7C E4 4E, 05, 05]
+12395; [7C E5 4E, 05, 05]
-12396; [7C E4 55, 05, 05]
+12396; [7C E5 55, 05, 05]
-12397; [7C E4 5C, 05, 05]
+12397; [7C E5 5C, 05, 05]
-12398; [7C E4 63, 05, 05]
+12398; [7C E5 63, 05, 05]
-12399; [7C E4 6A, 05, 05]
+12399; [7C E5 6A, 05, 05]
-12480; [7C E4 71, 05, 05]
+12480; [7C E5 71, 05, 05]
-12481; [7C E4 78, 05, 05]
+12481; [7C E5 78, 05, 05]
-12482; [7C E4 7F, 05, 05]
+12482; [7C E5 7F, 05, 05]
-12483; [7C E4 86, 05, 05]
+12483; [7C E5 86, 05, 05]
-12484; [7C E4 8D, 05, 05]
+12484; [7C E5 8D, 05, 05]
-12485; [7C E4 94, 05, 05]
+12485; [7C E5 94, 05, 05]
-12486; [7C E4 9B, 05, 05]
+12486; [7C E5 9B, 05, 05]
-12487; [7C E4 A2, 05, 05]
+12487; [7C E5 A2, 05, 05]
-12488; [7C E4 A9, 05, 05]
+12488; [7C E5 A9, 05, 05]
-12489; [7C E4 B0, 05, 05]
+12489; [7C E5 B0, 05, 05]
-1248A; [7C E4 B7, 05, 05]
+1248A; [7C E5 B7, 05, 05]
-1248B; [7C E4 BE, 05, 05]
+1248B; [7C E5 BE, 05, 05]
-1248C; [7C E4 C5, 05, 05]
+1248C; [7C E5 C5, 05, 05]
-1248D; [7C E4 CC, 05, 05]
+1248D; [7C E5 CC, 05, 05]
-1248E; [7C E4 D3, 05, 05]
+1248E; [7C E5 D3, 05, 05]
-1248F; [7C E4 DA, 05, 05]
+1248F; [7C E5 DA, 05, 05]
-12490; [7C E4 E1, 05, 05]
+12490; [7C E5 E1, 05, 05]
-12491; [7C E4 E8, 05, 05]
+12491; [7C E5 E8, 05, 05]
-12492; [7C E4 EF, 05, 05]
+12492; [7C E5 EF, 05, 05]
-12493; [7C E4 F6, 05, 05]
+12493; [7C E5 F6, 05, 05]
-12494; [7C E4 FD, 05, 05]
+12494; [7C E5 FD, 05, 05]
-12495; [7C E5 06, 05, 05]
+12495; [7C E6 06, 05, 05]
-12496; [7C E5 0D, 05, 05]
+12496; [7C E6 0D, 05, 05]
-12497; [7C E5 14, 05, 05]
+12497; [7C E6 14, 05, 05]
-12498; [7C E5 1B, 05, 05]
+12498; [7C E6 1B, 05, 05]
-12499; [7C E5 22, 05, 05]
+12499; [7C E6 22, 05, 05]
-1249A; [7C E5 29, 05, 05]
+1249A; [7C E6 29, 05, 05]
-1249B; [7C E5 30, 05, 05]
+1249B; [7C E6 30, 05, 05]
-1249C; [7C E5 37, 05, 05]
+1249C; [7C E6 37, 05, 05]
-1249D; [7C E5 3E, 05, 05]
+1249D; [7C E6 3E, 05, 05]
-1249E; [7C E5 45, 05, 05]
+1249E; [7C E6 45, 05, 05]
-1249F; [7C E5 4C, 05, 05]
+1249F; [7C E6 4C, 05, 05]
-124A0; [7C E5 53, 05, 05]
+124A0; [7C E6 53, 05, 05]
-124A1; [7C E5 5A, 05, 05]
+124A1; [7C E6 5A, 05, 05]
-124A2; [7C E5 61, 05, 05]
+124A2; [7C E6 61, 05, 05]
-124A3; [7C E5 68, 05, 05]
+124A3; [7C E6 68, 05, 05]
-124A4; [7C E5 6F, 05, 05]
+124A4; [7C E6 6F, 05, 05]
-124A5; [7C E5 76, 05, 05]
+124A5; [7C E6 76, 05, 05]
-124A6; [7C E5 7D, 05, 05]
+124A6; [7C E6 7D, 05, 05]
-124A7; [7C E5 84, 05, 05]
+124A7; [7C E6 84, 05, 05]
-124A8; [7C E5 8B, 05, 05]
+124A8; [7C E6 8B, 05, 05]
-124A9; [7C E5 92, 05, 05]
+124A9; [7C E6 92, 05, 05]
-124AA; [7C E5 99, 05, 05]
+124AA; [7C E6 99, 05, 05]
-124AB; [7C E5 A0, 05, 05]
+124AB; [7C E6 A0, 05, 05]
-124AC; [7C E5 A7, 05, 05]
+124AC; [7C E6 A7, 05, 05]
-124AD; [7C E5 AE, 05, 05]
+124AD; [7C E6 AE, 05, 05]
-124AE; [7C E5 B5, 05, 05]
+124AE; [7C E6 B5, 05, 05]
-124AF; [7C E5 BC, 05, 05]
+124AF; [7C E6 BC, 05, 05]
-124B0; [7C E5 C3, 05, 05]
+124B0; [7C E6 C3, 05, 05]
-124B1; [7C E5 CA, 05, 05]
+124B1; [7C E6 CA, 05, 05]
-124B2; [7C E5 D1, 05, 05]
+124B2; [7C E6 D1, 05, 05]
-124B3; [7C E5 D8, 05, 05]
+124B3; [7C E6 D8, 05, 05]
-124B4; [7C E5 DF, 05, 05]
+124B4; [7C E6 DF, 05, 05]
-124B5; [7C E5 E6, 05, 05]
+124B5; [7C E6 E6, 05, 05]
-124B6; [7C E5 ED, 05, 05]
+124B6; [7C E6 ED, 05, 05]
-124B7; [7C E5 F4, 05, 05]
+124B7; [7C E6 F4, 05, 05]
-124B8; [7C E5 FB, 05, 05]
+124B8; [7C E6 FB, 05, 05]
-124B9; [7C E6 04, 05, 05]
+124B9; [7C E7 04, 05, 05]
-124BA; [7C E6 0B, 05, 05]
+124BA; [7C E7 0B, 05, 05]
-124BB; [7C E6 12, 05, 05]
+124BB; [7C E7 12, 05, 05]
-124BC; [7C E6 19, 05, 05]
+124BC; [7C E7 19, 05, 05]
-124BD; [7C E6 20, 05, 05]
+124BD; [7C E7 20, 05, 05]
-124BE; [7C E6 27, 05, 05]
+124BE; [7C E7 27, 05, 05]
-124BF; [7C E6 2E, 05, 05]
+124BF; [7C E7 2E, 05, 05]
-124C0; [7C E6 35, 05, 05]
+124C0; [7C E7 35, 05, 05]
-124C1; [7C E6 3C, 05, 05]
+124C1; [7C E7 3C, 05, 05]
-124C2; [7C E6 43, 05, 05]
+124C2; [7C E7 43, 05, 05]
-124C3; [7C E6 4A, 05, 05]
+124C3; [7C E7 4A, 05, 05]
-124C4; [7C E6 51, 05, 05]
+124C4; [7C E7 51, 05, 05]
-124C5; [7C E6 58, 05, 05]
+124C5; [7C E7 58, 05, 05]
-124C6; [7C E6 5F, 05, 05]
+124C6; [7C E7 5F, 05, 05]
-124C7; [7C E6 66, 05, 05]
+124C7; [7C E7 66, 05, 05]
-124C8; [7C E6 6D, 05, 05]
+124C8; [7C E7 6D, 05, 05]
-124C9; [7C E6 74, 05, 05]
+124C9; [7C E7 74, 05, 05]
-124CA; [7C E6 7B, 05, 05]
+124CA; [7C E7 7B, 05, 05]
-124CB; [7C E6 82, 05, 05]
+124CB; [7C E7 82, 05, 05]
-124CC; [7C E6 89, 05, 05]
+124CC; [7C E7 89, 05, 05]
-124CD; [7C E6 90, 05, 05]
+124CD; [7C E7 90, 05, 05]
-124CE; [7C E6 97, 05, 05]
+124CE; [7C E7 97, 05, 05]
-124CF; [7C E6 9E, 05, 05]
+124CF; [7C E7 9E, 05, 05]
-124D0; [7C E6 A5, 05, 05]
+124D0; [7C E7 A5, 05, 05]
-124D1; [7C E6 AC, 05, 05]
+124D1; [7C E7 AC, 05, 05]
-124D2; [7C E6 B3, 05, 05]
+124D2; [7C E7 B3, 05, 05]
-124D3; [7C E6 BA, 05, 05]
+124D3; [7C E7 BA, 05, 05]
-124D4; [7C E6 C1, 05, 05]
+124D4; [7C E7 C1, 05, 05]
-124D5; [7C E6 C8, 05, 05]
+124D5; [7C E7 C8, 05, 05]
-124D6; [7C E6 CF, 05, 05]
+124D6; [7C E7 CF, 05, 05]
-124D7; [7C E6 D6, 05, 05]
+124D7; [7C E7 D6, 05, 05]
-124D8; [7C E6 DD, 05, 05]
+124D8; [7C E7 DD, 05, 05]
-124D9; [7C E6 E4, 05, 05]
+124D9; [7C E7 E4, 05, 05]
-124DA; [7C E6 EB, 05, 05]
+124DA; [7C E7 EB, 05, 05]
-124DB; [7C E6 F2, 05, 05]
+124DB; [7C E7 F2, 05, 05]
-124DC; [7C E6 F9, 05, 05]
+124DC; [7C E7 F9, 05, 05]
-124DD; [7C E7 02, 05, 05]
+124DD; [7C E8 02, 05, 05]
-124DE; [7C E7 09, 05, 05]
+124DE; [7C E8 09, 05, 05]
-124DF; [7C E7 10, 05, 05]
+124DF; [7C E8 10, 05, 05]
-124E0; [7C E7 17, 05, 05]
+124E0; [7C E8 17, 05, 05]
-124E1; [7C E7 1E, 05, 05]
+124E1; [7C E8 1E, 05, 05]
-124E2; [7C E7 25, 05, 05]
+124E2; [7C E8 25, 05, 05]
-124E3; [7C E7 2C, 05, 05]
+124E3; [7C E8 2C, 05, 05]
-124E4; [7C E7 33, 05, 05]
+124E4; [7C E8 33, 05, 05]
-124E5; [7C E7 3A, 05, 05]
+124E5; [7C E8 3A, 05, 05]
-124E6; [7C E7 41, 05, 05]
+124E6; [7C E8 41, 05, 05]
-124E7; [7C E7 48, 05, 05]
+124E7; [7C E8 48, 05, 05]
-124E8; [7C E7 4F, 05, 05]
+124E8; [7C E8 4F, 05, 05]
-124E9; [7C E7 56, 05, 05]
+124E9; [7C E8 56, 05, 05]
-124EA; [7C E7 5D, 05, 05]
+124EA; [7C E8 5D, 05, 05]
-124EB; [7C E7 64, 05, 05]
+124EB; [7C E8 64, 05, 05]
-124EC; [7C E7 6B, 05, 05]
+124EC; [7C E8 6B, 05, 05]
-124ED; [7C E7 72, 05, 05]
+124ED; [7C E8 72, 05, 05]
-124EE; [7C E7 79, 05, 05]
+124EE; [7C E8 79, 05, 05]
-124EF; [7C E7 80, 05, 05]
+124EF; [7C E8 80, 05, 05]
-124F0; [7C E7 87, 05, 05]
+124F0; [7C E8 87, 05, 05]
-124F1; [7C E7 8E, 05, 05]
+124F1; [7C E8 8E, 05, 05]
-124F2; [7C E7 95, 05, 05]
+124F2; [7C E8 95, 05, 05]
-124F3; [7C E7 9C, 05, 05]
+124F3; [7C E8 9C, 05, 05]
-124F4; [7C E7 A3, 05, 05]
+124F4; [7C E8 A3, 05, 05]
-124F5; [7C E7 AA, 05, 05]
+124F5; [7C E8 AA, 05, 05]
-124F6; [7C E7 B1, 05, 05]
+124F6; [7C E8 B1, 05, 05]
-124F7; [7C E7 B8, 05, 05]
+124F7; [7C E8 B8, 05, 05]
-124F8; [7C E7 BF, 05, 05]
+124F8; [7C E8 BF, 05, 05]
-124F9; [7C E7 C6, 05, 05]
+124F9; [7C E8 C6, 05, 05]
-124FA; [7C E7 CD, 05, 05]
+124FA; [7C E8 CD, 05, 05]
-124FB; [7C E7 D4, 05, 05]
+124FB; [7C E8 D4, 05, 05]
-124FC; [7C E7 DB, 05, 05]
+124FC; [7C E8 DB, 05, 05]
-124FD; [7C E7 E2, 05, 05]
+124FD; [7C E8 E2, 05, 05]
-124FE; [7C E7 E9, 05, 05]
+124FE; [7C E8 E9, 05, 05]
-124FF; [7C E7 F0, 05, 05]
+124FF; [7C E8 F0, 05, 05]
-12500; [7C E7 F7, 05, 05]
+12500; [7C E8 F7, 05, 05]
-12501; [7C E7 FE, 05, 05]
+12501; [7C E8 FE, 05, 05]
-12502; [7C E8 07, 05, 05]
+12502; [7C E9 07, 05, 05]
-12503; [7C E8 0E, 05, 05]
+12503; [7C E9 0E, 05, 05]
-12504; [7C E8 15, 05, 05]
+12504; [7C E9 15, 05, 05]
-12505; [7C E8 1C, 05, 05]
+12505; [7C E9 1C, 05, 05]
-12506; [7C E8 23, 05, 05]
+12506; [7C E9 23, 05, 05]
-12507; [7C E8 2A, 05, 05]
+12507; [7C E9 2A, 05, 05]
-12508; [7C E8 31, 05, 05]
+12508; [7C E9 31, 05, 05]
-12509; [7C E8 38, 05, 05]
+12509; [7C E9 38, 05, 05]
-1250A; [7C E8 3F, 05, 05]
+1250A; [7C E9 3F, 05, 05]
-1250B; [7C E8 46, 05, 05]
+1250B; [7C E9 46, 05, 05]
-1250C; [7C E8 4D, 05, 05]
+1250C; [7C E9 4D, 05, 05]
-1250D; [7C E8 54, 05, 05]
+1250D; [7C E9 54, 05, 05]
-1250E; [7C E8 5B, 05, 05]
+1250E; [7C E9 5B, 05, 05]
-1250F; [7C E8 62, 05, 05]
+1250F; [7C E9 62, 05, 05]
-12510; [7C E8 69, 05, 05]
+12510; [7C E9 69, 05, 05]
-12511; [7C E8 70, 05, 05]
+12511; [7C E9 70, 05, 05]
-12512; [7C E8 77, 05, 05]
+12512; [7C E9 77, 05, 05]
-12513; [7C E8 7E, 05, 05]
+12513; [7C E9 7E, 05, 05]
-12514; [7C E8 85, 05, 05]
+12514; [7C E9 85, 05, 05]
-12515; [7C E8 8C, 05, 05]
+12515; [7C E9 8C, 05, 05]
-12516; [7C E8 93, 05, 05]
+12516; [7C E9 93, 05, 05]
-12517; [7C E8 9A, 05, 05]
+12517; [7C E9 9A, 05, 05]
-12518; [7C E8 A1, 05, 05]
+12518; [7C E9 A1, 05, 05]
-12519; [7C E8 A8, 05, 05]
+12519; [7C E9 A8, 05, 05]
-1251A; [7C E8 AF, 05, 05]
+1251A; [7C E9 AF, 05, 05]
-1251B; [7C E8 B6, 05, 05]
+1251B; [7C E9 B6, 05, 05]
-1251C; [7C E8 BD, 05, 05]
+1251C; [7C E9 BD, 05, 05]
-1251D; [7C E8 C4, 05, 05]
+1251D; [7C E9 C4, 05, 05]
-1251E; [7C E8 CB, 05, 05]
+1251E; [7C E9 CB, 05, 05]
-1251F; [7C E8 D2, 05, 05]
+1251F; [7C E9 D2, 05, 05]
-12520; [7C E8 D9, 05, 05]
+12520; [7C E9 D9, 05, 05]
-12521; [7C E8 E0, 05, 05]
+12521; [7C E9 E0, 05, 05]
-12522; [7C E8 E7, 05, 05]
+12522; [7C E9 E7, 05, 05]
-12523; [7C E8 EE, 05, 05]
+12523; [7C E9 EE, 05, 05]
-12524; [7C E8 F5, 05, 05]
+12524; [7C E9 F5, 05, 05]
-12525; [7C E8 FC, 05, 05]
+12525; [7C E9 FC, 05, 05]
-12526; [7C E9 05, 05, 05]
+12526; [7C EA 05, 05, 05]
-12527; [7C E9 0C, 05, 05]
+12527; [7C EA 0C, 05, 05]
-12528; [7C E9 13, 05, 05]
+12528; [7C EA 13, 05, 05]
-12529; [7C E9 1A, 05, 05]
+12529; [7C EA 1A, 05, 05]
-1252A; [7C E9 21, 05, 05]
+1252A; [7C EA 21, 05, 05]
-1252B; [7C E9 28, 05, 05]
+1252B; [7C EA 28, 05, 05]
-1252C; [7C E9 2F, 05, 05]
+1252C; [7C EA 2F, 05, 05]
-1252D; [7C E9 36, 05, 05]
+1252D; [7C EA 36, 05, 05]
-1252E; [7C E9 3D, 05, 05]
+1252E; [7C EA 3D, 05, 05]
-1252F; [7C E9 44, 05, 05]
+1252F; [7C EA 44, 05, 05]
-12530; [7C E9 4B, 05, 05]
+12530; [7C EA 4B, 05, 05]
-12531; [7C E9 52, 05, 05]
+12531; [7C EA 52, 05, 05]
-12532; [7C E9 59, 05, 05]
+12532; [7C EA 59, 05, 05]
-12533; [7C E9 60, 05, 05]
+12533; [7C EA 60, 05, 05]
-12534; [7C E9 67, 05, 05]
+12534; [7C EA 67, 05, 05]
-12535; [7C E9 6E, 05, 05]
+12535; [7C EA 6E, 05, 05]
-12536; [7C E9 75, 05, 05]
+12536; [7C EA 75, 05, 05]
-12537; [7C E9 7C, 05, 05]
+12537; [7C EA 7C, 05, 05]
-12538; [7C E9 83, 05, 05]
+12538; [7C EA 83, 05, 05]
-12539; [7C E9 8A, 05, 05]
+12539; [7C EA 8A, 05, 05]
-1253A; [7C E9 91, 05, 05]
+1253A; [7C EA 91, 05, 05]
-1253B; [7C E9 98, 05, 05]
+1253B; [7C EA 98, 05, 05]
-1253C; [7C E9 9F, 05, 05]
+1253C; [7C EA 9F, 05, 05]
-1253D; [7C E9 A6, 05, 05]
+1253D; [7C EA A6, 05, 05]
-1253E; [7C E9 AD, 05, 05]
+1253E; [7C EA AD, 05, 05]
-1253F; [7C E9 B4, 05, 05]
+1253F; [7C EA B4, 05, 05]
-12540; [7C E9 BB, 05, 05]
+12540; [7C EA BB, 05, 05]
-12541; [7C E9 C2, 05, 05]
+12541; [7C EA C2, 05, 05]
-12542; [7C E9 C9, 05, 05]
+12542; [7C EA C9, 05, 05]
-12543; [7C E9 D0, 05, 05]
+12543; [7C EA D0, 05, 05]
FDD1 13153; [7D 04 02, 05, 05] # Egyptian Hieroglyphs first primary starts new lead byte (compressible)
@@ -58876,761 +59972,767 @@ FDD1 18229; [7D 64 02, 05, 05] # Tangut first primary (compressible)
187EF; [7D 94 42, 05, 05]
187F0; [7D 94 44, 05, 05]
187F1; [7D 94 46, 05, 05]
-18800; [7D 94 48, 05, 05]
-18801; [7D 94 4A, 05, 05]
-18802; [7D 94 4C, 05, 05]
-18803; [7D 94 4E, 05, 05]
-18804; [7D 94 50, 05, 05]
-18805; [7D 94 52, 05, 05]
-18806; [7D 94 54, 05, 05]
-18807; [7D 94 56, 05, 05]
-18808; [7D 94 58, 05, 05]
-18809; [7D 94 5A, 05, 05]
-1880A; [7D 94 5C, 05, 05]
-1880B; [7D 94 5E, 05, 05]
-1880C; [7D 94 60, 05, 05]
-1880D; [7D 94 62, 05, 05]
-1880E; [7D 94 64, 05, 05]
-1880F; [7D 94 66, 05, 05]
-18810; [7D 94 68, 05, 05]
-18811; [7D 94 6A, 05, 05]
-18812; [7D 94 6C, 05, 05]
-18813; [7D 94 6E, 05, 05]
-18814; [7D 94 70, 05, 05]
-18815; [7D 94 72, 05, 05]
-18816; [7D 94 74, 05, 05]
-18817; [7D 94 76, 05, 05]
-18818; [7D 94 78, 05, 05]
-18819; [7D 94 7A, 05, 05]
-1881A; [7D 94 7C, 05, 05]
-1881B; [7D 94 7E, 05, 05]
-1881C; [7D 94 80, 05, 05]
-1881D; [7D 94 82, 05, 05]
-1881E; [7D 94 84, 05, 05]
-1881F; [7D 94 86, 05, 05]
-18820; [7D 94 88, 05, 05]
-18821; [7D 94 8A, 05, 05]
-18822; [7D 94 8C, 05, 05]
-18823; [7D 94 8E, 05, 05]
-18824; [7D 94 90, 05, 05]
-18825; [7D 94 92, 05, 05]
-18826; [7D 94 94, 05, 05]
-18827; [7D 94 96, 05, 05]
-18828; [7D 94 98, 05, 05]
-18829; [7D 94 9A, 05, 05]
-1882A; [7D 94 9C, 05, 05]
-1882B; [7D 94 9E, 05, 05]
-1882C; [7D 94 A0, 05, 05]
-1882D; [7D 94 A2, 05, 05]
-1882E; [7D 94 A4, 05, 05]
-1882F; [7D 94 A6, 05, 05]
-18830; [7D 94 A8, 05, 05]
-18831; [7D 94 AA, 05, 05]
-18832; [7D 94 AC, 05, 05]
-18833; [7D 94 AE, 05, 05]
-18834; [7D 94 B0, 05, 05]
-18835; [7D 94 B2, 05, 05]
-18836; [7D 94 B4, 05, 05]
-18837; [7D 94 B6, 05, 05]
-18838; [7D 94 B8, 05, 05]
-18839; [7D 94 BA, 05, 05]
-1883A; [7D 94 BC, 05, 05]
-1883B; [7D 94 BE, 05, 05]
-1883C; [7D 94 C0, 05, 05]
-1883D; [7D 94 C2, 05, 05]
-1883E; [7D 94 C4, 05, 05]
-1883F; [7D 94 C6, 05, 05]
-18840; [7D 94 C8, 05, 05]
-18841; [7D 94 CA, 05, 05]
-18842; [7D 94 CC, 05, 05]
-18843; [7D 94 CE, 05, 05]
-18844; [7D 94 D0, 05, 05]
-18845; [7D 94 D2, 05, 05]
-18846; [7D 94 D4, 05, 05]
-18847; [7D 94 D6, 05, 05]
-18848; [7D 94 D8, 05, 05]
-18849; [7D 94 DA, 05, 05]
-1884A; [7D 94 DC, 05, 05]
-1884B; [7D 94 DE, 05, 05]
-1884C; [7D 94 E0, 05, 05]
-1884D; [7D 94 E2, 05, 05]
-1884E; [7D 94 E4, 05, 05]
-1884F; [7D 94 E6, 05, 05]
-18850; [7D 94 E8, 05, 05]
-18851; [7D 94 EA, 05, 05]
-18852; [7D 94 EC, 05, 05]
-18853; [7D 94 EE, 05, 05]
-18854; [7D 94 F0, 05, 05]
-18855; [7D 94 F2, 05, 05]
-18856; [7D 94 F4, 05, 05]
-18857; [7D 94 F6, 05, 05]
-18858; [7D 94 F8, 05, 05]
-18859; [7D 94 FA, 05, 05]
-1885A; [7D 94 FC, 05, 05]
-1885B; [7D 94 FE, 05, 05]
-1885C; [7D 95 02, 05, 05]
-1885D; [7D 95 04, 05, 05]
-1885E; [7D 95 06, 05, 05]
-1885F; [7D 95 08, 05, 05]
-18860; [7D 95 0A, 05, 05]
-18861; [7D 95 0C, 05, 05]
-18862; [7D 95 0E, 05, 05]
-18863; [7D 95 10, 05, 05]
-18864; [7D 95 12, 05, 05]
-18865; [7D 95 14, 05, 05]
-18866; [7D 95 16, 05, 05]
-18867; [7D 95 18, 05, 05]
-18868; [7D 95 1A, 05, 05]
-18869; [7D 95 1C, 05, 05]
-1886A; [7D 95 1E, 05, 05]
-1886B; [7D 95 20, 05, 05]
-1886C; [7D 95 22, 05, 05]
-1886D; [7D 95 24, 05, 05]
-1886E; [7D 95 26, 05, 05]
-1886F; [7D 95 28, 05, 05]
-18870; [7D 95 2A, 05, 05]
-18871; [7D 95 2C, 05, 05]
-18872; [7D 95 2E, 05, 05]
-18873; [7D 95 30, 05, 05]
-18874; [7D 95 32, 05, 05]
-18875; [7D 95 34, 05, 05]
-18876; [7D 95 36, 05, 05]
-18877; [7D 95 38, 05, 05]
-18878; [7D 95 3A, 05, 05]
-18879; [7D 95 3C, 05, 05]
-1887A; [7D 95 3E, 05, 05]
-1887B; [7D 95 40, 05, 05]
-1887C; [7D 95 42, 05, 05]
-1887D; [7D 95 44, 05, 05]
-1887E; [7D 95 46, 05, 05]
-1887F; [7D 95 48, 05, 05]
-18880; [7D 95 4A, 05, 05]
-18881; [7D 95 4C, 05, 05]
-18882; [7D 95 4E, 05, 05]
-18883; [7D 95 50, 05, 05]
-18884; [7D 95 52, 05, 05]
-18885; [7D 95 54, 05, 05]
-18886; [7D 95 56, 05, 05]
-18887; [7D 95 58, 05, 05]
-18888; [7D 95 5A, 05, 05]
-18889; [7D 95 5C, 05, 05]
-1888A; [7D 95 5E, 05, 05]
-1888B; [7D 95 60, 05, 05]
-1888C; [7D 95 62, 05, 05]
-1888D; [7D 95 64, 05, 05]
-1888E; [7D 95 66, 05, 05]
-1888F; [7D 95 68, 05, 05]
-18890; [7D 95 6A, 05, 05]
-18891; [7D 95 6C, 05, 05]
-18892; [7D 95 6E, 05, 05]
-18893; [7D 95 70, 05, 05]
-18894; [7D 95 72, 05, 05]
-18895; [7D 95 74, 05, 05]
-18896; [7D 95 76, 05, 05]
-18897; [7D 95 78, 05, 05]
-18898; [7D 95 7A, 05, 05]
-18899; [7D 95 7C, 05, 05]
-1889A; [7D 95 7E, 05, 05]
-1889B; [7D 95 80, 05, 05]
-1889C; [7D 95 82, 05, 05]
-1889D; [7D 95 84, 05, 05]
-1889E; [7D 95 86, 05, 05]
-1889F; [7D 95 88, 05, 05]
-188A0; [7D 95 8A, 05, 05]
-188A1; [7D 95 8C, 05, 05]
-188A2; [7D 95 8E, 05, 05]
-188A3; [7D 95 90, 05, 05]
-188A4; [7D 95 92, 05, 05]
-188A5; [7D 95 94, 05, 05]
-188A6; [7D 95 96, 05, 05]
-188A7; [7D 95 98, 05, 05]
-188A8; [7D 95 9A, 05, 05]
-188A9; [7D 95 9C, 05, 05]
-188AA; [7D 95 9E, 05, 05]
-188AB; [7D 95 A0, 05, 05]
-188AC; [7D 95 A2, 05, 05]
-188AD; [7D 95 A4, 05, 05]
-188AE; [7D 95 A6, 05, 05]
-188AF; [7D 95 A8, 05, 05]
-188B0; [7D 95 AA, 05, 05]
-188B1; [7D 95 AC, 05, 05]
-188B2; [7D 95 AE, 05, 05]
-188B3; [7D 95 B0, 05, 05]
-188B4; [7D 95 B2, 05, 05]
-188B5; [7D 95 B4, 05, 05]
-188B6; [7D 95 B6, 05, 05]
-188B7; [7D 95 B8, 05, 05]
-188B8; [7D 95 BA, 05, 05]
-188B9; [7D 95 BC, 05, 05]
-188BA; [7D 95 BE, 05, 05]
-188BB; [7D 95 C0, 05, 05]
-188BC; [7D 95 C2, 05, 05]
-188BD; [7D 95 C4, 05, 05]
-188BE; [7D 95 C6, 05, 05]
-188BF; [7D 95 C8, 05, 05]
-188C0; [7D 95 CA, 05, 05]
-188C1; [7D 95 CC, 05, 05]
-188C2; [7D 95 CE, 05, 05]
-188C3; [7D 95 D0, 05, 05]
-188C4; [7D 95 D2, 05, 05]
-188C5; [7D 95 D4, 05, 05]
-188C6; [7D 95 D6, 05, 05]
-188C7; [7D 95 D8, 05, 05]
-188C8; [7D 95 DA, 05, 05]
-188C9; [7D 95 DC, 05, 05]
-188CA; [7D 95 DE, 05, 05]
-188CB; [7D 95 E0, 05, 05]
-188CC; [7D 95 E2, 05, 05]
-188CD; [7D 95 E4, 05, 05]
-188CE; [7D 95 E6, 05, 05]
-188CF; [7D 95 E8, 05, 05]
-188D0; [7D 95 EA, 05, 05]
-188D1; [7D 95 EC, 05, 05]
-188D2; [7D 95 EE, 05, 05]
-188D3; [7D 95 F0, 05, 05]
-188D4; [7D 95 F2, 05, 05]
-188D5; [7D 95 F4, 05, 05]
-188D6; [7D 95 F6, 05, 05]
-188D7; [7D 95 F8, 05, 05]
-188D8; [7D 95 FA, 05, 05]
-188D9; [7D 95 FC, 05, 05]
-188DA; [7D 95 FE, 05, 05]
-188DB; [7D 96 02, 05, 05]
-188DC; [7D 96 04, 05, 05]
-188DD; [7D 96 06, 05, 05]
-188DE; [7D 96 08, 05, 05]
-188DF; [7D 96 0A, 05, 05]
-188E0; [7D 96 0C, 05, 05]
-188E1; [7D 96 0E, 05, 05]
-188E2; [7D 96 10, 05, 05]
-188E3; [7D 96 12, 05, 05]
-188E4; [7D 96 14, 05, 05]
-188E5; [7D 96 16, 05, 05]
-188E6; [7D 96 18, 05, 05]
-188E7; [7D 96 1A, 05, 05]
-188E8; [7D 96 1C, 05, 05]
-188E9; [7D 96 1E, 05, 05]
-188EA; [7D 96 20, 05, 05]
-188EB; [7D 96 22, 05, 05]
-188EC; [7D 96 24, 05, 05]
-188ED; [7D 96 26, 05, 05]
-188EE; [7D 96 28, 05, 05]
-188EF; [7D 96 2A, 05, 05]
-188F0; [7D 96 2C, 05, 05]
-188F1; [7D 96 2E, 05, 05]
-188F2; [7D 96 30, 05, 05]
-188F3; [7D 96 32, 05, 05]
-188F4; [7D 96 34, 05, 05]
-188F5; [7D 96 36, 05, 05]
-188F6; [7D 96 38, 05, 05]
-188F7; [7D 96 3A, 05, 05]
-188F8; [7D 96 3C, 05, 05]
-188F9; [7D 96 3E, 05, 05]
-188FA; [7D 96 40, 05, 05]
-188FB; [7D 96 42, 05, 05]
-188FC; [7D 96 44, 05, 05]
-188FD; [7D 96 46, 05, 05]
-188FE; [7D 96 48, 05, 05]
-188FF; [7D 96 4A, 05, 05]
-18900; [7D 96 4C, 05, 05]
-18901; [7D 96 4E, 05, 05]
-18902; [7D 96 50, 05, 05]
-18903; [7D 96 52, 05, 05]
-18904; [7D 96 54, 05, 05]
-18905; [7D 96 56, 05, 05]
-18906; [7D 96 58, 05, 05]
-18907; [7D 96 5A, 05, 05]
-18908; [7D 96 5C, 05, 05]
-18909; [7D 96 5E, 05, 05]
-1890A; [7D 96 60, 05, 05]
-1890B; [7D 96 62, 05, 05]
-1890C; [7D 96 64, 05, 05]
-1890D; [7D 96 66, 05, 05]
-1890E; [7D 96 68, 05, 05]
-1890F; [7D 96 6A, 05, 05]
-18910; [7D 96 6C, 05, 05]
-18911; [7D 96 6E, 05, 05]
-18912; [7D 96 70, 05, 05]
-18913; [7D 96 72, 05, 05]
-18914; [7D 96 74, 05, 05]
-18915; [7D 96 76, 05, 05]
-18916; [7D 96 78, 05, 05]
-18917; [7D 96 7A, 05, 05]
-18918; [7D 96 7C, 05, 05]
-18919; [7D 96 7E, 05, 05]
-1891A; [7D 96 80, 05, 05]
-1891B; [7D 96 82, 05, 05]
-1891C; [7D 96 84, 05, 05]
-1891D; [7D 96 86, 05, 05]
-1891E; [7D 96 88, 05, 05]
-1891F; [7D 96 8A, 05, 05]
-18920; [7D 96 8C, 05, 05]
-18921; [7D 96 8E, 05, 05]
-18922; [7D 96 90, 05, 05]
-18923; [7D 96 92, 05, 05]
-18924; [7D 96 94, 05, 05]
-18925; [7D 96 96, 05, 05]
-18926; [7D 96 98, 05, 05]
-18927; [7D 96 9A, 05, 05]
-18928; [7D 96 9C, 05, 05]
-18929; [7D 96 9E, 05, 05]
-1892A; [7D 96 A0, 05, 05]
-1892B; [7D 96 A2, 05, 05]
-1892C; [7D 96 A4, 05, 05]
-1892D; [7D 96 A6, 05, 05]
-1892E; [7D 96 A8, 05, 05]
-1892F; [7D 96 AA, 05, 05]
-18930; [7D 96 AC, 05, 05]
-18931; [7D 96 AE, 05, 05]
-18932; [7D 96 B0, 05, 05]
-18933; [7D 96 B2, 05, 05]
-18934; [7D 96 B4, 05, 05]
-18935; [7D 96 B6, 05, 05]
-18936; [7D 96 B8, 05, 05]
-18937; [7D 96 BA, 05, 05]
-18938; [7D 96 BC, 05, 05]
-18939; [7D 96 BE, 05, 05]
-1893A; [7D 96 C0, 05, 05]
-1893B; [7D 96 C2, 05, 05]
-1893C; [7D 96 C4, 05, 05]
-1893D; [7D 96 C6, 05, 05]
-1893E; [7D 96 C8, 05, 05]
-1893F; [7D 96 CA, 05, 05]
-18940; [7D 96 CC, 05, 05]
-18941; [7D 96 CE, 05, 05]
-18942; [7D 96 D0, 05, 05]
-18943; [7D 96 D2, 05, 05]
-18944; [7D 96 D4, 05, 05]
-18945; [7D 96 D6, 05, 05]
-18946; [7D 96 D8, 05, 05]
-18947; [7D 96 DA, 05, 05]
-18948; [7D 96 DC, 05, 05]
-18949; [7D 96 DE, 05, 05]
-1894A; [7D 96 E0, 05, 05]
-1894B; [7D 96 E2, 05, 05]
-1894C; [7D 96 E4, 05, 05]
-1894D; [7D 96 E6, 05, 05]
-1894E; [7D 96 E8, 05, 05]
-1894F; [7D 96 EA, 05, 05]
-18950; [7D 96 EC, 05, 05]
-18951; [7D 96 EE, 05, 05]
-18952; [7D 96 F0, 05, 05]
-18953; [7D 96 F2, 05, 05]
-18954; [7D 96 F4, 05, 05]
-18955; [7D 96 F6, 05, 05]
-18956; [7D 96 F8, 05, 05]
-18957; [7D 96 FA, 05, 05]
-18958; [7D 96 FC, 05, 05]
-18959; [7D 96 FE, 05, 05]
-1895A; [7D 97 02, 05, 05]
-1895B; [7D 97 04, 05, 05]
-1895C; [7D 97 06, 05, 05]
-1895D; [7D 97 08, 05, 05]
-1895E; [7D 97 0A, 05, 05]
-1895F; [7D 97 0C, 05, 05]
-18960; [7D 97 0E, 05, 05]
-18961; [7D 97 10, 05, 05]
-18962; [7D 97 12, 05, 05]
-18963; [7D 97 14, 05, 05]
-18964; [7D 97 16, 05, 05]
-18965; [7D 97 18, 05, 05]
-18966; [7D 97 1A, 05, 05]
-18967; [7D 97 1C, 05, 05]
-18968; [7D 97 1E, 05, 05]
-18969; [7D 97 20, 05, 05]
-1896A; [7D 97 22, 05, 05]
-1896B; [7D 97 24, 05, 05]
-1896C; [7D 97 26, 05, 05]
-1896D; [7D 97 28, 05, 05]
-1896E; [7D 97 2A, 05, 05]
-1896F; [7D 97 2C, 05, 05]
-18970; [7D 97 2E, 05, 05]
-18971; [7D 97 30, 05, 05]
-18972; [7D 97 32, 05, 05]
-18973; [7D 97 34, 05, 05]
-18974; [7D 97 36, 05, 05]
-18975; [7D 97 38, 05, 05]
-18976; [7D 97 3A, 05, 05]
-18977; [7D 97 3C, 05, 05]
-18978; [7D 97 3E, 05, 05]
-18979; [7D 97 40, 05, 05]
-1897A; [7D 97 42, 05, 05]
-1897B; [7D 97 44, 05, 05]
-1897C; [7D 97 46, 05, 05]
-1897D; [7D 97 48, 05, 05]
-1897E; [7D 97 4A, 05, 05]
-1897F; [7D 97 4C, 05, 05]
-18980; [7D 97 4E, 05, 05]
-18981; [7D 97 50, 05, 05]
-18982; [7D 97 52, 05, 05]
-18983; [7D 97 54, 05, 05]
-18984; [7D 97 56, 05, 05]
-18985; [7D 97 58, 05, 05]
-18986; [7D 97 5A, 05, 05]
-18987; [7D 97 5C, 05, 05]
-18988; [7D 97 5E, 05, 05]
-18989; [7D 97 60, 05, 05]
-1898A; [7D 97 62, 05, 05]
-1898B; [7D 97 64, 05, 05]
-1898C; [7D 97 66, 05, 05]
-1898D; [7D 97 68, 05, 05]
-1898E; [7D 97 6A, 05, 05]
-1898F; [7D 97 6C, 05, 05]
-18990; [7D 97 6E, 05, 05]
-18991; [7D 97 70, 05, 05]
-18992; [7D 97 72, 05, 05]
-18993; [7D 97 74, 05, 05]
-18994; [7D 97 76, 05, 05]
-18995; [7D 97 78, 05, 05]
-18996; [7D 97 7A, 05, 05]
-18997; [7D 97 7C, 05, 05]
-18998; [7D 97 7E, 05, 05]
-18999; [7D 97 80, 05, 05]
-1899A; [7D 97 82, 05, 05]
-1899B; [7D 97 84, 05, 05]
-1899C; [7D 97 86, 05, 05]
-1899D; [7D 97 88, 05, 05]
-1899E; [7D 97 8A, 05, 05]
-1899F; [7D 97 8C, 05, 05]
-189A0; [7D 97 8E, 05, 05]
-189A1; [7D 97 90, 05, 05]
-189A2; [7D 97 92, 05, 05]
-189A3; [7D 97 94, 05, 05]
-189A4; [7D 97 96, 05, 05]
-189A5; [7D 97 98, 05, 05]
-189A6; [7D 97 9A, 05, 05]
-189A7; [7D 97 9C, 05, 05]
-189A8; [7D 97 9E, 05, 05]
-189A9; [7D 97 A0, 05, 05]
-189AA; [7D 97 A2, 05, 05]
-189AB; [7D 97 A4, 05, 05]
-189AC; [7D 97 A6, 05, 05]
-189AD; [7D 97 A8, 05, 05]
-189AE; [7D 97 AA, 05, 05]
-189AF; [7D 97 AC, 05, 05]
-189B0; [7D 97 AE, 05, 05]
-189B1; [7D 97 B0, 05, 05]
-189B2; [7D 97 B2, 05, 05]
-189B3; [7D 97 B4, 05, 05]
-189B4; [7D 97 B6, 05, 05]
-189B5; [7D 97 B8, 05, 05]
-189B6; [7D 97 BA, 05, 05]
-189B7; [7D 97 BC, 05, 05]
-189B8; [7D 97 BE, 05, 05]
-189B9; [7D 97 C0, 05, 05]
-189BA; [7D 97 C2, 05, 05]
-189BB; [7D 97 C4, 05, 05]
-189BC; [7D 97 C6, 05, 05]
-189BD; [7D 97 C8, 05, 05]
-189BE; [7D 97 CA, 05, 05]
-189BF; [7D 97 CC, 05, 05]
-189C0; [7D 97 CE, 05, 05]
-189C1; [7D 97 D0, 05, 05]
-189C2; [7D 97 D2, 05, 05]
-189C3; [7D 97 D4, 05, 05]
-189C4; [7D 97 D6, 05, 05]
-189C5; [7D 97 D8, 05, 05]
-189C6; [7D 97 DA, 05, 05]
-189C7; [7D 97 DC, 05, 05]
-189C8; [7D 97 DE, 05, 05]
-189C9; [7D 97 E0, 05, 05]
-189CA; [7D 97 E2, 05, 05]
-189CB; [7D 97 E4, 05, 05]
-189CC; [7D 97 E6, 05, 05]
-189CD; [7D 97 E8, 05, 05]
-189CE; [7D 97 EA, 05, 05]
-189CF; [7D 97 EC, 05, 05]
-189D0; [7D 97 EE, 05, 05]
-189D1; [7D 97 F0, 05, 05]
-189D2; [7D 97 F2, 05, 05]
-189D3; [7D 97 F4, 05, 05]
-189D4; [7D 97 F6, 05, 05]
-189D5; [7D 97 F8, 05, 05]
-189D6; [7D 97 FA, 05, 05]
-189D7; [7D 97 FC, 05, 05]
-189D8; [7D 97 FE, 05, 05]
-189D9; [7D 98 02, 05, 05]
-189DA; [7D 98 04, 05, 05]
-189DB; [7D 98 06, 05, 05]
-189DC; [7D 98 08, 05, 05]
-189DD; [7D 98 0A, 05, 05]
-189DE; [7D 98 0C, 05, 05]
-189DF; [7D 98 0E, 05, 05]
-189E0; [7D 98 10, 05, 05]
-189E1; [7D 98 12, 05, 05]
-189E2; [7D 98 14, 05, 05]
-189E3; [7D 98 16, 05, 05]
-189E4; [7D 98 18, 05, 05]
-189E5; [7D 98 1A, 05, 05]
-189E6; [7D 98 1C, 05, 05]
-189E7; [7D 98 1E, 05, 05]
-189E8; [7D 98 20, 05, 05]
-189E9; [7D 98 22, 05, 05]
-189EA; [7D 98 24, 05, 05]
-189EB; [7D 98 26, 05, 05]
-189EC; [7D 98 28, 05, 05]
-189ED; [7D 98 2A, 05, 05]
-189EE; [7D 98 2C, 05, 05]
-189EF; [7D 98 2E, 05, 05]
-189F0; [7D 98 30, 05, 05]
-189F1; [7D 98 32, 05, 05]
-189F2; [7D 98 34, 05, 05]
-189F3; [7D 98 36, 05, 05]
-189F4; [7D 98 38, 05, 05]
-189F5; [7D 98 3A, 05, 05]
-189F6; [7D 98 3C, 05, 05]
-189F7; [7D 98 3E, 05, 05]
-189F8; [7D 98 40, 05, 05]
-189F9; [7D 98 42, 05, 05]
-189FA; [7D 98 44, 05, 05]
-189FB; [7D 98 46, 05, 05]
-189FC; [7D 98 48, 05, 05]
-189FD; [7D 98 4A, 05, 05]
-189FE; [7D 98 4C, 05, 05]
-189FF; [7D 98 4E, 05, 05]
-18A00; [7D 98 50, 05, 05]
-18A01; [7D 98 52, 05, 05]
-18A02; [7D 98 54, 05, 05]
-18A03; [7D 98 56, 05, 05]
-18A04; [7D 98 58, 05, 05]
-18A05; [7D 98 5A, 05, 05]
-18A06; [7D 98 5C, 05, 05]
-18A07; [7D 98 5E, 05, 05]
-18A08; [7D 98 60, 05, 05]
-18A09; [7D 98 62, 05, 05]
-18A0A; [7D 98 64, 05, 05]
-18A0B; [7D 98 66, 05, 05]
-18A0C; [7D 98 68, 05, 05]
-18A0D; [7D 98 6A, 05, 05]
-18A0E; [7D 98 6C, 05, 05]
-18A0F; [7D 98 6E, 05, 05]
-18A10; [7D 98 70, 05, 05]
-18A11; [7D 98 72, 05, 05]
-18A12; [7D 98 74, 05, 05]
-18A13; [7D 98 76, 05, 05]
-18A14; [7D 98 78, 05, 05]
-18A15; [7D 98 7A, 05, 05]
-18A16; [7D 98 7C, 05, 05]
-18A17; [7D 98 7E, 05, 05]
-18A18; [7D 98 80, 05, 05]
-18A19; [7D 98 82, 05, 05]
-18A1A; [7D 98 84, 05, 05]
-18A1B; [7D 98 86, 05, 05]
-18A1C; [7D 98 88, 05, 05]
-18A1D; [7D 98 8A, 05, 05]
-18A1E; [7D 98 8C, 05, 05]
-18A1F; [7D 98 8E, 05, 05]
-18A20; [7D 98 90, 05, 05]
-18A21; [7D 98 92, 05, 05]
-18A22; [7D 98 94, 05, 05]
-18A23; [7D 98 96, 05, 05]
-18A24; [7D 98 98, 05, 05]
-18A25; [7D 98 9A, 05, 05]
-18A26; [7D 98 9C, 05, 05]
-18A27; [7D 98 9E, 05, 05]
-18A28; [7D 98 A0, 05, 05]
-18A29; [7D 98 A2, 05, 05]
-18A2A; [7D 98 A4, 05, 05]
-18A2B; [7D 98 A6, 05, 05]
-18A2C; [7D 98 A8, 05, 05]
-18A2D; [7D 98 AA, 05, 05]
-18A2E; [7D 98 AC, 05, 05]
-18A2F; [7D 98 AE, 05, 05]
-18A30; [7D 98 B0, 05, 05]
-18A31; [7D 98 B2, 05, 05]
-18A32; [7D 98 B4, 05, 05]
-18A33; [7D 98 B6, 05, 05]
-18A34; [7D 98 B8, 05, 05]
-18A35; [7D 98 BA, 05, 05]
-18A36; [7D 98 BC, 05, 05]
-18A37; [7D 98 BE, 05, 05]
-18A38; [7D 98 C0, 05, 05]
-18A39; [7D 98 C2, 05, 05]
-18A3A; [7D 98 C4, 05, 05]
-18A3B; [7D 98 C6, 05, 05]
-18A3C; [7D 98 C8, 05, 05]
-18A3D; [7D 98 CA, 05, 05]
-18A3E; [7D 98 CC, 05, 05]
-18A3F; [7D 98 CE, 05, 05]
-18A40; [7D 98 D0, 05, 05]
-18A41; [7D 98 D2, 05, 05]
-18A42; [7D 98 D4, 05, 05]
-18A43; [7D 98 D6, 05, 05]
-18A44; [7D 98 D8, 05, 05]
-18A45; [7D 98 DA, 05, 05]
-18A46; [7D 98 DC, 05, 05]
-18A47; [7D 98 DE, 05, 05]
-18A48; [7D 98 E0, 05, 05]
-18A49; [7D 98 E2, 05, 05]
-18A4A; [7D 98 E4, 05, 05]
-18A4B; [7D 98 E6, 05, 05]
-18A4C; [7D 98 E8, 05, 05]
-18A4D; [7D 98 EA, 05, 05]
-18A4E; [7D 98 EC, 05, 05]
-18A4F; [7D 98 EE, 05, 05]
-18A50; [7D 98 F0, 05, 05]
-18A51; [7D 98 F2, 05, 05]
-18A52; [7D 98 F4, 05, 05]
-18A53; [7D 98 F6, 05, 05]
-18A54; [7D 98 F8, 05, 05]
-18A55; [7D 98 FA, 05, 05]
-18A56; [7D 98 FC, 05, 05]
-18A57; [7D 98 FE, 05, 05]
-18A58; [7D 99 02, 05, 05]
-18A59; [7D 99 04, 05, 05]
-18A5A; [7D 99 06, 05, 05]
-18A5B; [7D 99 08, 05, 05]
-18A5C; [7D 99 0A, 05, 05]
-18A5D; [7D 99 0C, 05, 05]
-18A5E; [7D 99 0E, 05, 05]
-18A5F; [7D 99 10, 05, 05]
-18A60; [7D 99 12, 05, 05]
-18A61; [7D 99 14, 05, 05]
-18A62; [7D 99 16, 05, 05]
-18A63; [7D 99 18, 05, 05]
-18A64; [7D 99 1A, 05, 05]
-18A65; [7D 99 1C, 05, 05]
-18A66; [7D 99 1E, 05, 05]
-18A67; [7D 99 20, 05, 05]
-18A68; [7D 99 22, 05, 05]
-18A69; [7D 99 24, 05, 05]
-18A6A; [7D 99 26, 05, 05]
-18A6B; [7D 99 28, 05, 05]
-18A6C; [7D 99 2A, 05, 05]
-18A6D; [7D 99 2C, 05, 05]
-18A6E; [7D 99 2E, 05, 05]
-18A6F; [7D 99 30, 05, 05]
-18A70; [7D 99 32, 05, 05]
-18A71; [7D 99 34, 05, 05]
-18A72; [7D 99 36, 05, 05]
-18A73; [7D 99 38, 05, 05]
-18A74; [7D 99 3A, 05, 05]
-18A75; [7D 99 3C, 05, 05]
-18A76; [7D 99 3E, 05, 05]
-18A77; [7D 99 40, 05, 05]
-18A78; [7D 99 42, 05, 05]
-18A79; [7D 99 44, 05, 05]
-18A7A; [7D 99 46, 05, 05]
-18A7B; [7D 99 48, 05, 05]
-18A7C; [7D 99 4A, 05, 05]
-18A7D; [7D 99 4C, 05, 05]
-18A7E; [7D 99 4E, 05, 05]
-18A7F; [7D 99 50, 05, 05]
-18A80; [7D 99 52, 05, 05]
-18A81; [7D 99 54, 05, 05]
-18A82; [7D 99 56, 05, 05]
-18A83; [7D 99 58, 05, 05]
-18A84; [7D 99 5A, 05, 05]
-18A85; [7D 99 5C, 05, 05]
-18A86; [7D 99 5E, 05, 05]
-18A87; [7D 99 60, 05, 05]
-18A88; [7D 99 62, 05, 05]
-18A89; [7D 99 64, 05, 05]
-18A8A; [7D 99 66, 05, 05]
-18A8B; [7D 99 68, 05, 05]
-18A8C; [7D 99 6A, 05, 05]
-18A8D; [7D 99 6C, 05, 05]
-18A8E; [7D 99 6E, 05, 05]
-18A8F; [7D 99 70, 05, 05]
-18A90; [7D 99 72, 05, 05]
-18A91; [7D 99 74, 05, 05]
-18A92; [7D 99 76, 05, 05]
-18A93; [7D 99 78, 05, 05]
-18A94; [7D 99 7A, 05, 05]
-18A95; [7D 99 7C, 05, 05]
-18A96; [7D 99 7E, 05, 05]
-18A97; [7D 99 80, 05, 05]
-18A98; [7D 99 82, 05, 05]
-18A99; [7D 99 84, 05, 05]
-18A9A; [7D 99 86, 05, 05]
-18A9B; [7D 99 88, 05, 05]
-18A9C; [7D 99 8A, 05, 05]
-18A9D; [7D 99 8C, 05, 05]
-18A9E; [7D 99 8E, 05, 05]
-18A9F; [7D 99 90, 05, 05]
-18AA0; [7D 99 92, 05, 05]
-18AA1; [7D 99 94, 05, 05]
-18AA2; [7D 99 96, 05, 05]
-18AA3; [7D 99 98, 05, 05]
-18AA4; [7D 99 9A, 05, 05]
-18AA5; [7D 99 9C, 05, 05]
-18AA6; [7D 99 9E, 05, 05]
-18AA7; [7D 99 A0, 05, 05]
-18AA8; [7D 99 A2, 05, 05]
-18AA9; [7D 99 A4, 05, 05]
-18AAA; [7D 99 A6, 05, 05]
-18AAB; [7D 99 A8, 05, 05]
-18AAC; [7D 99 AA, 05, 05]
-18AAD; [7D 99 AC, 05, 05]
-18AAE; [7D 99 AE, 05, 05]
-18AAF; [7D 99 B0, 05, 05]
-18AB0; [7D 99 B2, 05, 05]
-18AB1; [7D 99 B4, 05, 05]
-18AB2; [7D 99 B6, 05, 05]
-18AB3; [7D 99 B8, 05, 05]
-18AB4; [7D 99 BA, 05, 05]
-18AB5; [7D 99 BC, 05, 05]
-18AB6; [7D 99 BE, 05, 05]
-18AB7; [7D 99 C0, 05, 05]
-18AB8; [7D 99 C2, 05, 05]
-18AB9; [7D 99 C4, 05, 05]
-18ABA; [7D 99 C6, 05, 05]
-18ABB; [7D 99 C8, 05, 05]
-18ABC; [7D 99 CA, 05, 05]
-18ABD; [7D 99 CC, 05, 05]
-18ABE; [7D 99 CE, 05, 05]
-18ABF; [7D 99 D0, 05, 05]
-18AC0; [7D 99 D2, 05, 05]
-18AC1; [7D 99 D4, 05, 05]
-18AC2; [7D 99 D6, 05, 05]
-18AC3; [7D 99 D8, 05, 05]
-18AC4; [7D 99 DA, 05, 05]
-18AC5; [7D 99 DC, 05, 05]
-18AC6; [7D 99 DE, 05, 05]
-18AC7; [7D 99 E0, 05, 05]
-18AC8; [7D 99 E2, 05, 05]
-18AC9; [7D 99 E4, 05, 05]
-18ACA; [7D 99 E6, 05, 05]
-18ACB; [7D 99 E8, 05, 05]
-18ACC; [7D 99 EA, 05, 05]
-18ACD; [7D 99 EC, 05, 05]
-18ACE; [7D 99 EE, 05, 05]
-18ACF; [7D 99 F0, 05, 05]
-18AD0; [7D 99 F2, 05, 05]
-18AD1; [7D 99 F4, 05, 05]
-18AD2; [7D 99 F6, 05, 05]
-18AD3; [7D 99 F8, 05, 05]
-18AD4; [7D 99 FA, 05, 05]
-18AD5; [7D 99 FC, 05, 05]
-18AD6; [7D 99 FE, 05, 05]
-18AD7; [7D 9A 02, 05, 05]
-18AD8; [7D 9A 04, 05, 05]
-18AD9; [7D 9A 06, 05, 05]
-18ADA; [7D 9A 08, 05, 05]
-18ADB; [7D 9A 0A, 05, 05]
-18ADC; [7D 9A 0C, 05, 05]
-18ADD; [7D 9A 0E, 05, 05]
-18ADE; [7D 9A 10, 05, 05]
-18ADF; [7D 9A 12, 05, 05]
-18AE0; [7D 9A 14, 05, 05]
-18AE1; [7D 9A 16, 05, 05]
-18AE2; [7D 9A 18, 05, 05]
-18AE3; [7D 9A 1A, 05, 05]
-18AE4; [7D 9A 1C, 05, 05]
-18AE5; [7D 9A 1E, 05, 05]
-18AE6; [7D 9A 20, 05, 05]
-18AE7; [7D 9A 22, 05, 05]
-18AE8; [7D 9A 24, 05, 05]
-18AE9; [7D 9A 26, 05, 05]
-18AEA; [7D 9A 28, 05, 05]
-18AEB; [7D 9A 2A, 05, 05]
-18AEC; [7D 9A 2C, 05, 05]
-18AED; [7D 9A 2E, 05, 05]
-18AEE; [7D 9A 30, 05, 05]
-18AEF; [7D 9A 32, 05, 05]
-18AF0; [7D 9A 34, 05, 05]
-18AF1; [7D 9A 36, 05, 05]
-18AF2; [7D 9A 38, 05, 05]
+187F2; [7D 94 48, 05, 05]
+187F3; [7D 94 4A, 05, 05]
+187F4; [7D 94 4C, 05, 05]
+187F5; [7D 94 4E, 05, 05]
+187F6; [7D 94 50, 05, 05]
+187F7; [7D 94 52, 05, 05]
+18800; [7D 94 54, 05, 05]
+18801; [7D 94 56, 05, 05]
+18802; [7D 94 58, 05, 05]
+18803; [7D 94 5A, 05, 05]
+18804; [7D 94 5C, 05, 05]
+18805; [7D 94 5E, 05, 05]
+18806; [7D 94 60, 05, 05]
+18807; [7D 94 62, 05, 05]
+18808; [7D 94 64, 05, 05]
+18809; [7D 94 66, 05, 05]
+1880A; [7D 94 68, 05, 05]
+1880B; [7D 94 6A, 05, 05]
+1880C; [7D 94 6C, 05, 05]
+1880D; [7D 94 6E, 05, 05]
+1880E; [7D 94 70, 05, 05]
+1880F; [7D 94 72, 05, 05]
+18810; [7D 94 74, 05, 05]
+18811; [7D 94 76, 05, 05]
+18812; [7D 94 78, 05, 05]
+18813; [7D 94 7A, 05, 05]
+18814; [7D 94 7C, 05, 05]
+18815; [7D 94 7E, 05, 05]
+18816; [7D 94 80, 05, 05]
+18817; [7D 94 82, 05, 05]
+18818; [7D 94 84, 05, 05]
+18819; [7D 94 86, 05, 05]
+1881A; [7D 94 88, 05, 05]
+1881B; [7D 94 8A, 05, 05]
+1881C; [7D 94 8C, 05, 05]
+1881D; [7D 94 8E, 05, 05]
+1881E; [7D 94 90, 05, 05]
+1881F; [7D 94 92, 05, 05]
+18820; [7D 94 94, 05, 05]
+18821; [7D 94 96, 05, 05]
+18822; [7D 94 98, 05, 05]
+18823; [7D 94 9A, 05, 05]
+18824; [7D 94 9C, 05, 05]
+18825; [7D 94 9E, 05, 05]
+18826; [7D 94 A0, 05, 05]
+18827; [7D 94 A2, 05, 05]
+18828; [7D 94 A4, 05, 05]
+18829; [7D 94 A6, 05, 05]
+1882A; [7D 94 A8, 05, 05]
+1882B; [7D 94 AA, 05, 05]
+1882C; [7D 94 AC, 05, 05]
+1882D; [7D 94 AE, 05, 05]
+1882E; [7D 94 B0, 05, 05]
+1882F; [7D 94 B2, 05, 05]
+18830; [7D 94 B4, 05, 05]
+18831; [7D 94 B6, 05, 05]
+18832; [7D 94 B8, 05, 05]
+18833; [7D 94 BA, 05, 05]
+18834; [7D 94 BC, 05, 05]
+18835; [7D 94 BE, 05, 05]
+18836; [7D 94 C0, 05, 05]
+18837; [7D 94 C2, 05, 05]
+18838; [7D 94 C4, 05, 05]
+18839; [7D 94 C6, 05, 05]
+1883A; [7D 94 C8, 05, 05]
+1883B; [7D 94 CA, 05, 05]
+1883C; [7D 94 CC, 05, 05]
+1883D; [7D 94 CE, 05, 05]
+1883E; [7D 94 D0, 05, 05]
+1883F; [7D 94 D2, 05, 05]
+18840; [7D 94 D4, 05, 05]
+18841; [7D 94 D6, 05, 05]
+18842; [7D 94 D8, 05, 05]
+18843; [7D 94 DA, 05, 05]
+18844; [7D 94 DC, 05, 05]
+18845; [7D 94 DE, 05, 05]
+18846; [7D 94 E0, 05, 05]
+18847; [7D 94 E2, 05, 05]
+18848; [7D 94 E4, 05, 05]
+18849; [7D 94 E6, 05, 05]
+1884A; [7D 94 E8, 05, 05]
+1884B; [7D 94 EA, 05, 05]
+1884C; [7D 94 EC, 05, 05]
+1884D; [7D 94 EE, 05, 05]
+1884E; [7D 94 F0, 05, 05]
+1884F; [7D 94 F2, 05, 05]
+18850; [7D 94 F4, 05, 05]
+18851; [7D 94 F6, 05, 05]
+18852; [7D 94 F8, 05, 05]
+18853; [7D 94 FA, 05, 05]
+18854; [7D 94 FC, 05, 05]
+18855; [7D 94 FE, 05, 05]
+18856; [7D 95 02, 05, 05]
+18857; [7D 95 04, 05, 05]
+18858; [7D 95 06, 05, 05]
+18859; [7D 95 08, 05, 05]
+1885A; [7D 95 0A, 05, 05]
+1885B; [7D 95 0C, 05, 05]
+1885C; [7D 95 0E, 05, 05]
+1885D; [7D 95 10, 05, 05]
+1885E; [7D 95 12, 05, 05]
+1885F; [7D 95 14, 05, 05]
+18860; [7D 95 16, 05, 05]
+18861; [7D 95 18, 05, 05]
+18862; [7D 95 1A, 05, 05]
+18863; [7D 95 1C, 05, 05]
+18864; [7D 95 1E, 05, 05]
+18865; [7D 95 20, 05, 05]
+18866; [7D 95 22, 05, 05]
+18867; [7D 95 24, 05, 05]
+18868; [7D 95 26, 05, 05]
+18869; [7D 95 28, 05, 05]
+1886A; [7D 95 2A, 05, 05]
+1886B; [7D 95 2C, 05, 05]
+1886C; [7D 95 2E, 05, 05]
+1886D; [7D 95 30, 05, 05]
+1886E; [7D 95 32, 05, 05]
+1886F; [7D 95 34, 05, 05]
+18870; [7D 95 36, 05, 05]
+18871; [7D 95 38, 05, 05]
+18872; [7D 95 3A, 05, 05]
+18873; [7D 95 3C, 05, 05]
+18874; [7D 95 3E, 05, 05]
+18875; [7D 95 40, 05, 05]
+18876; [7D 95 42, 05, 05]
+18877; [7D 95 44, 05, 05]
+18878; [7D 95 46, 05, 05]
+18879; [7D 95 48, 05, 05]
+1887A; [7D 95 4A, 05, 05]
+1887B; [7D 95 4C, 05, 05]
+1887C; [7D 95 4E, 05, 05]
+1887D; [7D 95 50, 05, 05]
+1887E; [7D 95 52, 05, 05]
+1887F; [7D 95 54, 05, 05]
+18880; [7D 95 56, 05, 05]
+18881; [7D 95 58, 05, 05]
+18882; [7D 95 5A, 05, 05]
+18883; [7D 95 5C, 05, 05]
+18884; [7D 95 5E, 05, 05]
+18885; [7D 95 60, 05, 05]
+18886; [7D 95 62, 05, 05]
+18887; [7D 95 64, 05, 05]
+18888; [7D 95 66, 05, 05]
+18889; [7D 95 68, 05, 05]
+1888A; [7D 95 6A, 05, 05]
+1888B; [7D 95 6C, 05, 05]
+1888C; [7D 95 6E, 05, 05]
+1888D; [7D 95 70, 05, 05]
+1888E; [7D 95 72, 05, 05]
+1888F; [7D 95 74, 05, 05]
+18890; [7D 95 76, 05, 05]
+18891; [7D 95 78, 05, 05]
+18892; [7D 95 7A, 05, 05]
+18893; [7D 95 7C, 05, 05]
+18894; [7D 95 7E, 05, 05]
+18895; [7D 95 80, 05, 05]
+18896; [7D 95 82, 05, 05]
+18897; [7D 95 84, 05, 05]
+18898; [7D 95 86, 05, 05]
+18899; [7D 95 88, 05, 05]
+1889A; [7D 95 8A, 05, 05]
+1889B; [7D 95 8C, 05, 05]
+1889C; [7D 95 8E, 05, 05]
+1889D; [7D 95 90, 05, 05]
+1889E; [7D 95 92, 05, 05]
+1889F; [7D 95 94, 05, 05]
+188A0; [7D 95 96, 05, 05]
+188A1; [7D 95 98, 05, 05]
+188A2; [7D 95 9A, 05, 05]
+188A3; [7D 95 9C, 05, 05]
+188A4; [7D 95 9E, 05, 05]
+188A5; [7D 95 A0, 05, 05]
+188A6; [7D 95 A2, 05, 05]
+188A7; [7D 95 A4, 05, 05]
+188A8; [7D 95 A6, 05, 05]
+188A9; [7D 95 A8, 05, 05]
+188AA; [7D 95 AA, 05, 05]
+188AB; [7D 95 AC, 05, 05]
+188AC; [7D 95 AE, 05, 05]
+188AD; [7D 95 B0, 05, 05]
+188AE; [7D 95 B2, 05, 05]
+188AF; [7D 95 B4, 05, 05]
+188B0; [7D 95 B6, 05, 05]
+188B1; [7D 95 B8, 05, 05]
+188B2; [7D 95 BA, 05, 05]
+188B3; [7D 95 BC, 05, 05]
+188B4; [7D 95 BE, 05, 05]
+188B5; [7D 95 C0, 05, 05]
+188B6; [7D 95 C2, 05, 05]
+188B7; [7D 95 C4, 05, 05]
+188B8; [7D 95 C6, 05, 05]
+188B9; [7D 95 C8, 05, 05]
+188BA; [7D 95 CA, 05, 05]
+188BB; [7D 95 CC, 05, 05]
+188BC; [7D 95 CE, 05, 05]
+188BD; [7D 95 D0, 05, 05]
+188BE; [7D 95 D2, 05, 05]
+188BF; [7D 95 D4, 05, 05]
+188C0; [7D 95 D6, 05, 05]
+188C1; [7D 95 D8, 05, 05]
+188C2; [7D 95 DA, 05, 05]
+188C3; [7D 95 DC, 05, 05]
+188C4; [7D 95 DE, 05, 05]
+188C5; [7D 95 E0, 05, 05]
+188C6; [7D 95 E2, 05, 05]
+188C7; [7D 95 E4, 05, 05]
+188C8; [7D 95 E6, 05, 05]
+188C9; [7D 95 E8, 05, 05]
+188CA; [7D 95 EA, 05, 05]
+188CB; [7D 95 EC, 05, 05]
+188CC; [7D 95 EE, 05, 05]
+188CD; [7D 95 F0, 05, 05]
+188CE; [7D 95 F2, 05, 05]
+188CF; [7D 95 F4, 05, 05]
+188D0; [7D 95 F6, 05, 05]
+188D1; [7D 95 F8, 05, 05]
+188D2; [7D 95 FA, 05, 05]
+188D3; [7D 95 FC, 05, 05]
+188D4; [7D 95 FE, 05, 05]
+188D5; [7D 96 02, 05, 05]
+188D6; [7D 96 04, 05, 05]
+188D7; [7D 96 06, 05, 05]
+188D8; [7D 96 08, 05, 05]
+188D9; [7D 96 0A, 05, 05]
+188DA; [7D 96 0C, 05, 05]
+188DB; [7D 96 0E, 05, 05]
+188DC; [7D 96 10, 05, 05]
+188DD; [7D 96 12, 05, 05]
+188DE; [7D 96 14, 05, 05]
+188DF; [7D 96 16, 05, 05]
+188E0; [7D 96 18, 05, 05]
+188E1; [7D 96 1A, 05, 05]
+188E2; [7D 96 1C, 05, 05]
+188E3; [7D 96 1E, 05, 05]
+188E4; [7D 96 20, 05, 05]
+188E5; [7D 96 22, 05, 05]
+188E6; [7D 96 24, 05, 05]
+188E7; [7D 96 26, 05, 05]
+188E8; [7D 96 28, 05, 05]
+188E9; [7D 96 2A, 05, 05]
+188EA; [7D 96 2C, 05, 05]
+188EB; [7D 96 2E, 05, 05]
+188EC; [7D 96 30, 05, 05]
+188ED; [7D 96 32, 05, 05]
+188EE; [7D 96 34, 05, 05]
+188EF; [7D 96 36, 05, 05]
+188F0; [7D 96 38, 05, 05]
+188F1; [7D 96 3A, 05, 05]
+188F2; [7D 96 3C, 05, 05]
+188F3; [7D 96 3E, 05, 05]
+188F4; [7D 96 40, 05, 05]
+188F5; [7D 96 42, 05, 05]
+188F6; [7D 96 44, 05, 05]
+188F7; [7D 96 46, 05, 05]
+188F8; [7D 96 48, 05, 05]
+188F9; [7D 96 4A, 05, 05]
+188FA; [7D 96 4C, 05, 05]
+188FB; [7D 96 4E, 05, 05]
+188FC; [7D 96 50, 05, 05]
+188FD; [7D 96 52, 05, 05]
+188FE; [7D 96 54, 05, 05]
+188FF; [7D 96 56, 05, 05]
+18900; [7D 96 58, 05, 05]
+18901; [7D 96 5A, 05, 05]
+18902; [7D 96 5C, 05, 05]
+18903; [7D 96 5E, 05, 05]
+18904; [7D 96 60, 05, 05]
+18905; [7D 96 62, 05, 05]
+18906; [7D 96 64, 05, 05]
+18907; [7D 96 66, 05, 05]
+18908; [7D 96 68, 05, 05]
+18909; [7D 96 6A, 05, 05]
+1890A; [7D 96 6C, 05, 05]
+1890B; [7D 96 6E, 05, 05]
+1890C; [7D 96 70, 05, 05]
+1890D; [7D 96 72, 05, 05]
+1890E; [7D 96 74, 05, 05]
+1890F; [7D 96 76, 05, 05]
+18910; [7D 96 78, 05, 05]
+18911; [7D 96 7A, 05, 05]
+18912; [7D 96 7C, 05, 05]
+18913; [7D 96 7E, 05, 05]
+18914; [7D 96 80, 05, 05]
+18915; [7D 96 82, 05, 05]
+18916; [7D 96 84, 05, 05]
+18917; [7D 96 86, 05, 05]
+18918; [7D 96 88, 05, 05]
+18919; [7D 96 8A, 05, 05]
+1891A; [7D 96 8C, 05, 05]
+1891B; [7D 96 8E, 05, 05]
+1891C; [7D 96 90, 05, 05]
+1891D; [7D 96 92, 05, 05]
+1891E; [7D 96 94, 05, 05]
+1891F; [7D 96 96, 05, 05]
+18920; [7D 96 98, 05, 05]
+18921; [7D 96 9A, 05, 05]
+18922; [7D 96 9C, 05, 05]
+18923; [7D 96 9E, 05, 05]
+18924; [7D 96 A0, 05, 05]
+18925; [7D 96 A2, 05, 05]
+18926; [7D 96 A4, 05, 05]
+18927; [7D 96 A6, 05, 05]
+18928; [7D 96 A8, 05, 05]
+18929; [7D 96 AA, 05, 05]
+1892A; [7D 96 AC, 05, 05]
+1892B; [7D 96 AE, 05, 05]
+1892C; [7D 96 B0, 05, 05]
+1892D; [7D 96 B2, 05, 05]
+1892E; [7D 96 B4, 05, 05]
+1892F; [7D 96 B6, 05, 05]
+18930; [7D 96 B8, 05, 05]
+18931; [7D 96 BA, 05, 05]
+18932; [7D 96 BC, 05, 05]
+18933; [7D 96 BE, 05, 05]
+18934; [7D 96 C0, 05, 05]
+18935; [7D 96 C2, 05, 05]
+18936; [7D 96 C4, 05, 05]
+18937; [7D 96 C6, 05, 05]
+18938; [7D 96 C8, 05, 05]
+18939; [7D 96 CA, 05, 05]
+1893A; [7D 96 CC, 05, 05]
+1893B; [7D 96 CE, 05, 05]
+1893C; [7D 96 D0, 05, 05]
+1893D; [7D 96 D2, 05, 05]
+1893E; [7D 96 D4, 05, 05]
+1893F; [7D 96 D6, 05, 05]
+18940; [7D 96 D8, 05, 05]
+18941; [7D 96 DA, 05, 05]
+18942; [7D 96 DC, 05, 05]
+18943; [7D 96 DE, 05, 05]
+18944; [7D 96 E0, 05, 05]
+18945; [7D 96 E2, 05, 05]
+18946; [7D 96 E4, 05, 05]
+18947; [7D 96 E6, 05, 05]
+18948; [7D 96 E8, 05, 05]
+18949; [7D 96 EA, 05, 05]
+1894A; [7D 96 EC, 05, 05]
+1894B; [7D 96 EE, 05, 05]
+1894C; [7D 96 F0, 05, 05]
+1894D; [7D 96 F2, 05, 05]
+1894E; [7D 96 F4, 05, 05]
+1894F; [7D 96 F6, 05, 05]
+18950; [7D 96 F8, 05, 05]
+18951; [7D 96 FA, 05, 05]
+18952; [7D 96 FC, 05, 05]
+18953; [7D 96 FE, 05, 05]
+18954; [7D 97 02, 05, 05]
+18955; [7D 97 04, 05, 05]
+18956; [7D 97 06, 05, 05]
+18957; [7D 97 08, 05, 05]
+18958; [7D 97 0A, 05, 05]
+18959; [7D 97 0C, 05, 05]
+1895A; [7D 97 0E, 05, 05]
+1895B; [7D 97 10, 05, 05]
+1895C; [7D 97 12, 05, 05]
+1895D; [7D 97 14, 05, 05]
+1895E; [7D 97 16, 05, 05]
+1895F; [7D 97 18, 05, 05]
+18960; [7D 97 1A, 05, 05]
+18961; [7D 97 1C, 05, 05]
+18962; [7D 97 1E, 05, 05]
+18963; [7D 97 20, 05, 05]
+18964; [7D 97 22, 05, 05]
+18965; [7D 97 24, 05, 05]
+18966; [7D 97 26, 05, 05]
+18967; [7D 97 28, 05, 05]
+18968; [7D 97 2A, 05, 05]
+18969; [7D 97 2C, 05, 05]
+1896A; [7D 97 2E, 05, 05]
+1896B; [7D 97 30, 05, 05]
+1896C; [7D 97 32, 05, 05]
+1896D; [7D 97 34, 05, 05]
+1896E; [7D 97 36, 05, 05]
+1896F; [7D 97 38, 05, 05]
+18970; [7D 97 3A, 05, 05]
+18971; [7D 97 3C, 05, 05]
+18972; [7D 97 3E, 05, 05]
+18973; [7D 97 40, 05, 05]
+18974; [7D 97 42, 05, 05]
+18975; [7D 97 44, 05, 05]
+18976; [7D 97 46, 05, 05]
+18977; [7D 97 48, 05, 05]
+18978; [7D 97 4A, 05, 05]
+18979; [7D 97 4C, 05, 05]
+1897A; [7D 97 4E, 05, 05]
+1897B; [7D 97 50, 05, 05]
+1897C; [7D 97 52, 05, 05]
+1897D; [7D 97 54, 05, 05]
+1897E; [7D 97 56, 05, 05]
+1897F; [7D 97 58, 05, 05]
+18980; [7D 97 5A, 05, 05]
+18981; [7D 97 5C, 05, 05]
+18982; [7D 97 5E, 05, 05]
+18983; [7D 97 60, 05, 05]
+18984; [7D 97 62, 05, 05]
+18985; [7D 97 64, 05, 05]
+18986; [7D 97 66, 05, 05]
+18987; [7D 97 68, 05, 05]
+18988; [7D 97 6A, 05, 05]
+18989; [7D 97 6C, 05, 05]
+1898A; [7D 97 6E, 05, 05]
+1898B; [7D 97 70, 05, 05]
+1898C; [7D 97 72, 05, 05]
+1898D; [7D 97 74, 05, 05]
+1898E; [7D 97 76, 05, 05]
+1898F; [7D 97 78, 05, 05]
+18990; [7D 97 7A, 05, 05]
+18991; [7D 97 7C, 05, 05]
+18992; [7D 97 7E, 05, 05]
+18993; [7D 97 80, 05, 05]
+18994; [7D 97 82, 05, 05]
+18995; [7D 97 84, 05, 05]
+18996; [7D 97 86, 05, 05]
+18997; [7D 97 88, 05, 05]
+18998; [7D 97 8A, 05, 05]
+18999; [7D 97 8C, 05, 05]
+1899A; [7D 97 8E, 05, 05]
+1899B; [7D 97 90, 05, 05]
+1899C; [7D 97 92, 05, 05]
+1899D; [7D 97 94, 05, 05]
+1899E; [7D 97 96, 05, 05]
+1899F; [7D 97 98, 05, 05]
+189A0; [7D 97 9A, 05, 05]
+189A1; [7D 97 9C, 05, 05]
+189A2; [7D 97 9E, 05, 05]
+189A3; [7D 97 A0, 05, 05]
+189A4; [7D 97 A2, 05, 05]
+189A5; [7D 97 A4, 05, 05]
+189A6; [7D 97 A6, 05, 05]
+189A7; [7D 97 A8, 05, 05]
+189A8; [7D 97 AA, 05, 05]
+189A9; [7D 97 AC, 05, 05]
+189AA; [7D 97 AE, 05, 05]
+189AB; [7D 97 B0, 05, 05]
+189AC; [7D 97 B2, 05, 05]
+189AD; [7D 97 B4, 05, 05]
+189AE; [7D 97 B6, 05, 05]
+189AF; [7D 97 B8, 05, 05]
+189B0; [7D 97 BA, 05, 05]
+189B1; [7D 97 BC, 05, 05]
+189B2; [7D 97 BE, 05, 05]
+189B3; [7D 97 C0, 05, 05]
+189B4; [7D 97 C2, 05, 05]
+189B5; [7D 97 C4, 05, 05]
+189B6; [7D 97 C6, 05, 05]
+189B7; [7D 97 C8, 05, 05]
+189B8; [7D 97 CA, 05, 05]
+189B9; [7D 97 CC, 05, 05]
+189BA; [7D 97 CE, 05, 05]
+189BB; [7D 97 D0, 05, 05]
+189BC; [7D 97 D2, 05, 05]
+189BD; [7D 97 D4, 05, 05]
+189BE; [7D 97 D6, 05, 05]
+189BF; [7D 97 D8, 05, 05]
+189C0; [7D 97 DA, 05, 05]
+189C1; [7D 97 DC, 05, 05]
+189C2; [7D 97 DE, 05, 05]
+189C3; [7D 97 E0, 05, 05]
+189C4; [7D 97 E2, 05, 05]
+189C5; [7D 97 E4, 05, 05]
+189C6; [7D 97 E6, 05, 05]
+189C7; [7D 97 E8, 05, 05]
+189C8; [7D 97 EA, 05, 05]
+189C9; [7D 97 EC, 05, 05]
+189CA; [7D 97 EE, 05, 05]
+189CB; [7D 97 F0, 05, 05]
+189CC; [7D 97 F2, 05, 05]
+189CD; [7D 97 F4, 05, 05]
+189CE; [7D 97 F6, 05, 05]
+189CF; [7D 97 F8, 05, 05]
+189D0; [7D 97 FA, 05, 05]
+189D1; [7D 97 FC, 05, 05]
+189D2; [7D 97 FE, 05, 05]
+189D3; [7D 98 02, 05, 05]
+189D4; [7D 98 04, 05, 05]
+189D5; [7D 98 06, 05, 05]
+189D6; [7D 98 08, 05, 05]
+189D7; [7D 98 0A, 05, 05]
+189D8; [7D 98 0C, 05, 05]
+189D9; [7D 98 0E, 05, 05]
+189DA; [7D 98 10, 05, 05]
+189DB; [7D 98 12, 05, 05]
+189DC; [7D 98 14, 05, 05]
+189DD; [7D 98 16, 05, 05]
+189DE; [7D 98 18, 05, 05]
+189DF; [7D 98 1A, 05, 05]
+189E0; [7D 98 1C, 05, 05]
+189E1; [7D 98 1E, 05, 05]
+189E2; [7D 98 20, 05, 05]
+189E3; [7D 98 22, 05, 05]
+189E4; [7D 98 24, 05, 05]
+189E5; [7D 98 26, 05, 05]
+189E6; [7D 98 28, 05, 05]
+189E7; [7D 98 2A, 05, 05]
+189E8; [7D 98 2C, 05, 05]
+189E9; [7D 98 2E, 05, 05]
+189EA; [7D 98 30, 05, 05]
+189EB; [7D 98 32, 05, 05]
+189EC; [7D 98 34, 05, 05]
+189ED; [7D 98 36, 05, 05]
+189EE; [7D 98 38, 05, 05]
+189EF; [7D 98 3A, 05, 05]
+189F0; [7D 98 3C, 05, 05]
+189F1; [7D 98 3E, 05, 05]
+189F2; [7D 98 40, 05, 05]
+189F3; [7D 98 42, 05, 05]
+189F4; [7D 98 44, 05, 05]
+189F5; [7D 98 46, 05, 05]
+189F6; [7D 98 48, 05, 05]
+189F7; [7D 98 4A, 05, 05]
+189F8; [7D 98 4C, 05, 05]
+189F9; [7D 98 4E, 05, 05]
+189FA; [7D 98 50, 05, 05]
+189FB; [7D 98 52, 05, 05]
+189FC; [7D 98 54, 05, 05]
+189FD; [7D 98 56, 05, 05]
+189FE; [7D 98 58, 05, 05]
+189FF; [7D 98 5A, 05, 05]
+18A00; [7D 98 5C, 05, 05]
+18A01; [7D 98 5E, 05, 05]
+18A02; [7D 98 60, 05, 05]
+18A03; [7D 98 62, 05, 05]
+18A04; [7D 98 64, 05, 05]
+18A05; [7D 98 66, 05, 05]
+18A06; [7D 98 68, 05, 05]
+18A07; [7D 98 6A, 05, 05]
+18A08; [7D 98 6C, 05, 05]
+18A09; [7D 98 6E, 05, 05]
+18A0A; [7D 98 70, 05, 05]
+18A0B; [7D 98 72, 05, 05]
+18A0C; [7D 98 74, 05, 05]
+18A0D; [7D 98 76, 05, 05]
+18A0E; [7D 98 78, 05, 05]
+18A0F; [7D 98 7A, 05, 05]
+18A10; [7D 98 7C, 05, 05]
+18A11; [7D 98 7E, 05, 05]
+18A12; [7D 98 80, 05, 05]
+18A13; [7D 98 82, 05, 05]
+18A14; [7D 98 84, 05, 05]
+18A15; [7D 98 86, 05, 05]
+18A16; [7D 98 88, 05, 05]
+18A17; [7D 98 8A, 05, 05]
+18A18; [7D 98 8C, 05, 05]
+18A19; [7D 98 8E, 05, 05]
+18A1A; [7D 98 90, 05, 05]
+18A1B; [7D 98 92, 05, 05]
+18A1C; [7D 98 94, 05, 05]
+18A1D; [7D 98 96, 05, 05]
+18A1E; [7D 98 98, 05, 05]
+18A1F; [7D 98 9A, 05, 05]
+18A20; [7D 98 9C, 05, 05]
+18A21; [7D 98 9E, 05, 05]
+18A22; [7D 98 A0, 05, 05]
+18A23; [7D 98 A2, 05, 05]
+18A24; [7D 98 A4, 05, 05]
+18A25; [7D 98 A6, 05, 05]
+18A26; [7D 98 A8, 05, 05]
+18A27; [7D 98 AA, 05, 05]
+18A28; [7D 98 AC, 05, 05]
+18A29; [7D 98 AE, 05, 05]
+18A2A; [7D 98 B0, 05, 05]
+18A2B; [7D 98 B2, 05, 05]
+18A2C; [7D 98 B4, 05, 05]
+18A2D; [7D 98 B6, 05, 05]
+18A2E; [7D 98 B8, 05, 05]
+18A2F; [7D 98 BA, 05, 05]
+18A30; [7D 98 BC, 05, 05]
+18A31; [7D 98 BE, 05, 05]
+18A32; [7D 98 C0, 05, 05]
+18A33; [7D 98 C2, 05, 05]
+18A34; [7D 98 C4, 05, 05]
+18A35; [7D 98 C6, 05, 05]
+18A36; [7D 98 C8, 05, 05]
+18A37; [7D 98 CA, 05, 05]
+18A38; [7D 98 CC, 05, 05]
+18A39; [7D 98 CE, 05, 05]
+18A3A; [7D 98 D0, 05, 05]
+18A3B; [7D 98 D2, 05, 05]
+18A3C; [7D 98 D4, 05, 05]
+18A3D; [7D 98 D6, 05, 05]
+18A3E; [7D 98 D8, 05, 05]
+18A3F; [7D 98 DA, 05, 05]
+18A40; [7D 98 DC, 05, 05]
+18A41; [7D 98 DE, 05, 05]
+18A42; [7D 98 E0, 05, 05]
+18A43; [7D 98 E2, 05, 05]
+18A44; [7D 98 E4, 05, 05]
+18A45; [7D 98 E6, 05, 05]
+18A46; [7D 98 E8, 05, 05]
+18A47; [7D 98 EA, 05, 05]
+18A48; [7D 98 EC, 05, 05]
+18A49; [7D 98 EE, 05, 05]
+18A4A; [7D 98 F0, 05, 05]
+18A4B; [7D 98 F2, 05, 05]
+18A4C; [7D 98 F4, 05, 05]
+18A4D; [7D 98 F6, 05, 05]
+18A4E; [7D 98 F8, 05, 05]
+18A4F; [7D 98 FA, 05, 05]
+18A50; [7D 98 FC, 05, 05]
+18A51; [7D 98 FE, 05, 05]
+18A52; [7D 99 02, 05, 05]
+18A53; [7D 99 04, 05, 05]
+18A54; [7D 99 06, 05, 05]
+18A55; [7D 99 08, 05, 05]
+18A56; [7D 99 0A, 05, 05]
+18A57; [7D 99 0C, 05, 05]
+18A58; [7D 99 0E, 05, 05]
+18A59; [7D 99 10, 05, 05]
+18A5A; [7D 99 12, 05, 05]
+18A5B; [7D 99 14, 05, 05]
+18A5C; [7D 99 16, 05, 05]
+18A5D; [7D 99 18, 05, 05]
+18A5E; [7D 99 1A, 05, 05]
+18A5F; [7D 99 1C, 05, 05]
+18A60; [7D 99 1E, 05, 05]
+18A61; [7D 99 20, 05, 05]
+18A62; [7D 99 22, 05, 05]
+18A63; [7D 99 24, 05, 05]
+18A64; [7D 99 26, 05, 05]
+18A65; [7D 99 28, 05, 05]
+18A66; [7D 99 2A, 05, 05]
+18A67; [7D 99 2C, 05, 05]
+18A68; [7D 99 2E, 05, 05]
+18A69; [7D 99 30, 05, 05]
+18A6A; [7D 99 32, 05, 05]
+18A6B; [7D 99 34, 05, 05]
+18A6C; [7D 99 36, 05, 05]
+18A6D; [7D 99 38, 05, 05]
+18A6E; [7D 99 3A, 05, 05]
+18A6F; [7D 99 3C, 05, 05]
+18A70; [7D 99 3E, 05, 05]
+18A71; [7D 99 40, 05, 05]
+18A72; [7D 99 42, 05, 05]
+18A73; [7D 99 44, 05, 05]
+18A74; [7D 99 46, 05, 05]
+18A75; [7D 99 48, 05, 05]
+18A76; [7D 99 4A, 05, 05]
+18A77; [7D 99 4C, 05, 05]
+18A78; [7D 99 4E, 05, 05]
+18A79; [7D 99 50, 05, 05]
+18A7A; [7D 99 52, 05, 05]
+18A7B; [7D 99 54, 05, 05]
+18A7C; [7D 99 56, 05, 05]
+18A7D; [7D 99 58, 05, 05]
+18A7E; [7D 99 5A, 05, 05]
+18A7F; [7D 99 5C, 05, 05]
+18A80; [7D 99 5E, 05, 05]
+18A81; [7D 99 60, 05, 05]
+18A82; [7D 99 62, 05, 05]
+18A83; [7D 99 64, 05, 05]
+18A84; [7D 99 66, 05, 05]
+18A85; [7D 99 68, 05, 05]
+18A86; [7D 99 6A, 05, 05]
+18A87; [7D 99 6C, 05, 05]
+18A88; [7D 99 6E, 05, 05]
+18A89; [7D 99 70, 05, 05]
+18A8A; [7D 99 72, 05, 05]
+18A8B; [7D 99 74, 05, 05]
+18A8C; [7D 99 76, 05, 05]
+18A8D; [7D 99 78, 05, 05]
+18A8E; [7D 99 7A, 05, 05]
+18A8F; [7D 99 7C, 05, 05]
+18A90; [7D 99 7E, 05, 05]
+18A91; [7D 99 80, 05, 05]
+18A92; [7D 99 82, 05, 05]
+18A93; [7D 99 84, 05, 05]
+18A94; [7D 99 86, 05, 05]
+18A95; [7D 99 88, 05, 05]
+18A96; [7D 99 8A, 05, 05]
+18A97; [7D 99 8C, 05, 05]
+18A98; [7D 99 8E, 05, 05]
+18A99; [7D 99 90, 05, 05]
+18A9A; [7D 99 92, 05, 05]
+18A9B; [7D 99 94, 05, 05]
+18A9C; [7D 99 96, 05, 05]
+18A9D; [7D 99 98, 05, 05]
+18A9E; [7D 99 9A, 05, 05]
+18A9F; [7D 99 9C, 05, 05]
+18AA0; [7D 99 9E, 05, 05]
+18AA1; [7D 99 A0, 05, 05]
+18AA2; [7D 99 A2, 05, 05]
+18AA3; [7D 99 A4, 05, 05]
+18AA4; [7D 99 A6, 05, 05]
+18AA5; [7D 99 A8, 05, 05]
+18AA6; [7D 99 AA, 05, 05]
+18AA7; [7D 99 AC, 05, 05]
+18AA8; [7D 99 AE, 05, 05]
+18AA9; [7D 99 B0, 05, 05]
+18AAA; [7D 99 B2, 05, 05]
+18AAB; [7D 99 B4, 05, 05]
+18AAC; [7D 99 B6, 05, 05]
+18AAD; [7D 99 B8, 05, 05]
+18AAE; [7D 99 BA, 05, 05]
+18AAF; [7D 99 BC, 05, 05]
+18AB0; [7D 99 BE, 05, 05]
+18AB1; [7D 99 C0, 05, 05]
+18AB2; [7D 99 C2, 05, 05]
+18AB3; [7D 99 C4, 05, 05]
+18AB4; [7D 99 C6, 05, 05]
+18AB5; [7D 99 C8, 05, 05]
+18AB6; [7D 99 CA, 05, 05]
+18AB7; [7D 99 CC, 05, 05]
+18AB8; [7D 99 CE, 05, 05]
+18AB9; [7D 99 D0, 05, 05]
+18ABA; [7D 99 D2, 05, 05]
+18ABB; [7D 99 D4, 05, 05]
+18ABC; [7D 99 D6, 05, 05]
+18ABD; [7D 99 D8, 05, 05]
+18ABE; [7D 99 DA, 05, 05]
+18ABF; [7D 99 DC, 05, 05]
+18AC0; [7D 99 DE, 05, 05]
+18AC1; [7D 99 E0, 05, 05]
+18AC2; [7D 99 E2, 05, 05]
+18AC3; [7D 99 E4, 05, 05]
+18AC4; [7D 99 E6, 05, 05]
+18AC5; [7D 99 E8, 05, 05]
+18AC6; [7D 99 EA, 05, 05]
+18AC7; [7D 99 EC, 05, 05]
+18AC8; [7D 99 EE, 05, 05]
+18AC9; [7D 99 F0, 05, 05]
+18ACA; [7D 99 F2, 05, 05]
+18ACB; [7D 99 F4, 05, 05]
+18ACC; [7D 99 F6, 05, 05]
+18ACD; [7D 99 F8, 05, 05]
+18ACE; [7D 99 FA, 05, 05]
+18ACF; [7D 99 FC, 05, 05]
+18AD0; [7D 99 FE, 05, 05]
+18AD1; [7D 9A 02, 05, 05]
+18AD2; [7D 9A 04, 05, 05]
+18AD3; [7D 9A 06, 05, 05]
+18AD4; [7D 9A 08, 05, 05]
+18AD5; [7D 9A 0A, 05, 05]
+18AD6; [7D 9A 0C, 05, 05]
+18AD7; [7D 9A 0E, 05, 05]
+18AD8; [7D 9A 10, 05, 05]
+18AD9; [7D 9A 12, 05, 05]
+18ADA; [7D 9A 14, 05, 05]
+18ADB; [7D 9A 16, 05, 05]
+18ADC; [7D 9A 18, 05, 05]
+18ADD; [7D 9A 1A, 05, 05]
+18ADE; [7D 9A 1C, 05, 05]
+18ADF; [7D 9A 1E, 05, 05]
+18AE0; [7D 9A 20, 05, 05]
+18AE1; [7D 9A 22, 05, 05]
+18AE2; [7D 9A 24, 05, 05]
+18AE3; [7D 9A 26, 05, 05]
+18AE4; [7D 9A 28, 05, 05]
+18AE5; [7D 9A 2A, 05, 05]
+18AE6; [7D 9A 2C, 05, 05]
+18AE7; [7D 9A 2E, 05, 05]
+18AE8; [7D 9A 30, 05, 05]
+18AE9; [7D 9A 32, 05, 05]
+18AEA; [7D 9A 34, 05, 05]
+18AEB; [7D 9A 36, 05, 05]
+18AEC; [7D 9A 38, 05, 05]
+18AED; [7D 9A 3A, 05, 05]
+18AEE; [7D 9A 3C, 05, 05]
+18AEF; [7D 9A 3E, 05, 05]
+18AF0; [7D 9A 40, 05, 05]
+18AF1; [7D 9A 42, 05, 05]
+18AF2; [7D 9A 44, 05, 05]
FDD1 1B1C4; [7D 9B 02, 05, 05] # Nushu first primary (compressible)
@@ -60085,6 +61187,7 @@ F977; [U+4EAE]
F9FD; [U+4EC0]
2F819; [U+4ECC]
F9A8; [U+4EE4]
+32FF; [U+4EE4, 31][U+548C, 31]
32AD; [U+4F01, 1B]
32A1; [U+4F11, 1B]
2F804; [U+4F60]
@@ -61520,13 +62623,13 @@ FDD0 0045; [, AA, 20]
FDD0 0046; [, AE, 2E]
FDD0 0047; [, B0, 2E]
FDD0 0048; [, B2, 20]
-FDD0 0049; [, E5 C0, 1E]
-FDD0 004A; [, E8 B2, 20]
-FDD0 004B; [, E8 B2, 2E]
-FDD0 004C; [, EB 82, 10]
-FDD0 004D; [, EB 82, 1E]
-FDD0 004E; [, EB 82, 2C]
-FDD0 004F; [, F1 66, 20]
+FDD0 0049; [, E5 A4, 1E]
+FDD0 004A; [, E8 80, 20]
+FDD0 004B; [, E8 80, 2E]
+FDD0 004C; [, EB 3B, 10]
+FDD0 004D; [, EB 3B, 1E]
+FDD0 004E; [, EB 3B, 2C]
+FDD0 004F; [, F0 F1, 20]
FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
# VALUES BASED ON UCA
@@ -61540,9 +62643,9 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[first secondary in primary non-ignorable [X, 05, X]] # U+0009
[last secondary in primary non-ignorable [X, 7C, X]] # U+16AE RUNIC LETTER O
[first primary ignorable [, 82, 05]] # U+0332 COMBINING LOW LINE
-[last primary ignorable [, FB D6, 05]] # U+00B7 MIDDLE DOT
+[last primary ignorable [, FB 99, 05]] # U+00B7 MIDDLE DOT
[first variable [03 04, 05, 05]] # U+0009
-[last variable [0B 78 59, 05, 05]] # U+10A7F OLD SOUTH ARABIAN NUMERIC INDICATOR
+[last variable [0B 7D 5D, 05, 05]] # U+10A7F OLD SOUTH ARABIAN NUMERIC INDICATOR
[variable top = 0B FF FF FF]
[first regular [0C 04, 05, 05]] # U+0060 GRAVE ACCENT
[last regular [7D A5 EA, 05, 05]] # U+1B2FB NUSHU CHARACTER-1B2FB
@@ -61585,6 +62688,7 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Dupl 7C=140 ]
[reorderingTokens Egyp 7D=1072 ]
[reorderingTokens Elba 7C=41 ]
+[reorderingTokens Elym 7C=24 ]
[reorderingTokens Ethi 67=454 ]
[reorderingTokens FIELD-SEPARATOR 02=1 ]
[reorderingTokens Geor 63=174 ]
@@ -61606,13 +62710,14 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Hira 7A=1 ]
[reorderingTokens Hluw 7D=584 ]
[reorderingTokens Hmng 7B=89 ]
+[reorderingTokens Hmnp 7B=47 ]
[reorderingTokens Hrkt 7A=1 ]
[reorderingTokens Hung 77=103 ]
[reorderingTokens IMPLICIT E0=5 E1=5 E2=5 E3=5 E4=5 ]
[reorderingTokens Ital 7B=36 ]
[reorderingTokens Java 76=48 ]
[reorderingTokens Kali 75=29 ]
-[reorderingTokens Kana 7A=676 ]
+[reorderingTokens Kana 7A=683 ]
[reorderingTokens Khar 71=38 ]
[reorderingTokens Khmr 75=54 ]
[reorderingTokens Khoj 71=44 ]
@@ -61620,8 +62725,8 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Kthi 71=46 ]
[reorderingTokens LEVEL-SEPARATOR 01=1 ]
[reorderingTokens Lana 76=54 ]
-[reorderingTokens Laoo 73=196 ]
-[reorderingTokens Latn 29=2234 2A=2234 2B=2234 2C=2234 2D=2234 2E=2234 2F=2234 30=2234 31=2234 32=2234 33=2234 34=2234 35=2234 36=2234 37=2234 38=2234 39=2234 3A=2234 3B=2234 3C=2234 3D=2234 3E=2234 3F=2234 40=2234 41=2234 42=2234 43=2234 44=2234 45=2234 46=2234 47=2234 48=2234 49=2234 4A=2234 4B=2234 4C=2234 4D=2234 4E=2234 4F=2234 50=2234 51=2234 52=2234 53=2234 54=2234 55=2234 56=2234 57=2234 58=2234 59=2234 5A=2234 5B=2234 5C=2234 5D=2234 ]
+[reorderingTokens Laoo 73=280 ]
+[reorderingTokens Latn 29=2248 2A=2248 2B=2248 2C=2248 2D=2248 2E=2248 2F=2248 30=2248 31=2248 32=2248 33=2248 34=2248 35=2248 36=2248 37=2248 38=2248 39=2248 3A=2248 3B=2248 3C=2248 3D=2248 3E=2248 3F=2248 40=2248 41=2248 42=2248 43=2248 44=2248 45=2248 46=2248 47=2248 48=2248 49=2248 4A=2248 4B=2248 4C=2248 4D=2248 4E=2248 4F=2248 50=2248 51=2248 52=2248 53=2248 54=2248 55=2248 56=2248 57=2248 58=2248 59=2248 5A=2248 5B=2248 5C=2248 5D=2248 ]
[reorderingTokens Lepc 75=40 ]
[reorderingTokens Limb 75=32 ]
[reorderingTokens Lina 7C=342 ]
@@ -61645,9 +62750,10 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Mtei 71=48 ]
[reorderingTokens Mult 71=38 ]
[reorderingTokens Mymr 75=120 ]
+[reorderingTokens Nand 71=50 ]
[reorderingTokens Narb 7C=30 ]
[reorderingTokens Nbat 7C=32 ]
-[reorderingTokens Newa 71=58 ]
+[reorderingTokens Newa 71=59 ]
[reorderingTokens Nkoo 67=34 ]
[reorderingTokens Nshu 7D=1 ]
[reorderingTokens Ogam 76=27 ]
@@ -61664,7 +62770,7 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Phli 7C=20 ]
[reorderingTokens Phlp 7C=19 ]
[reorderingTokens Phnx 65=23 ]
-[reorderingTokens Plrd 7B=71 ]
+[reorderingTokens Plrd 7B=77 ]
[reorderingTokens Prti 7C=23 ]
[reorderingTokens Rjng 75=24 ]
[reorderingTokens Rohg 75=37 ]
@@ -61683,14 +62789,14 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Sogd 7C=23 ]
[reorderingTokens Sogo 7C=31 ]
[reorderingTokens Sora 7C=26 ]
-[reorderingTokens Soyo 74=47 ]
+[reorderingTokens Soyo 74=49 ]
[reorderingTokens Sund 71=39 ]
[reorderingTokens Sylo 71=33 ]
[reorderingTokens Syrc 67=46 ]
[reorderingTokens TERMINATOR 00=1 ]
[reorderingTokens TRAILING E5=11 E6=11 E7=11 E8=11 E9=11 EA=11 EB=11 EC=11 ED=11 EE=11 EF=11 ]
[reorderingTokens Tagb 75=17 ]
-[reorderingTokens Takr 71=44 ]
+[reorderingTokens Takr 71=45 ]
[reorderingTokens Tale 76=36 ]
[reorderingTokens Talu 76=247 ]
[reorderingTokens Taml 6D=39 ]
@@ -61706,6 +62812,7 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
[reorderingTokens Ugar 7C=31 ]
[reorderingTokens Vaii 78=287 ]
[reorderingTokens Wara 7B=66 ]
+[reorderingTokens Wcho 7B=45 ]
[reorderingTokens Xpeo 7C=45 ]
[reorderingTokens Xsux 7C=1119 ]
[reorderingTokens Yiii 7B=1165 ]
@@ -61714,24 +62821,24 @@ FDD0 0050; [, , 3D 02] # CONSTRUCTED FAKE SECONDARY-IGNORABLE
# General Categories => Top Byte
[categories Cc 03{SPACE}=6 ]
-[categories Lm 0C{SYMBOL}=24 0D{CURRENCY}=30 29{Latn}=12 2A{Latn}=12 2B{Latn}=12 2C{Latn}=12 2D{Latn}=12 2E{Latn}=12 2F{Latn}=12 30{Latn}=12 31{Latn}=12 32{Latn}=12 33{Latn}=12 34{Latn}=12 35{Latn}=12 36{Latn}=12 37{Latn}=12 38{Latn}=12 39{Latn}=12 3A{Latn}=12 3B{Latn}=12 3C{Latn}=12 3D{Latn}=12 3E{Latn}=12 3F{Latn}=12 40{Latn}=12 41{Latn}=12 42{Latn}=12 43{Latn}=12 44{Latn}=12 45{Latn}=12 46{Latn}=12 47{Latn}=12 48{Latn}=12 49{Latn}=12 4A{Latn}=12 4B{Latn}=12 4C{Latn}=12 4D{Latn}=12 4E{Latn}=12 4F{Latn}=12 50{Latn}=12 51{Latn}=12 52{Latn}=12 53{Latn}=12 54{Latn}=12 55{Latn}=12 56{Latn}=12 57{Latn}=12 58{Latn}=12 59{Latn}=12 5A{Latn}=12 5B{Latn}=12 5C{Latn}=12 5D{Latn}=12 61{Cyrl}=2 64{Armn}=1 65{Hebr Phnx Samr}=1 66{Arab}=2 67{Syrc Mand Thaa Nkoo Tfng Ethi}=2 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=7 78{Vaii Bamu Bass Mend Medf Adlm}=1 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Lyci Cari Lydi Ital Goth}=22 ]
-[categories Lo 68{Deva}=10 7A{Hira Hrkt Kana}=2 ]
-[categories Mc 68{Deva}=10 69{Beng}=10 6A{Guru}=3 6B{Gujr}=6 6C{Orya}=10 6D{Taml}=14 6E{Telu}=4 6F{Knda}=7 70{Mlym}=13 71{Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Dogr Ahom Gonm Gong Sund Brah Khar Bhks}=133 74{Tibt Zanb Soyo}=2 75{Marc Lepc Phag Limb Tglg Hano Buhd Tagb Bugi Maka Batk Rjng Kali Mymr Rohg Cakm Khmr}=84 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=32 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Lyci Cari Lydi Ital Goth}=46 ]
-[categories Mn 29{Latn}=49 2A{Latn}=49 2B{Latn}=49 2C{Latn}=49 2D{Latn}=49 2E{Latn}=49 2F{Latn}=49 30{Latn}=49 31{Latn}=49 32{Latn}=49 33{Latn}=49 34{Latn}=49 35{Latn}=49 36{Latn}=49 37{Latn}=49 38{Latn}=49 39{Latn}=49 3A{Latn}=49 3B{Latn}=49 3C{Latn}=49 3D{Latn}=49 3E{Latn}=49 3F{Latn}=49 40{Latn}=49 41{Latn}=49 42{Latn}=49 43{Latn}=49 44{Latn}=49 45{Latn}=49 46{Latn}=49 47{Latn}=49 48{Latn}=49 49{Latn}=49 4A{Latn}=49 4B{Latn}=49 4C{Latn}=49 4D{Latn}=49 4E{Latn}=49 4F{Latn}=49 50{Latn}=49 51{Latn}=49 52{Latn}=49 53{Latn}=49 54{Latn}=49 55{Latn}=49 56{Latn}=49 57{Latn}=49 58{Latn}=49 59{Latn}=49 5A{Latn}=49 5B{Latn}=49 5C{Latn}=49 5D{Latn}=49 61{Cyrl}=42 62{Glag Perm}=43 65{Hebr Phnx Samr}=3 67{Syrc Mand Thaa Nkoo Tfng Ethi}=11 68{Deva}=16 69{Beng}=7 6A{Guru}=9 6B{Gujr}=10 6C{Orya}=9 6D{Taml}=2 6E{Telu}=15 6F{Knda}=17 70{Mlym}=9 71{Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Dogr Ahom Gonm Gong Sund Brah Khar Bhks}=162 72{Thai}=10 73{Laoo Tavt}=18 74{Tibt Zanb Soyo}=120 75{Marc Lepc Phag Limb Tglg Hano Buhd Tagb Bugi Maka Batk Rjng Kali Mymr Rohg Cakm Khmr}=134 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=52 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Lyci Cari Lydi Ital Goth}=4 ]
-[categories Nd 0E{DIGIT}=1 0F{DIGIT}=1 13{DIGIT}=68 15{DIGIT}=122 17{DIGIT}=97 19{DIGIT}=84 1B{DIGIT}=80 1D{DIGIT}=72 1F{DIGIT}=69 21{DIGIT}=70 23{DIGIT}=69 25{DIGIT}=69 ]
-[categories Nl 10{DIGIT}=18 11{DIGIT}=48 13{DIGIT}=1 15{DIGIT}=12 17{DIGIT}=16 19{DIGIT}=16 1B{DIGIT}=17 1D{DIGIT}=18 1F{DIGIT}=10 21{DIGIT}=10 23{DIGIT}=9 25{DIGIT}=11 77{Runr Hung Orkh}=3 78{Vaii Bamu Bass Mend Medf Adlm}=10 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Lyci Cari Lydi Ital Goth}=2 ]
-[categories No 10{DIGIT}=113 11{DIGIT}=245 12{DIGIT}=4 13{DIGIT}=9 15{DIGIT}=57 17{DIGIT}=36 19{DIGIT}=34 1B{DIGIT}=30 1D{DIGIT}=30 1F{DIGIT}=21 21{DIGIT}=21 23{DIGIT}=21 25{DIGIT}=20 ]
+[categories Lm 0C{SYMBOL}=24 0D{CURRENCY}=33 29{Latn}=12 2A{Latn}=12 2B{Latn}=12 2C{Latn}=12 2D{Latn}=12 2E{Latn}=12 2F{Latn}=12 30{Latn}=12 31{Latn}=12 32{Latn}=12 33{Latn}=12 34{Latn}=12 35{Latn}=12 36{Latn}=12 37{Latn}=12 38{Latn}=12 39{Latn}=12 3A{Latn}=12 3B{Latn}=12 3C{Latn}=12 3D{Latn}=12 3E{Latn}=12 3F{Latn}=12 40{Latn}=12 41{Latn}=12 42{Latn}=12 43{Latn}=12 44{Latn}=12 45{Latn}=12 46{Latn}=12 47{Latn}=12 48{Latn}=12 49{Latn}=12 4A{Latn}=12 4B{Latn}=12 4C{Latn}=12 4D{Latn}=12 4E{Latn}=12 4F{Latn}=12 50{Latn}=12 51{Latn}=12 52{Latn}=12 53{Latn}=12 54{Latn}=12 55{Latn}=12 56{Latn}=12 57{Latn}=12 58{Latn}=12 59{Latn}=12 5A{Latn}=12 5B{Latn}=12 5C{Latn}=12 5D{Latn}=12 61{Cyrl}=2 64{Armn}=1 65{Hebr Phnx Samr}=1 66{Arab}=2 67{Syrc Mand Thaa Nkoo Tfng Ethi}=2 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=7 78{Vaii Bamu Bass Mend Medf Adlm}=2 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Hmnp Wcho Lyci Cari Lydi Ital Goth}=27 ]
+[categories Lo 68{Deva}=11 7A{Hira Hrkt Kana}=2 ]
+[categories Mc 68{Deva}=10 69{Beng}=10 6A{Guru}=3 6B{Gujr}=6 6C{Orya}=10 6D{Taml}=14 6E{Telu}=4 6F{Knda}=7 70{Mlym}=13 71{Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Nand Dogr Ahom Gonm Gong Sund Brah Khar Bhks}=139 74{Tibt Zanb Soyo}=2 75{Marc Lepc Phag Limb Tglg Hano Buhd Tagb Bugi Maka Batk Rjng Kali Mymr Rohg Cakm Khmr}=84 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=31 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Hmnp Wcho Lyci Cari Lydi Ital Goth}=55 ]
+[categories Mn 29{Latn}=49 2A{Latn}=49 2B{Latn}=49 2C{Latn}=49 2D{Latn}=49 2E{Latn}=49 2F{Latn}=49 30{Latn}=49 31{Latn}=49 32{Latn}=49 33{Latn}=49 34{Latn}=49 35{Latn}=49 36{Latn}=49 37{Latn}=49 38{Latn}=49 39{Latn}=49 3A{Latn}=49 3B{Latn}=49 3C{Latn}=49 3D{Latn}=49 3E{Latn}=49 3F{Latn}=49 40{Latn}=49 41{Latn}=49 42{Latn}=49 43{Latn}=49 44{Latn}=49 45{Latn}=49 46{Latn}=49 47{Latn}=49 48{Latn}=49 49{Latn}=49 4A{Latn}=49 4B{Latn}=49 4C{Latn}=49 4D{Latn}=49 4E{Latn}=49 4F{Latn}=49 50{Latn}=49 51{Latn}=49 52{Latn}=49 53{Latn}=49 54{Latn}=49 55{Latn}=49 56{Latn}=49 57{Latn}=49 58{Latn}=49 59{Latn}=49 5A{Latn}=49 5B{Latn}=49 5C{Latn}=49 5D{Latn}=49 61{Cyrl}=42 62{Glag Perm}=43 65{Hebr Phnx Samr}=3 67{Syrc Mand Thaa Nkoo Tfng Ethi}=11 68{Deva}=16 69{Beng}=7 6A{Guru}=9 6B{Gujr}=10 6C{Orya}=9 6D{Taml}=2 6E{Telu}=15 6F{Knda}=17 70{Mlym}=9 71{Sinh Mtei Sylo Saur Kthi Mahj Shrd Khoj Sind Mult Gran Newa Tirh Sidd Modi Takr Nand Dogr Ahom Gonm Gong Sund Brah Khar Bhks}=169 72{Thai}=10 73{Laoo Tavt}=19 74{Tibt Zanb Soyo}=120 75{Marc Lepc Phag Limb Tglg Hano Buhd Tagb Bugi Maka Batk Rjng Kali Mymr Rohg Cakm Khmr}=134 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=53 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Hmnp Wcho Lyci Cari Lydi Ital Goth}=5 ]
+[categories Nd 0E{DIGIT}=1 0F{DIGIT}=1 13{DIGIT}=70 15{DIGIT}=124 17{DIGIT}=99 19{DIGIT}=86 1B{DIGIT}=82 1D{DIGIT}=74 1F{DIGIT}=71 21{DIGIT}=72 23{DIGIT}=71 25{DIGIT}=71 ]
+[categories Nl 10{DIGIT}=6 11{DIGIT}=43 12{DIGIT}=17 13{DIGIT}=1 15{DIGIT}=12 17{DIGIT}=16 19{DIGIT}=16 1B{DIGIT}=17 1D{DIGIT}=18 1F{DIGIT}=10 21{DIGIT}=10 23{DIGIT}=9 25{DIGIT}=11 77{Runr Hung Orkh}=3 78{Vaii Bamu Bass Mend Medf Adlm}=10 7B{Bopo Yiii Lisu Plrd Wara Pauc Hmng Hmnp Wcho Lyci Cari Lydi Ital Goth}=2 ]
+[categories No 10{DIGIT}=125 11{DIGIT}=180 12{DIGIT}=121 13{DIGIT}=9 15{DIGIT}=58 17{DIGIT}=38 19{DIGIT}=36 1B{DIGIT}=32 1D{DIGIT}=32 1F{DIGIT}=23 21{DIGIT}=23 23{DIGIT}=23 25{DIGIT}=22 ]
[categories Pc 05{PUNCTUATION}=7 0A{PUNCTUATION}=3 ]
[categories Pd 05{PUNCTUATION}=22 0A{PUNCTUATION}=1 0B{PUNCTUATION}=1 ]
[categories Pe 09{PUNCTUATION}=42 0A{PUNCTUATION}=31 ]
[categories Pf 09{PUNCTUATION}=4 0A{PUNCTUATION}=6 ]
[categories Pi 05{PUNCTUATION}=1 09{PUNCTUATION}=6 0A{PUNCTUATION}=6 ]
-[categories Po 05{PUNCTUATION}=6 06{PUNCTUATION}=4 07{PUNCTUATION}=109 08{PUNCTUATION}=8 09{PUNCTUATION}=156 0A{PUNCTUATION}=87 0B{PUNCTUATION}=207 ]
+[categories Po 05{PUNCTUATION}=6 06{PUNCTUATION}=4 07{PUNCTUATION}=111 08{PUNCTUATION}=8 09{PUNCTUATION}=156 0A{PUNCTUATION}=87 0B{PUNCTUATION}=209 ]
[categories Ps 09{PUNCTUATION}=183 0A{PUNCTUATION}=41 ]
-[categories Sc 0D{CURRENCY}=56 ]
+[categories Sc 0D{CURRENCY}=61 ]
[categories Sk 0C{SYMBOL}=87 0D{CURRENCY}=5 ]
[categories Sm 0C{SYMBOL}=947 ]
-[categories So 0C{SYMBOL}=2700 0D{CURRENCY}=2191 15{DIGIT}=1 17{DIGIT}=3 19{DIGIT}=1 1B{DIGIT}=1 1D{DIGIT}=1 1F{DIGIT}=1 21{DIGIT}=1 23{DIGIT}=1 29{Latn}=77 2A{Latn}=77 2B{Latn}=77 2C{Latn}=77 2D{Latn}=77 2E{Latn}=77 2F{Latn}=77 30{Latn}=77 31{Latn}=77 32{Latn}=77 33{Latn}=77 34{Latn}=77 35{Latn}=77 36{Latn}=77 37{Latn}=77 38{Latn}=77 39{Latn}=77 3A{Latn}=77 3B{Latn}=77 3C{Latn}=77 3D{Latn}=77 3E{Latn}=77 3F{Latn}=77 40{Latn}=77 41{Latn}=77 42{Latn}=77 43{Latn}=77 44{Latn}=77 45{Latn}=77 46{Latn}=77 47{Latn}=77 48{Latn}=77 49{Latn}=77 4A{Latn}=77 4B{Latn}=77 4C{Latn}=77 4D{Latn}=77 4E{Latn}=77 4F{Latn}=77 50{Latn}=77 51{Latn}=77 52{Latn}=77 53{Latn}=77 54{Latn}=77 55{Latn}=77 56{Latn}=77 57{Latn}=77 58{Latn}=77 59{Latn}=77 5A{Latn}=77 5B{Latn}=77 5C{Latn}=77 5D{Latn}=77 66{Arab}=2 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=2 7C{Dsrt Shaw Dupl Osma Elba Aghb Sora Mroo Linb Lina Cprt Sarb Narb Avst Palm Nbat Hatr Armi Prti Phli Phlp Mani Sogo Sogd Ugar Xpeo Xsux}=1 E5{TRAILING}=1 E6{TRAILING}=1 E7{TRAILING}=1 E8{TRAILING}=1 E9{TRAILING}=1 EA{TRAILING}=1 EB{TRAILING}=1 EC{TRAILING}=1 ED{TRAILING}=1 EE{TRAILING}=1 EF{TRAILING}=1 ]
+[categories So 0C{SYMBOL}=2690 0D{CURRENCY}=2376 15{DIGIT}=1 17{DIGIT}=3 19{DIGIT}=1 1B{DIGIT}=1 1D{DIGIT}=1 1F{DIGIT}=1 21{DIGIT}=1 23{DIGIT}=1 29{Latn}=77 2A{Latn}=77 2B{Latn}=77 2C{Latn}=77 2D{Latn}=77 2E{Latn}=77 2F{Latn}=77 30{Latn}=77 31{Latn}=77 32{Latn}=77 33{Latn}=77 34{Latn}=77 35{Latn}=77 36{Latn}=77 37{Latn}=77 38{Latn}=77 39{Latn}=77 3A{Latn}=77 3B{Latn}=77 3C{Latn}=77 3D{Latn}=77 3E{Latn}=77 3F{Latn}=77 40{Latn}=77 41{Latn}=77 42{Latn}=77 43{Latn}=77 44{Latn}=77 45{Latn}=77 46{Latn}=77 47{Latn}=77 48{Latn}=77 49{Latn}=77 4A{Latn}=77 4B{Latn}=77 4C{Latn}=77 4D{Latn}=77 4E{Latn}=77 4F{Latn}=77 50{Latn}=77 51{Latn}=77 52{Latn}=77 53{Latn}=77 54{Latn}=77 55{Latn}=77 56{Latn}=77 57{Latn}=77 58{Latn}=77 59{Latn}=77 5A{Latn}=77 5B{Latn}=77 5C{Latn}=77 5D{Latn}=77 66{Arab}=2 76{Tale Talu Lana Cham Bali Java Mong Olck Cher Osge Cans Ogam}=2 7C{Dsrt Shaw Dupl Osma Elba Aghb Sora Mroo Linb Lina Cprt Sarb Narb Avst Palm Nbat Hatr Armi Prti Phli Phlp Elym Mani Sogo Sogd Ugar Xpeo Xsux}=1 E5{TRAILING}=1 E6{TRAILING}=1 E7{TRAILING}=1 E8{TRAILING}=1 E9{TRAILING}=1 EA{TRAILING}=1 EB{TRAILING}=1 EC{TRAILING}=1 ED{TRAILING}=1 EE{TRAILING}=1 EF{TRAILING}=1 ]
[categories Zl 03{SPACE}=1 ]
[categories Zp 03{SPACE}=1 ]
[categories Zs 03{SPACE}=1 04{SPACE}=17 05{PUNCTUATION}=6 0C{SYMBOL}=29 60{Grek Copt}=1 ]
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationCorrections.txt b/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationCorrections.txt
index 8b3cd2b13f8..360f49cc928 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationCorrections.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationCorrections.txt
@@ -1,6 +1,6 @@
-# NormalizationCorrections-11.0.0.txt
-# Date: 2017-12-06, 01:00:00 GMT [KW, LI]
-# © 2017 Unicode®, Inc.
+# NormalizationCorrections-12.1.0.txt
+# Date: 2019-03-08, 23:59:00 GMT [KW, LI]
+# © 2019 Unicode®, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Character Database
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationTest.txt b/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationTest.txt
index 15270455eb4..cf4c3a9bae5 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationTest.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/NormalizationTest.txt
@@ -1,6 +1,6 @@
-# NormalizationTest-11.0.0.txt
-# Date: 2018-02-19, 18:33:08 GMT
-# © 2018 Unicode®, Inc.
+# NormalizationTest-12.1.0.txt
+# Date: 2019-04-01, 09:10:28 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
@@ -2149,6 +2149,7 @@
32FC;32FC;32FC;30F0;30F0;
32FD;32FD;32FD;30F1;30F1;
32FE;32FE;32FE;30F2;30F2;
+32FF;32FF;32FF;4EE4 548C;4EE4 548C;
3300;3300;3300;30A2 30D1 30FC 30C8;30A2 30CF 309A 30FC 30C8;
3301;3301;3301;30A2 30EB 30D5 30A1;30A2 30EB 30D5 30A1;
3302;3302;3302;30A2 30F3 30DA 30A2;30A2 30F3 30D8 309A 30A2;
@@ -16363,6 +16364,7 @@ FFEE;FFEE;FFEE;25CB;25CB;
1F14F;1F14F;1F14F;0057 0043;0057 0043;
1F16A;1F16A;1F16A;004D 0043;004D 0043;
1F16B;1F16B;1F16B;004D 0044;004D 0044;
+1F16C;1F16C;1F16C;004D 0052;004D 0052;
1F190;1F190;1F190;0044 004A;0044 004A;
1F200;1F200;1F200;307B 304B;307B 304B;
1F201;1F201;1F201;30B3 30B3;30B3 30B3;
@@ -17685,6 +17687,8 @@ FFEE;FFEE;FFEE;25CB;25CB;
0061 0EB8 0EC8 0EB8 0E48 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;0061 0E48 0EB8 0EB8 0EC8 0062;
0061 0EC8 0EB8 0E48 0EB9 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;0061 0E48 0EB8 0EB9 0EC8 0062;
0061 0EB9 0EC8 0EB8 0E48 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;0061 0E48 0EB9 0EB8 0EC8 0062;
+0061 05B0 094D 3099 0EBA 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;0061 3099 094D 0EBA 05B0 0062;
+0061 0EBA 05B0 094D 3099 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;0061 3099 0EBA 094D 05B0 0062;
0061 0F71 0EC8 0EB8 0EC8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
0061 0EC8 0F71 0EC8 0EB8 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;0061 0EB8 0EC8 0EC8 0F71 0062;
0061 0F71 0EC8 0EB8 0EC9 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;0061 0EB8 0EC8 0EC9 0F71 0062;
@@ -18453,6 +18457,8 @@ FFEE;FFEE;FFEE;25CB;25CB;
0061 11839 05B0 094D 3099 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;0061 3099 11839 094D 05B0 0062;
0061 3099 093C 0334 1183A 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;0061 0334 093C 1183A 3099 0062;
0061 1183A 3099 093C 0334 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;0061 0334 1183A 093C 3099 0062;
+0061 05B0 094D 3099 119E0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;0061 3099 094D 119E0 05B0 0062;
+0061 119E0 05B0 094D 3099 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;0061 3099 119E0 094D 05B0 0062;
0061 05B0 094D 3099 11A34 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;0061 3099 094D 11A34 05B0 0062;
0061 11A34 05B0 094D 3099 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;0061 3099 11A34 094D 05B0 0062;
0061 05B0 094D 3099 11A47 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;0061 3099 094D 11A47 05B0 0062;
@@ -18637,6 +18643,28 @@ FFEE;FFEE;FFEE;25CB;25CB;
0061 1E029 0315 0300 05AE 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;0061 05AE 1E029 0300 0315 0062;
0061 0315 0300 05AE 1E02A 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062;00E0 05AE 1E02A 0315 0062;0061 05AE 0300 1E02A 0315 0062;
0061 1E02A 0315 0300 05AE 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;0061 05AE 1E02A 0300 0315 0062;
+0061 0315 0300 05AE 1E130 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062;00E0 05AE 1E130 0315 0062;0061 05AE 0300 1E130 0315 0062;
+0061 1E130 0315 0300 05AE 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;0061 05AE 1E130 0300 0315 0062;
+0061 0315 0300 05AE 1E131 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062;00E0 05AE 1E131 0315 0062;0061 05AE 0300 1E131 0315 0062;
+0061 1E131 0315 0300 05AE 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;0061 05AE 1E131 0300 0315 0062;
+0061 0315 0300 05AE 1E132 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062;00E0 05AE 1E132 0315 0062;0061 05AE 0300 1E132 0315 0062;
+0061 1E132 0315 0300 05AE 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;0061 05AE 1E132 0300 0315 0062;
+0061 0315 0300 05AE 1E133 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062;00E0 05AE 1E133 0315 0062;0061 05AE 0300 1E133 0315 0062;
+0061 1E133 0315 0300 05AE 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;0061 05AE 1E133 0300 0315 0062;
+0061 0315 0300 05AE 1E134 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062;00E0 05AE 1E134 0315 0062;0061 05AE 0300 1E134 0315 0062;
+0061 1E134 0315 0300 05AE 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;0061 05AE 1E134 0300 0315 0062;
+0061 0315 0300 05AE 1E135 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062;00E0 05AE 1E135 0315 0062;0061 05AE 0300 1E135 0315 0062;
+0061 1E135 0315 0300 05AE 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;0061 05AE 1E135 0300 0315 0062;
+0061 0315 0300 05AE 1E136 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062;00E0 05AE 1E136 0315 0062;0061 05AE 0300 1E136 0315 0062;
+0061 1E136 0315 0300 05AE 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;0061 05AE 1E136 0300 0315 0062;
+0061 0315 0300 05AE 1E2EC 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062;00E0 05AE 1E2EC 0315 0062;0061 05AE 0300 1E2EC 0315 0062;
+0061 1E2EC 0315 0300 05AE 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;0061 05AE 1E2EC 0300 0315 0062;
+0061 0315 0300 05AE 1E2ED 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062;00E0 05AE 1E2ED 0315 0062;0061 05AE 0300 1E2ED 0315 0062;
+0061 1E2ED 0315 0300 05AE 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;0061 05AE 1E2ED 0300 0315 0062;
+0061 0315 0300 05AE 1E2EE 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062;00E0 05AE 1E2EE 0315 0062;0061 05AE 0300 1E2EE 0315 0062;
+0061 1E2EE 0315 0300 05AE 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;0061 05AE 1E2EE 0300 0315 0062;
+0061 0315 0300 05AE 1E2EF 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062;00E0 05AE 1E2EF 0315 0062;0061 05AE 0300 1E2EF 0315 0062;
+0061 1E2EF 0315 0300 05AE 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;0061 05AE 1E2EF 0300 0315 0062;
0061 059A 0316 302A 1E8D0 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;0061 302A 0316 1E8D0 059A 0062;
0061 1E8D0 059A 0316 302A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;0061 302A 1E8D0 0316 059A 0062;
0061 059A 0316 302A 1E8D1 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;0061 302A 0316 1E8D1 059A 0062;
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/SpecialCasing.txt b/Build/source/libs/icu/icu-src/source/data/unidata/SpecialCasing.txt
index c90d09acb3a..1c04aacf975 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/SpecialCasing.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/SpecialCasing.txt
@@ -1,6 +1,6 @@
-# SpecialCasing-11.0.0.txt
-# Date: 2018-02-22, 06:16:47 GMT
-# © 2018 Unicode®, Inc.
+# SpecialCasing-12.1.0.txt
+# Date: 2019-03-10, 10:53:28 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/UCARules.txt b/Build/source/libs/icu/icu-src/source/data/unidata/UCARules.txt
index b7998bfa66f..264fa88732f 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/UCARules.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/UCARules.txt
@@ -1,10 +1,10 @@
# UCA_Rules_SHORT.txt
-# Date: 2018-05-21, 23:52:44 GMT
-# © 2018 Unicode®, Inc.
+# Date: 2019-04-01, 20:17:28 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
-# UCA Version: 11.0.0
-# UCD Version: 11.0.0
+# UCA Version: 12.1.0
+# UCD Version: 12.1.0
# For a description of the format and usage, see
# http://www.unicode.org/reports/tr35/tr35-collation.html#Root_Data_Files
@@ -331,6 +331,15 @@
= 𑍲
= 𑍳
= 𑍴
+ = '\U00013430'
+ = '\U00013431'
+ = '\U00013432'
+ = '\U00013433'
+ = '\U00013434'
+ = '\U00013435'
+ = '\U00013436'
+ = '\U00013437'
+ = '\U00013438'
= '\U0001BCA0'
= '\U0001BCA1'
= '\U0001BCA2'
@@ -1306,6 +1315,7 @@
= 𑘽
= 𑚫
= 𑠷
+ = 𑧞
= 𑨸
= 𑪖
= 𑰽
@@ -1342,6 +1352,7 @@
= 𑘾
= 𑚬
= 𑠸
+ = 𑧟
= 𑨹
= 𑪗
= 𑰾
@@ -1398,12 +1409,23 @@
<< ᤺
<< ᤻
<< 𖬰
+ = 𞄱
<< 𖬱
+ = 𞄶
<< 𖬲
+ = 𞄲
<< 𖬳
+ = 𞄳
<< 𖬴
+ = 𞄰
<< 𖬵
+ = 𞄴
<< 𖬶
+ = 𞄵
+ << 𞋬
+ << 𞋭
+ << 𞋮
+ << 𞋯
<< 〪
<< 〫
<< 〬
@@ -1503,6 +1525,7 @@
< ⹁
< ⹌
< ⹎
+ < ⹏
< ՝
< ،
< ؍
@@ -1521,6 +1544,7 @@
<<< ︑
< ﹅
< ﹆
+ < 𖿢
< ';'
<<< ;
<<< ﹔
@@ -1787,26 +1811,26 @@
< »
< '('
<<< (
- <<< ⑴ / 𞲣')'
- <<< ⑽ / 𞲣𞥐')'
- <<< ⑾ / 𞲣𞲣')'
- <<< ⑿ / 𞲣𞲤')'
- <<< ⒀ / 𞲣𞲥')'
- <<< ⒁ / 𞲣𞲦')'
- <<< ⒂ / 𞲣𞲧')'
- <<< ⒃ / 𞲣𞲨')'
- <<< ⒄ / 𞲣𞲩')'
- <<< ⒅ / 𞲣𞲪')'
- <<< ⒆ / 𞲣𞲫')'
- <<< ⑵ / 𞲤')'
- <<< ⒇ / 𞲤𞥐')'
- <<< ⑶ / 𞲥')'
- <<< ⑷ / 𞲦')'
- <<< ⑸ / 𞲧')'
- <<< ⑹ / 𞲨')'
- <<< ⑺ / 𞲩')'
- <<< ⑻ / 𞲪')'
- <<< ⑼ / 𞲫')'
+ <<< ⑴ / 𞴁')'
+ <<< ⑽ / 𞴁𞥐')'
+ <<< ⑾ / 𞴁𞴁')'
+ <<< ⑿ / 𞴁𞴂')'
+ <<< ⒀ / 𞴁𞴃')'
+ <<< ⒁ / 𞴁𞴄')'
+ <<< ⒂ / 𞴁𞴅')'
+ <<< ⒃ / 𞴁𞴆')'
+ <<< ⒄ / 𞴁𞴇')'
+ <<< ⒅ / 𞴁𞴈')'
+ <<< ⒆ / 𞴁𞴉')'
+ <<< ⑵ / 𞴂')'
+ <<< ⒇ / 𞴂𞥐')'
+ <<< ⑶ / 𞴃')'
+ <<< ⑷ / 𞴄')'
+ <<< ⑸ / 𞴅')'
+ <<< ⑹ / 𞴆')'
+ <<< ⑺ / 𞴇')'
+ <<< ⑻ / 𞴈')'
+ <<< ⑼ / 𞴉')'
<<< ⒜ / a')'
<<< 🄐 / A')'
<<< ⒝ / b')'
@@ -2215,6 +2239,7 @@
< ৽
< ੶
< ૰
+ < ౷
< ಄
< ෴
< ๏
@@ -2282,7 +2307,6 @@
< ᪦
< ᪬
< ᪭
- < ᙭
< ᳀
< ᳁
< ᳂
@@ -2371,6 +2395,8 @@
< 𑗗
< 𑙃
< 𑠻
+ < 𑧢
+ < 𑿿
< 𖬷
< 𖬸
< 𖬹
@@ -2548,6 +2574,31 @@
< ௷
< ௸
< ௺
+ < 𑿕
+ < 𑿖
+ < 𑿗
+ < 𑿘
+ < 𑿙
+ < 𑿚
+ < 𑿛
+ < 𑿜
+ < 𑿡
+ < 𑿢
+ < 𑿣
+ < 𑿤
+ < 𑿥
+ < 𑿦
+ < 𑿧
+ < 𑿨
+ < 𑿩
+ < 𑿪
+ < 𑿫
+ < 𑿬
+ < 𑿭
+ < 𑿮
+ < 𑿯
+ < 𑿰
+ < 𑿱
< ౿
< ൏
< ൹
@@ -2594,6 +2645,7 @@
< ࿖
< ࿗
< ࿘
+ < ᙭
< ᥀
< ႞
< ႟
@@ -4755,6 +4807,7 @@
< ⯆
< ⯇
< ⯈
+ < ⯉
< ⯊
< ⯋
< ⯌
@@ -4808,6 +4861,7 @@
< ⯼
< ⯽
< ⯾
+ < ⯿
< ⳥
< ⳦
< ⳧
@@ -5384,6 +5438,7 @@
< 𖬾
< 𖬿
< 𖭅
+ < 𞅏
< 𝀀
< 𝀁
< 𝀂
@@ -5882,6 +5937,7 @@
< 𝉅
< 𛲜
< 𞲬
+ < 𞴮
< 🀀
< 🀁
< 🀂
@@ -6108,6 +6164,90 @@
< 🃳
< 🃴
< 🃵
+ < 🨀
+ < 🨁
+ < 🨂
+ < 🨃
+ < 🨄
+ < 🨅
+ < 🨆
+ < 🨇
+ < 🨈
+ < 🨉
+ < 🨊
+ < 🨋
+ < 🨌
+ < 🨍
+ < 🨎
+ < 🨏
+ < 🨐
+ < 🨑
+ < 🨒
+ < 🨓
+ < 🨔
+ < 🨕
+ < 🨖
+ < 🨗
+ < 🨘
+ < 🨙
+ < 🨚
+ < 🨛
+ < 🨜
+ < 🨝
+ < 🨞
+ < 🨟
+ < 🨠
+ < 🨡
+ < 🨢
+ < 🨣
+ < 🨤
+ < 🨥
+ < 🨦
+ < 🨧
+ < 🨨
+ < 🨩
+ < 🨪
+ < 🨫
+ < 🨬
+ < 🨭
+ < 🨮
+ < 🨯
+ < 🨰
+ < 🨱
+ < 🨲
+ < 🨳
+ < 🨴
+ < 🨵
+ < 🨶
+ < 🨷
+ < 🨸
+ < 🨹
+ < 🨺
+ < 🨻
+ < 🨼
+ < 🨽
+ < 🨾
+ < 🨿
+ < 🩀
+ < 🩁
+ < 🩂
+ < 🩃
+ < 🩄
+ < 🩅
+ < 🩆
+ < 🩇
+ < 🩈
+ < 🩉
+ < 🩊
+ < 🩋
+ < 🩌
+ < 🩍
+ < 🩎
+ < 🩏
+ < 🩐
+ < 🩑
+ < 🩒
+ < 🩓
< 🩠
< 🩡
< 🩢
@@ -6908,6 +7048,9 @@
< 🤉
< 🤊
< 🤋
+ < 🤍
+ < 🤎
+ < 🤏
< 🤐
< 🤑
< 🤒
@@ -6955,6 +7098,7 @@
< 🤼
< 🤽
< 🤾
+ < 🤿
< 🥀
< 🥁
< 🥂
@@ -7004,11 +7148,13 @@
< 🥮
< 🥯
< 🥰
+ < 🥱
< 🥳
< 🥴
< 🥵
< 🥶
< 🥺
+ < 🥻
< 🥼
< 🥽
< 🥾
@@ -7048,6 +7194,14 @@
< 🦠
< 🦡
< 🦢
+ < 🦥
+ < 🦦
+ < 🦧
+ < 🦨
+ < 🦩
+ < 🦪
+ < 🦮
+ < 🦯
< 🦰
< 🦱
< 🦲
@@ -7058,9 +7212,26 @@
< 🦷
< 🦸
< 🦹
+ < 🦺
+ < 🦻
+ < 🦼
+ < 🦽
+ < 🦾
+ < 🦿
< 🧀
< 🧁
< 🧂
+ < 🧃
+ < 🧄
+ < 🧅
+ < 🧆
+ < 🧇
+ < 🧈
+ < 🧉
+ < 🧊
+ < 🧍
+ < 🧎
+ < 🧏
< 🧐
< 🧑
< 🧒
@@ -7109,6 +7280,22 @@
< 🧽
< 🧾
< 🧿
+ < 🩰
+ < 🩱
+ < 🩲
+ < 🩳
+ < 🩸
+ < 🩹
+ < 🩺
+ < 🪀
+ < 🪁
+ < 🪂
+ < 🪐
+ < 🪑
+ < 🪒
+ < 🪓
+ < 🪔
+ < 🪕
< 😀
< 😁
< 😂
@@ -7322,6 +7509,7 @@
< 🛒
< 🛓
< 🛔
+ < 🛕
< 🛠
< 🛡
< 🛢
@@ -7345,6 +7533,7 @@
< 🛷
< 🛸
< 🛹
+ < 🛺
< 🜀
< 🜁
< 🜂
@@ -7550,6 +7739,18 @@
< 🟖
< 🟗
< 🟘
+ < 🟠
+ < 🟡
+ < 🟢
+ < 🟣
+ < 🟤
+ < 🟥
+ < 🟦
+ < 🟧
+ < 🟨
+ < 🟩
+ < 🟪
+ < 🟫
< 🠀
< 🠁
< 🠂
@@ -8313,10 +8514,13 @@
< ꫴ
< 𖭂
< 𖭃
+ < 𞄼
+ < 𞄽
< 々
< 〻
< 𖿠
< 𖿡
+ < 𖿣
< 〱
<<< 〲 / ゙
< 〳
@@ -8347,8 +8551,13 @@
< ૱
< ꠸
< ௹
+ < 𑿝
+ < 𑿞
+ < 𑿟
+ < 𑿠
< ฿
< ៛
+ < 𞋿
< ₠
< ₡
< ₢
@@ -8406,6 +8615,27 @@
< ௰
< ௱
< ௲
+ < 𑿀
+ < 𑿁
+ < 𑿂
+ < 𑿃
+ < 𑿄
+ < 𑿅
+ < 𑿆
+ < 𑿇
+ < 𑿈
+ < 𑿉
+ < 𑿊
+ < 𑿋
+ < 𑿌
+ < 𑿍
+ < 𑿎
+ < 𑿏
+ < 𑿐
+ < 𑿑
+ < 𑿒
+ < 𑿓
+ < 𑿔
< ൘
< ൙
< ൚
@@ -8732,6 +8962,49 @@
< 𞲯
< 𞲳
< 𞲴
+ < 𞴊
+ < 𞴋
+ < 𞴌
+ < 𞴍
+ < 𞴎
+ < 𞴏
+ < 𞴐
+ < 𞴑
+ < 𞴒
+ < 𞴓
+ < 𞴔
+ < 𞴕
+ < 𞴖
+ < 𞴗
+ < 𞴘
+ < 𞴙
+ < 𞴚
+ < 𞴛
+ < 𞴜
+ < 𞴝
+ < 𞴞
+ < 𞴟
+ < 𞴠
+ < 𞴡
+ < 𞴢
+ < 𞴣
+ < 𞴤
+ < 𞴥
+ < 𞴦
+ < 𞴧
+ < 𞴨
+ < 𞴩
+ < 𞴪
+ < 𞴫
+ < 𞴬
+ < 𞴭
+ < 𞴷
+ < 𞴸
+ < 𞴹
+ < 𞴺
+ < 𞴻
+ < 𞴼
+ < 𞴽
< 𐧉
< 𐧊
< 𐧋
@@ -8873,6 +9146,8 @@
= 𖭐
= 𖺀
= 𝋠
+ = 𞅀
+ = 𞋰
= 𞥐
<<< 0
<<< ༳
@@ -8890,7 +9165,7 @@
= 🄌
<<< ⁰
<<< ₀
- <<< ↉ / ⁄𞲥
+ <<< ↉ / ⁄𞴃
< 1
= ١
= ۱
@@ -8990,10 +9265,13 @@
= 𝍠
= 𝍲
= 𝍷
+ = 𞅁
+ = 𞋱
= 𞣇
= 𞥑
= 𞱱
= 𞲣
+ = 𞴁
<<< 1
<<< ༪
<<< 🄂 / ','
@@ -9002,35 +9280,35 @@
<<< ㏩ / 𞥐日
<<< ㋉ / 𞥐月
<<< ㍢ / 𞥐点
- <<< ⒒ / 𞲣'.'
- <<< ㏪ / 𞲣日
- <<< ㋊ / 𞲣月
- <<< ㍣ / 𞲣点
- <<< ⒓ / 𞲤'.'
- <<< ㏫ / 𞲤日
- <<< ㋋ / 𞲤月
- <<< ㍤ / 𞲤点
- <<< ⒔ / 𞲥'.'
- <<< ㏬ / 𞲥日
- <<< ㍥ / 𞲥点
- <<< ⒕ / 𞲦'.'
- <<< ㏭ / 𞲦日
- <<< ㍦ / 𞲦点
- <<< ⒖ / 𞲧'.'
- <<< ㏮ / 𞲧日
- <<< ㍧ / 𞲧点
- <<< ⒗ / 𞲨'.'
- <<< ㏯ / 𞲨日
- <<< ㍨ / 𞲨点
- <<< ⒘ / 𞲩'.'
- <<< ㏰ / 𞲩日
- <<< ㍩ / 𞲩点
- <<< ⒙ / 𞲪'.'
- <<< ㏱ / 𞲪日
- <<< ㍪ / 𞲪点
- <<< ⒚ / 𞲫'.'
- <<< ㏲ / 𞲫日
- <<< ㍫ / 𞲫点
+ <<< ⒒ / 𞴁'.'
+ <<< ㏪ / 𞴁日
+ <<< ㋊ / 𞴁月
+ <<< ㍣ / 𞴁点
+ <<< ⒓ / 𞴂'.'
+ <<< ㏫ / 𞴂日
+ <<< ㋋ / 𞴂月
+ <<< ㍤ / 𞴂点
+ <<< ⒔ / 𞴃'.'
+ <<< ㏬ / 𞴃日
+ <<< ㍥ / 𞴃点
+ <<< ⒕ / 𞴄'.'
+ <<< ㏭ / 𞴄日
+ <<< ㍦ / 𞴄点
+ <<< ⒖ / 𞴅'.'
+ <<< ㏮ / 𞴅日
+ <<< ㍧ / 𞴅点
+ <<< ⒗ / 𞴆'.'
+ <<< ㏯ / 𞴆日
+ <<< ㍨ / 𞴆点
+ <<< ⒘ / 𞴇'.'
+ <<< ㏰ / 𞴇日
+ <<< ㍩ / 𞴇点
+ <<< ⒙ / 𞴈'.'
+ <<< ㏱ / 𞴈日
+ <<< ㍪ / 𞴈点
+ <<< ⒚ / 𞴉'.'
+ <<< ㏲ / 𞴉日
+ <<< ㍫ / 𞴉点
<<< ㏠ / 日
<<< ㋀ / 月
<<< ㍙ / 点
@@ -9050,37 +9328,37 @@
= ➉ / 𞥐
= ➓ / 𞥐
= ㉈ / 𞥐
- <<< ⑪ / 𞲣
- = ⓫ / 𞲣
- <<< ⑫ / 𞲤
- = ⓬ / 𞲤
- <<< ⑬ / 𞲥
- = ⓭ / 𞲥
- <<< ⑭ / 𞲦
- = ⓮ / 𞲦
- <<< ⑮ / 𞲧
- = ⓯ / 𞲧
- <<< ⑯ / 𞲨
- = ⓰ / 𞲨
- <<< ⑰ / 𞲩
- = ⓱ / 𞲩
- <<< ⑱ / 𞲪
- = ⓲ / 𞲪
- <<< ⑲ / 𞲫
- = ⓳ / 𞲫
+ <<< ⑪ / 𞴁
+ = ⓫ / 𞴁
+ <<< ⑫ / 𞴂
+ = ⓬ / 𞴂
+ <<< ⑬ / 𞴃
+ = ⓭ / 𞴃
+ <<< ⑭ / 𞴄
+ = ⓮ / 𞴄
+ <<< ⑮ / 𞴅
+ = ⓯ / 𞴅
+ <<< ⑯ / 𞴆
+ = ⓰ / 𞴆
+ <<< ⑰ / 𞴇
+ = ⓱ / 𞴇
+ <<< ⑱ / 𞴈
+ = ⓲ / 𞴈
+ <<< ⑲ / 𞴉
+ = ⓳ / 𞴉
<<< ¹
<<< ₁
- <<< 🆤 / 𞲤𞥐P
+ <<< 🆤 / 𞴂𞥐P
<<< ⅟ / ⁄
- <<< ⅒ / ⁄𞲣𞥐
- <<< ½ / ⁄𞲤
- <<< ⅓ / ⁄𞲥
- <<< ¼ / ⁄𞲦
- <<< ⅕ / ⁄𞲧
- <<< ⅙ / ⁄𞲨
- <<< ⅐ / ⁄𞲩
- <<< ⅛ / ⁄𞲪
- <<< ⅑ / ⁄𞲫
+ <<< ⅒ / ⁄𞴁𞥐
+ <<< ½ / ⁄𞴂
+ <<< ⅓ / ⁄𞴃
+ <<< ¼ / ⁄𞴄
+ <<< ⅕ / ⁄𞴅
+ <<< ⅙ / ⁄𞴆
+ <<< ⅐ / ⁄𞴇
+ <<< ⅛ / ⁄𞴈
+ <<< ⅑ / ⁄𞴉
<< 𖺔
= 𞲱
< 2
@@ -9177,10 +9455,13 @@
= 𝋢
= 𝍡
= 𝍳
+ = 𞅂
+ = 𞋲
= 𞣈
= 𞥒
= 𞱲
= 𞲤
+ = 𞴂
<<< 2
<<< ༫
<<< 🄃 / ','
@@ -9188,19 +9469,19 @@
<<< ⒛ / 𞥐'.'
<<< ㏳ / 𞥐日
<<< ㍬ / 𞥐点
- <<< ㏴ / 𞲣日
- <<< ㍭ / 𞲣点
- <<< ㏵ / 𞲤日
- <<< ㍮ / 𞲤点
- <<< ㏶ / 𞲥日
- <<< ㍯ / 𞲥点
- <<< ㏷ / 𞲦日
- <<< ㍰ / 𞲦点
- <<< ㏸ / 𞲧日
- <<< ㏹ / 𞲨日
- <<< ㏺ / 𞲩日
- <<< ㏻ / 𞲪日
- <<< ㏼ / 𞲫日
+ <<< ㏴ / 𞴁日
+ <<< ㍭ / 𞴁点
+ <<< ㏵ / 𞴂日
+ <<< ㍮ / 𞴂点
+ <<< ㏶ / 𞴃日
+ <<< ㍯ / 𞴃点
+ <<< ㏷ / 𞴄日
+ <<< ㍰ / 𞴄点
+ <<< ㏸ / 𞴅日
+ <<< ㏹ / 𞴆日
+ <<< ㏺ / 𞴇日
+ <<< ㏻ / 𞴈日
+ <<< ㏼ / 𞴉日
<<< ㏡ / 日
<<< ㋁ / 月
<<< ㍚ / 点
@@ -9217,24 +9498,25 @@
<<< ⑳ / 𞥐
= ⓴ / 𞥐
= ㉉ / 𞥐
- <<< ㉑ / 𞲣
- <<< ㉒ / 𞲤
- <<< ㉓ / 𞲥
- <<< ㉔ / 𞲦
- <<< ㉕ / 𞲧
- <<< ㉖ / 𞲨
- <<< ㉗ / 𞲩
- <<< ㉘ / 𞲪
- <<< ㉙ / 𞲫
+ <<< ㉑ / 𞴁
+ <<< ㉒ / 𞴂
+ <<< ㉓ / 𞴃
+ <<< ㉔ / 𞴄
+ <<< ㉕ / 𞴅
+ <<< ㉖ / 𞴆
+ <<< ㉗ / 𞴇
+ <<< ㉘ / 𞴈
+ <<< ㉙ / 𞴉
<<< ²
<<< ₂
- <<< 🆢 / 𞲤'.'𞲤
+ <<< 🆢 / 𞴂'.'𞴂
<<< 🆝 / K
<<< 🆜 / nd' 'Scr
- <<< ⅔ / ⁄𞲥
- <<< ⅖ / ⁄𞲧
+ <<< ⅔ / ⁄𞴃
+ <<< ⅖ / ⁄𞴅
<< 𖺕
= 𞲲
+ = 𞴯
< 3
= ٣
= ۳
@@ -9329,16 +9611,19 @@
= 𝋣
= 𝍢
= 𝍴
+ = 𞅃
+ = 𞋳
= 𞣉
= 𞥓
= 𞱳
= 𞲥
+ = 𞴃
<<< 3
<<< ༬
<<< 🄄 / ','
<<< ⒊ / '.'
<<< ㏽ / 𞥐日
- <<< ㏾ / 𞲣日
+ <<< ㏾ / 𞴁日
<<< ㏢ / 日
<<< ㋂ / 月
<<< ㍛ / 点
@@ -9354,22 +9639,23 @@
= ➌
<<< ㉊ / 𞥐
= ㉚ / 𞥐
- <<< ㉛ / 𞲣
- <<< ㉜ / 𞲤
- <<< ㉝ / 𞲥
- <<< ㉞ / 𞲦
- <<< ㉟ / 𞲧
- <<< ㊱ / 𞲨
- <<< ㊲ / 𞲩
- <<< ㊳ / 𞲪
- <<< ㊴ / 𞲫
+ <<< ㉛ / 𞴁
+ <<< ㉜ / 𞴂
+ <<< ㉝ / 𞴃
+ <<< ㉞ / 𞴄
+ <<< ㉟ / 𞴅
+ <<< ㊱ / 𞴆
+ <<< ㊲ / 𞴇
+ <<< ㊳ / 𞴈
+ <<< ㊴ / 𞴉
<<< ³
<<< ₃
<<< 🆛 / D
- <<< ¾ / ⁄𞲦
- <<< ⅗ / ⁄𞲧
- <<< ⅜ / ⁄𞲪
+ <<< ¾ / ⁄𞴄
+ <<< ⅗ / ⁄𞴅
+ <<< ⅜ / ⁄𞴈
<< 𖺖
+ <<< 𞴰
< 4
= ٤
= ۴
@@ -9462,10 +9748,13 @@
= 𝋤
= 𝍣
= 𝍵
+ = 𞅄
+ = 𞋴
= 𞣊
= 𞥔
= 𞱴
= 𞲦
+ = 𞴄
<<< 4
<<< ༭
<<< 🄅 / ','
@@ -9485,19 +9774,20 @@
= ➍
<<< ㉋ / 𞥐
= ㊵ / 𞥐
- <<< ㊶ / 𞲣
- <<< ㊷ / 𞲤
- <<< ㊸ / 𞲥
- <<< ㊹ / 𞲦
- <<< ㊺ / 𞲧
- <<< ㊻ / 𞲨
- <<< ㊼ / 𞲩
- <<< ㊽ / 𞲪
- <<< ㊾ / 𞲫
+ <<< ㊶ / 𞴁
+ <<< ㊷ / 𞴂
+ <<< ㊸ / 𞴃
+ <<< ㊹ / 𞴄
+ <<< ㊺ / 𞴅
+ <<< ㊻ / 𞴆
+ <<< ㊼ / 𞴇
+ <<< ㊽ / 𞴈
+ <<< ㊾ / 𞴉
<<< ⁴
<<< ₄
<<< 🆞 / K
- <<< ⅘ / ⁄𞲧
+ <<< ⅘ / ⁄𞴅
+ << 𞴱
< 5
= ٥
= ۵
@@ -9591,10 +9881,13 @@
= 𝍤
= 𝍶
= 𝍸
+ = 𞅅
+ = 𞋵
= 𞣋
= 𞥕
= 𞱵
= 𞲧
+ = 𞴅
<<< 5
<<< ༮
<<< 🄆 / ','
@@ -9616,9 +9909,10 @@
= ㊿ / 𞥐
<<< ⁵
<<< ₅
- <<< 🆠 / '.'𞲣
- <<< ⅚ / ⁄𞲨
- <<< ⅝ / ⁄𞲪
+ <<< 🆠 / '.'𞴁
+ <<< ⅚ / ⁄𞴆
+ <<< ⅝ / ⁄𞴈
+ << 𞴲
< 6
= ٦
= ۶
@@ -9695,10 +9989,13 @@
= 𖺆
= 𝋦
= 𝍥
+ = 𞅆
+ = 𞋶
= 𞣌
= 𞥖
= 𞱶
= 𞲨
+ = 𞴆
<<< 6
<<< ༯
<<< 🄇 / ','
@@ -9720,6 +10017,7 @@
<<< ⁶
<<< ₆
<<< 🆣 / 𞥐P
+ << 𞴳
< 7
= ٧
= ۷
@@ -9796,10 +10094,13 @@
= 𖺇
= 𝋧
= 𝍦
+ = 𞅇
+ = 𞋷
= 𞣍
= 𞥗
= 𞱷
= 𞲩
+ = 𞴇
<<< 7
<<< ༰
<<< 🄈 / ','
@@ -9820,8 +10121,9 @@
<<< ㉎ / 𞥐
<<< ⁷
<<< ₇
- <<< 🆡 / '.'𞲣
- <<< ⅞ / ⁄𞲪
+ <<< 🆡 / '.'𞴁
+ <<< ⅞ / ⁄𞴈
+ << 𞴴
< 8
= ٨
= ۸
@@ -9897,10 +10199,13 @@
= 𖺈
= 𝋨
= 𝍧
+ = 𞅈
+ = 𞋸
= 𞣎
= 𞥘
= 𞱸
= 𞲪
+ = 𞴈
<<< 8
<<< ༱
<<< 🄉 / ','
@@ -9922,6 +10227,7 @@
<<< ⁸
<<< ₈
<<< 🆟 / K
+ << 𞴵
< 9
= ٩
= ۹
@@ -9999,10 +10305,13 @@
= 𖺉
= 𝋩
= 𝍨
+ = 𞅉
+ = 𞋹
= 𞣏
= 𞥙
= 𞱹
= 𞲫
+ = 𞴉
<<< 9
<<< ༲
<<< 🄊 / ','
@@ -10022,6 +10331,7 @@
= ➒
<<< ⁹
<<< ₉
+ << 𞴶
< a
<<< a
<<< ͣ
@@ -10096,6 +10406,8 @@
< ⱥ
<<< Ⱥ
< ᶏ
+ < ꞻ
+ <<< Ꞻ
< ᴁ
< ᴂ
<<< ᵆ
@@ -10215,8 +10527,8 @@
<<< ㏄ / c
<<< ㏅ / d
<<< ㎝ / m
- <<< ㎠ / m𞲤
- <<< ㎤ / m𞲥
+ <<< ㎠ / m𞴂
+ <<< ㎤ / m𞴃
<<< 🄲
= 🅲
<<< ㏆ / ∕kg
@@ -10229,6 +10541,7 @@
< ꞓ
<<< Ꞓ
< ꞔ
+ <<< Ꞔ
< ƈ
<<< Ƈ
< ɕ
@@ -10246,6 +10559,7 @@
<<< dz / z
= ʣ / z
<<< dž / ž
+ <<< ꭦ / ʐ
<<< ʥ / ʑ
<<< ʤ / ʒ
<<< ⅆ
@@ -10293,8 +10607,8 @@
<<< ㏈ / B
<<< ㎗ / l
<<< ㍷ / m
- <<< ㍸ / m𞲤
- <<< ㍹ / m𞲥
+ <<< ㍸ / m𞴂
+ <<< ㍹ / m𞴃
<<< ᴰ
= 🄳
= 🅳
@@ -10664,6 +10978,8 @@
< ᵻ
<<< ᶧ
< ᶖ
+ < ꞽ
+ <<< Ꞽ
< ɩ
<<< Ɩ
<<< ᶥ
@@ -10762,8 +11078,8 @@
<<< ㎑ / Hz
<<< ㎘ / l
<<< ㎞ / m
- <<< ㎢ / m𞲤
- <<< ㎦ / m𞲥
+ <<< ㎢ / m𞴂
+ <<< ㎦ / m𞴃
<<< ㎪ / Pa
<<< ㏏ / t
<<< ㎸ / V
@@ -10925,19 +11241,20 @@
<<< ᵐ
<<< 🅪 / c
<<< 🅫 / d
+ <<< 🅬 / r
<<< ₘ
<<< ㎧ / ∕s
- <<< ㎨ / ∕s𞲤
- <<< ㎡ / 𞲤
- <<< ㎥ / 𞲥
+ <<< ㎨ / ∕s𞴂
+ <<< ㎡ / 𞴂
+ <<< ㎥ / 𞴃
<<< ㎃ / A
<<< ㏔ / b
<<< ㎎ / g
<<< ㏕ / il
<<< ㎖ / l
<<< ㎜ / m
- <<< ㎟ / m𞲤
- <<< ㎣ / m𞲥
+ <<< ㎟ / m𞴂
+ <<< ㎣ / m𞴃
<<< ㏖ / ol
<<< ㎳ / s
<<< ㎷ / V
@@ -11289,7 +11606,7 @@
<<< ᵣ
<<< ㎭ / ad
<<< ㎮ / ad∕s
- <<< ㎯ / ad∕s𞲤
+ <<< ㎯ / ad∕s𞴂
<<< ᴿ
= 🅁
= 🆁
@@ -11393,6 +11710,7 @@
< ᵴ
< ᶊ
< ʂ
+ <<< Ʂ
<<< ᶳ
< ȿ
<<< Ȿ
@@ -11414,6 +11732,7 @@
<<< ʨ / ɕ
<<< ƾ / s
= ʦ / s
+ <<< ꭧ / ʂ
<<< ʧ / ʃ
<<< ꜩ / z
<<< 𝐭
@@ -11539,6 +11858,8 @@
< ᶙ
< ꭒ
<<< ꭟ
+ < ꞿ
+ <<< Ꞿ
< ɥ
<<< Ɥ
<<< ᶣ
@@ -11664,6 +11985,8 @@
<<< 🅏 / C
= 🆏 / C
< ᴡ
+ < ꟃ
+ <<< Ꟃ
< ⱳ
<<< Ⱳ
< ʍ
@@ -11809,6 +12132,7 @@
<<< Ƶ
< ᵶ
< ᶎ
+ <<< Ᶎ
< ȥ
<<< Ȥ
< ʐ
@@ -15147,6 +15471,7 @@
= ᳯ
= ᳰ
= ᳱ
+ = ᳺ
< ᳵ
< ᳶ
< ꣲ
@@ -16400,6 +16725,7 @@
< 𑐴
< 𑑇
< 𑑈
+ < 𑑟
< 𑐵
< 𑐶
< 𑐷
@@ -16624,6 +16950,7 @@
< 𑚩
< 𑚊
< 𑚋
+ < 𑚸
< 𑚌
< 𑚍
< 𑚎
@@ -16662,6 +16989,68 @@
< 𑚴
< 𑚵
< 𑚶
+ < 𑦠
+ < 𑦡
+ < 𑦢
+ < 𑦣
+ < 𑦤
+ < 𑦥
+ < 𑦦
+ < 𑦧
+ < 𑦪
+ < 𑦫
+ < 𑦬
+ < 𑦭
+ < 𑦮
+ < 𑦯
+ < 𑦰
+ < 𑦱
+ < 𑦲
+ < 𑦳
+ < 𑦴
+ < 𑦵
+ < 𑦶
+ < 𑦷
+ < 𑦸
+ < 𑦹
+ < 𑦺
+ < 𑦻
+ < 𑦼
+ < 𑦽
+ < 𑦾
+ < 𑦿
+ < 𑧀
+ < 𑧁
+ < 𑧂
+ < 𑧃
+ < 𑧄
+ < 𑧅
+ < 𑧆
+ < 𑧇
+ < 𑧈
+ < 𑧉
+ < 𑧊
+ < 𑧋
+ < 𑧌
+ < 𑧍
+ < 𑧎
+ < 𑧏
+ < 𑧐
+ < 𑧡
+ < 𑧣
+ < 𑧑
+ < 𑧒
+ < 𑧓
+ < 𑧔
+ < 𑧕
+ < 𑧖
+ < 𑧗
+ < 𑧚
+ < 𑧤
+ < 𑧛
+ < 𑧜
+ < 𑧝
+ < 𑧠
< 𑠀
< 𑠁
< 𑠂
@@ -17165,16 +17554,26 @@
< ກ
< ຂ
< ຄ
+ < ຆ
< ງ
< ຈ
+ < ຉ
< ສ
< ຊ
+ < ຌ
+ < ຎ
< ໟ
< ຍ
+ < ຏ
+ < ຐ
+ < ຑ
+ < ຒ
+ < ຓ
< ດ
< ຕ
< ຖ
< ທ
+ < ຘ
< ນ
< ບ
< ປ
@@ -17182,14 +17581,18 @@
< ຝ
< ພ
< ຟ
+ < ຠ
< ມ
< ຢ
< ຣ
< ລ
< ວ
+ < ຨ
+ < ຩ
< ຫ
<<< ໜ / ນ
<<< ໝ / ມ
+ < ຬ
< ອ
< ຮ
< ຯ
@@ -17204,6 +17607,7 @@
< ື
< ຸ
< ູ
+ < ຺
< ົ
< ຼ
< ຽ
@@ -17520,6 +17924,8 @@
<<< 𑪉
<<< 𑪔
< 𑪂
+ < 𑪄
+ < 𑪅
< 𑪙
< 𑪝
< 𑱲
@@ -21424,6 +21830,7 @@
<<< 𞤠
< 𞥃
<<< 𞤡
+ < 𞥋
< ᄀ
<<< ㄱ
<<< ㉠
@@ -22280,17 +22687,24 @@
<<< ワ
<<< ㋻
<<< ㍗ / つと
- < ゐ
+ < 𛅐
+ <<< ゐ
+ <<< 𛅤
<<< ヰ
<<< ㋼
- < ゑ
+ < 𛅑
+ <<< ゑ
+ <<< 𛅥
<<< ヱ
<<< ㋽
- < を
+ < 𛅒
+ <<< を
+ <<< 𛅦
<<< ヲ
<<< ヲ
<<< ㋾
< ん
+ <<< 𛅧
<<< ン
<<< ン
< 𛀂
@@ -23864,6 +24278,7 @@
< 𖼁
< 𖼂
< 𖼃
+ < 𖽅
< 𖼄
<<< 𖼆
< 𖼅
@@ -23874,8 +24289,10 @@
< 𖼋
< 𖼌
< 𖼍
+ < 𖽈
< 𖼎
< 𖼏
+ < 𖽊
< 𖼐
<<< 𖼓
< 𖼑
@@ -23911,13 +24328,16 @@
< 𖼰
< 𖼱
< 𖼲
+ < 𖽇
< 𖼳
+ < 𖽆
< 𖼴
< 𖼵
< 𖼶
< 𖼷
< 𖼸
< 𖼹
+ < 𖽉
< 𖼺
< 𖼻
< 𖼼
@@ -23933,24 +24353,29 @@
< 𖽑
< 𖽒
< 𖽓
+ < 𖽏
< 𖽔
< 𖽕
< 𖽖
< 𖽗
< 𖽘
+ < 𖾁
< 𖽙
< 𖽚
< 𖽛
< 𖽜
+ < 𖾃
< 𖽝
< 𖽞
< 𖽟
< 𖽠
+ < 𖾄
< 𖽡
< 𖽢
< 𖽣
< 𖽤
< 𖽥
+ < 𖾆
< 𖽦
< 𖽧
< 𖽨
@@ -23959,13 +24384,18 @@
< 𖽫
< 𖽬
< 𖽭
+ < 𖽿
+ < 𖾇
< 𖽮
< 𖽯
< 𖽰
< 𖽱
< 𖽲
+ < 𖾀
< 𖽳
< 𖽴
+ < 𖾅
+ < 𖾂
< 𖽵
< 𖽶
< 𖽷
@@ -24205,6 +24635,101 @@
< 𖮍
< 𖮎
< 𖮏
+ < 𞄀
+ < 𞄁
+ < 𞄂
+ < 𞄃
+ < 𞄄
+ < 𞄅
+ < 𞄆
+ < 𞄇
+ < 𞄈
+ < 𞄉
+ < 𞄊
+ < 𞄋
+ < 𞄌
+ < 𞄍
+ < 𞄎
+ < 𞄏
+ < 𞄐
+ < 𞄑
+ < 𞄒
+ < 𞄓
+ < 𞄔
+ < 𞄕
+ < 𞄖
+ < 𞄗
+ < 𞄘
+ < 𞄙
+ < 𞄚
+ < 𞄛
+ < 𞄜
+ < 𞄝
+ < 𞄞
+ < 𞄟
+ < 𞄠
+ < 𞄡
+ < 𞄢
+ < 𞄣
+ < 𞄤
+ < 𞄥
+ < 𞄦
+ < 𞄧
+ < 𞄨
+ < 𞄩
+ < 𞄪
+ < 𞄫
+ < 𞄬
+ < 𞄷
+ < 𞄸
+ < 𞄹
+ < 𞄺
+ < 𞄻
+ < 𞅎
+ < 𞋀
+ < 𞋁
+ < 𞋂
+ < 𞋃
+ < 𞋄
+ < 𞋅
+ < 𞋆
+ < 𞋇
+ < 𞋈
+ < 𞋉
+ < 𞋊
+ < 𞋋
+ < 𞋌
+ < 𞋍
+ < 𞋎
+ < 𞋏
+ < 𞋐
+ < 𞋑
+ < 𞋒
+ < 𞋓
+ < 𞋔
+ < 𞋕
+ < 𞋖
+ < 𞋗
+ < 𞋘
+ < 𞋙
+ < 𞋚
+ < 𞋛
+ < 𞋜
+ < 𞋝
+ < 𞋞
+ < 𞋟
+ < 𞋠
+ < 𞋡
+ < 𞋢
+ < 𞋣
+ < 𞋤
+ < 𞋥
+ < 𞋦
+ < 𞋧
+ < 𞋨
+ < 𞋩
+ < 𞋪
+ < 𞋫
< 𐊀
< 𐊁
< 𐊂
@@ -25691,6 +26216,29 @@
< 𐮏
< 𐮐
< 𐮑
+ < 𐿠
+ < 𐿡
+ < 𐿢
+ < 𐿣
+ < 𐿤
+ < 𐿥
+ < 𐿦
+ <<< 𐿶 / 𐿩
+ < 𐿧
+ < 𐿨
+ < 𐿩
+ < 𐿪
+ < 𐿫
+ < 𐿬
+ < 𐿭
+ < 𐿮
+ < 𐿯
+ < 𐿰
+ < 𐿱
+ < 𐿲
+ < 𐿳
+ < 𐿴
+ < 𐿵
< 𐫀
< 𐫁
< 𐫂
@@ -28746,6 +29294,8 @@
<<< ㆟
& 亻
<<< ⺅
+& 令
+ < ㋿ / 和
& 企
<<< ㊭
& 休
@@ -29768,6 +30318,11 @@
& ຄໂ = ໂຄ
& ຄໃ = ໃຄ
& ຄໄ = ໄຄ
+& ຆເ = ເຆ
+& ຆແ = ແຆ
+& ຆໂ = ໂຆ
+& ຆໃ = ໃຆ
+& ຆໄ = ໄຆ
& ງເ = ເງ
& ງແ = ແງ
& ງໂ = ໂງ
@@ -29778,6 +30333,11 @@
& ຈໂ = ໂຈ
& ຈໃ = ໃຈ
& ຈໄ = ໄຈ
+& ຉເ = ເຉ
+& ຉແ = ແຉ
+& ຉໂ = ໂຉ
+& ຉໃ = ໃຉ
+& ຉໄ = ໄຉ
& ສເ = ເສ
& ສແ = ແສ
& ສໂ = ໂສ
@@ -29788,6 +30348,16 @@
& ຊໂ = ໂຊ
& ຊໃ = ໃຊ
& ຊໄ = ໄຊ
+& ຌເ = ເຌ
+& ຌແ = ແຌ
+& ຌໂ = ໂຌ
+& ຌໃ = ໃຌ
+& ຌໄ = ໄຌ
+& ຎເ = ເຎ
+& ຎແ = ແຎ
+& ຎໂ = ໂຎ
+& ຎໃ = ໃຎ
+& ຎໄ = ໄຎ
& ໟເ = ເໟ
& ໟແ = ແໟ
& ໟໂ = ໂໟ
@@ -29798,6 +30368,31 @@
& ຍໂ = ໂຍ
& ຍໃ = ໃຍ
& ຍໄ = ໄຍ
+& ຏເ = ເຏ
+& ຏແ = ແຏ
+& ຏໂ = ໂຏ
+& ຏໃ = ໃຏ
+& ຏໄ = ໄຏ
+& ຐເ = ເຐ
+& ຐແ = ແຐ
+& ຐໂ = ໂຐ
+& ຐໃ = ໃຐ
+& ຐໄ = ໄຐ
+& ຑເ = ເຑ
+& ຑແ = ແຑ
+& ຑໂ = ໂຑ
+& ຑໃ = ໃຑ
+& ຑໄ = ໄຑ
+& ຒເ = ເຒ
+& ຒແ = ແຒ
+& ຒໂ = ໂຒ
+& ຒໃ = ໃຒ
+& ຒໄ = ໄຒ
+& ຓເ = ເຓ
+& ຓແ = ແຓ
+& ຓໂ = ໂຓ
+& ຓໃ = ໃຓ
+& ຓໄ = ໄຓ
& ດເ = ເດ
& ດແ = ແດ
& ດໂ = ໂດ
@@ -29818,6 +30413,11 @@
& ທໂ = ໂທ
& ທໃ = ໃທ
& ທໄ = ໄທ
+& ຘເ = ເຘ
+& ຘແ = ແຘ
+& ຘໂ = ໂຘ
+& ຘໃ = ໃຘ
+& ຘໄ = ໄຘ
& ນເ = ເນ
& ນແ = ແນ
& ນໂ = ໂນ
@@ -29853,6 +30453,11 @@
& ຟໂ = ໂຟ
& ຟໃ = ໃຟ
& ຟໄ = ໄຟ
+& ຠເ = ເຠ
+& ຠແ = ແຠ
+& ຠໂ = ໂຠ
+& ຠໃ = ໃຠ
+& ຠໄ = ໄຠ
& ມເ = ເມ
& ມແ = ແມ
& ມໂ = ໂມ
@@ -29878,6 +30483,16 @@
& ວໂ = ໂວ
& ວໃ = ໃວ
& ວໄ = ໄວ
+& ຨເ = ເຨ
+& ຨແ = ແຨ
+& ຨໂ = ໂຨ
+& ຨໃ = ໃຨ
+& ຨໄ = ໄຨ
+& ຩເ = ເຩ
+& ຩແ = ແຩ
+& ຩໂ = ໂຩ
+& ຩໃ = ໃຩ
+& ຩໄ = ໄຩ
& ຫເ = ເຫ
& ຫແ = ແຫ
& ຫໂ = ໂຫ
@@ -29893,6 +30508,11 @@
& ໝໂ = ໂໝ
& ໝໃ = ໃໝ
& ໝໄ = ໄໝ
+& ຬເ = ເຬ
+& ຬແ = ແຬ
+& ຬໂ = ໂຬ
+& ຬໃ = ໃຬ
+& ຬໄ = ໄຬ
& ອເ = ເອ
& ອແ = ແອ
& ອໂ = ໂອ
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/UnicodeData.txt b/Build/source/libs/icu/icu-src/source/data/unidata/UnicodeData.txt
index ec32fafbce5..e65aec52f71 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/UnicodeData.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/UnicodeData.txt
@@ -640,7 +640,7 @@
027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;;
0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6
0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;;
-0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;;;
+0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;A7C5;;A7C5
0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9
0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;;
0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;;
@@ -2809,6 +2809,7 @@
0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0C77;TELUGU SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
0C78;TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR;No;0;ON;;;;0;N;;;;;
0C79;TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR;No;0;ON;;;;1;N;;;;;
0C7A;TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR;No;0;ON;;;;2;N;;;;;
@@ -3203,14 +3204,24 @@
0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;;
0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;;
0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;;
+0E86;LAO LETTER PALI GHA;Lo;0;L;;;;;N;;;;;
0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;;
0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;;
+0E89;LAO LETTER PALI CHA;Lo;0;L;;;;;N;;;;;
0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;;
+0E8C;LAO LETTER PALI JHA;Lo;0;L;;;;;N;;;;;
0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;;
+0E8E;LAO LETTER PALI NYA;Lo;0;L;;;;;N;;;;;
+0E8F;LAO LETTER PALI TTA;Lo;0;L;;;;;N;;;;;
+0E90;LAO LETTER PALI TTHA;Lo;0;L;;;;;N;;;;;
+0E91;LAO LETTER PALI DDA;Lo;0;L;;;;;N;;;;;
+0E92;LAO LETTER PALI DDHA;Lo;0;L;;;;;N;;;;;
+0E93;LAO LETTER PALI NNA;Lo;0;L;;;;;N;;;;;
0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;;
0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;;
0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;;
0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;;
+0E98;LAO LETTER PALI DHA;Lo;0;L;;;;;N;;;;;
0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;;
0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;;
0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;;
@@ -3218,13 +3229,17 @@
0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;;
0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;;
0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;;
+0EA0;LAO LETTER PALI BHA;Lo;0;L;;;;;N;;;;;
0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;;
0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;;
0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;;
0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;;
0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;;
+0EA8;LAO LETTER SANSKRIT SHA;Lo;0;L;;;;;N;;;;;
+0EA9;LAO LETTER SANSKRIT SSA;Lo;0;L;;;;;N;;;;;
0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;;
0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;;
+0EAC;LAO LETTER PALI LLA;Lo;0;L;;;;;N;;;;;
0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;;
0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;;
0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;;
@@ -3238,6 +3253,7 @@
0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;;
0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;;
0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;;
+0EBA;LAO SIGN PALI VIRAMA;Mn;9;NSM;;;;;N;;;;;
0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;;
0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;;
0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;;
@@ -5079,7 +5095,7 @@
166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;;
166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;;
166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;;
-166D;CANADIAN SYLLABICS CHI SIGN;Po;0;L;;;;;N;;;;;
+166D;CANADIAN SYLLABICS CHI SIGN;So;0;L;;;;;N;;;;;
166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;;
166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;;
1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;;
@@ -6488,14 +6504,15 @@
1CEF;VEDIC SIGN LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
-1CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
-1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
+1CF2;VEDIC SIGN ARDHAVISARGA;Lo;0;L;;;;;N;;;;;
+1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Lo;0;L;;;;;N;;;;;
1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
1CF7;VEDIC SIGN ATIKRAMA;Mc;0;L;;;;;N;;;;;
1CF8;VEDIC TONE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
1CF9;VEDIC TONE DOUBLE RING ABOVE;Mn;230;NSM;;;;;N;;;;;
+1CFA;VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA;Lo;0;L;;;;;N;;;;;
1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
@@ -6638,7 +6655,7 @@
1D8B;LATIN SMALL LETTER ESH WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
1D8C;LATIN SMALL LETTER V WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
1D8D;LATIN SMALL LETTER X WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
-1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;A7C6;;A7C6
1D8F;LATIN SMALL LETTER A WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
1D90;LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
1D91;LATIN SMALL LETTER D WITH HOOK AND TAIL;Ll;0;L;;;;;N;;;;;
@@ -10165,6 +10182,7 @@
2BC6;BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
2BC7;BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
2BC8;BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;;
+2BC9;NEPTUNE FORM TWO;So;0;ON;;;;;N;;;;;
2BCA;TOP HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
2BCB;BOTTOM HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;;
2BCC;LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;;
@@ -10218,6 +10236,7 @@
2BFC;DOUBLED SYMBOL;So;0;ON;;;;;N;;;;;
2BFD;PASSED SYMBOL;So;0;ON;;;;;N;;;;;
2BFE;REVERSED RIGHT ANGLE;So;0;ON;;;;;Y;;;;;
+2BFF;HELLSCHREIBER PAUSE SYMBOL;So;0;ON;;;;;N;;;;;
2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30;
2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31;
2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32;
@@ -10756,6 +10775,7 @@
2E4C;MEDIEVAL COMMA;Po;0;ON;;;;;N;;;;;
2E4D;PARAGRAPHUS MARK;Po;0;ON;;;;;N;;;;;
2E4E;PUNCTUS ELEVATUS MARK;Po;0;ON;;;;;N;;;;;
+2E4F;CORNISH VERSE DIVIDER;Po;0;ON;;;;;N;;;;;
2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
@@ -11836,6 +11856,7 @@
32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;;
32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;;
32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;;
+32FF;SQUARE ERA NAME REIWA;So;0;L; 4EE4 548C;;;;N;;;;;
3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;;
3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;;
3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;;
@@ -14060,7 +14081,7 @@ A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791;
A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790
A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793;
A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792
-A794;LATIN SMALL LETTER C WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
+A794;LATIN SMALL LETTER C WITH PALATAL HOOK;Ll;0;L;;;;;N;;;A7C4;;A7C4
A795;LATIN SMALL LETTER H WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;;
A796;LATIN CAPITAL LETTER B WITH FLOURISH;Lu;0;L;;;;;N;;;;A797;
A797;LATIN SMALL LETTER B WITH FLOURISH;Ll;0;L;;;;;N;;;A796;;A796
@@ -14098,6 +14119,17 @@ A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7;
A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6
A7B8;LATIN CAPITAL LETTER U WITH STROKE;Lu;0;L;;;;;N;;;;A7B9;
A7B9;LATIN SMALL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;A7B8;;A7B8
+A7BA;LATIN CAPITAL LETTER GLOTTAL A;Lu;0;L;;;;;N;;;;A7BB;
+A7BB;LATIN SMALL LETTER GLOTTAL A;Ll;0;L;;;;;N;;;A7BA;;A7BA
+A7BC;LATIN CAPITAL LETTER GLOTTAL I;Lu;0;L;;;;;N;;;;A7BD;
+A7BD;LATIN SMALL LETTER GLOTTAL I;Ll;0;L;;;;;N;;;A7BC;;A7BC
+A7BE;LATIN CAPITAL LETTER GLOTTAL U;Lu;0;L;;;;;N;;;;A7BF;
+A7BF;LATIN SMALL LETTER GLOTTAL U;Ll;0;L;;;;;N;;;A7BE;;A7BE
+A7C2;LATIN CAPITAL LETTER ANGLICANA W;Lu;0;L;;;;;N;;;;A7C3;
+A7C3;LATIN SMALL LETTER ANGLICANA W;Ll;0;L;;;;;N;;;A7C2;;A7C2
+A7C4;LATIN CAPITAL LETTER C WITH PALATAL HOOK;Lu;0;L;;;;;N;;;;A794;
+A7C5;LATIN CAPITAL LETTER S WITH HOOK;Lu;0;L;;;;;N;;;;0282;
+A7C6;LATIN CAPITAL LETTER Z WITH PALATAL HOOK;Lu;0;L;;;;;N;;;;1D8E;
A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;;
A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L; 0126;;;;N;;;;;
A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L; 0153;;;;N;;;;;
@@ -14506,7 +14538,7 @@ A9B9;JAVANESE VOWEL SIGN SUKU MENDUT;Mn;0;NSM;;;;;N;;;;;
A9BA;JAVANESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;;
A9BB;JAVANESE VOWEL SIGN DIRGA MURE;Mc;0;L;;;;;N;;;;;
A9BC;JAVANESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;;
-A9BD;JAVANESE CONSONANT SIGN KERET;Mc;0;L;;;;;N;;;;;
+A9BD;JAVANESE CONSONANT SIGN KERET;Mn;0;NSM;;;;;N;;;;;
A9BE;JAVANESE CONSONANT SIGN PENGKAL;Mc;0;L;;;;;N;;;;;
A9BF;JAVANESE CONSONANT SIGN CAKRA;Mc;0;L;;;;;N;;;;;
A9C0;JAVANESE PANGKON;Mc;9;L;;;;;N;;;;;
@@ -14863,6 +14895,8 @@ AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;;
AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;;
AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;;
AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;;
+AB66;LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
+AB67;LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;;
AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0
AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1
AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2
@@ -19105,6 +19139,29 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
10F57;SOGDIAN PUNCTUATION CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;;
10F58;SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS;Po;0;AL;;;;;N;;;;;
10F59;SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;;
+10FE0;ELYMAIC LETTER ALEPH;Lo;0;R;;;;;N;;;;;
+10FE1;ELYMAIC LETTER BETH;Lo;0;R;;;;;N;;;;;
+10FE2;ELYMAIC LETTER GIMEL;Lo;0;R;;;;;N;;;;;
+10FE3;ELYMAIC LETTER DALETH;Lo;0;R;;;;;N;;;;;
+10FE4;ELYMAIC LETTER HE;Lo;0;R;;;;;N;;;;;
+10FE5;ELYMAIC LETTER WAW;Lo;0;R;;;;;N;;;;;
+10FE6;ELYMAIC LETTER ZAYIN;Lo;0;R;;;;;N;;;;;
+10FE7;ELYMAIC LETTER HETH;Lo;0;R;;;;;N;;;;;
+10FE8;ELYMAIC LETTER TETH;Lo;0;R;;;;;N;;;;;
+10FE9;ELYMAIC LETTER YODH;Lo;0;R;;;;;N;;;;;
+10FEA;ELYMAIC LETTER KAPH;Lo;0;R;;;;;N;;;;;
+10FEB;ELYMAIC LETTER LAMEDH;Lo;0;R;;;;;N;;;;;
+10FEC;ELYMAIC LETTER MEM;Lo;0;R;;;;;N;;;;;
+10FED;ELYMAIC LETTER NUN;Lo;0;R;;;;;N;;;;;
+10FEE;ELYMAIC LETTER SAMEKH;Lo;0;R;;;;;N;;;;;
+10FEF;ELYMAIC LETTER AYIN;Lo;0;R;;;;;N;;;;;
+10FF0;ELYMAIC LETTER PE;Lo;0;R;;;;;N;;;;;
+10FF1;ELYMAIC LETTER SADHE;Lo;0;R;;;;;N;;;;;
+10FF2;ELYMAIC LETTER QOPH;Lo;0;R;;;;;N;;;;;
+10FF3;ELYMAIC LETTER RESH;Lo;0;R;;;;;N;;;;;
+10FF4;ELYMAIC LETTER SHIN;Lo;0;R;;;;;N;;;;;
+10FF5;ELYMAIC LETTER TAW;Lo;0;R;;;;;N;;;;;
+10FF6;ELYMAIC LIGATURE ZAYIN-YODH;Lo;0;R;;;;;N;;;;;
11000;BRAHMI SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;;
11001;BRAHMI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
11002;BRAHMI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
@@ -19887,6 +19944,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1145B;NEWA PLACEHOLDER MARK;Po;0;L;;;;;N;;;;;
1145D;NEWA INSERTION SIGN;Po;0;L;;;;;N;;;;;
1145E;NEWA SANDHI MARK;Mn;230;NSM;;;;;N;;;;;
+1145F;NEWA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;;
11480;TIRHUTA ANJI;Lo;0;L;;;;;N;;;;;
11481;TIRHUTA LETTER A;Lo;0;L;;;;;N;;;;;
11482;TIRHUTA LETTER AA;Lo;0;L;;;;;N;;;;;
@@ -20209,6 +20267,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
116B5;TAKRI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
116B6;TAKRI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
116B7;TAKRI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+116B8;TAKRI LETTER ARCHAIC KHA;Lo;0;L;;;;;N;;;;;
116C0;TAKRI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
@@ -20421,6 +20480,71 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
118F1;WARANG CITI NUMBER EIGHTY;No;0;L;;;;80;N;;;;;
118F2;WARANG CITI NUMBER NINETY;No;0;L;;;;90;N;;;;;
118FF;WARANG CITI OM;Lo;0;L;;;;;N;;;;;
+119A0;NANDINAGARI LETTER A;Lo;0;L;;;;;N;;;;;
+119A1;NANDINAGARI LETTER AA;Lo;0;L;;;;;N;;;;;
+119A2;NANDINAGARI LETTER I;Lo;0;L;;;;;N;;;;;
+119A3;NANDINAGARI LETTER II;Lo;0;L;;;;;N;;;;;
+119A4;NANDINAGARI LETTER U;Lo;0;L;;;;;N;;;;;
+119A5;NANDINAGARI LETTER UU;Lo;0;L;;;;;N;;;;;
+119A6;NANDINAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+119A7;NANDINAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+119AA;NANDINAGARI LETTER E;Lo;0;L;;;;;N;;;;;
+119AB;NANDINAGARI LETTER AI;Lo;0;L;;;;;N;;;;;
+119AC;NANDINAGARI LETTER O;Lo;0;L;;;;;N;;;;;
+119AD;NANDINAGARI LETTER AU;Lo;0;L;;;;;N;;;;;
+119AE;NANDINAGARI LETTER KA;Lo;0;L;;;;;N;;;;;
+119AF;NANDINAGARI LETTER KHA;Lo;0;L;;;;;N;;;;;
+119B0;NANDINAGARI LETTER GA;Lo;0;L;;;;;N;;;;;
+119B1;NANDINAGARI LETTER GHA;Lo;0;L;;;;;N;;;;;
+119B2;NANDINAGARI LETTER NGA;Lo;0;L;;;;;N;;;;;
+119B3;NANDINAGARI LETTER CA;Lo;0;L;;;;;N;;;;;
+119B4;NANDINAGARI LETTER CHA;Lo;0;L;;;;;N;;;;;
+119B5;NANDINAGARI LETTER JA;Lo;0;L;;;;;N;;;;;
+119B6;NANDINAGARI LETTER JHA;Lo;0;L;;;;;N;;;;;
+119B7;NANDINAGARI LETTER NYA;Lo;0;L;;;;;N;;;;;
+119B8;NANDINAGARI LETTER TTA;Lo;0;L;;;;;N;;;;;
+119B9;NANDINAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+119BA;NANDINAGARI LETTER DDA;Lo;0;L;;;;;N;;;;;
+119BB;NANDINAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+119BC;NANDINAGARI LETTER NNA;Lo;0;L;;;;;N;;;;;
+119BD;NANDINAGARI LETTER TA;Lo;0;L;;;;;N;;;;;
+119BE;NANDINAGARI LETTER THA;Lo;0;L;;;;;N;;;;;
+119BF;NANDINAGARI LETTER DA;Lo;0;L;;;;;N;;;;;
+119C0;NANDINAGARI LETTER DHA;Lo;0;L;;;;;N;;;;;
+119C1;NANDINAGARI LETTER NA;Lo;0;L;;;;;N;;;;;
+119C2;NANDINAGARI LETTER PA;Lo;0;L;;;;;N;;;;;
+119C3;NANDINAGARI LETTER PHA;Lo;0;L;;;;;N;;;;;
+119C4;NANDINAGARI LETTER BA;Lo;0;L;;;;;N;;;;;
+119C5;NANDINAGARI LETTER BHA;Lo;0;L;;;;;N;;;;;
+119C6;NANDINAGARI LETTER MA;Lo;0;L;;;;;N;;;;;
+119C7;NANDINAGARI LETTER YA;Lo;0;L;;;;;N;;;;;
+119C8;NANDINAGARI LETTER RA;Lo;0;L;;;;;N;;;;;
+119C9;NANDINAGARI LETTER LA;Lo;0;L;;;;;N;;;;;
+119CA;NANDINAGARI LETTER VA;Lo;0;L;;;;;N;;;;;
+119CB;NANDINAGARI LETTER SHA;Lo;0;L;;;;;N;;;;;
+119CC;NANDINAGARI LETTER SSA;Lo;0;L;;;;;N;;;;;
+119CD;NANDINAGARI LETTER SA;Lo;0;L;;;;;N;;;;;
+119CE;NANDINAGARI LETTER HA;Lo;0;L;;;;;N;;;;;
+119CF;NANDINAGARI LETTER LLA;Lo;0;L;;;;;N;;;;;
+119D0;NANDINAGARI LETTER RRA;Lo;0;L;;;;;N;;;;;
+119D1;NANDINAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+119D2;NANDINAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+119D3;NANDINAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+119D4;NANDINAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+119D5;NANDINAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+119D6;NANDINAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+119D7;NANDINAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+119DA;NANDINAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+119DB;NANDINAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+119DC;NANDINAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+119DD;NANDINAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+119DE;NANDINAGARI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
+119DF;NANDINAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+119E0;NANDINAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+119E1;NANDINAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+119E2;NANDINAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;;
+119E3;NANDINAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;;
+119E4;NANDINAGARI VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;;
11A00;ZANABAZAR SQUARE LETTER A;Lo;0;L;;;;;N;;;;;
11A01;ZANABAZAR SQUARE VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
11A02;ZANABAZAR SQUARE VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;;
@@ -20545,6 +20669,8 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
11A81;SOYOMBO LETTER SA;Lo;0;L;;;;;N;;;;;
11A82;SOYOMBO LETTER HA;Lo;0;L;;;;;N;;;;;
11A83;SOYOMBO LETTER KSSA;Lo;0;L;;;;;N;;;;;
+11A84;SOYOMBO SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+11A85;SOYOMBO SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
11A86;SOYOMBO CLUSTER-INITIAL LETTER RA;Lo;0;L;;;;;N;;;;;
11A87;SOYOMBO CLUSTER-INITIAL LETTER LA;Lo;0;L;;;;;N;;;;;
11A88;SOYOMBO CLUSTER-INITIAL LETTER SHA;Lo;0;L;;;;;N;;;;;
@@ -20959,6 +21085,57 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
11EF6;MAKASAR VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
11EF7;MAKASAR PASSIMBANG;Po;0;L;;;;;N;;;;;
11EF8;MAKASAR END OF SECTION;Po;0;L;;;;;N;;;;;
+11FC0;TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH;No;0;L;;;;1/320;N;;;;;
+11FC1;TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH;No;0;L;;;;1/160;N;;;;;
+11FC2;TAMIL FRACTION ONE EIGHTIETH;No;0;L;;;;1/80;N;;;;;
+11FC3;TAMIL FRACTION ONE SIXTY-FOURTH;No;0;L;;;;1/64;N;;;;;
+11FC4;TAMIL FRACTION ONE FORTIETH;No;0;L;;;;1/40;N;;;;;
+11FC5;TAMIL FRACTION ONE THIRTY-SECOND;No;0;L;;;;1/32;N;;;;;
+11FC6;TAMIL FRACTION THREE EIGHTIETHS;No;0;L;;;;3/80;N;;;;;
+11FC7;TAMIL FRACTION THREE SIXTY-FOURTHS;No;0;L;;;;3/64;N;;;;;
+11FC8;TAMIL FRACTION ONE TWENTIETH;No;0;L;;;;1/20;N;;;;;
+11FC9;TAMIL FRACTION ONE SIXTEENTH-1;No;0;L;;;;1/16;N;;;;;
+11FCA;TAMIL FRACTION ONE SIXTEENTH-2;No;0;L;;;;1/16;N;;;;;
+11FCB;TAMIL FRACTION ONE TENTH;No;0;L;;;;1/10;N;;;;;
+11FCC;TAMIL FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;;
+11FCD;TAMIL FRACTION THREE TWENTIETHS;No;0;L;;;;3/20;N;;;;;
+11FCE;TAMIL FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;;
+11FCF;TAMIL FRACTION ONE FIFTH;No;0;L;;;;1/5;N;;;;;
+11FD0;TAMIL FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;;
+11FD1;TAMIL FRACTION ONE HALF-1;No;0;L;;;;1/2;N;;;;;
+11FD2;TAMIL FRACTION ONE HALF-2;No;0;L;;;;1/2;N;;;;;
+11FD3;TAMIL FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;;
+11FD4;TAMIL FRACTION DOWNSCALING FACTOR KIIZH;No;0;L;;;;1/320;N;;;;;
+11FD5;TAMIL SIGN NEL;So;0;ON;;;;;N;;;;;
+11FD6;TAMIL SIGN CEVITU;So;0;ON;;;;;N;;;;;
+11FD7;TAMIL SIGN AAZHAAKKU;So;0;ON;;;;;N;;;;;
+11FD8;TAMIL SIGN UZHAKKU;So;0;ON;;;;;N;;;;;
+11FD9;TAMIL SIGN MUUVUZHAKKU;So;0;ON;;;;;N;;;;;
+11FDA;TAMIL SIGN KURUNI;So;0;ON;;;;;N;;;;;
+11FDB;TAMIL SIGN PATHAKKU;So;0;ON;;;;;N;;;;;
+11FDC;TAMIL SIGN MUKKURUNI;So;0;ON;;;;;N;;;;;
+11FDD;TAMIL SIGN KAACU;Sc;0;ET;;;;;N;;;;;
+11FDE;TAMIL SIGN PANAM;Sc;0;ET;;;;;N;;;;;
+11FDF;TAMIL SIGN PON;Sc;0;ET;;;;;N;;;;;
+11FE0;TAMIL SIGN VARAAKAN;Sc;0;ET;;;;;N;;;;;
+11FE1;TAMIL SIGN PAARAM;So;0;ON;;;;;N;;;;;
+11FE2;TAMIL SIGN KUZHI;So;0;ON;;;;;N;;;;;
+11FE3;TAMIL SIGN VELI;So;0;ON;;;;;N;;;;;
+11FE4;TAMIL WET CULTIVATION SIGN;So;0;ON;;;;;N;;;;;
+11FE5;TAMIL DRY CULTIVATION SIGN;So;0;ON;;;;;N;;;;;
+11FE6;TAMIL LAND SIGN;So;0;ON;;;;;N;;;;;
+11FE7;TAMIL SALT PAN SIGN;So;0;ON;;;;;N;;;;;
+11FE8;TAMIL TRADITIONAL CREDIT SIGN;So;0;ON;;;;;N;;;;;
+11FE9;TAMIL TRADITIONAL NUMBER SIGN;So;0;ON;;;;;N;;;;;
+11FEA;TAMIL CURRENT SIGN;So;0;ON;;;;;N;;;;;
+11FEB;TAMIL AND ODD SIGN;So;0;ON;;;;;N;;;;;
+11FEC;TAMIL SPENT SIGN;So;0;ON;;;;;N;;;;;
+11FED;TAMIL TOTAL SIGN;So;0;ON;;;;;N;;;;;
+11FEE;TAMIL IN POSSESSION SIGN;So;0;ON;;;;;N;;;;;
+11FEF;TAMIL STARTING FROM SIGN;So;0;ON;;;;;N;;;;;
+11FF0;TAMIL SIGN MUTHALIYA;So;0;ON;;;;;N;;;;;
+11FF1;TAMIL SIGN VAKAIYARAA;So;0;ON;;;;;N;;;;;
+11FFF;TAMIL PUNCTUATION END OF TEXT;Po;0;L;;;;;N;;;;;
12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -23264,6 +23441,15 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;;
1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;;
1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;;
+13430;EGYPTIAN HIEROGLYPH VERTICAL JOINER;Cf;0;L;;;;;N;;;;;
+13431;EGYPTIAN HIEROGLYPH HORIZONTAL JOINER;Cf;0;L;;;;;N;;;;;
+13432;EGYPTIAN HIEROGLYPH INSERT AT TOP START;Cf;0;L;;;;;N;;;;;
+13433;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START;Cf;0;L;;;;;N;;;;;
+13434;EGYPTIAN HIEROGLYPH INSERT AT TOP END;Cf;0;L;;;;;N;;;;;
+13435;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END;Cf;0;L;;;;;N;;;;;
+13436;EGYPTIAN HIEROGLYPH OVERLAY MIDDLE;Cf;0;L;;;;;N;;;;;
+13437;EGYPTIAN HIEROGLYPH BEGIN SEGMENT;Cf;0;L;;;;;N;;;;;
+13438;EGYPTIAN HIEROGLYPH END SEGMENT;Cf;0;L;;;;;N;;;;;
14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;;
14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;;
14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;;
@@ -24782,6 +24968,13 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
16F42;MIAO LETTER WA;Lo;0;L;;;;;N;;;;;
16F43;MIAO LETTER AH;Lo;0;L;;;;;N;;;;;
16F44;MIAO LETTER HHA;Lo;0;L;;;;;N;;;;;
+16F45;MIAO LETTER BRI;Lo;0;L;;;;;N;;;;;
+16F46;MIAO LETTER SYI;Lo;0;L;;;;;N;;;;;
+16F47;MIAO LETTER DZYI;Lo;0;L;;;;;N;;;;;
+16F48;MIAO LETTER TE;Lo;0;L;;;;;N;;;;;
+16F49;MIAO LETTER TSE;Lo;0;L;;;;;N;;;;;
+16F4A;MIAO LETTER RTE;Lo;0;L;;;;;N;;;;;
+16F4F;MIAO SIGN CONSONANT MODIFIER BAR;Mn;0;NSM;;;;;N;;;;;
16F50;MIAO LETTER NASALIZATION;Lo;0;L;;;;;N;;;;;
16F51;MIAO SIGN ASPIRATION;Mc;0;L;;;;;N;;;;;
16F52;MIAO SIGN REFORMED VOICING;Mc;0;L;;;;;N;;;;;
@@ -24829,6 +25022,15 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
16F7C;MIAO VOWEL SIGN OU;Mc;0;L;;;;;N;;;;;
16F7D;MIAO VOWEL SIGN N;Mc;0;L;;;;;N;;;;;
16F7E;MIAO VOWEL SIGN NG;Mc;0;L;;;;;N;;;;;
+16F7F;MIAO VOWEL SIGN UOG;Mc;0;L;;;;;N;;;;;
+16F80;MIAO VOWEL SIGN YUI;Mc;0;L;;;;;N;;;;;
+16F81;MIAO VOWEL SIGN OG;Mc;0;L;;;;;N;;;;;
+16F82;MIAO VOWEL SIGN OER;Mc;0;L;;;;;N;;;;;
+16F83;MIAO VOWEL SIGN VW;Mc;0;L;;;;;N;;;;;
+16F84;MIAO VOWEL SIGN IG;Mc;0;L;;;;;N;;;;;
+16F85;MIAO VOWEL SIGN EA;Mc;0;L;;;;;N;;;;;
+16F86;MIAO VOWEL SIGN IONG;Mc;0;L;;;;;N;;;;;
+16F87;MIAO VOWEL SIGN UI;Mc;0;L;;;;;N;;;;;
16F8F;MIAO TONE RIGHT;Mn;0;NSM;;;;;N;;;;;
16F90;MIAO TONE TOP RIGHT;Mn;0;NSM;;;;;N;;;;;
16F91;MIAO TONE ABOVE;Mn;0;NSM;;;;;N;;;;;
@@ -24848,8 +25050,10 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
16F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;;
16FE0;TANGUT ITERATION MARK;Lm;0;L;;;;;N;;;;;
16FE1;NUSHU ITERATION MARK;Lm;0;L;;;;;N;;;;;
+16FE2;OLD CHINESE HOOK MARK;Po;0;ON;;;;;N;;;;;
+16FE3;OLD CHINESE ITERATION MARK;Lm;0;L;;;;;N;;;;;
17000;;Lo;0;L;;;;;N;;;;;
-187F1;;Lo;0;L;;;;;N;;;;;
+187F7;;Lo;0;L;;;;;N;;;;;
18800;TANGUT COMPONENT-001;Lo;0;L;;;;;N;;;;;
18801;TANGUT COMPONENT-002;Lo;0;L;;;;;N;;;;;
18802;TANGUT COMPONENT-003;Lo;0;L;;;;;N;;;;;
@@ -25892,6 +26096,13 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1B11C;HENTAIGANA LETTER WO-7;Lo;0;L;;;;;N;;;;;
1B11D;HENTAIGANA LETTER N-MU-MO-1;Lo;0;L;;;;;N;;;;;
1B11E;HENTAIGANA LETTER N-MU-MO-2;Lo;0;L;;;;;N;;;;;
+1B150;HIRAGANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;;
+1B151;HIRAGANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;;
+1B152;HIRAGANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;;
+1B164;KATAKANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;;
+1B165;KATAKANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;;
+1B166;KATAKANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;;
+1B167;KATAKANA LETTER SMALL N;Lo;0;L;;;;;N;;;;;
1B170;NUSHU CHARACTER-1B170;Lo;0;L;;;;;N;;;;;
1B171;NUSHU CHARACTER-1B171;Lo;0;L;;;;;N;;;;;
1B172;NUSHU CHARACTER-1B172;Lo;0;L;;;;;N;;;;;
@@ -28820,6 +29031,136 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1E028;COMBINING GLAGOLITIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;;
1E029;COMBINING GLAGOLITIC LETTER IOTATED BIG YUS;Mn;230;NSM;;;;;N;;;;;
1E02A;COMBINING GLAGOLITIC LETTER FITA;Mn;230;NSM;;;;;N;;;;;
+1E100;NYIAKENG PUACHUE HMONG LETTER MA;Lo;0;L;;;;;N;;;;;
+1E101;NYIAKENG PUACHUE HMONG LETTER TSA;Lo;0;L;;;;;N;;;;;
+1E102;NYIAKENG PUACHUE HMONG LETTER NTA;Lo;0;L;;;;;N;;;;;
+1E103;NYIAKENG PUACHUE HMONG LETTER TA;Lo;0;L;;;;;N;;;;;
+1E104;NYIAKENG PUACHUE HMONG LETTER HA;Lo;0;L;;;;;N;;;;;
+1E105;NYIAKENG PUACHUE HMONG LETTER NA;Lo;0;L;;;;;N;;;;;
+1E106;NYIAKENG PUACHUE HMONG LETTER XA;Lo;0;L;;;;;N;;;;;
+1E107;NYIAKENG PUACHUE HMONG LETTER NKA;Lo;0;L;;;;;N;;;;;
+1E108;NYIAKENG PUACHUE HMONG LETTER CA;Lo;0;L;;;;;N;;;;;
+1E109;NYIAKENG PUACHUE HMONG LETTER LA;Lo;0;L;;;;;N;;;;;
+1E10A;NYIAKENG PUACHUE HMONG LETTER SA;Lo;0;L;;;;;N;;;;;
+1E10B;NYIAKENG PUACHUE HMONG LETTER ZA;Lo;0;L;;;;;N;;;;;
+1E10C;NYIAKENG PUACHUE HMONG LETTER NCA;Lo;0;L;;;;;N;;;;;
+1E10D;NYIAKENG PUACHUE HMONG LETTER NTSA;Lo;0;L;;;;;N;;;;;
+1E10E;NYIAKENG PUACHUE HMONG LETTER KA;Lo;0;L;;;;;N;;;;;
+1E10F;NYIAKENG PUACHUE HMONG LETTER DA;Lo;0;L;;;;;N;;;;;
+1E110;NYIAKENG PUACHUE HMONG LETTER NYA;Lo;0;L;;;;;N;;;;;
+1E111;NYIAKENG PUACHUE HMONG LETTER NRA;Lo;0;L;;;;;N;;;;;
+1E112;NYIAKENG PUACHUE HMONG LETTER VA;Lo;0;L;;;;;N;;;;;
+1E113;NYIAKENG PUACHUE HMONG LETTER NTXA;Lo;0;L;;;;;N;;;;;
+1E114;NYIAKENG PUACHUE HMONG LETTER TXA;Lo;0;L;;;;;N;;;;;
+1E115;NYIAKENG PUACHUE HMONG LETTER FA;Lo;0;L;;;;;N;;;;;
+1E116;NYIAKENG PUACHUE HMONG LETTER RA;Lo;0;L;;;;;N;;;;;
+1E117;NYIAKENG PUACHUE HMONG LETTER QA;Lo;0;L;;;;;N;;;;;
+1E118;NYIAKENG PUACHUE HMONG LETTER YA;Lo;0;L;;;;;N;;;;;
+1E119;NYIAKENG PUACHUE HMONG LETTER NQA;Lo;0;L;;;;;N;;;;;
+1E11A;NYIAKENG PUACHUE HMONG LETTER PA;Lo;0;L;;;;;N;;;;;
+1E11B;NYIAKENG PUACHUE HMONG LETTER XYA;Lo;0;L;;;;;N;;;;;
+1E11C;NYIAKENG PUACHUE HMONG LETTER NPA;Lo;0;L;;;;;N;;;;;
+1E11D;NYIAKENG PUACHUE HMONG LETTER DLA;Lo;0;L;;;;;N;;;;;
+1E11E;NYIAKENG PUACHUE HMONG LETTER NPLA;Lo;0;L;;;;;N;;;;;
+1E11F;NYIAKENG PUACHUE HMONG LETTER HAH;Lo;0;L;;;;;N;;;;;
+1E120;NYIAKENG PUACHUE HMONG LETTER MLA;Lo;0;L;;;;;N;;;;;
+1E121;NYIAKENG PUACHUE HMONG LETTER PLA;Lo;0;L;;;;;N;;;;;
+1E122;NYIAKENG PUACHUE HMONG LETTER GA;Lo;0;L;;;;;N;;;;;
+1E123;NYIAKENG PUACHUE HMONG LETTER RRA;Lo;0;L;;;;;N;;;;;
+1E124;NYIAKENG PUACHUE HMONG LETTER A;Lo;0;L;;;;;N;;;;;
+1E125;NYIAKENG PUACHUE HMONG LETTER AA;Lo;0;L;;;;;N;;;;;
+1E126;NYIAKENG PUACHUE HMONG LETTER I;Lo;0;L;;;;;N;;;;;
+1E127;NYIAKENG PUACHUE HMONG LETTER U;Lo;0;L;;;;;N;;;;;
+1E128;NYIAKENG PUACHUE HMONG LETTER O;Lo;0;L;;;;;N;;;;;
+1E129;NYIAKENG PUACHUE HMONG LETTER OO;Lo;0;L;;;;;N;;;;;
+1E12A;NYIAKENG PUACHUE HMONG LETTER E;Lo;0;L;;;;;N;;;;;
+1E12B;NYIAKENG PUACHUE HMONG LETTER EE;Lo;0;L;;;;;N;;;;;
+1E12C;NYIAKENG PUACHUE HMONG LETTER W;Lo;0;L;;;;;N;;;;;
+1E130;NYIAKENG PUACHUE HMONG TONE-B;Mn;230;NSM;;;;;N;;;;;
+1E131;NYIAKENG PUACHUE HMONG TONE-M;Mn;230;NSM;;;;;N;;;;;
+1E132;NYIAKENG PUACHUE HMONG TONE-J;Mn;230;NSM;;;;;N;;;;;
+1E133;NYIAKENG PUACHUE HMONG TONE-V;Mn;230;NSM;;;;;N;;;;;
+1E134;NYIAKENG PUACHUE HMONG TONE-S;Mn;230;NSM;;;;;N;;;;;
+1E135;NYIAKENG PUACHUE HMONG TONE-G;Mn;230;NSM;;;;;N;;;;;
+1E136;NYIAKENG PUACHUE HMONG TONE-D;Mn;230;NSM;;;;;N;;;;;
+1E137;NYIAKENG PUACHUE HMONG SIGN FOR PERSON;Lm;0;L;;;;;N;;;;;
+1E138;NYIAKENG PUACHUE HMONG SIGN FOR THING;Lm;0;L;;;;;N;;;;;
+1E139;NYIAKENG PUACHUE HMONG SIGN FOR LOCATION;Lm;0;L;;;;;N;;;;;
+1E13A;NYIAKENG PUACHUE HMONG SIGN FOR ANIMAL;Lm;0;L;;;;;N;;;;;
+1E13B;NYIAKENG PUACHUE HMONG SIGN FOR INVERTEBRATE;Lm;0;L;;;;;N;;;;;
+1E13C;NYIAKENG PUACHUE HMONG SIGN XW XW;Lm;0;L;;;;;N;;;;;
+1E13D;NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER;Lm;0;L;;;;;N;;;;;
+1E140;NYIAKENG PUACHUE HMONG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1E141;NYIAKENG PUACHUE HMONG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1E142;NYIAKENG PUACHUE HMONG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1E143;NYIAKENG PUACHUE HMONG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1E144;NYIAKENG PUACHUE HMONG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1E145;NYIAKENG PUACHUE HMONG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1E146;NYIAKENG PUACHUE HMONG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1E147;NYIAKENG PUACHUE HMONG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1E148;NYIAKENG PUACHUE HMONG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1E149;NYIAKENG PUACHUE HMONG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1E14E;NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ;Lo;0;L;;;;;N;;;;;
+1E14F;NYIAKENG PUACHUE HMONG CIRCLED CA;So;0;L;;;;;N;;;;;
+1E2C0;WANCHO LETTER AA;Lo;0;L;;;;;N;;;;;
+1E2C1;WANCHO LETTER A;Lo;0;L;;;;;N;;;;;
+1E2C2;WANCHO LETTER BA;Lo;0;L;;;;;N;;;;;
+1E2C3;WANCHO LETTER CA;Lo;0;L;;;;;N;;;;;
+1E2C4;WANCHO LETTER DA;Lo;0;L;;;;;N;;;;;
+1E2C5;WANCHO LETTER GA;Lo;0;L;;;;;N;;;;;
+1E2C6;WANCHO LETTER YA;Lo;0;L;;;;;N;;;;;
+1E2C7;WANCHO LETTER PHA;Lo;0;L;;;;;N;;;;;
+1E2C8;WANCHO LETTER LA;Lo;0;L;;;;;N;;;;;
+1E2C9;WANCHO LETTER NA;Lo;0;L;;;;;N;;;;;
+1E2CA;WANCHO LETTER PA;Lo;0;L;;;;;N;;;;;
+1E2CB;WANCHO LETTER TA;Lo;0;L;;;;;N;;;;;
+1E2CC;WANCHO LETTER THA;Lo;0;L;;;;;N;;;;;
+1E2CD;WANCHO LETTER FA;Lo;0;L;;;;;N;;;;;
+1E2CE;WANCHO LETTER SA;Lo;0;L;;;;;N;;;;;
+1E2CF;WANCHO LETTER SHA;Lo;0;L;;;;;N;;;;;
+1E2D0;WANCHO LETTER JA;Lo;0;L;;;;;N;;;;;
+1E2D1;WANCHO LETTER ZA;Lo;0;L;;;;;N;;;;;
+1E2D2;WANCHO LETTER WA;Lo;0;L;;;;;N;;;;;
+1E2D3;WANCHO LETTER VA;Lo;0;L;;;;;N;;;;;
+1E2D4;WANCHO LETTER KA;Lo;0;L;;;;;N;;;;;
+1E2D5;WANCHO LETTER O;Lo;0;L;;;;;N;;;;;
+1E2D6;WANCHO LETTER AU;Lo;0;L;;;;;N;;;;;
+1E2D7;WANCHO LETTER RA;Lo;0;L;;;;;N;;;;;
+1E2D8;WANCHO LETTER MA;Lo;0;L;;;;;N;;;;;
+1E2D9;WANCHO LETTER KHA;Lo;0;L;;;;;N;;;;;
+1E2DA;WANCHO LETTER HA;Lo;0;L;;;;;N;;;;;
+1E2DB;WANCHO LETTER E;Lo;0;L;;;;;N;;;;;
+1E2DC;WANCHO LETTER I;Lo;0;L;;;;;N;;;;;
+1E2DD;WANCHO LETTER NGA;Lo;0;L;;;;;N;;;;;
+1E2DE;WANCHO LETTER U;Lo;0;L;;;;;N;;;;;
+1E2DF;WANCHO LETTER LLHA;Lo;0;L;;;;;N;;;;;
+1E2E0;WANCHO LETTER TSA;Lo;0;L;;;;;N;;;;;
+1E2E1;WANCHO LETTER TRA;Lo;0;L;;;;;N;;;;;
+1E2E2;WANCHO LETTER ONG;Lo;0;L;;;;;N;;;;;
+1E2E3;WANCHO LETTER AANG;Lo;0;L;;;;;N;;;;;
+1E2E4;WANCHO LETTER ANG;Lo;0;L;;;;;N;;;;;
+1E2E5;WANCHO LETTER ING;Lo;0;L;;;;;N;;;;;
+1E2E6;WANCHO LETTER ON;Lo;0;L;;;;;N;;;;;
+1E2E7;WANCHO LETTER EN;Lo;0;L;;;;;N;;;;;
+1E2E8;WANCHO LETTER AAN;Lo;0;L;;;;;N;;;;;
+1E2E9;WANCHO LETTER NYA;Lo;0;L;;;;;N;;;;;
+1E2EA;WANCHO LETTER UEN;Lo;0;L;;;;;N;;;;;
+1E2EB;WANCHO LETTER YIH;Lo;0;L;;;;;N;;;;;
+1E2EC;WANCHO TONE TUP;Mn;230;NSM;;;;;N;;;;;
+1E2ED;WANCHO TONE TUPNI;Mn;230;NSM;;;;;N;;;;;
+1E2EE;WANCHO TONE KOI;Mn;230;NSM;;;;;N;;;;;
+1E2EF;WANCHO TONE KOINI;Mn;230;NSM;;;;;N;;;;;
+1E2F0;WANCHO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+1E2F1;WANCHO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+1E2F2;WANCHO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+1E2F3;WANCHO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1E2F4;WANCHO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1E2F5;WANCHO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1E2F6;WANCHO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1E2F7;WANCHO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1E2F8;WANCHO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1E2F9;WANCHO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1E2FF;WANCHO NGUN SIGN;Sc;0;ET;;;;;N;;;;;
1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;;
1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;;
1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;;
@@ -29108,6 +29449,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1E948;ADLAM CONSONANT MODIFIER;Mn;230;NSM;;;;;N;;;;;
1E949;ADLAM GEMINATE CONSONANT MODIFIER;Mn;230;NSM;;;;;N;;;;;
1E94A;ADLAM NUKTA;Mn;7;NSM;;;;;N;;;;;
+1E94B;ADLAM NASALIZATION MARK;Lm;0;R;;;;;N;;;;;
1E950;ADLAM DIGIT ZERO;Nd;0;R;;0;0;0;N;;;;;
1E951;ADLAM DIGIT ONE;Nd;0;R;;1;1;1;N;;;;;
1E952;ADLAM DIGIT TWO;Nd;0;R;;2;2;2;N;;;;;
@@ -29188,6 +29530,67 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1ECB2;INDIC SIYAQ NUMBER ALTERNATE TWO;No;0;AL;;;;2;N;;;;;
1ECB3;INDIC SIYAQ NUMBER ALTERNATE TEN THOUSAND;No;0;AL;;;;10000;N;;;;;
1ECB4;INDIC SIYAQ ALTERNATE LAKH MARK;No;0;AL;;;;100000;N;;;;;
+1ED01;OTTOMAN SIYAQ NUMBER ONE;No;0;AL;;;;1;N;;;;;
+1ED02;OTTOMAN SIYAQ NUMBER TWO;No;0;AL;;;;2;N;;;;;
+1ED03;OTTOMAN SIYAQ NUMBER THREE;No;0;AL;;;;3;N;;;;;
+1ED04;OTTOMAN SIYAQ NUMBER FOUR;No;0;AL;;;;4;N;;;;;
+1ED05;OTTOMAN SIYAQ NUMBER FIVE;No;0;AL;;;;5;N;;;;;
+1ED06;OTTOMAN SIYAQ NUMBER SIX;No;0;AL;;;;6;N;;;;;
+1ED07;OTTOMAN SIYAQ NUMBER SEVEN;No;0;AL;;;;7;N;;;;;
+1ED08;OTTOMAN SIYAQ NUMBER EIGHT;No;0;AL;;;;8;N;;;;;
+1ED09;OTTOMAN SIYAQ NUMBER NINE;No;0;AL;;;;9;N;;;;;
+1ED0A;OTTOMAN SIYAQ NUMBER TEN;No;0;AL;;;;10;N;;;;;
+1ED0B;OTTOMAN SIYAQ NUMBER TWENTY;No;0;AL;;;;20;N;;;;;
+1ED0C;OTTOMAN SIYAQ NUMBER THIRTY;No;0;AL;;;;30;N;;;;;
+1ED0D;OTTOMAN SIYAQ NUMBER FORTY;No;0;AL;;;;40;N;;;;;
+1ED0E;OTTOMAN SIYAQ NUMBER FIFTY;No;0;AL;;;;50;N;;;;;
+1ED0F;OTTOMAN SIYAQ NUMBER SIXTY;No;0;AL;;;;60;N;;;;;
+1ED10;OTTOMAN SIYAQ NUMBER SEVENTY;No;0;AL;;;;70;N;;;;;
+1ED11;OTTOMAN SIYAQ NUMBER EIGHTY;No;0;AL;;;;80;N;;;;;
+1ED12;OTTOMAN SIYAQ NUMBER NINETY;No;0;AL;;;;90;N;;;;;
+1ED13;OTTOMAN SIYAQ NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;;
+1ED14;OTTOMAN SIYAQ NUMBER TWO HUNDRED;No;0;AL;;;;200;N;;;;;
+1ED15;OTTOMAN SIYAQ NUMBER THREE HUNDRED;No;0;AL;;;;300;N;;;;;
+1ED16;OTTOMAN SIYAQ NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;;
+1ED17;OTTOMAN SIYAQ NUMBER FIVE HUNDRED;No;0;AL;;;;500;N;;;;;
+1ED18;OTTOMAN SIYAQ NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;;
+1ED19;OTTOMAN SIYAQ NUMBER SEVEN HUNDRED;No;0;AL;;;;700;N;;;;;
+1ED1A;OTTOMAN SIYAQ NUMBER EIGHT HUNDRED;No;0;AL;;;;800;N;;;;;
+1ED1B;OTTOMAN SIYAQ NUMBER NINE HUNDRED;No;0;AL;;;;900;N;;;;;
+1ED1C;OTTOMAN SIYAQ NUMBER ONE THOUSAND;No;0;AL;;;;1000;N;;;;;
+1ED1D;OTTOMAN SIYAQ NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;;
+1ED1E;OTTOMAN SIYAQ NUMBER THREE THOUSAND;No;0;AL;;;;3000;N;;;;;
+1ED1F;OTTOMAN SIYAQ NUMBER FOUR THOUSAND;No;0;AL;;;;4000;N;;;;;
+1ED20;OTTOMAN SIYAQ NUMBER FIVE THOUSAND;No;0;AL;;;;5000;N;;;;;
+1ED21;OTTOMAN SIYAQ NUMBER SIX THOUSAND;No;0;AL;;;;6000;N;;;;;
+1ED22;OTTOMAN SIYAQ NUMBER SEVEN THOUSAND;No;0;AL;;;;7000;N;;;;;
+1ED23;OTTOMAN SIYAQ NUMBER EIGHT THOUSAND;No;0;AL;;;;8000;N;;;;;
+1ED24;OTTOMAN SIYAQ NUMBER NINE THOUSAND;No;0;AL;;;;9000;N;;;;;
+1ED25;OTTOMAN SIYAQ NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;;
+1ED26;OTTOMAN SIYAQ NUMBER TWENTY THOUSAND;No;0;AL;;;;20000;N;;;;;
+1ED27;OTTOMAN SIYAQ NUMBER THIRTY THOUSAND;No;0;AL;;;;30000;N;;;;;
+1ED28;OTTOMAN SIYAQ NUMBER FORTY THOUSAND;No;0;AL;;;;40000;N;;;;;
+1ED29;OTTOMAN SIYAQ NUMBER FIFTY THOUSAND;No;0;AL;;;;50000;N;;;;;
+1ED2A;OTTOMAN SIYAQ NUMBER SIXTY THOUSAND;No;0;AL;;;;60000;N;;;;;
+1ED2B;OTTOMAN SIYAQ NUMBER SEVENTY THOUSAND;No;0;AL;;;;70000;N;;;;;
+1ED2C;OTTOMAN SIYAQ NUMBER EIGHTY THOUSAND;No;0;AL;;;;80000;N;;;;;
+1ED2D;OTTOMAN SIYAQ NUMBER NINETY THOUSAND;No;0;AL;;;;90000;N;;;;;
+1ED2E;OTTOMAN SIYAQ MARRATAN;So;0;AL;;;;;N;;;;;
+1ED2F;OTTOMAN SIYAQ ALTERNATE NUMBER TWO;No;0;AL;;;;2;N;;;;;
+1ED30;OTTOMAN SIYAQ ALTERNATE NUMBER THREE;No;0;AL;;;;3;N;;;;;
+1ED31;OTTOMAN SIYAQ ALTERNATE NUMBER FOUR;No;0;AL;;;;4;N;;;;;
+1ED32;OTTOMAN SIYAQ ALTERNATE NUMBER FIVE;No;0;AL;;;;5;N;;;;;
+1ED33;OTTOMAN SIYAQ ALTERNATE NUMBER SIX;No;0;AL;;;;6;N;;;;;
+1ED34;OTTOMAN SIYAQ ALTERNATE NUMBER SEVEN;No;0;AL;;;;7;N;;;;;
+1ED35;OTTOMAN SIYAQ ALTERNATE NUMBER EIGHT;No;0;AL;;;;8;N;;;;;
+1ED36;OTTOMAN SIYAQ ALTERNATE NUMBER NINE;No;0;AL;;;;9;N;;;;;
+1ED37;OTTOMAN SIYAQ ALTERNATE NUMBER TEN;No;0;AL;;;;10;N;;;;;
+1ED38;OTTOMAN SIYAQ ALTERNATE NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;;
+1ED39;OTTOMAN SIYAQ ALTERNATE NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;;
+1ED3A;OTTOMAN SIYAQ ALTERNATE NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;;
+1ED3B;OTTOMAN SIYAQ ALTERNATE NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;;
+1ED3C;OTTOMAN SIYAQ FRACTION ONE HALF;No;0;AL;;;;1/2;N;;;;;
+1ED3D;OTTOMAN SIYAQ FRACTION ONE SIXTH;No;0;AL;;;;1/6;N;;;;;
1EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL; 0627;;;;N;;;;;
1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL; 0628;;;;N;;;;;
1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL; 062C;;;;N;;;;;
@@ -29662,6 +30065,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;;
1F16A;RAISED MC SIGN;So;0;ON; 004D 0043;;;;N;;;;;
1F16B;RAISED MD SIGN;So;0;ON; 004D 0044;;;;N;;;;;
+1F16C;RAISED MR SIGN;So;0;ON; 004D 0052;;;;N;;;;;
1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;;
1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;;
1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;;
@@ -30794,6 +31198,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F6D2;SHOPPING TROLLEY;So;0;ON;;;;;N;;;;;
1F6D3;STUPA;So;0;ON;;;;;N;;;;;
1F6D4;PAGODA;So;0;ON;;;;;N;;;;;
+1F6D5;HINDU TEMPLE;So;0;ON;;;;;N;;;;;
1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;;
1F6E1;SHIELD;So;0;ON;;;;;N;;;;;
1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;;
@@ -30817,6 +31222,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F6F7;SLED;So;0;ON;;;;;N;;;;;
1F6F8;FLYING SAUCER;So;0;ON;;;;;N;;;;;
1F6F9;SKATEBOARD;So;0;ON;;;;;N;;;;;
+1F6FA;AUTO RICKSHAW;So;0;ON;;;;;N;;;;;
1F700;ALCHEMICAL SYMBOL FOR QUINTESSENCE;So;0;ON;;;;;N;;;;;
1F701;ALCHEMICAL SYMBOL FOR AIR;So;0;ON;;;;;N;;;;;
1F702;ALCHEMICAL SYMBOL FOR FIRE;So;0;ON;;;;;N;;;;;
@@ -31022,6 +31428,18 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F7D6;NEGATIVE CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;;
1F7D7;CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
1F7D8;NEGATIVE CIRCLED SQUARE;So;0;ON;;;;;N;;;;;
+1F7E0;LARGE ORANGE CIRCLE;So;0;ON;;;;;N;;;;;
+1F7E1;LARGE YELLOW CIRCLE;So;0;ON;;;;;N;;;;;
+1F7E2;LARGE GREEN CIRCLE;So;0;ON;;;;;N;;;;;
+1F7E3;LARGE PURPLE CIRCLE;So;0;ON;;;;;N;;;;;
+1F7E4;LARGE BROWN CIRCLE;So;0;ON;;;;;N;;;;;
+1F7E5;LARGE RED SQUARE;So;0;ON;;;;;N;;;;;
+1F7E6;LARGE BLUE SQUARE;So;0;ON;;;;;N;;;;;
+1F7E7;LARGE ORANGE SQUARE;So;0;ON;;;;;N;;;;;
+1F7E8;LARGE YELLOW SQUARE;So;0;ON;;;;;N;;;;;
+1F7E9;LARGE GREEN SQUARE;So;0;ON;;;;;N;;;;;
+1F7EA;LARGE PURPLE SQUARE;So;0;ON;;;;;N;;;;;
+1F7EB;LARGE BROWN SQUARE;So;0;ON;;;;;N;;;;;
1F800;LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
1F801;UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
1F802;RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;;
@@ -31182,6 +31600,9 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F909;DOWNWARD FACING NOTCHED HOOK;So;0;ON;;;;;N;;;;;
1F90A;DOWNWARD FACING HOOK WITH DOT;So;0;ON;;;;;N;;;;;
1F90B;DOWNWARD FACING NOTCHED HOOK WITH DOT;So;0;ON;;;;;N;;;;;
+1F90D;WHITE HEART;So;0;ON;;;;;N;;;;;
+1F90E;BROWN HEART;So;0;ON;;;;;N;;;;;
+1F90F;PINCHING HAND;So;0;ON;;;;;N;;;;;
1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;;
1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;;
1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;;
@@ -31229,6 +31650,7 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F93C;WRESTLERS;So;0;ON;;;;;N;;;;;
1F93D;WATER POLO;So;0;ON;;;;;N;;;;;
1F93E;HANDBALL;So;0;ON;;;;;N;;;;;
+1F93F;DIVING MASK;So;0;ON;;;;;N;;;;;
1F940;WILTED FLOWER;So;0;ON;;;;;N;;;;;
1F941;DRUM WITH DRUMSTICKS;So;0;ON;;;;;N;;;;;
1F942;CLINKING GLASSES;So;0;ON;;;;;N;;;;;
@@ -31278,11 +31700,13 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F96E;MOON CAKE;So;0;ON;;;;;N;;;;;
1F96F;BAGEL;So;0;ON;;;;;N;;;;;
1F970;SMILING FACE WITH SMILING EYES AND THREE HEARTS;So;0;ON;;;;;N;;;;;
+1F971;YAWNING FACE;So;0;ON;;;;;N;;;;;
1F973;FACE WITH PARTY HORN AND PARTY HAT;So;0;ON;;;;;N;;;;;
1F974;FACE WITH UNEVEN EYES AND WAVY MOUTH;So;0;ON;;;;;N;;;;;
1F975;OVERHEATED FACE;So;0;ON;;;;;N;;;;;
1F976;FREEZING FACE;So;0;ON;;;;;N;;;;;
1F97A;FACE WITH PLEADING EYES;So;0;ON;;;;;N;;;;;
+1F97B;SARI;So;0;ON;;;;;N;;;;;
1F97C;LAB COAT;So;0;ON;;;;;N;;;;;
1F97D;GOGGLES;So;0;ON;;;;;N;;;;;
1F97E;HIKING BOOT;So;0;ON;;;;;N;;;;;
@@ -31322,6 +31746,14 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F9A0;MICROBE;So;0;ON;;;;;N;;;;;
1F9A1;BADGER;So;0;ON;;;;;N;;;;;
1F9A2;SWAN;So;0;ON;;;;;N;;;;;
+1F9A5;SLOTH;So;0;ON;;;;;N;;;;;
+1F9A6;OTTER;So;0;ON;;;;;N;;;;;
+1F9A7;ORANGUTAN;So;0;ON;;;;;N;;;;;
+1F9A8;SKUNK;So;0;ON;;;;;N;;;;;
+1F9A9;FLAMINGO;So;0;ON;;;;;N;;;;;
+1F9AA;OYSTER;So;0;ON;;;;;N;;;;;
+1F9AE;GUIDE DOG;So;0;ON;;;;;N;;;;;
+1F9AF;PROBING CANE;So;0;ON;;;;;N;;;;;
1F9B0;EMOJI COMPONENT RED HAIR;So;0;ON;;;;;N;;;;;
1F9B1;EMOJI COMPONENT CURLY HAIR;So;0;ON;;;;;N;;;;;
1F9B2;EMOJI COMPONENT BALD;So;0;ON;;;;;N;;;;;
@@ -31332,9 +31764,26 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F9B7;TOOTH;So;0;ON;;;;;N;;;;;
1F9B8;SUPERHERO;So;0;ON;;;;;N;;;;;
1F9B9;SUPERVILLAIN;So;0;ON;;;;;N;;;;;
+1F9BA;SAFETY VEST;So;0;ON;;;;;N;;;;;
+1F9BB;EAR WITH HEARING AID;So;0;ON;;;;;N;;;;;
+1F9BC;MOTORIZED WHEELCHAIR;So;0;ON;;;;;N;;;;;
+1F9BD;MANUAL WHEELCHAIR;So;0;ON;;;;;N;;;;;
+1F9BE;MECHANICAL ARM;So;0;ON;;;;;N;;;;;
+1F9BF;MECHANICAL LEG;So;0;ON;;;;;N;;;;;
1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;;
1F9C1;CUPCAKE;So;0;ON;;;;;N;;;;;
1F9C2;SALT SHAKER;So;0;ON;;;;;N;;;;;
+1F9C3;BEVERAGE BOX;So;0;ON;;;;;N;;;;;
+1F9C4;GARLIC;So;0;ON;;;;;N;;;;;
+1F9C5;ONION;So;0;ON;;;;;N;;;;;
+1F9C6;FALAFEL;So;0;ON;;;;;N;;;;;
+1F9C7;WAFFLE;So;0;ON;;;;;N;;;;;
+1F9C8;BUTTER;So;0;ON;;;;;N;;;;;
+1F9C9;MATE DRINK;So;0;ON;;;;;N;;;;;
+1F9CA;ICE CUBE;So;0;ON;;;;;N;;;;;
+1F9CD;STANDING PERSON;So;0;ON;;;;;N;;;;;
+1F9CE;KNEELING PERSON;So;0;ON;;;;;N;;;;;
+1F9CF;DEAF PERSON;So;0;ON;;;;;N;;;;;
1F9D0;FACE WITH MONOCLE;So;0;ON;;;;;N;;;;;
1F9D1;ADULT;So;0;ON;;;;;N;;;;;
1F9D2;CHILD;So;0;ON;;;;;N;;;;;
@@ -31383,6 +31832,90 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1F9FD;SPONGE;So;0;ON;;;;;N;;;;;
1F9FE;RECEIPT;So;0;ON;;;;;N;;;;;
1F9FF;NAZAR AMULET;So;0;ON;;;;;N;;;;;
+1FA00;NEUTRAL CHESS KING;So;0;ON;;;;;N;;;;;
+1FA01;NEUTRAL CHESS QUEEN;So;0;ON;;;;;N;;;;;
+1FA02;NEUTRAL CHESS ROOK;So;0;ON;;;;;N;;;;;
+1FA03;NEUTRAL CHESS BISHOP;So;0;ON;;;;;N;;;;;
+1FA04;NEUTRAL CHESS KNIGHT;So;0;ON;;;;;N;;;;;
+1FA05;NEUTRAL CHESS PAWN;So;0;ON;;;;;N;;;;;
+1FA06;WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA07;BLACK CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA08;NEUTRAL CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA09;WHITE CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0A;WHITE CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0B;WHITE CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0C;WHITE CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0D;WHITE CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0E;WHITE CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA0F;BLACK CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA10;BLACK CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA11;BLACK CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA12;BLACK CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA13;BLACK CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA14;BLACK CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA15;NEUTRAL CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA16;NEUTRAL CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA17;NEUTRAL CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA18;NEUTRAL CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA19;NEUTRAL CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA1A;NEUTRAL CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA1B;WHITE CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA1C;BLACK CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA1D;NEUTRAL CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA1E;WHITE CHESS TURNED KING;So;0;ON;;;;;N;;;;;
+1FA1F;WHITE CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;;
+1FA20;WHITE CHESS TURNED ROOK;So;0;ON;;;;;N;;;;;
+1FA21;WHITE CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;;
+1FA22;WHITE CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;;
+1FA23;WHITE CHESS TURNED PAWN;So;0;ON;;;;;N;;;;;
+1FA24;BLACK CHESS TURNED KING;So;0;ON;;;;;N;;;;;
+1FA25;BLACK CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;;
+1FA26;BLACK CHESS TURNED ROOK;So;0;ON;;;;;N;;;;;
+1FA27;BLACK CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;;
+1FA28;BLACK CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;;
+1FA29;BLACK CHESS TURNED PAWN;So;0;ON;;;;;N;;;;;
+1FA2A;NEUTRAL CHESS TURNED KING;So;0;ON;;;;;N;;;;;
+1FA2B;NEUTRAL CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;;
+1FA2C;NEUTRAL CHESS TURNED ROOK;So;0;ON;;;;;N;;;;;
+1FA2D;NEUTRAL CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;;
+1FA2E;NEUTRAL CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;;
+1FA2F;NEUTRAL CHESS TURNED PAWN;So;0;ON;;;;;N;;;;;
+1FA30;WHITE CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA31;BLACK CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA32;NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;;
+1FA33;WHITE CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA34;WHITE CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA35;WHITE CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA36;WHITE CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA37;WHITE CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA38;WHITE CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA39;BLACK CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3A;BLACK CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3B;BLACK CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3C;BLACK CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3D;BLACK CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3E;BLACK CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA3F;NEUTRAL CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA40;NEUTRAL CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA41;NEUTRAL CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA42;NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA43;NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA44;NEUTRAL CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;;
+1FA45;WHITE CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;;
+1FA46;BLACK CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;;
+1FA47;NEUTRAL CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;;
+1FA48;WHITE CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;;
+1FA49;BLACK CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;;
+1FA4A;NEUTRAL CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;;
+1FA4B;WHITE CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA4C;BLACK CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA4D;NEUTRAL CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;;
+1FA4E;WHITE CHESS KNIGHT-QUEEN;So;0;ON;;;;;N;;;;;
+1FA4F;WHITE CHESS KNIGHT-ROOK;So;0;ON;;;;;N;;;;;
+1FA50;WHITE CHESS KNIGHT-BISHOP;So;0;ON;;;;;N;;;;;
+1FA51;BLACK CHESS KNIGHT-QUEEN;So;0;ON;;;;;N;;;;;
+1FA52;BLACK CHESS KNIGHT-ROOK;So;0;ON;;;;;N;;;;;
+1FA53;BLACK CHESS KNIGHT-BISHOP;So;0;ON;;;;;N;;;;;
1FA60;XIANGQI RED GENERAL;So;0;ON;;;;;N;;;;;
1FA61;XIANGQI RED MANDARIN;So;0;ON;;;;;N;;;;;
1FA62;XIANGQI RED ELEPHANT;So;0;ON;;;;;N;;;;;
@@ -31397,6 +31930,22 @@ FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;;
1FA6B;XIANGQI BLACK CHARIOT;So;0;ON;;;;;N;;;;;
1FA6C;XIANGQI BLACK CANNON;So;0;ON;;;;;N;;;;;
1FA6D;XIANGQI BLACK SOLDIER;So;0;ON;;;;;N;;;;;
+1FA70;BALLET SHOES;So;0;ON;;;;;N;;;;;
+1FA71;ONE-PIECE SWIMSUIT;So;0;ON;;;;;N;;;;;
+1FA72;BRIEFS;So;0;ON;;;;;N;;;;;
+1FA73;SHORTS;So;0;ON;;;;;N;;;;;
+1FA78;DROP OF BLOOD;So;0;ON;;;;;N;;;;;
+1FA79;ADHESIVE BANDAGE;So;0;ON;;;;;N;;;;;
+1FA7A;STETHOSCOPE;So;0;ON;;;;;N;;;;;
+1FA80;YO-YO;So;0;ON;;;;;N;;;;;
+1FA81;KITE;So;0;ON;;;;;N;;;;;
+1FA82;PARACHUTE;So;0;ON;;;;;N;;;;;
+1FA90;RINGED PLANET;So;0;ON;;;;;N;;;;;
+1FA91;CHAIR;So;0;ON;;;;;N;;;;;
+1FA92;RAZOR;So;0;ON;;;;;N;;;;;
+1FA93;AXE;So;0;ON;;;;;N;;;;;
+1FA94;DIYA LAMP;So;0;ON;;;;;N;;;;;
+1FA95;BANJO;So;0;ON;;;;;N;;;;;
20000;;Lo;0;L;;;;;N;;;;;
2A6D6;;Lo;0;L;;;;;N;;;;;
2A700;;Lo;0;L;;;;;N;;;;;
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/changes.txt b/Build/source/libs/icu/icu-src/source/data/unidata/changes.txt
index 8ec57e7675a..833868fb96d 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/changes.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/changes.txt
@@ -49,6 +49,606 @@ For new script codes see http://www.unicode.org/iso15924/codechanges.html
---------------------------------------------------------------------------- ***
+Unicode 12.1 update for ICU 64.2
+
+** This is an abbreviated update with one new character for the new
+** Japanese era expected to start on 2019-May-01: U+32FF SQUARE ERA NAME REIWA
+https://en.wikipedia.org/wiki/Reiwa_period
+
+http://www.unicode.org/versions/Unicode12.1.0/
+
+ICU-20497 Unicode 12.1
+
+cldrbug 11978: Unicode 12.1
+
+* Command-line environment setup
+
+UNICODE_DATA=~/unidata/uni121/20190403
+CLDR_SRC=~/svn.cldr/uni
+ICU_ROOT=~/icu/uni
+ICU_SRC=$ICU_ROOT/src
+ICUDT=icudt64b
+ICU4C_DATA_IN=$ICU_SRC/icu4c/source/data/in
+ICU4C_UNIDATA=$ICU_SRC/icu4c/source/data/unidata
+export LD_LIBRARY_PATH=$ICU_ROOT/dbg/icu4c/lib
+
+*** Unicode version numbers
+- makedata.mak
+- uchar.h
+- com.ibm.icu.util.VersionInfo
+- com.ibm.icu.dev.test.lang.UCharacterTest.VERSION_
+
+- Run ICU4C "configure" _after_ updating the Unicode version number in uchar.h
+ so that the makefiles see the new version number.
+ cd $ICU_ROOT/dbg/icu4c
+ ICU_DATA_BUILDTOOL_OPTS=--include_uni_core_data ../../../doconfig-clang-dbg.sh
+
+*** data files & enums & parser code
+
+* download files
+- mkdir -p $UNICODE_DATA
+- download Unicode files into $UNICODE_DATA
+ + subfolders: emoji, idna, security, ucd, uca
+ + inside ucd: extract Unihan.zip to "here" (.../ucd/Unihan/*.txt), delete Unihan.zip
+
+* for manual diffs and for Unicode Tools input data updates:
+ remove version suffixes from the file names
+ ~$ unidata/desuffixucd.py $UNICODE_DATA
+ (see https://sites.google.com/site/unicodetools/inputdata)
+
+* process and/or copy files
+- $ICU_SRC/tools/unicode$ py/preparseucd.py $UNICODE_DATA $ICU_SRC
+ + This writes files (especially ppucd.txt) to the ICU4C unidata and testdata subfolders.
+ + For debugging, and tweaking how ppucd.txt is written,
+ the tool has an --only_ppucd option:
+ py/preparseucd.py $UNICODE_DATA --only_ppucd path/to/ppucd/outputfile
+
+- cp -v $UNICODE_DATA/security/confusables.txt $ICU4C_UNIDATA
+
+* build ICU (make install)
+ so that the tools build can pick up the new definitions from the installed header files.
+
+ $ICU_ROOT/dbg/icu4c$ echo;echo; date; make -j7 install &> out.txt ; tail -n 30 out.txt ; date
+
+* update spoof checker UnicodeSet initializers:
+ inclusionPat & recommendedPat in uspoof.cpp
+ INCLUSION & RECOMMENDED in SpoofChecker.java
+- make sure that the Unicode Tools tree contains the latest security data files
+- go to Unicode Tools org.unicode.text.tools.RecommendedSetGenerator
+- update the hardcoded version number there in the DIRECTORY path
+- run the tool (no special environment variables needed)
+- copy & paste from the Console output into the .cpp & .java files
+
+* generate normalization data files
+ cd $ICU_ROOT/dbg/icu4c
+ bin/gennorm2 -o $ICU_SRC/icu4c/source/common/norm2_nfc_data.h -s $ICU4C_UNIDATA/norm2 nfc.txt --csource
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfc.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfkc.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt nfkc.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfkc_cf.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt nfkc.txt nfkc_cf.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/uts46.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt uts46.txt
+
+* build ICU (make install)
+ so that the tools build can pick up the new definitions from the installed header files.
+
+ $ICU_ROOT/dbg/icu4c$ echo;echo; make -j7 install &> out.txt ; tail -n 30 out.txt ; date
+
+* build Unicode tools using CMake+make
+
+$ICU_SRC/tools/unicode/c/icudefs.txt:
+
+# Location (--prefix) of where ICU was installed.
+set(ICU_INST_DIR /usr/local/google/home/mscherer/icu/mine/inst/icu4c)
+# Location of the ICU4C source tree.
+set(ICU4C_SRC_DIR /usr/local/google/home/mscherer/icu/uni/src/icu4c)
+
+ $ICU_ROOT/dbg$
+ mkdir -p tools/unicode/c
+ cd tools/unicode/c
+
+ $ICU_ROOT/dbg/tools/unicode/c$
+ cmake ../../../../src/tools/unicode/c
+ make
+
+* generate core properties data files
+ $ICU_ROOT/dbg/tools/unicode/c$
+ genprops/genprops $ICU_SRC/icu4c
+ genuca/genuca --hanOrder implicit $ICU_SRC/icu4c && \
+ genuca/genuca --hanOrder radical-stroke $ICU_SRC/icu4c
+- rebuild ICU (make install) & tools
+
+* update uts46test.cpp and UTS46Test.java if there are new characters that are equivalent to
+ sequences with non-LDH ASCII (that is, their decompositions contain '=' or similar)
+- grep IdnaMappingTable.txt or uts46.txt for "disallowed_STD3_valid" on non-ASCII characters
+- Unicode 6.0..12.1: U+2260, U+226E, U+226F
+- nothing new in this Unicode version, no test file to update
+
+* run & fix ICU4C tests
+- Andy handles RBBI & spoof check test failures
+
+* collation: CLDR collation root, UCA DUCET
+
+- UCA DUCET goes into Mark's Unicode tools, see
+ https://sites.google.com/site/unicodetools/home#TOC-UCA
+ diff the main mapping file, look for bad changes
+ (for example, more bytes per weight for common characters)
+ ~/svn.unitools/trunk$ sed -r -f ~/svn.cldr/uni/tools/scripts/uca/blankweights.sed ../Generated/UCA/12.1.0/CollationAuxiliary/FractionalUCA.txt > ../frac-12.1.txt
+ ~/svn.unitools/trunk$ meld ../frac-12.txt ../frac-12.1.txt
+
+- CLDR root data files are checked into $CLDR_SRC/common/uca/
+ cp (Unicode Tools UCA generated)/CollationAuxiliary/* $CLDR_SRC/common/uca/
+
+- update source/data/unidata/FractionalUCA.txt with FractionalUCA_SHORT.txt
+ cp -v $CLDR_SRC/common/uca/FractionalUCA_SHORT.txt $ICU4C_UNIDATA/FractionalUCA.txt
+- update source/data/unidata/UCARules.txt with UCA_Rules_SHORT.txt
+ cp -v $ICU4C_UNIDATA/UCARules.txt /tmp/UCARules-old.txt
+ (note removing the underscore before "Rules")
+ cp -v $CLDR_SRC/common/uca/UCA_Rules_SHORT.txt $ICU4C_UNIDATA/UCARules.txt
+- restore TODO diffs in UCARules.txt
+ meld /tmp/UCARules-old.txt $ICU4C_UNIDATA/UCARules.txt
+- update (ICU4C)/source/test/testdata/CollationTest_*.txt
+ and (ICU4J)/main/tests/collate/src/com/ibm/icu/dev/data/CollationTest_*.txt
+ from the CLDR root files (..._CLDR_..._SHORT.txt)
+ cp -v $CLDR_SRC/common/uca/CollationTest_CLDR_NON_IGNORABLE_SHORT.txt $ICU_SRC/icu4c/source/test/testdata/CollationTest_NON_IGNORABLE_SHORT.txt
+ cp -v $CLDR_SRC/common/uca/CollationTest_CLDR_SHIFTED_SHORT.txt $ICU_SRC/icu4c/source/test/testdata/CollationTest_SHIFTED_SHORT.txt
+ cp -v $ICU_SRC/icu4c/source/test/testdata/CollationTest_*.txt $ICU_SRC/icu4j/main/tests/collate/src/com/ibm/icu/dev/data
+- if CLDR common/uca/unihan-index.txt changes, then update
+ CLDR common/collation/root.xml
+ and regenerate (or update in parallel) $ICU_SRC/icu4c/source/data/coll/root.txt
+
+- run genuca, see command line above
+- rebuild ICU4C
+
+* Unihan collators
+ https://sites.google.com/site/unicodetools/unihan
+- run Unicode Tools
+ org.unicode.draft.GenerateUnihanCollators
+ with VM arguments
+ -ea
+ -DSVN_WORKSPACE=/usr/local/google/home/mscherer/svn.unitools/trunk
+ -DOTHER_WORKSPACE=/usr/local/google/home/mscherer/svn.unitools
+ -DUCD_DIR=/usr/local/google/home/mscherer/svn.unitools/trunk/data
+ -DCLDR_DIR=/usr/local/google/home/mscherer/svn.cldr/uni
+ -DUVERSION=12.1.0
+- run Unicode Tools
+ org.unicode.draft.GenerateUnihanCollatorFiles
+ with the same arguments
+- check CLDR diffs
+ cd $CLDR_SRC
+ meld common/collation/zh.xml ../Generated/cldr/han/replace/zh.xml
+ meld common/transforms/Han-Latin.xml ../Generated/cldr/han/replace/Han-Latin.xml
+- copy to CLDR
+ cd $CLDR_SRC
+ cp ../Generated/cldr/han/replace/zh.xml common/collation/zh.xml
+ cp ../Generated/cldr/han/replace/Han-Latin.xml common/transforms/Han-Latin.xml
+- run CLDR unit tests, commit to CLDR
+- generate ICU zh collation data: run CLDR
+ org.unicode.cldr.icu.NewLdml2IcuConverter
+ with program arguments
+ -t collation
+ -s /usr/local/google/home/mscherer/svn.cldr/uni/common/collation
+ -m /usr/local/google/home/mscherer/svn.cldr/uni/common/supplemental
+ -d /usr/local/google/home/mscherer/icu/uni/src/icu4c/source/data/coll
+ -p /usr/local/google/home/mscherer/icu/uni/src/icu4c/source/data/xml/collation
+ zh
+ and VM arguments
+ -ea
+ -DCLDR_DIR=/usr/local/google/home/mscherer/svn.cldr/uni
+- rebuild ICU4C
+
+* run & fix ICU4C tests, now with new CLDR collation root data
+- run all tests with the collation test data *_SHORT.txt or the full files
+ (the full ones have comments, useful for debugging)
+- note on intltest: if collate/UCAConformanceTest fails, then
+ utility/MultithreadTest/TestCollators will fail as well;
+ fix the conformance test before looking into the multi-thread test
+
+* update Java data files
+- refresh just the UCD/UCA-related/derived files, just to be safe
+- see (ICU4C)/source/data/icu4j-readme.txt
+- mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=/tmp/icu4j icu4j-data-install
+ output:
+ ...
+ make[1]: Entering directory '/usr/local/google/home/mscherer/icu/uni/dbg/icu4c/data'
+ mkdir -p ./out/icu4j/com/ibm/icu/impl/data/icudt64b
+ mkdir -p ./out/icu4j/tzdata/com/ibm/icu/impl/data/icudt64b
+ LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH ../bin/icupkg ./out/tmp/icudt64l.dat ./out/icu4j/icudt64b.dat -s ./out/build/icudt64l -x '*' -tb -d ./out/icu4j/com/ibm/icu/impl/data/icudt64b
+ mv ./out/icu4j/"com/ibm/icu/impl/data/icudt64b/zoneinfo64.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt64b/metaZones.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt64b/timezoneTypes.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt64b/windowsZones.res" "./out/icu4j/tzdata/com/ibm/icu/impl/data/icudt64b"
+ jar cf ./out/icu4j/icudata.jar -C ./out/icu4j com/ibm/icu/impl/data/icudt64b/
+ mkdir -p /tmp/icu4j/main/shared/data
+ cp ./out/icu4j/icudata.jar /tmp/icu4j/main/shared/data
+ jar cf ./out/icu4j/icutzdata.jar -C ./out/icu4j/tzdata com/ibm/icu/impl/data/icudt64b/
+ mkdir -p /tmp/icu4j/main/shared/data
+ cp ./out/icu4j/icutzdata.jar /tmp/icu4j/main/shared/data
+ make[1]: Leaving directory '/usr/local/google/home/mscherer/icu/uni/dbg/icu4c/data'
+- copy the big-endian Unicode data files to another location,
+ separate from the other data files,
+ and then refresh ICU4J
+ cd $ICU_ROOT/dbg/icu4c/data/out/icu4j
+ mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/coll
+ mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/brkitr
+ cp -v com/ibm/icu/impl/data/$ICUDT/confusables.cfu /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ cp -v com/ibm/icu/impl/data/$ICUDT/*.icu /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ rm /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/cnvalias.icu
+ cp -v com/ibm/icu/impl/data/$ICUDT/*.nrm /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ cp -v com/ibm/icu/impl/data/$ICUDT/coll/* /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/coll
+ cp -v com/ibm/icu/impl/data/$ICUDT/brkitr/* /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/brkitr
+ jar uvf $ICU_SRC/icu4j/main/shared/data/icudata.jar -C /tmp/icu4j com/ibm/icu/impl/data/$ICUDT
+
+* When refreshing all of ICU4J data from ICU4C
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=/tmp/icu4j icu4j-data-install
+- cp /tmp/icu4j/main/shared/data/icudata.jar $ICU_SRC/icu4j/main/shared/data
+or
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=$ICU_SRC/icu4j icu4j-data-install
+
+* update CollationFCD.java
+ + copy & paste the initializers of lcccIndex[] etc. from
+ ICU4C/source/i18n/collationfcd.cpp to
+ ICU4J/main/classes/collate/src/com/ibm/icu/impl/coll/CollationFCD.java
+
+* refresh Java test .txt files
+- copy new .txt files into ICU4J's main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cd $ICU_SRC/icu4c/source/data/unidata
+ cp -v confusables.txt confusablesWholeScript.txt NormalizationCorrections.txt NormalizationTest.txt SpecialCasing.txt UnicodeData.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cd ../../test/testdata
+ cp -v BidiCharacterTest.txt BidiTest.txt IdnaTestV2.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cp -v $UNICODE_DATA/ucd/CompositionExclusions.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+
+* run & fix ICU4J tests
+
+*** API additions
+- send notice to icu-design about new born-@stable API (enum constants etc.)
+
+*** CLDR numbering systems
+- look for new sets of decimal digits (gc=ND & nv=4) and add to CLDR
+ for example, look for
+ ~/icu/uni/src$ egrep ';gc=Nd.+;nv=4' icu4c/source/data/unidata/ppucd.txt
+ in new blocks (Blocks.txt)
+ Unicode 12: using Unicode 12 CLDR ticket #11478
+ hmnp 1E140..1E149 Nyiakeng_Puachue_Hmong
+ wcho 1E2F0..1E2F9 Wancho
+ Unicode 11: using Unicode 11 CLDR ticket #10978
+ rohg 10D30..10D39 Hanifi_Rohingya
+ gong 11DA0..11DA9 Gunjala_Gondi
+ Earlier: CLDR tickets specific to adding new numbering systems.
+ Unicode 10: http://unicode.org/cldr/trac/ticket/10219
+ Unicode 9: http://unicode.org/cldr/trac/ticket/9692
+
+*** merge the Unicode update branches back onto the trunk
+- do not merge the icudata.jar and testdata.jar,
+ instead rebuild them from merged & tested ICU4C
+- make sure that changes to Unicode tools are checked in:
+ http://www.unicode.org/utility/trac/log/trunk/unicodetools
+
+---------------------------------------------------------------------------- ***
+
+Unicode 12.0 update for ICU 64
+
+http://www.unicode.org/versions/Unicode12.0.0/
+http://unicode.org/versions/beta-12.0.0.html
+https://www.unicode.org/review/pri389/
+http://www.unicode.org/reports/uax-proposed-updates.html
+http://www.unicode.org/reports/tr44/tr44-23.html
+
+ICU-20203 Unicode 12
+
+ICU-20111 move text layout properties data into a data file
+
+cldrbug 11478: Unicode 12
+Accidentally used ^/trunk instead of ^/branches/markus/uni12
+
+* Command-line environment setup
+
+UNICODE_DATA=~/unidata/uni12/20190309
+CLDR_SRC=~/svn.cldr/uni
+ICU_ROOT=~/icu/uni
+ICU_SRC=$ICU_ROOT/src
+ICUDT=icudt63b
+ICU4C_DATA_IN=$ICU_SRC/icu4c/source/data/in
+ICU4C_UNIDATA=$ICU_SRC/icu4c/source/data/unidata
+export LD_LIBRARY_PATH=$ICU_ROOT/dbg/icu4c/lib
+
+*** Unicode version numbers
+- makedata.mak
+- uchar.h
+- com.ibm.icu.util.VersionInfo
+- com.ibm.icu.dev.test.lang.UCharacterTest.VERSION_
+
+- Run ICU4C "configure" _after_ updating the Unicode version number in uchar.h
+ so that the makefiles see the new version number.
+
+*** data files & enums & parser code
+
+* download files
+- mkdir -p $UNICODE_DATA
+- download Unicode files into $UNICODE_DATA
+ + subfolders: emoji, idna, security, ucd, uca
+ + inside ucd: extract Unihan.zip to "here" (.../ucd/Unihan/*.txt), delete Unihan.zip
+
+* for manual diffs and for Unicode Tools input data updates:
+ remove version suffixes from the file names
+ ~$ unidata/desuffixucd.py $UNICODE_DATA
+ (see https://sites.google.com/site/unicodetools/inputdata)
+
+* process and/or copy files
+- $ICU_SRC/tools/unicode$ py/preparseucd.py $UNICODE_DATA $ICU_SRC
+ + This writes files (especially ppucd.txt) to the ICU4C unidata and testdata subfolders.
+ + For debugging, and tweaking how ppucd.txt is written,
+ the tool has an --only_ppucd option:
+ py/preparseucd.py $UNICODE_DATA --only_ppucd path/to/ppucd/outputfile
+
+- cp $UNICODE_DATA/security/confusables.txt $ICU4C_UNIDATA
+
+* build ICU (make install)
+ so that the tools build can pick up the new definitions from the installed header files.
+
+ $ICU_ROOT/dbg/icu4c$ echo;echo; date; make -j7 install &> out.txt ; tail -n 30 out.txt ; date
+
+* new constants for new property values
+- preparseucd.py error:
+ ValueError: missing uchar.h enum constants for some property values:
+ [(u'blk', set([u'Symbols_And_Pictographs_Ext_A', u'Elymaic',
+ u'Ottoman_Siyaq_Numbers', u'Nandinagari', u'Nyiakeng_Puachue_Hmong',
+ u'Small_Kana_Ext', u'Egyptian_Hieroglyph_Format_Controls', u'Wancho', u'Tamil_Sup'])),
+ (u'sc', set([u'Nand', u'Wcho', u'Elym', u'Hmnp']))]
+ = PropertyValueAliases.txt new property values (diff old & new .txt files)
+ blk; Egyptian_Hieroglyph_Format_Controls; Egyptian_Hieroglyph_Format_Controls
+ blk; Elymaic ; Elymaic
+ blk; Nandinagari ; Nandinagari
+ blk; Nyiakeng_Puachue_Hmong ; Nyiakeng_Puachue_Hmong
+ blk; Ottoman_Siyaq_Numbers ; Ottoman_Siyaq_Numbers
+ blk; Small_Kana_Ext ; Small_Kana_Extension
+ blk; Symbols_And_Pictographs_Ext_A ; Symbols_And_Pictographs_Extended_A
+ blk; Tamil_Sup ; Tamil_Supplement
+ blk; Wancho ; Wancho
+ -> add to uchar.h
+ use long property names for enum constants,
+ for the trailing comment get the block start code point: diff old & new Blocks.txt
+ -> add to UCharacter.UnicodeBlock IDs
+ Eclipse find UBLOCK_([^ ]+) = ([0-9]+), (/.+)
+ replace public static final int \1_ID = \2; \3
+ -> add to UCharacter.UnicodeBlock objects
+ Eclipse find UBLOCK_([^ ]+) = [0-9]+, (/.+)
+ replace public static final UnicodeBlock \1 = new UnicodeBlock("\1", \1_ID); \3
+
+ sc ; Elym ; Elymaic
+ sc ; Hmnp ; Nyiakeng_Puachue_Hmong
+ sc ; Nand ; Nandinagari
+ sc ; Wcho ; Wancho
+ -> uscript.h & com.ibm.icu.lang.UScript
+ -> fix expectedLong names in cucdapi.c/TestUScriptCodeAPI()
+ and in com.ibm.icu.dev.test.lang.TestUScript.java
+
+* update Script metadata: SCRIPT_PROPS[] in uscript_props.cpp & UScript.ScriptMetadata
+ (not strictly necessary for NOT_ENCODED scripts)
+ $ICU_SRC/tools/unicode$ py/parsescriptmetadata.py $ICU_SRC/icu4c/source/common/unicode/uscript.h $CLDR_SRC/common/properties/scriptMetadata.txt
+
+* update spoof checker UnicodeSet initializers:
+ inclusionPat & recommendedPat in uspoof.cpp
+ INCLUSION & RECOMMENDED in SpoofChecker.java
+- make sure that the Unicode Tools tree contains the latest security data files
+- go to Unicode Tools org.unicode.text.tools.RecommendedSetGenerator
+- update the hardcoded version number there in the DIRECTORY path
+- run the tool (no special environment variables needed)
+- copy & paste from the Console output into the .cpp & .java files
+
+* generate normalization data files
+ cd $ICU_ROOT/dbg/icu4c
+ bin/gennorm2 -o $ICU_SRC/icu4c/source/common/norm2_nfc_data.h -s $ICU4C_UNIDATA/norm2 nfc.txt --csource
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfc.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfkc.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt nfkc.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/nfkc_cf.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt nfkc.txt nfkc_cf.txt
+ bin/gennorm2 -o $ICU4C_DATA_IN/uts46.nrm -s $ICU4C_UNIDATA/norm2 nfc.txt uts46.txt
+
+* build ICU (make install)
+ so that the tools build can pick up the new definitions from the installed header files.
+
+ $ICU_ROOT/dbg/icu4c$ echo;echo; make -j7 install &> out.txt ; tail -n 30 out.txt ; date
+
+* build Unicode tools using CMake+make
+
+$ICU_SRC/tools/unicode/c/icudefs.txt:
+
+# Location (--prefix) of where ICU was installed.
+set(ICU_INST_DIR /usr/local/google/home/mscherer/icu/mine/inst/icu4c)
+# Location of the ICU4C source tree.
+set(ICU4C_SRC_DIR /usr/local/google/home/mscherer/icu/uni/src/icu4c)
+
+ $ICU_ROOT/dbg$
+ mkdir -p tools/unicode/c
+ cd tools/unicode/c
+
+ $ICU_ROOT/dbg/tools/unicode/c$
+ cmake ../../../../src/tools/unicode/c
+ make
+
+* generate core properties data files
+ $ICU_ROOT/dbg/tools/unicode/c$
+ genprops/genprops $ICU_SRC/icu4c
+ genuca/genuca --hanOrder implicit $ICU_SRC/icu4c && \
+ genuca/genuca --hanOrder radical-stroke $ICU_SRC/icu4c
+- rebuild ICU (make install) & tools
+
+* update uts46test.cpp and UTS46Test.java if there are new characters that are equivalent to
+ sequences with non-LDH ASCII (that is, their decompositions contain '=' or similar)
+- grep IdnaMappingTable.txt or uts46.txt for "disallowed_STD3_valid" on non-ASCII characters
+- Unicode 6.0..12.0: U+2260, U+226E, U+226F
+- nothing new in this Unicode version, no test file to update
+
+* run & fix ICU4C tests
+- update test of default bidi classes:
+ Bidi range \U0001ED00-\U0001ED4F changes default from R to AL,
+ see diffs in DerivedBidiClass.txt
+ + /tsutil/cucdtst/TestUnicodeData enumDefaultsRange() defaultBidi[]
+ + UCharacterTest.java TestIteration() defaultBidi[]
+- Andy handles RBBI & spoof check test failures
+
+* collation: CLDR collation root, UCA DUCET
+
+- UCA DUCET goes into Mark's Unicode tools, see
+ https://sites.google.com/site/unicodetools/home#TOC-UCA
+ diff the main mapping file, look for bad changes
+ (for example, more bytes per weight for common characters)
+ ~/svn.unitools/trunk$ sed -r -f ~/svn.cldr/uni/tools/scripts/uca/blankweights.sed ../Generated/UCA/12.0.0/CollationAuxiliary/FractionalUCA.txt > ../frac-12.txt
+ ~/svn.unitools/trunk$ meld ../frac-11.txt ../frac-12.txt
+
+- CLDR root data files are checked into $CLDR_SRC/common/uca/
+ cp (Unicode Tools UCA generated)/CollationAuxiliary/* $CLDR_SRC/common/uca/
+
+- update source/data/unidata/FractionalUCA.txt with FractionalUCA_SHORT.txt
+ cp $CLDR_SRC/common/uca/FractionalUCA_SHORT.txt $ICU4C_UNIDATA/FractionalUCA.txt
+- update source/data/unidata/UCARules.txt with UCA_Rules_SHORT.txt
+ cp $ICU4C_UNIDATA/UCARules.txt /tmp/UCARules-old.txt
+ (note removing the underscore before "Rules")
+ cp $CLDR_SRC/common/uca/UCA_Rules_SHORT.txt $ICU4C_UNIDATA/UCARules.txt
+- restore TODO diffs in UCARules.txt
+ meld /tmp/UCARules-old.txt $ICU4C_UNIDATA/UCARules.txt
+- update (ICU4C)/source/test/testdata/CollationTest_*.txt
+ and (ICU4J)/main/tests/collate/src/com/ibm/icu/dev/data/CollationTest_*.txt
+ from the CLDR root files (..._CLDR_..._SHORT.txt)
+ cp $CLDR_SRC/common/uca/CollationTest_CLDR_NON_IGNORABLE_SHORT.txt $ICU_SRC/icu4c/source/test/testdata/CollationTest_NON_IGNORABLE_SHORT.txt
+ cp $CLDR_SRC/common/uca/CollationTest_CLDR_SHIFTED_SHORT.txt $ICU_SRC/icu4c/source/test/testdata/CollationTest_SHIFTED_SHORT.txt
+ cp $ICU_SRC/icu4c/source/test/testdata/CollationTest_*.txt $ICU_SRC/icu4j/main/tests/collate/src/com/ibm/icu/dev/data
+- if CLDR common/uca/unihan-index.txt changes, then update
+ CLDR common/collation/root.xml
+ and regenerate (or update in parallel) $ICU_SRC/icu4c/source/data/coll/root.txt
+
+- run genuca, see command line above;
+ deal with
+ Error: Unknown script for first-primary sample character U+119CE on line 29233 of /usr/local/google/home/mscherer/icu/uni/src/icu4c/source/data/unidata/FractionalUCA.txt:
+ FDD1 119CE; [71 CD 02, 05, 05] # Nandinagari first primary (compressible)
+ (add the character to genuca.cpp sampleCharsToScripts[])
+ + This time, I added code to genuca.cpp to use uscript_getSampleUnicodeString(script)
+ and cache its values.
+ Works as long as the script metadata is updated before the collation data.
+- rebuild ICU4C
+
+* Unihan collators
+ https://sites.google.com/site/unicodetools/unihan
+- run Unicode Tools
+ org.unicode.draft.GenerateUnihanCollators
+ with VM arguments
+ -ea
+ -DSVN_WORKSPACE=/usr/local/google/home/mscherer/svn.unitools/trunk
+ -DOTHER_WORKSPACE=/usr/local/google/home/mscherer/svn.unitools
+ -DUCD_DIR=/usr/local/google/home/mscherer/svn.unitools/trunk/data
+ -DCLDR_DIR=/usr/local/google/home/mscherer/svn.cldr/uni
+ -DUVERSION=12.0.0
+- run Unicode Tools
+ org.unicode.draft.GenerateUnihanCollatorFiles
+ with the same arguments
+- check CLDR diffs
+ cd $CLDR_SRC
+ meld common/collation/zh.xml ../Generated/cldr/han/replace/zh.xml
+ meld common/transforms/Han-Latin.xml ../Generated/cldr/han/replace/Han-Latin.xml
+- copy to CLDR
+ cd $CLDR_SRC
+ cp ../Generated/cldr/han/replace/zh.xml common/collation/zh.xml
+ cp ../Generated/cldr/han/replace/Han-Latin.xml common/transforms/Han-Latin.xml
+- run CLDR unit tests, commit to CLDR
+- generate ICU zh collation data: run CLDR
+ org.unicode.cldr.icu.NewLdml2IcuConverter
+ with program arguments
+ -t collation
+ -s /usr/local/google/home/mscherer/svn.cldr/uni/common/collation
+ -m /usr/local/google/home/mscherer/svn.cldr/uni/common/supplemental
+ -d /usr/local/google/home/mscherer/icu/uni/src/icu4c/source/data/coll
+ -p /usr/local/google/home/mscherer/icu/uni/src/icu4c/source/data/xml/collation
+ zh
+ and VM arguments
+ -ea
+ -DCLDR_DIR=/usr/local/google/home/mscherer/svn.cldr/uni
+- rebuild ICU4C
+
+* run & fix ICU4C tests, now with new CLDR collation root data
+- run all tests with the collation test data *_SHORT.txt or the full files
+ (the full ones have comments, useful for debugging)
+- note on intltest: if collate/UCAConformanceTest fails, then
+ utility/MultithreadTest/TestCollators will fail as well;
+ fix the conformance test before looking into the multi-thread test
+
+* update Java data files
+- refresh just the UCD/UCA-related/derived files, just to be safe
+- see (ICU4C)/source/data/icu4j-readme.txt
+- mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=/tmp/icu4j icu4j-data-install
+ output:
+ ...
+ Unicode .icu files built to ./out/build/icudt63l
+ echo timestamp > uni-core-data
+ mkdir -p ./out/icu4j/com/ibm/icu/impl/data/icudt63b
+ mkdir -p ./out/icu4j/tzdata/com/ibm/icu/impl/data/icudt63b
+ echo pnames.icu uprops.icu ucase.icu ubidi.icu nfc.nrm > ./out/icu4j/add.txt
+ LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH ../bin/icupkg ./out/tmp/icudt63l.dat ./out/icu4j/icudt63b.dat -a ./out/icu4j/add.txt -s ./out/build/icudt63l -x '*' -tb -d ./out/icu4j/com/ibm/icu/impl/data/icudt63b
+ mv ./out/icu4j/"com/ibm/icu/impl/data/icudt63b/zoneinfo64.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt63b/metaZones.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt63b/timezoneTypes.res" ./out/icu4j/"com/ibm/icu/impl/data/icudt63b/windowsZones.res" "./out/icu4j/tzdata/com/ibm/icu/impl/data/icudt63b"
+ jar cf ./out/icu4j/icudata.jar -C ./out/icu4j com/ibm/icu/impl/data/icudt63b/
+ mkdir -p /tmp/icu4j/main/shared/data
+ cp ./out/icu4j/icudata.jar /tmp/icu4j/main/shared/data
+ jar cf ./out/icu4j/icutzdata.jar -C ./out/icu4j/tzdata com/ibm/icu/impl/data/icudt63b/
+ mkdir -p /tmp/icu4j/main/shared/data
+ cp ./out/icu4j/icutzdata.jar /tmp/icu4j/main/shared/data
+ make[1]: Leaving directory '/usr/local/google/home/mscherer/icu/uni/dbg/icu4c/data'
+- copy the big-endian Unicode data files to another location,
+ separate from the other data files,
+ and then refresh ICU4J
+ cd $ICU_ROOT/dbg/icu4c/data/out/icu4j
+ mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/coll
+ mkdir -p /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/brkitr
+ cp -v com/ibm/icu/impl/data/$ICUDT/confusables.cfu /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ cp -v com/ibm/icu/impl/data/$ICUDT/*.icu /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ rm /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/cnvalias.icu
+ cp -v com/ibm/icu/impl/data/$ICUDT/*.nrm /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT
+ cp -v com/ibm/icu/impl/data/$ICUDT/coll/* /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/coll
+ cp -v com/ibm/icu/impl/data/$ICUDT/brkitr/* /tmp/icu4j/com/ibm/icu/impl/data/$ICUDT/brkitr
+ jar uvf $ICU_SRC/icu4j/main/shared/data/icudata.jar -C /tmp/icu4j com/ibm/icu/impl/data/$ICUDT
+
+* When refreshing all of ICU4J data from ICU4C
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=/tmp/icu4j icu4j-data-install
+- cp /tmp/icu4j/main/shared/data/icudata.jar $ICU_SRC/icu4j/main/shared/data
+or
+- $ICU_ROOT/dbg/icu4c$ make ICU4J_ROOT=$ICU_SRC/icu4j icu4j-data-install
+
+* update CollationFCD.java
+ + copy & paste the initializers of lcccIndex[] etc. from
+ ICU4C/source/i18n/collationfcd.cpp to
+ ICU4J/main/classes/collate/src/com/ibm/icu/impl/coll/CollationFCD.java
+
+* refresh Java test .txt files
+- copy new .txt files into ICU4J's main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cd $ICU_SRC/icu4c/source/data/unidata
+ cp confusables.txt confusablesWholeScript.txt NormalizationCorrections.txt NormalizationTest.txt SpecialCasing.txt UnicodeData.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cd ../../test/testdata
+ cp BidiCharacterTest.txt BidiTest.txt IdnaTestV2.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+ cp $UNICODE_DATA/ucd/CompositionExclusions.txt $ICU_SRC/icu4j/main/tests/core/src/com/ibm/icu/dev/data/unicode
+
+* run & fix ICU4J tests
+
+*** API additions
+- send notice to icu-design about new born-@stable API (enum constants etc.)
+
+*** CLDR numbering systems
+- look for new sets of decimal digits (gc=ND & nv=4) and add to CLDR
+ for example, look for
+ ~/icu/uni/src$ egrep ';gc=Nd.+;nv=4' icu4c/source/data/unidata/ppucd.txt
+ in new blocks (Blocks.txt)
+ Unicode 12: using Unicode 12 CLDR ticket #11478
+ hmnp 1E140..1E149 Nyiakeng_Puachue_Hmong
+ wcho 1E2F0..1E2F9 Wancho
+ Unicode 11: using Unicode 11 CLDR ticket #10978
+ rohg 10D30..10D39 Hanifi_Rohingya
+ gong 11DA0..11DA9 Gunjala_Gondi
+ Earlier: CLDR tickets specific to adding new numbering systems.
+ Unicode 10: http://unicode.org/cldr/trac/ticket/10219
+ Unicode 9: http://unicode.org/cldr/trac/ticket/9692
+
+*** merge the Unicode update branches back onto the trunk
+- do not merge the icudata.jar and testdata.jar,
+ instead rebuild them from merged & tested ICU4C
+- make sure that changes to Unicode tools are checked in:
+ http://www.unicode.org/utility/trac/log/trunk/unicodetools
+
+---------------------------------------------------------------------------- ***
+
ICU 63 addition of ICU support of text layout properties InPC, InSC, vo
* Command-line environment setup
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/confusables.txt b/Build/source/libs/icu/icu-src/source/data/unidata/confusables.txt
index 0b8c1c5ff67..ee85eeeef20 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/confusables.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/confusables.txt
@@ -1,11 +1,11 @@
# confusables.txt
-# Date: 2018-03-13, 10:46:37 GMT
-# © 2018 Unicode®, Inc.
+# Date: 2019-04-01, 21:59:19 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
# Unicode Security Mechanisms for UTS #39
-# Version: 11.0.0
+# Version: 12.1.0
#
# For documentation and usage, see http://www.unicode.org/reports/tr39
#
@@ -2353,7 +2353,7 @@ A6B1 ; 2C75 ; MA # ( ꚱ → Ⱶ ) BAMUM LETTER NDAA → LATIN CAPITAL LETTER HA
A795 ; A727 ; MA # ( ꞕ → ꜧ ) LATIN SMALL LETTER H WITH PALATAL HOOK → LATIN SMALL LETTER HENG #
02DB ; 0069 ; MA #* ( ˛ → i ) OGONEK → LATIN SMALL LETTER I # →ͺ→→ι→→ι→
-2373 ; 0069 ; MA #* ( ⍳ → i ) APL FUNCTIONAL SYMBOL IOTA → LATIN SMALL LETTER I # →ɩ→
+2373 ; 0069 ; MA #* ( ⍳ → i ) APL FUNCTIONAL SYMBOL IOTA → LATIN SMALL LETTER I # →ι→
FF49 ; 0069 ; MA # ( i → i ) FULLWIDTH LATIN SMALL LETTER I → LATIN SMALL LETTER I # →і→
2170 ; 0069 ; MA # ( ⅰ → i ) SMALL ROMAN NUMERAL ONE → LATIN SMALL LETTER I #
2139 ; 0069 ; MA # ( ℹ → i ) INFORMATION SOURCE → LATIN SMALL LETTER I #
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfc.txt b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfc.txt
index 51bc9fc538b..31dc256d102 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfc.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfc.txt
@@ -9,7 +9,7 @@
#
# Complete data for Unicode NFC normalization.
-* Unicode 11.0.0
+* Unicode 12.1.0
# Canonical_Combining_Class (ccc) values
0300..0314:230
@@ -176,6 +176,7 @@
0E3A:9
0E48..0E4B:107
0EB8..0EB9:118
+0EBA:9
0EC8..0ECB:122
0F18..0F19:220
0F35:220
@@ -340,6 +341,7 @@ FE2E..FE2F:230
1172B:9
11839:9
1183A:7
+119E0:9
11A34:9
11A47:9
11A99:9
@@ -364,6 +366,8 @@ FE2E..FE2F:230
1E01B..1E021:230
1E023..1E024:230
1E026..1E02A:230
+1E130..1E136:230
+1E2EC..1E2EF:230
1E8D0..1E8D6:220
1E944..1E949:230
1E94A:7
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc.txt b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc.txt
index 416c6800ec2..a1e363faecb 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc.txt
@@ -13,7 +13,7 @@
# to NFKC one-way mappings.
# Use this file as the second gennorm2 input file after nfc.txt.
-* Unicode 11.0.0
+* Unicode 12.1.0
00A0>0020
00A8>0020 0308
@@ -1107,6 +1107,7 @@
32FC>30F0
32FD>30F1
32FE>30F2
+32FF>4EE4 548C
3300>30A2 30D1 30FC 30C8
3301>30A2 30EB 30D5 30A1
3302>30A2 30F3 30DA 30A2
@@ -3630,6 +3631,7 @@ FFEE>25CB
1F14F>0057 0043
1F16A>004D 0043
1F16B>004D 0044
+1F16C>004D 0052
1F190>0044 004A
1F200>307B 304B
1F201>30B3 30B3
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc_cf.txt b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc_cf.txt
index d37386e0506..3248c3ac03d 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc_cf.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/nfkc_cf.txt
@@ -12,7 +12,7 @@
# and reformatted into syntax for the gennorm2 Normalizer2 data generator tool.
# Use this file as the third gennorm2 input file after nfc.txt and nfkc.txt.
-* Unicode 11.0.0
+* Unicode 12.1.0
0041>0061
0042>0062
@@ -2082,6 +2082,7 @@
32FC>30F0
32FD>30F1
32FE>30F2
+32FF>4EE4 548C
3300>30A2 30D1 30FC 30C8
3301>30A2 30EB 30D5 30A1
3302>30A2 30F3 30DA 30A2
@@ -2450,6 +2451,13 @@ A7B3>AB53
A7B4>A7B5
A7B6>A7B7
A7B8>A7B9
+A7BA>A7BB
+A7BC>A7BD
+A7BE>A7BF
+A7C2>A7C3
+A7C4>A794
+A7C5>0282
+A7C6>1D8E
A7F8>0127
A7F9>0153
AB5C>A727
@@ -5319,6 +5327,7 @@ FFF0..FFF8>
1F14F>0077 0063
1F16A>006D 0063
1F16B>006D 0064
+1F16C>006D 0072
1F190>0064 006A
1F200>307B 304B
1F201>30B3 30B3
diff --git a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/uts46.txt b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/uts46.txt
index e360044f856..15427fc4daf 100644
--- a/Build/source/libs/icu/icu-src/source/data/unidata/norm2/uts46.txt
+++ b/Build/source/libs/icu/icu-src/source/data/unidata/norm2/uts46.txt
@@ -1,12 +1,14 @@
# Original file:
-# IdnaMappingTable-11.0.0.txt
-# Date: 2018-03-14, 08:27:19 GMT
-# © 2018 Unicode®, Inc.
+# IdnaMappingTable.txt
+# Date: 2019-04-01, 09:17:25 GMT
+# © 2019 Unicode®, Inc.
# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
# For terms of use, see http://www.unicode.org/terms_of_use.html
#
-# Unicode IDNA Compatible Preprocessing (UTS #46)
-# For documentation, see http://www.unicode.org/reports/tr46/
+# Unicode IDNA Compatible Preprocessing for UTS #46
+# Version: 12.1.0
+#
+# For documentation and usage, see http://www.unicode.org/reports/tr46
# ================================================
# This file has been reformatted into syntax for the
@@ -23,7 +25,7 @@
#
# Use this file as the second gennorm2 input file after nfc.txt.
# ================================================
-
+#
# 0000..002C disallowed_STD3_valid # 1.1 ..COMMA
# 002D..002E valid # 1.1 HYPHEN-MINUS..FULL STOP
# 002F disallowed_STD3_valid # 1.1 SOLIDUS
@@ -1246,7 +1248,8 @@
# 0C62..0C63 valid # 5.1 TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
0C64..0C65 >FFFD # NA ..
# 0C66..0C6F valid # 1.1 TELUGU DIGIT ZERO..TELUGU DIGIT NINE
-0C70..0C77 >FFFD # NA ..
+0C70..0C76 >FFFD # NA ..
+# 0C77 valid # 12.0 TELUGU SIGN SIDDHAM
# 0C78..0C7F valid # 5.1 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU SIGN TUUMU
# 0C80 valid # 9.0 KANNADA SIGN SPACING CANDRABINDU
# 0C81 valid # 7.0 KANNADA SIGN CANDRABINDU
@@ -1354,29 +1357,31 @@
# 0E81..0E82 valid # 1.1 LAO LETTER KO..LAO LETTER KHO SUNG
0E83 >FFFD # NA
# 0E84 valid # 1.1 LAO LETTER KHO TAM
-0E85..0E86 >FFFD # NA ..
+0E85 >FFFD # NA
+# 0E86 valid # 12.0 LAO LETTER PALI GHA
# 0E87..0E88 valid # 1.1 LAO LETTER NGO..LAO LETTER CO
-0E89 >FFFD # NA
+# 0E89 valid # 12.0 LAO LETTER PALI CHA
# 0E8A valid # 1.1 LAO LETTER SO TAM
-0E8B..0E8C >FFFD # NA ..
+0E8B >FFFD # NA
+# 0E8C valid # 12.0 LAO LETTER PALI JHA
# 0E8D valid # 1.1 LAO LETTER NYO
-0E8E..0E93 >FFFD # NA ..
+# 0E8E..0E93 valid # 12.0 LAO LETTER PALI NYA..LAO LETTER PALI NNA
# 0E94..0E97 valid # 1.1 LAO LETTER DO..LAO LETTER THO TAM
-0E98 >FFFD # NA
+# 0E98 valid # 12.0 LAO LETTER PALI DHA
# 0E99..0E9F valid # 1.1 LAO LETTER NO..LAO LETTER FO SUNG
-0EA0 >FFFD # NA
+# 0EA0 valid # 12.0 LAO LETTER PALI BHA
# 0EA1..0EA3 valid # 1.1 LAO LETTER MO..LAO LETTER LO LING
0EA4 >FFFD # NA
# 0EA5 valid # 1.1 LAO LETTER LO LOOT
0EA6 >FFFD # NA
# 0EA7 valid # 1.1 LAO LETTER WO
-0EA8..0EA9 >FFFD # NA ..
+# 0EA8..0EA9 valid # 12.0 LAO LETTER SANSKRIT SHA..LAO LETTER SANSKRIT SSA
# 0EAA..0EAB valid # 1.1 LAO LETTER SO SUNG..LAO LETTER HO SUNG
-0EAC >FFFD # NA
+# 0EAC valid # 12.0 LAO LETTER PALI LLA
# 0EAD..0EB2 valid # 1.1 LAO LETTER O..LAO VOWEL SIGN AA
0EB3 >0ECD 0EB2 # 1.1 LAO VOWEL SIGN AM
# 0EB4..0EB9 valid # 1.1 LAO VOWEL SIGN I..LAO VOWEL SIGN UU
-0EBA >FFFD # NA
+# 0EBA valid # 12.0 LAO SIGN PALI VIRAMA
# 0EBB..0EBD valid # 1.1 LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN NYO
0EBE..0EBF >FFFD # NA ..
# 0EC0..0EC4 valid # 1.1 LAO VOWEL SIGN E..LAO VOWEL SIGN AI
@@ -1701,9 +1706,53 @@
1C87 >0463 # 9.0 CYRILLIC SMALL LETTER TALL YAT
1C88 >A64B # 9.0 CYRILLIC SMALL LETTER UNBLENDED UK
1C89..1C8F >FFFD # NA ..
-1C90..1CBA >FFFD # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER AN..GEORGIAN MTAVRULI CAPITAL LETTER AIN
+1C90 >10D0 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER AN
+1C91 >10D1 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER BAN
+1C92 >10D2 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER GAN
+1C93 >10D3 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER DON
+1C94 >10D4 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER EN
+1C95 >10D5 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER VIN
+1C96 >10D6 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER ZEN
+1C97 >10D7 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER TAN
+1C98 >10D8 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER IN
+1C99 >10D9 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER KAN
+1C9A >10DA # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER LAS
+1C9B >10DB # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER MAN
+1C9C >10DC # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER NAR
+1C9D >10DD # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER ON
+1C9E >10DE # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER PAR
+1C9F >10DF # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER ZHAR
+1CA0 >10E0 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER RAE
+1CA1 >10E1 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER SAN
+1CA2 >10E2 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER TAR
+1CA3 >10E3 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER UN
+1CA4 >10E4 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER PHAR
+1CA5 >10E5 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER KHAR
+1CA6 >10E6 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER GHAN
+1CA7 >10E7 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER QAR
+1CA8 >10E8 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER SHIN
+1CA9 >10E9 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER CHIN
+1CAA >10EA # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER CAN
+1CAB >10EB # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER JIL
+1CAC >10EC # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER CIL
+1CAD >10ED # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER CHAR
+1CAE >10EE # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER XAN
+1CAF >10EF # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER JHAN
+1CB0 >10F0 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HAE
+1CB1 >10F1 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HE
+1CB2 >10F2 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HIE
+1CB3 >10F3 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER WE
+1CB4 >10F4 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HAR
+1CB5 >10F5 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HOE
+1CB6 >10F6 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER FI
+1CB7 >10F7 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER YN
+1CB8 >10F8 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER ELIFI
+1CB9 >10F9 # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER TURNED GAN
+1CBA >10FA # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER AIN
1CBB..1CBC >FFFD # NA ..
-1CBD..1CBF >FFFD # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER AEN..GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN
+1CBD >10FD # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER AEN
+1CBE >10FE # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER HARD SIGN
+1CBF >10FF # 11.0 GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN
# 1CC0..1CC7 valid # 6.1 SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
1CC8..1CCF >FFFD # NA ..
# 1CD0..1CD2 valid # 5.2 VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
@@ -1712,7 +1761,8 @@
# 1CF3..1CF6 valid # 6.1 VEDIC SIGN ROTATED ARDHAVISARGA..VEDIC SIGN UPADHMANIYA
# 1CF7 valid # 10.0 VEDIC SIGN ATIKRAMA
# 1CF8..1CF9 valid # 7.0 VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
-1CFA..1CFF >FFFD # NA ..
+# 1CFA valid # 12.0 VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA
+1CFB..1CFF >FFFD # NA ..
# 1D00..1D2B valid # 4.0 LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
1D2C >0061 # 4.0 MODIFIER LETTER CAPITAL A
1D2D >00E6 # 4.0 MODIFIER LETTER CAPITAL AE
@@ -2752,13 +2802,13 @@
# 2B98..2BB9 valid # 7.0 THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD..UP ARROWHEAD IN A RECTANGLE BOX
# 2BBA..2BBC valid # 11.0 OVERLAPPING WHITE SQUARES..OVERLAPPING BLACK SQUARES
# 2BBD..2BC8 valid # 7.0 BALLOT BOX WITH LIGHT X..BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED
-2BC9 >FFFD # NA
+# 2BC9 valid # 12.0 NEPTUNE FORM TWO
# 2BCA..2BD1 valid # 7.0 TOP HALF BLACK CIRCLE..UNCERTAINTY SIGN
# 2BD2 valid # 10.0 GROUP MARK
# 2BD3..2BEB valid # 11.0 PLUTO FORM TWO..STAR WITH RIGHT HALF BLACK
# 2BEC..2BEF valid # 8.0 LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS..DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS
# 2BF0..2BFE valid # 11.0 ERIS FORM ONE..REVERSED RIGHT ANGLE
-2BFF >FFFD # NA
+# 2BFF valid # 12.0 HELLSCHREIBER PAUSE SYMBOL
2C00 >2C30 # 4.1 GLAGOLITIC CAPITAL LETTER AZU
2C01 >2C31 # 4.1 GLAGOLITIC CAPITAL LETTER BUKY
2C02 >2C32 # 4.1 GLAGOLITIC CAPITAL LETTER VEDE
@@ -2989,7 +3039,8 @@
# 2E43..2E44 valid # 9.0 DASH WITH LEFT UPTURN..DOUBLE SUSPENSION MARK
# 2E45..2E49 valid # 10.0 INVERTED LOW KAVYKA..DOUBLE STACKED COMMA
# 2E4A..2E4E valid # 11.0 DOTTED SOLIDUS..PUNCTUS ELEVATUS MARK
-2E4F..2E7F >FFFD # NA