From 666defa5e9a25ad1f520fb984605155fece56414 Mon Sep 17 00:00:00 2001 From: Rmys Date: Wed, 5 May 2021 00:27:27 +0300 Subject: [PATCH] qt5-base rebuild kde-patch --- .../toolkit/qt5/qt5-base/files/qt_kde.patch | 41745 ++++++++++++++++ desktop/toolkit/qt5/qt5-base/pspec.xml | 17 +- 2 files changed, 41757 insertions(+), 5 deletions(-) create mode 100644 desktop/toolkit/qt5/qt5-base/files/qt_kde.patch diff --git a/desktop/toolkit/qt5/qt5-base/files/qt_kde.patch b/desktop/toolkit/qt5/qt5-base/files/qt_kde.patch new file mode 100644 index 0000000000..ada3f22cc4 --- /dev/null +++ b/desktop/toolkit/qt5/qt5-base/files/qt_kde.patch @@ -0,0 +1,41745 @@ +diff --git a/configure.json b/configure.json +index c273aeeef1..4a7c50f684 100644 +--- a/configure.json ++++ b/configure.json +@@ -1098,7 +1098,7 @@ + }, + "avx": { + "label": "AVX", +- "condition": "features.sse4_2 && tests.avx", ++ "condition": "features.sse4_2 && tests.avx && (!config.android || !arch.x86_64)", + "output": [ + "privateConfig", + { "type": "define", "name": "QT_COMPILER_SUPPORTS_AVX", "value": 1 } +@@ -1114,7 +1114,7 @@ + }, + "avx2": { + "label": "AVX2", +- "condition": "features.avx && tests.avx2", ++ "condition": "features.avx && tests.avx2 && (!config.android || !arch.x86_64)", + "output": [ + "privateConfig", + "privateFeature", +diff --git a/examples/network/secureudpclient/association.cpp b/examples/network/secureudpclient/association.cpp +index c950260078..59df94d5b9 100644 +--- a/examples/network/secureudpclient/association.cpp ++++ b/examples/network/secureudpclient/association.cpp +@@ -112,6 +112,11 @@ void DtlsAssociation::udpSocketConnected() + + void DtlsAssociation::readyRead() + { ++ if (socket.pendingDatagramSize() <= 0) { ++ emit warningMessage(tr("%1: spurious read notification?").arg(name)); ++ return; ++ } ++ + //! [6] + QByteArray dgram(socket.pendingDatagramSize(), Qt::Uninitialized); + const qint64 bytesRead = socket.readDatagram(dgram.data(), dgram.size()); +diff --git a/examples/widgets/draganddrop/dropsite/droparea.cpp b/examples/widgets/draganddrop/dropsite/droparea.cpp +index 886bfd6890..19644ed573 100644 +--- a/examples/widgets/draganddrop/dropsite/droparea.cpp ++++ b/examples/widgets/draganddrop/dropsite/droparea.cpp +@@ -93,6 +93,9 @@ void DropArea::dropEvent(QDropEvent *event) + //! [dropEvent() function part2] + if (mimeData->hasImage()) { + setPixmap(qvariant_cast(mimeData->imageData())); ++ } else if (mimeData->hasFormat(QLatin1String("text/markdown"))) { ++ setText(QString::fromUtf8(mimeData->data(QLatin1String("text/markdown")))); ++ setTextFormat(Qt::MarkdownText); + } else if (mimeData->hasHtml()) { + setText(mimeData->html()); + setTextFormat(Qt::RichText); +diff --git a/examples/widgets/draganddrop/dropsite/dropsitewindow.cpp b/examples/widgets/draganddrop/dropsite/dropsitewindow.cpp +index a937e24a4c..d96ebce2e3 100644 +--- a/examples/widgets/draganddrop/dropsite/dropsitewindow.cpp ++++ b/examples/widgets/draganddrop/dropsite/dropsitewindow.cpp +@@ -132,6 +132,8 @@ void DropSiteWindow::updateFormatsTable(const QMimeData *mimeData) + QString text; + if (format == QLatin1String("text/plain")) { + text = mimeData->text().simplified(); ++ } else if (format == QLatin1String("text/markdown")) { ++ text = QString::fromUtf8(mimeData->data(QLatin1String("text/markdown"))); + } else if (format == QLatin1String("text/html")) { + text = mimeData->html().simplified(); + } else if (format == QLatin1String("text/uri-list")) { +diff --git a/mkspecs/android-clang/qmake.conf b/mkspecs/android-clang/qmake.conf +index 5cc5a20f71..d9a51835d8 100644 +--- a/mkspecs/android-clang/qmake.conf ++++ b/mkspecs/android-clang/qmake.conf +@@ -44,7 +44,7 @@ isEmpty(ALL_ANDROID_ABIS): ALL_ANDROID_ABIS = arm64-v8a armeabi-v7a x86_64 x86 + CONFIG += $$ANDROID_PLATFORM + + ANDROID_MIN_SDK_VERSION = $$replace(ANDROID_PLATFORM, "android-", "") +-ANDROID_TARGET_SDK_VERSION = 28 ++ANDROID_TARGET_SDK_VERSION = 29 + + NDK_LLVM_PATH = $$NDK_ROOT/toolchains/llvm/prebuilt/$$NDK_HOST + QMAKE_CC = $$NDK_LLVM_PATH/bin/clang +diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf +index d16b77acb8..61a1300860 100644 +--- a/mkspecs/common/macx.conf ++++ b/mkspecs/common/macx.conf +@@ -12,7 +12,7 @@ QMAKE_APPLE_DEVICE_ARCHS = x86_64 + # older SDKs we have to keep this. + QT_MAC_SDK_VERSION_MIN = 10.14 + +-QT_MAC_SDK_VERSION_MAX = 10.15 ++QT_MAC_SDK_VERSION_MAX = 11.0 + + device.sdk = macosx + device.target = device +diff --git a/mkspecs/features/android/default_pre.prf b/mkspecs/features/android/default_pre.prf +index eaa2b0c666..9f90dcb391 100644 +--- a/mkspecs/features/android/default_pre.prf ++++ b/mkspecs/features/android/default_pre.prf +@@ -36,6 +36,9 @@ QMAKE_CFLAGS += -fno-limit-debug-info + + QMAKE_LINK = $$QMAKE_CXX $$QMAKE_CFLAGS + ++equals(ANDROID_TARGET_ARCH, armeabi-v7a): \ ++ QMAKE_LINK += -Wl,--exclude-libs,libunwind.a ++ + ANDROID_STDCPP_PATH = $$NDK_LLVM_PATH/sysroot/usr/lib/ + + # -fstack-protector-strong offers good protection against stack smashing attacks. +diff --git a/mkspecs/features/qt_helper_lib.prf b/mkspecs/features/qt_helper_lib.prf +index bc20251bd9..964e256ee0 100644 +--- a/mkspecs/features/qt_helper_lib.prf ++++ b/mkspecs/features/qt_helper_lib.prf +@@ -89,4 +89,32 @@ TARGET = $$THE_TARGET + + # In static builds of Qt, convenience libraries must be installed, + # as in this case they are not linked to the final library/plugin. +-installed|if(!not_installed:qtConfig(static)): load(qt_installs) ++installed|if(!not_installed:qtConfig(static)) { ++ !isEmpty(MODULE_EXT_HEADERS) { ++ headers.files = $${MODULE_EXT_HEADERS} ++ headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET ++ INSTALLS += headers ++ } else { ++ !isEmpty(MODULE_EXT_HEADERS_DIR) { ++ headers.files = $$MODULE_EXT_HEADERS_DIR/* ++ headers.path = $$[QT_INSTALL_HEADERS]/$$TARGET ++ INSTALLS += headers ++ } ++ } ++ ++ CONFIG += qt_install_module ++ rpl_header_base = $$MODULE_INCLUDEPATH ++ rpl_lib_base = $${MODULE_LIBS} ++ qqt_dir = \$\$\$\$[QT_INSTALL_HEADERS] ++ pri_header_replace.match = $$rpl_header_base ++ pri_header_replace.replace = $$qqt_dir/$$TARGET ++ pri_header_replace.CONFIG = path ++ pri_header_replace.filename = qt_ext_$${MODULE}.pri ++ qqt_dir = \$\$\$\$[QT_INSTALL_LIBS] ++ pri_lib_replace.match = $$rpl_lib_base ++ pri_lib_replace.replace = $$qqt_dir/$$prefix$${THE_TARGET}.$$suffix ++ pri_lib_replace.CONFIG = path ++ pri_lib_replace.filename = qt_ext_$${MODULE}.pri ++ QMAKE_INSTALL_REPLACE += pri_header_replace pri_lib_replace ++ load(qt_installs) ++} +diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf +index efbe7c1e55..11ecd6b2a5 100644 +--- a/mkspecs/features/toolchain.prf ++++ b/mkspecs/features/toolchain.prf +@@ -326,9 +326,17 @@ isEmpty($${target_prefix}.INCDIRS) { + error("Mkspec does not specify MSVC_VER. Cannot continue.") + versionAtLeast(MSVC_VER, 15.0) { + dir = $$(VSINSTALLDIR) +- isEmpty(dir): \ +- dir = $$read_registry(HKLM, \ +- "Software\\Microsoft\\VisualStudio\\SxS\\VS7\\$$MSVC_VER", 32) ++ isEmpty(dir) { ++ version_parts = $$split(MSVC_VER, .) ++ MSVC_NEXT_MAJOR = $$num_add($$first(version_parts), 1) ++ vswhere = "$$getenv(ProgramFiles\(x86\))/Microsoft Visual Studio/Installer/vswhere.exe" ++ !exists($$vswhere): \ ++ error("Could not find $$vswhere") ++ vswhere = $$system_quote($$system_path($$vswhere)) ++ # -version parameter: A version range for instances to find. 15.0 will get all versions >= 15.0 ++ # Example: [15.0,16.0) will find versions 15.*. ++ dir = $$system("$$vswhere -latest -version [$$MSVC_VER,$${MSVC_NEXT_MAJOR}.0] -property installationPath") ++ } + isEmpty(dir): \ + error("Failed to find the Visual Studio installation directory.") + cmd += $$system_quote($$dir\\VC\\Auxiliary\\Build\\vcvarsall.bat) $$arch +diff --git a/qmake/doc/src/qmake-manual.qdoc b/qmake/doc/src/qmake-manual.qdoc +index 05116b7b1b..a96b84e63b 100644 +--- a/qmake/doc/src/qmake-manual.qdoc ++++ b/qmake/doc/src/qmake-manual.qdoc +@@ -927,13 +927,9 @@ + qmake ANDROID_ABIS="armeabi-v7a arm64-v8a" + \endcode + +- Or directly in the \c .pro file: +- +- \badcode +- ANDROID_ABIS = \ +- armeabi-v7a \ +- arm64-v8a +- \endcode ++ \note It is possible to use this variable inside the *.pro file, however, ++ it is not recommended since it will override any ABIs specified on the ++ \c qmake command line. + + \target ANDROID_API_VERSION + \section1 ANDROID_API_VERSION +@@ -994,6 +990,19 @@ + to enable OpenSSL in your application. For more information, see + \l{Adding OpenSSL Support for Android}. + ++ To include external libraries for multiple ABIs, where each ABIs has its own ++ directory, use the following: ++ ++ \badcode ++ for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/$${abi}/library_name.so ++ \endcode ++ ++ Otherwise, if the ABI is included in the library name, use the following: ++ ++ \badcode ++ for (abi, ANDROID_ABIS): ANDROID_EXTRA_LIBS += $$PWD/library_name_$${abi}.so ++ \endcode ++ + \target ANDROID_EXTRA_PLUGINS + \section1 ANDROID_EXTRA_PLUGINS + +@@ -1109,7 +1118,7 @@ + \note This variable applies only to Android targets. + + Specifies the target Android API level for the project. By default, this +- variable is set to API level 28. ++ variable is set to API level 29. + + \target ANDROID_VERSION_CODE + \section1 ANDROID_VERSION_CODE +@@ -4078,8 +4087,9 @@ + + Tests whether a file with the given \c filename exists. + If the file exists, the function succeeds; otherwise it fails. +- If a regular expression is specified for the filename, this function +- succeeds if any file matches the regular expression specified. ++ ++ The \c filename argument may contain wildcards. ++ In that case, this function succeeds if any file matches. + + For example: + \snippet code/doc_src_qmake-manual.pro 63 +diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp +index 5c61a3c65c..a901332312 100644 +--- a/qmake/generators/makefile.cpp ++++ b/qmake/generators/makefile.cpp +@@ -1286,7 +1286,14 @@ MakefileGenerator::writeInstalls(QTextStream &t, bool noBuild) + else + cmd = QLatin1String("$(QINSTALL)"); + cmd += " " + escapeFilePath(wild) + " " + escapeFilePath(dst_file); +- inst << cmd; ++ ++ QString sedArgs = createSedArgs(ProKey("QMAKE_INSTALL_REPLACE"), fi.fileName()); ++ if (!sedArgs.isEmpty()) ++ inst << "$(SED) " + sedArgs + ' ' + escapeFilePath(wild) + " > " ++ + escapeFilePath(dst_file); ++ else ++ inst << cmd; ++ + if (!noStrip && !project->isActiveConfig("debug_info") && !project->isActiveConfig("nostrip") && + !fi.isDir() && fi.isExecutable() && !project->isEmpty("QMAKE_STRIP")) + inst << QString("-") + var("QMAKE_STRIP") + " " + +@@ -3412,35 +3419,43 @@ static QString windowsifyPath(const QString &str) + return QString(str).replace('/', QLatin1String("\\\\\\\\")); + } + +-QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst) ++QString MakefileGenerator::createSedArgs(const ProKey &replace_rule, const QString &file_name) const + { +- QString ret; +- if (project->isEmpty(replace_rule) +- || project->isActiveConfig("no_sed_meta_install")) { +- ret += "$(INSTALL_FILE) " + escapeFilePath(src) + ' ' + escapeFilePath(dst); +- } else { +- QString sedargs; ++ QString sedargs; ++ if (!project->isEmpty(replace_rule) && !project->isActiveConfig("no_sed_meta_install")) { + const ProStringList &replace_rules = project->values(replace_rule); + for (int r = 0; r < replace_rules.size(); ++r) { + const ProString match = project->first(ProKey(replace_rules.at(r) + ".match")), +- replace = project->first(ProKey(replace_rules.at(r) + ".replace")); +- if (!match.isEmpty() /*&& match != replace*/) { ++ replace = project->first(ProKey(replace_rules.at(r) + ".replace")), ++ filename = project->first(ProKey(replace_rules.at(r) + ".filename")); ++ if (!match.isEmpty() /*&& match != replace*/ ++ && (filename.isEmpty() || filename == file_name)) { + sedargs += " -e " + shellQuote("s," + match + "," + replace + ",g"); +- if (isWindowsShell() && project->first(ProKey(replace_rules.at(r) + ".CONFIG")).contains("path")) +- sedargs += " -e " + shellQuote("s," + windowsifyPath(match.toQString()) +- + "," + windowsifyPath(replace.toQString()) + ",gi"); ++ if (isWindowsShell() ++ && project->first(ProKey(replace_rules.at(r) + ".CONFIG")).contains("path")) ++ sedargs += " -e " ++ + shellQuote("s," + windowsifyPath(match.toQString()) + "," ++ + windowsifyPath(replace.toQString()) + ",gi"); + } + } +- if (sedargs.isEmpty()) { +- ret += "$(INSTALL_FILE) " + escapeFilePath(src) + ' ' + escapeFilePath(dst); +- } else { +- ret += "$(SED) " + sedargs + ' ' + escapeFilePath(src) + " > " + escapeFilePath(dst); +- } ++ } ++ return sedargs; ++} ++ ++QString MakefileGenerator::installMetaFile(const ProKey &replace_rule, const QString &src, ++ const QString &dst) const ++{ ++ QString ret; ++ QString sedargs = createSedArgs(replace_rule); ++ if (sedargs.isEmpty()) { ++ ret = "$(INSTALL_FILE) " + escapeFilePath(src) + ' ' + escapeFilePath(dst); ++ } else { ++ ret = "$(SED) " + sedargs + ' ' + escapeFilePath(src) + " > " + escapeFilePath(dst); + } + return ret; + } + +-QString MakefileGenerator::shellQuote(const QString &str) ++QString MakefileGenerator::shellQuote(const QString &str) const + { + return isWindowsShell() ? IoUtils::shellQuoteWin(str) : IoUtils::shellQuoteUnix(str); + } +diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h +index a96b9c54da..dc612c392c 100644 +--- a/qmake/generators/makefile.h ++++ b/qmake/generators/makefile.h +@@ -251,8 +251,9 @@ public: + protected: + QString fileFixify(const QString &file, FileFixifyTypes fix = FileFixifyDefault, bool canon = true) const; + QStringList fileFixify(const QStringList &files, FileFixifyTypes fix = FileFixifyDefault, bool canon = true) const; +- +- QString installMetaFile(const ProKey &replace_rule, const QString &src, const QString &dst); ++ QString createSedArgs(const ProKey &replace_rule, const QString &file_type = QString()) const; ++ QString installMetaFile(const ProKey &replace_rule, const QString &src, ++ const QString &dst) const; + + virtual bool processPrlFileBase(QString &origFile, const QStringRef &origName, + const QStringRef &fixedBase, int slashOff); +@@ -278,7 +279,7 @@ public: + virtual bool mergeBuildProject(MakefileGenerator * /*other*/) { return false; } + virtual bool openOutput(QFile &, const QString &build) const; + bool isWindowsShell() const { return Option::dir_sep == QLatin1String("\\"); } +- QString shellQuote(const QString &str); ++ QString shellQuote(const QString &str) const; + virtual ProKey fullTargetVariable() const; + }; + Q_DECLARE_TYPEINFO(MakefileGenerator::Compiler, Q_MOVABLE_TYPE); +diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp +index e117f472e0..c830ae62f4 100644 +--- a/qmake/generators/win32/msvc_vcproj.cpp ++++ b/qmake/generators/win32/msvc_vcproj.cpp +@@ -1568,7 +1568,7 @@ void VcprojGenerator::initExtraCompilerOutputs() + + QString tmp_out; + if (!outputs.isEmpty()) +- tmp_out = project->first(outputs.first().toKey()).toQString(); ++ tmp_out = outputs.first().toQString(); + if (project->values(ProKey(*it + ".CONFIG")).indexOf("combine") != -1) { + // Combined output, only one file result + extraCompile.addFile(Option::fixPathToTargetOS( +diff --git a/src/3rdparty/freetype/freetype.pro b/src/3rdparty/freetype/freetype.pro +index 4034815158..0b53c86591 100644 +--- a/src/3rdparty/freetype/freetype.pro ++++ b/src/3rdparty/freetype/freetype.pro +@@ -7,6 +7,7 @@ CONFIG += \ + installed + + MODULE_INCLUDEPATH += $$PWD/include ++MODULE_EXT_HEADERS_DIR = $$PWD/include + + load(qt_helper_lib) + +diff --git a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro +index ad40b98753..332955e2be 100644 +--- a/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro ++++ b/src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro +@@ -7,7 +7,6 @@ CONFIG += \ + + MODULE_INCLUDEPATH += $$PWD/include + +-load(qt_helper_lib) + + # built-in shapers list configuration: + SHAPERS += opentype # HB's main shaper; enabling it should be enough most of the time +@@ -164,6 +163,8 @@ contains(SHAPERS, opentype) { + $$PWD/src/hb-ot-var.h + } + ++MODULE_EXT_HEADERS = $$HEADERS ++ + contains(SHAPERS, coretext) { + DEFINES += HAVE_CORETEXT + +@@ -190,3 +191,5 @@ contains(SHAPERS, fallback)|isEmpty(SHAPERS) { + SOURCES += \ + $$PWD/src/hb-fallback-shape.cc + } ++ ++load(qt_helper_lib) +diff --git a/src/3rdparty/harfbuzz-ng/src/hb-coretext.cc b/src/3rdparty/harfbuzz-ng/src/hb-coretext.cc +index d64cb7edbd..11b6deee04 100644 +--- a/src/3rdparty/harfbuzz-ng/src/hb-coretext.cc ++++ b/src/3rdparty/harfbuzz-ng/src/hb-coretext.cc +@@ -1322,7 +1322,7 @@ struct hb_coretext_aat_shaper_face_data_t {}; + hb_coretext_aat_shaper_face_data_t * + _hb_coretext_aat_shaper_face_data_create (hb_face_t *face) + { +- static const hb_tag_t tags[] = {HB_CORETEXT_TAG_MORX, HB_CORETEXT_TAG_MORT, HB_CORETEXT_TAG_KERX}; ++ static const hb_tag_t tags[] = {HB_CORETEXT_TAG_MORX, HB_CORETEXT_TAG_MORT, HB_CORETEXT_TAG_KERX, HB_CORETEXT_TAG_TRAK}; + + for (unsigned int i = 0; i < ARRAY_LENGTH (tags); i++) + { +diff --git a/src/3rdparty/harfbuzz-ng/src/hb-coretext.h b/src/3rdparty/harfbuzz-ng/src/hb-coretext.h +index 4b0a6f01b6..12f7d2515b 100644 +--- a/src/3rdparty/harfbuzz-ng/src/hb-coretext.h ++++ b/src/3rdparty/harfbuzz-ng/src/hb-coretext.h +@@ -43,7 +43,7 @@ HB_BEGIN_DECLS + #define HB_CORETEXT_TAG_MORT HB_TAG('m','o','r','t') + #define HB_CORETEXT_TAG_MORX HB_TAG('m','o','r','x') + #define HB_CORETEXT_TAG_KERX HB_TAG('k','e','r','x') +- ++#define HB_CORETEXT_TAG_TRAK HB_TAG('t','r','a','k') + + HB_EXTERN hb_face_t * + hb_coretext_face_create (CGFontRef cg_font); +diff --git a/src/3rdparty/libjpeg.pri b/src/3rdparty/libjpeg.pri +deleted file mode 100644 +index 92ce25690c..0000000000 +--- a/src/3rdparty/libjpeg.pri ++++ /dev/null +@@ -1,65 +0,0 @@ +-winrt: DEFINES += NO_GETENV +- +-# Disable warnings in 3rdparty code due to unused arguments +-gcc: QMAKE_CFLAGS_WARN_ON += -Wno-unused-parameter -Wno-main +- +-# Do not warn about sprintf, getenv, sscanf ... use +-msvc: DEFINES += _CRT_SECURE_NO_WARNINGS +- +-INCLUDEPATH += \ +- $$PWD/libjpeg \ +- $$PWD/libjpeg/src +- +-SOURCES += \ +- $$PWD/libjpeg/src/jaricom.c \ +- $$PWD/libjpeg/src/jcapimin.c \ +- $$PWD/libjpeg/src/jcapistd.c \ +- $$PWD/libjpeg/src/jcarith.c \ +- $$PWD/libjpeg/src/jccoefct.c \ +- $$PWD/libjpeg/src/jccolor.c \ +- $$PWD/libjpeg/src/jcdctmgr.c \ +- $$PWD/libjpeg/src/jchuff.c \ +- $$PWD/libjpeg/src/jcinit.c \ +- $$PWD/libjpeg/src/jcmainct.c \ +- $$PWD/libjpeg/src/jcmarker.c \ +- $$PWD/libjpeg/src/jcmaster.c \ +- $$PWD/libjpeg/src/jcomapi.c \ +- $$PWD/libjpeg/src/jcparam.c \ +- $$PWD/libjpeg/src/jcprepct.c \ +- $$PWD/libjpeg/src/jcsample.c \ +- $$PWD/libjpeg/src/jctrans.c \ +- $$PWD/libjpeg/src/jdapimin.c \ +- $$PWD/libjpeg/src/jdapistd.c \ +- $$PWD/libjpeg/src/jdarith.c \ +- $$PWD/libjpeg/src/jdatadst.c \ +- $$PWD/libjpeg/src/jdatasrc.c \ +- $$PWD/libjpeg/src/jdcoefct.c \ +- $$PWD/libjpeg/src/jdcolor.c \ +- $$PWD/libjpeg/src/jddctmgr.c \ +- $$PWD/libjpeg/src/jdhuff.c \ +- $$PWD/libjpeg/src/jdinput.c \ +- $$PWD/libjpeg/src/jdmainct.c \ +- $$PWD/libjpeg/src/jdmarker.c \ +- $$PWD/libjpeg/src/jdmaster.c \ +- $$PWD/libjpeg/src/jdmerge.c \ +- $$PWD/libjpeg/src/jdpostct.c \ +- $$PWD/libjpeg/src/jdsample.c \ +- $$PWD/libjpeg/src/jdtrans.c \ +- $$PWD/libjpeg/src/jerror.c \ +- $$PWD/libjpeg/src/jfdctflt.c \ +- $$PWD/libjpeg/src/jfdctfst.c \ +- $$PWD/libjpeg/src/jfdctint.c \ +- $$PWD/libjpeg/src/jidctflt.c \ +- $$PWD/libjpeg/src/jidctfst.c \ +- $$PWD/libjpeg/src/jidctint.c \ +- $$PWD/libjpeg/src/jquant1.c \ +- $$PWD/libjpeg/src/jquant2.c \ +- $$PWD/libjpeg/src/jutils.c \ +- $$PWD/libjpeg/src/jmemmgr.c \ +- $$PWD/libjpeg/src/jsimd_none.c \ +- $$PWD/libjpeg/src/jcphuff.c \ +- $$PWD/libjpeg/src/jidctred.c \ +- $$PWD/libjpeg/src/jdphuff.c \ +- $$PWD/libjpeg/src/jmemnobs.c +- +-TR_EXCLUDE += $$PWD/* +diff --git a/src/3rdparty/libjpeg/libjpeg.pro b/src/3rdparty/libjpeg/libjpeg.pro +new file mode 100644 +index 0000000000..51a2511556 +--- /dev/null ++++ b/src/3rdparty/libjpeg/libjpeg.pro +@@ -0,0 +1,79 @@ ++TARGET = qtlibjpeg ++ ++CONFIG += \ ++ static \ ++ hide_symbols \ ++ exceptions_off rtti_off warn_off \ ++ installed ++ ++MODULE_INCLUDEPATH = $$PWD/src ++MODULE_EXT_HEADERS = $$PWD/src/jpeglib.h \ ++ $$PWD/src/jerror.h \ ++ $$PWD/src/jconfig.h \ ++ $$PWD/src/jmorecfg.h ++ ++INCLUDEPATH += $$PWD $$PWD/src ++ ++load(qt_helper_lib) ++ ++winrt: DEFINES += NO_GETENV ++ ++# Disable warnings in 3rdparty code due to unused arguments ++gcc: QMAKE_CFLAGS_WARN_ON += -Wno-unused-parameter -Wno-main ++ ++# Do not warn about sprintf, getenv, sscanf ... use ++msvc: DEFINES += _CRT_SECURE_NO_WARNINGS ++ ++SOURCES += \ ++ $$PWD/src/jaricom.c \ ++ $$PWD/src/jcapimin.c \ ++ $$PWD/src/jcapistd.c \ ++ $$PWD/src/jcarith.c \ ++ $$PWD/src/jccoefct.c \ ++ $$PWD/src/jccolor.c \ ++ $$PWD/src/jcdctmgr.c \ ++ $$PWD/src/jchuff.c \ ++ $$PWD/src/jcinit.c \ ++ $$PWD/src/jcmainct.c \ ++ $$PWD/src/jcmarker.c \ ++ $$PWD/src/jcmaster.c \ ++ $$PWD/src/jcomapi.c \ ++ $$PWD/src/jcparam.c \ ++ $$PWD/src/jcprepct.c \ ++ $$PWD/src/jcsample.c \ ++ $$PWD/src/jctrans.c \ ++ $$PWD/src/jdapimin.c \ ++ $$PWD/src/jdapistd.c \ ++ $$PWD/src/jdarith.c \ ++ $$PWD/src/jdatadst.c \ ++ $$PWD/src/jdatasrc.c \ ++ $$PWD/src/jdcoefct.c \ ++ $$PWD/src/jdcolor.c \ ++ $$PWD/src/jddctmgr.c \ ++ $$PWD/src/jdhuff.c \ ++ $$PWD/src/jdinput.c \ ++ $$PWD/src/jdmainct.c \ ++ $$PWD/src/jdmarker.c \ ++ $$PWD/src/jdmaster.c \ ++ $$PWD/src/jdmerge.c \ ++ $$PWD/src/jdpostct.c \ ++ $$PWD/src/jdsample.c \ ++ $$PWD/src/jdtrans.c \ ++ $$PWD/src/jerror.c \ ++ $$PWD/src/jfdctflt.c \ ++ $$PWD/src/jfdctfst.c \ ++ $$PWD/src/jfdctint.c \ ++ $$PWD/src/jidctflt.c \ ++ $$PWD/src/jidctfst.c \ ++ $$PWD/src/jidctint.c \ ++ $$PWD/src/jquant1.c \ ++ $$PWD/src/jquant2.c \ ++ $$PWD/src/jutils.c \ ++ $$PWD/src/jmemmgr.c \ ++ $$PWD/src/jsimd_none.c \ ++ $$PWD/src/jcphuff.c \ ++ $$PWD/src/jidctred.c \ ++ $$PWD/src/jdphuff.c \ ++ $$PWD/src/jmemnobs.c ++ ++TR_EXCLUDE += $$PWD/* +diff --git a/src/3rdparty/libjpeg/jconfig.h b/src/3rdparty/libjpeg/src/jconfig.h +similarity index 100% +rename from src/3rdparty/libjpeg/jconfig.h +rename to src/3rdparty/libjpeg/src/jconfig.h +diff --git a/src/3rdparty/libpng/libpng.pro b/src/3rdparty/libpng/libpng.pro +index a2f56669b4..b71dfefd20 100644 +--- a/src/3rdparty/libpng/libpng.pro ++++ b/src/3rdparty/libpng/libpng.pro +@@ -7,6 +7,7 @@ CONFIG += \ + installed + + MODULE_INCLUDEPATH = $$PWD ++MODULE_EXT_HEADERS = png.h pngconf.h + + load(qt_helper_lib) + +diff --git a/src/3rdparty/md4c/md4c.c b/src/3rdparty/md4c/md4c.c +index b0ef739b3c..0119e7a55a 100644 +--- a/src/3rdparty/md4c/md4c.c ++++ b/src/3rdparty/md4c/md4c.c +@@ -137,19 +137,19 @@ struct MD_CTX_tag { + + /* For resolving of inline spans. */ + MD_MARKCHAIN mark_chains[13]; +-#define PTR_CHAIN ctx->mark_chains[0] +-#define TABLECELLBOUNDARIES ctx->mark_chains[1] +-#define ASTERISK_OPENERS_extraword_mod3_0 ctx->mark_chains[2] +-#define ASTERISK_OPENERS_extraword_mod3_1 ctx->mark_chains[3] +-#define ASTERISK_OPENERS_extraword_mod3_2 ctx->mark_chains[4] +-#define ASTERISK_OPENERS_intraword_mod3_0 ctx->mark_chains[5] +-#define ASTERISK_OPENERS_intraword_mod3_1 ctx->mark_chains[6] +-#define ASTERISK_OPENERS_intraword_mod3_2 ctx->mark_chains[7] +-#define UNDERSCORE_OPENERS ctx->mark_chains[8] +-#define TILDE_OPENERS_1 ctx->mark_chains[9] +-#define TILDE_OPENERS_2 ctx->mark_chains[10] +-#define BRACKET_OPENERS ctx->mark_chains[11] +-#define DOLLAR_OPENERS ctx->mark_chains[12] ++#define PTR_CHAIN (ctx->mark_chains[0]) ++#define TABLECELLBOUNDARIES (ctx->mark_chains[1]) ++#define ASTERISK_OPENERS_extraword_mod3_0 (ctx->mark_chains[2]) ++#define ASTERISK_OPENERS_extraword_mod3_1 (ctx->mark_chains[3]) ++#define ASTERISK_OPENERS_extraword_mod3_2 (ctx->mark_chains[4]) ++#define ASTERISK_OPENERS_intraword_mod3_0 (ctx->mark_chains[5]) ++#define ASTERISK_OPENERS_intraword_mod3_1 (ctx->mark_chains[6]) ++#define ASTERISK_OPENERS_intraword_mod3_2 (ctx->mark_chains[7]) ++#define UNDERSCORE_OPENERS (ctx->mark_chains[8]) ++#define TILDE_OPENERS_1 (ctx->mark_chains[9]) ++#define TILDE_OPENERS_2 (ctx->mark_chains[10]) ++#define BRACKET_OPENERS (ctx->mark_chains[11]) ++#define DOLLAR_OPENERS (ctx->mark_chains[12]) + #define OPENERS_CHAIN_FIRST 2 + #define OPENERS_CHAIN_LAST 12 + +@@ -273,13 +273,10 @@ struct MD_VERBATIMLINE_tag { + #define CH(off) (ctx->text[(off)]) + #define STR(off) (ctx->text + (off)) + +-/* Check whether the pointer points into ctx->text. */ +-#define IS_INPUT_STR(ptr) (ctx->text <= (ptr) && (ptr) < (ctx->text + ctx->size)) +- + /* Character classification. + * Note we assume ASCII compatibility of code points < 128 here. */ + #define ISIN_(ch, ch_min, ch_max) ((ch_min) <= (unsigned)(ch) && (unsigned)(ch) <= (ch_max)) +-#define ISANYOF_(ch, palette) (md_strchr((palette), (ch)) != NULL) ++#define ISANYOF_(ch, palette) ((ch) != _T('\0') && md_strchr((palette), (ch)) != NULL) + #define ISANYOF2_(ch, ch1, ch2) ((ch) == (ch1) || (ch) == (ch2)) + #define ISANYOF3_(ch, ch1, ch2, ch3) ((ch) == (ch1) || (ch) == (ch2) || (ch) == (ch3)) + #define ISASCII_(ch) ((unsigned)(ch) <= 127) +@@ -550,22 +547,22 @@ struct MD_UNICODE_FOLD_INFO_tag { + R(0x2030,0x2043), R(0x2045,0x2051), R(0x2053,0x205e), R(0x207d,0x207e), R(0x208d,0x208e), + R(0x2308,0x230b), R(0x2329,0x232a), R(0x2768,0x2775), R(0x27c5,0x27c6), R(0x27e6,0x27ef), + R(0x2983,0x2998), R(0x29d8,0x29db), R(0x29fc,0x29fd), R(0x2cf9,0x2cfc), R(0x2cfe,0x2cff), S(0x2d70), +- R(0x2e00,0x2e2e), R(0x2e30,0x2e4f), R(0x3001,0x3003), R(0x3008,0x3011), R(0x3014,0x301f), S(0x3030), +- S(0x303d), S(0x30a0), S(0x30fb), R(0xa4fe,0xa4ff), R(0xa60d,0xa60f), S(0xa673), S(0xa67e), ++ R(0x2e00,0x2e2e), R(0x2e30,0x2e4f), S(0x2e52), R(0x3001,0x3003), R(0x3008,0x3011), R(0x3014,0x301f), ++ S(0x3030), S(0x303d), S(0x30a0), S(0x30fb), R(0xa4fe,0xa4ff), R(0xa60d,0xa60f), S(0xa673), S(0xa67e), + R(0xa6f2,0xa6f7), R(0xa874,0xa877), R(0xa8ce,0xa8cf), R(0xa8f8,0xa8fa), S(0xa8fc), R(0xa92e,0xa92f), + S(0xa95f), R(0xa9c1,0xa9cd), R(0xa9de,0xa9df), R(0xaa5c,0xaa5f), R(0xaade,0xaadf), R(0xaaf0,0xaaf1), + S(0xabeb), R(0xfd3e,0xfd3f), R(0xfe10,0xfe19), R(0xfe30,0xfe52), R(0xfe54,0xfe61), S(0xfe63), S(0xfe68), + R(0xfe6a,0xfe6b), R(0xff01,0xff03), R(0xff05,0xff0a), R(0xff0c,0xff0f), R(0xff1a,0xff1b), + R(0xff1f,0xff20), R(0xff3b,0xff3d), S(0xff3f), S(0xff5b), S(0xff5d), R(0xff5f,0xff65), R(0x10100,0x10102), + S(0x1039f), S(0x103d0), S(0x1056f), S(0x10857), S(0x1091f), S(0x1093f), R(0x10a50,0x10a58), S(0x10a7f), +- R(0x10af0,0x10af6), R(0x10b39,0x10b3f), R(0x10b99,0x10b9c), R(0x10f55,0x10f59), R(0x11047,0x1104d), +- R(0x110bb,0x110bc), R(0x110be,0x110c1), R(0x11140,0x11143), R(0x11174,0x11175), R(0x111c5,0x111c8), +- S(0x111cd), S(0x111db), R(0x111dd,0x111df), R(0x11238,0x1123d), S(0x112a9), R(0x1144b,0x1144f), +- S(0x1145b), S(0x1145d), S(0x114c6), R(0x115c1,0x115d7), R(0x11641,0x11643), R(0x11660,0x1166c), +- R(0x1173c,0x1173e), S(0x1183b), S(0x119e2), R(0x11a3f,0x11a46), R(0x11a9a,0x11a9c), R(0x11a9e,0x11aa2), +- R(0x11c41,0x11c45), R(0x11c70,0x11c71), R(0x11ef7,0x11ef8), S(0x11fff), R(0x12470,0x12474), +- R(0x16a6e,0x16a6f), S(0x16af5), R(0x16b37,0x16b3b), S(0x16b44), R(0x16e97,0x16e9a), S(0x16fe2), +- S(0x1bc9f), R(0x1da87,0x1da8b), R(0x1e95e,0x1e95f) ++ R(0x10af0,0x10af6), R(0x10b39,0x10b3f), R(0x10b99,0x10b9c), S(0x10ead), R(0x10f55,0x10f59), ++ R(0x11047,0x1104d), R(0x110bb,0x110bc), R(0x110be,0x110c1), R(0x11140,0x11143), R(0x11174,0x11175), ++ R(0x111c5,0x111c8), S(0x111cd), S(0x111db), R(0x111dd,0x111df), R(0x11238,0x1123d), S(0x112a9), ++ R(0x1144b,0x1144f), R(0x1145a,0x1145b), S(0x1145d), S(0x114c6), R(0x115c1,0x115d7), R(0x11641,0x11643), ++ R(0x11660,0x1166c), R(0x1173c,0x1173e), S(0x1183b), R(0x11944,0x11946), S(0x119e2), R(0x11a3f,0x11a46), ++ R(0x11a9a,0x11a9c), R(0x11a9e,0x11aa2), R(0x11c41,0x11c45), R(0x11c70,0x11c71), R(0x11ef7,0x11ef8), ++ S(0x11fff), R(0x12470,0x12474), R(0x16a6e,0x16a6f), S(0x16af5), R(0x16b37,0x16b3b), S(0x16b44), ++ R(0x16e97,0x16e9a), S(0x16fe2), S(0x1bc9f), R(0x1da87,0x1da8b), R(0x1e95e,0x1e95f) + }; + #undef R + #undef S +@@ -588,52 +585,56 @@ struct MD_UNICODE_FOLD_INFO_tag { + static const unsigned FOLD_MAP_1[] = { + R(0x0041,0x005a), S(0x00b5), R(0x00c0,0x00d6), R(0x00d8,0x00de), R(0x0100,0x012e), R(0x0132,0x0136), + R(0x0139,0x0147), R(0x014a,0x0176), S(0x0178), R(0x0179,0x017d), S(0x017f), S(0x0181), S(0x0182), +- S(0x0186), S(0x0187), S(0x0189), S(0x018b), S(0x018e), S(0x018f), S(0x0190), S(0x0191), S(0x0193), +- S(0x0194), S(0x0196), S(0x0197), S(0x0198), S(0x019c), S(0x019d), S(0x019f), R(0x01a0,0x01a4), S(0x01a6), +- S(0x01a7), S(0x01a9), S(0x01ac), S(0x01ae), S(0x01af), S(0x01b1), S(0x01b3), S(0x01b7), S(0x01b8), +- S(0x01bc), S(0x01c4), S(0x01c5), S(0x01c7), S(0x01c8), S(0x01ca), R(0x01cb,0x01db), R(0x01de,0x01ee), +- S(0x01f1), S(0x01f2), S(0x01f6), S(0x01f7), R(0x01f8,0x021e), S(0x0220), R(0x0222,0x0232), S(0x023a), +- S(0x023b), S(0x023d), S(0x023e), S(0x0241), S(0x0243), S(0x0244), S(0x0245), R(0x0246,0x024e), S(0x0345), +- S(0x0370), S(0x0376), S(0x037f), S(0x0386), R(0x0388,0x038a), S(0x038c), S(0x038e), R(0x0391,0x03a1), +- R(0x03a3,0x03ab), S(0x03c2), S(0x03cf), S(0x03d0), S(0x03d1), S(0x03d5), S(0x03d6), R(0x03d8,0x03ee), +- S(0x03f0), S(0x03f1), S(0x03f4), S(0x03f5), S(0x03f7), S(0x03f9), S(0x03fa), R(0x03fd,0x03ff), +- R(0x0400,0x040f), R(0x0410,0x042f), R(0x0460,0x0480), R(0x048a,0x04be), S(0x04c0), R(0x04c1,0x04cd), +- R(0x04d0,0x052e), R(0x0531,0x0556), R(0x10a0,0x10c5), S(0x10c7), S(0x10cd), R(0x13f8,0x13fd), S(0x1c80), +- S(0x1c81), S(0x1c82), S(0x1c83), S(0x1c85), S(0x1c86), S(0x1c87), S(0x1c88), R(0x1c90,0x1cba), ++ S(0x0184), S(0x0186), S(0x0187), S(0x0189), S(0x018a), S(0x018b), S(0x018e), S(0x018f), S(0x0190), ++ S(0x0191), S(0x0193), S(0x0194), S(0x0196), S(0x0197), S(0x0198), S(0x019c), S(0x019d), S(0x019f), ++ R(0x01a0,0x01a4), S(0x01a6), S(0x01a7), S(0x01a9), S(0x01ac), S(0x01ae), S(0x01af), S(0x01b1), S(0x01b2), ++ S(0x01b3), S(0x01b5), S(0x01b7), S(0x01b8), S(0x01bc), S(0x01c4), S(0x01c5), S(0x01c7), S(0x01c8), ++ S(0x01ca), R(0x01cb,0x01db), R(0x01de,0x01ee), S(0x01f1), S(0x01f2), S(0x01f4), S(0x01f6), S(0x01f7), ++ R(0x01f8,0x021e), S(0x0220), R(0x0222,0x0232), S(0x023a), S(0x023b), S(0x023d), S(0x023e), S(0x0241), ++ S(0x0243), S(0x0244), S(0x0245), R(0x0246,0x024e), S(0x0345), S(0x0370), S(0x0372), S(0x0376), S(0x037f), ++ S(0x0386), R(0x0388,0x038a), S(0x038c), S(0x038e), S(0x038f), R(0x0391,0x03a1), R(0x03a3,0x03ab), ++ S(0x03c2), S(0x03cf), S(0x03d0), S(0x03d1), S(0x03d5), S(0x03d6), R(0x03d8,0x03ee), S(0x03f0), S(0x03f1), ++ S(0x03f4), S(0x03f5), S(0x03f7), S(0x03f9), S(0x03fa), R(0x03fd,0x03ff), R(0x0400,0x040f), ++ R(0x0410,0x042f), R(0x0460,0x0480), R(0x048a,0x04be), S(0x04c0), R(0x04c1,0x04cd), R(0x04d0,0x052e), ++ R(0x0531,0x0556), R(0x10a0,0x10c5), S(0x10c7), S(0x10cd), R(0x13f8,0x13fd), S(0x1c80), S(0x1c81), ++ S(0x1c82), S(0x1c83), S(0x1c84), S(0x1c85), S(0x1c86), S(0x1c87), S(0x1c88), R(0x1c90,0x1cba), + R(0x1cbd,0x1cbf), R(0x1e00,0x1e94), S(0x1e9b), R(0x1ea0,0x1efe), R(0x1f08,0x1f0f), R(0x1f18,0x1f1d), + R(0x1f28,0x1f2f), R(0x1f38,0x1f3f), R(0x1f48,0x1f4d), S(0x1f59), S(0x1f5b), S(0x1f5d), S(0x1f5f), +- R(0x1f68,0x1f6f), S(0x1fb8), S(0x1fba), S(0x1fbe), R(0x1fc8,0x1fcb), S(0x1fd8), S(0x1fda), S(0x1fe8), +- S(0x1fea), S(0x1fec), S(0x1ff8), S(0x1ffa), S(0x2126), S(0x212a), S(0x212b), S(0x2132), R(0x2160,0x216f), +- S(0x2183), R(0x24b6,0x24cf), R(0x2c00,0x2c2e), S(0x2c60), S(0x2c62), S(0x2c63), S(0x2c64), +- R(0x2c67,0x2c6b), S(0x2c6d), S(0x2c6e), S(0x2c6f), S(0x2c70), S(0x2c72), S(0x2c75), S(0x2c7e), +- R(0x2c80,0x2ce2), S(0x2ceb), S(0x2cf2), R(0xa640,0xa66c), R(0xa680,0xa69a), R(0xa722,0xa72e), +- R(0xa732,0xa76e), S(0xa779), S(0xa77d), R(0xa77e,0xa786), S(0xa78b), S(0xa78d), S(0xa790), ++ R(0x1f68,0x1f6f), S(0x1fb8), S(0x1fb9), S(0x1fba), S(0x1fbb), S(0x1fbe), R(0x1fc8,0x1fcb), S(0x1fd8), ++ S(0x1fd9), S(0x1fda), S(0x1fdb), S(0x1fe8), S(0x1fe9), S(0x1fea), S(0x1feb), S(0x1fec), S(0x1ff8), ++ S(0x1ff9), S(0x1ffa), S(0x1ffb), S(0x2126), S(0x212a), S(0x212b), S(0x2132), R(0x2160,0x216f), S(0x2183), ++ R(0x24b6,0x24cf), R(0x2c00,0x2c2e), S(0x2c60), S(0x2c62), S(0x2c63), S(0x2c64), R(0x2c67,0x2c6b), ++ S(0x2c6d), S(0x2c6e), S(0x2c6f), S(0x2c70), S(0x2c72), S(0x2c75), S(0x2c7e), S(0x2c7f), R(0x2c80,0x2ce2), ++ S(0x2ceb), S(0x2ced), S(0x2cf2), R(0xa640,0xa66c), R(0xa680,0xa69a), R(0xa722,0xa72e), R(0xa732,0xa76e), ++ S(0xa779), S(0xa77b), S(0xa77d), R(0xa77e,0xa786), S(0xa78b), S(0xa78d), S(0xa790), S(0xa792), + R(0xa796,0xa7a8), S(0xa7aa), S(0xa7ab), S(0xa7ac), S(0xa7ad), S(0xa7ae), S(0xa7b0), S(0xa7b1), S(0xa7b2), +- S(0xa7b3), R(0xa7b4,0xa7be), S(0xa7c2), S(0xa7c4), S(0xa7c5), S(0xa7c6), R(0xab70,0xabbf), +- R(0xff21,0xff3a), R(0x10400,0x10427), R(0x104b0,0x104d3), R(0x10c80,0x10cb2), R(0x118a0,0x118bf), +- R(0x16e40,0x16e5f), R(0x1e900,0x1e921) ++ S(0xa7b3), R(0xa7b4,0xa7be), S(0xa7c2), S(0xa7c4), S(0xa7c5), S(0xa7c6), S(0xa7c7), S(0xa7c9), S(0xa7f5), ++ R(0xab70,0xabbf), R(0xff21,0xff3a), R(0x10400,0x10427), R(0x104b0,0x104d3), R(0x10c80,0x10cb2), ++ R(0x118a0,0x118bf), R(0x16e40,0x16e5f), R(0x1e900,0x1e921) + }; + static const unsigned FOLD_MAP_1_DATA[] = { + 0x0061, 0x007a, 0x03bc, 0x00e0, 0x00f6, 0x00f8, 0x00fe, 0x0101, 0x012f, 0x0133, 0x0137, 0x013a, 0x0148, +- 0x014b, 0x0177, 0x00ff, 0x017a, 0x017e, 0x0073, 0x0253, 0x0183, 0x0254, 0x0188, 0x0256, 0x018c, 0x01dd, +- 0x0259, 0x025b, 0x0192, 0x0260, 0x0263, 0x0269, 0x0268, 0x0199, 0x026f, 0x0272, 0x0275, 0x01a1, 0x01a5, +- 0x0280, 0x01a8, 0x0283, 0x01ad, 0x0288, 0x01b0, 0x028a, 0x01b4, 0x0292, 0x01b9, 0x01bd, 0x01c6, 0x01c6, +- 0x01c9, 0x01c9, 0x01cc, 0x01cc, 0x01dc, 0x01df, 0x01ef, 0x01f3, 0x01f3, 0x0195, 0x01bf, 0x01f9, 0x021f, +- 0x019e, 0x0223, 0x0233, 0x2c65, 0x023c, 0x019a, 0x2c66, 0x0242, 0x0180, 0x0289, 0x028c, 0x0247, 0x024f, +- 0x03b9, 0x0371, 0x0377, 0x03f3, 0x03ac, 0x03ad, 0x03af, 0x03cc, 0x03cd, 0x03b1, 0x03c1, 0x03c3, 0x03cb, +- 0x03c3, 0x03d7, 0x03b2, 0x03b8, 0x03c6, 0x03c0, 0x03d9, 0x03ef, 0x03ba, 0x03c1, 0x03b8, 0x03b5, 0x03f8, +- 0x03f2, 0x03fb, 0x037b, 0x037d, 0x0450, 0x045f, 0x0430, 0x044f, 0x0461, 0x0481, 0x048b, 0x04bf, 0x04cf, +- 0x04c2, 0x04ce, 0x04d1, 0x052f, 0x0561, 0x0586, 0x2d00, 0x2d25, 0x2d27, 0x2d2d, 0x13f0, 0x13f5, 0x0432, +- 0x0434, 0x043e, 0x0441, 0x0442, 0x044a, 0x0463, 0xa64b, 0x10d0, 0x10fa, 0x10fd, 0x10ff, 0x1e01, 0x1e95, +- 0x1e61, 0x1ea1, 0x1eff, 0x1f00, 0x1f07, 0x1f10, 0x1f15, 0x1f20, 0x1f27, 0x1f30, 0x1f37, 0x1f40, 0x1f45, +- 0x1f51, 0x1f53, 0x1f55, 0x1f57, 0x1f60, 0x1f67, 0x1fb0, 0x1f70, 0x03b9, 0x1f72, 0x1f75, 0x1fd0, 0x1f76, +- 0x1fe0, 0x1f7a, 0x1fe5, 0x1f78, 0x1f7c, 0x03c9, 0x006b, 0x00e5, 0x214e, 0x2170, 0x217f, 0x2184, 0x24d0, +- 0x24e9, 0x2c30, 0x2c5e, 0x2c61, 0x026b, 0x1d7d, 0x027d, 0x2c68, 0x2c6c, 0x0251, 0x0271, 0x0250, 0x0252, +- 0x2c73, 0x2c76, 0x023f, 0x2c81, 0x2ce3, 0x2cec, 0x2cf3, 0xa641, 0xa66d, 0xa681, 0xa69b, 0xa723, 0xa72f, +- 0xa733, 0xa76f, 0xa77a, 0x1d79, 0xa77f, 0xa787, 0xa78c, 0x0265, 0xa791, 0xa797, 0xa7a9, 0x0266, 0x025c, +- 0x0261, 0x026c, 0x026a, 0x029e, 0x0287, 0x029d, 0xab53, 0xa7b5, 0xa7bf, 0xa7c3, 0xa794, 0x0282, 0x1d8e, +- 0x13a0, 0x13ef, 0xff41, 0xff5a, 0x10428, 0x1044f, 0x104d8, 0x104fb, 0x10cc0, 0x10cf2, 0x118c0, 0x118df, +- 0x16e60, 0x16e7f, 0x1e922, 0x1e943 ++ 0x014b, 0x0177, 0x00ff, 0x017a, 0x017e, 0x0073, 0x0253, 0x0183, 0x0185, 0x0254, 0x0188, 0x0256, 0x0257, ++ 0x018c, 0x01dd, 0x0259, 0x025b, 0x0192, 0x0260, 0x0263, 0x0269, 0x0268, 0x0199, 0x026f, 0x0272, 0x0275, ++ 0x01a1, 0x01a5, 0x0280, 0x01a8, 0x0283, 0x01ad, 0x0288, 0x01b0, 0x028a, 0x028b, 0x01b4, 0x01b6, 0x0292, ++ 0x01b9, 0x01bd, 0x01c6, 0x01c6, 0x01c9, 0x01c9, 0x01cc, 0x01cc, 0x01dc, 0x01df, 0x01ef, 0x01f3, 0x01f3, ++ 0x01f5, 0x0195, 0x01bf, 0x01f9, 0x021f, 0x019e, 0x0223, 0x0233, 0x2c65, 0x023c, 0x019a, 0x2c66, 0x0242, ++ 0x0180, 0x0289, 0x028c, 0x0247, 0x024f, 0x03b9, 0x0371, 0x0373, 0x0377, 0x03f3, 0x03ac, 0x03ad, 0x03af, ++ 0x03cc, 0x03cd, 0x03ce, 0x03b1, 0x03c1, 0x03c3, 0x03cb, 0x03c3, 0x03d7, 0x03b2, 0x03b8, 0x03c6, 0x03c0, ++ 0x03d9, 0x03ef, 0x03ba, 0x03c1, 0x03b8, 0x03b5, 0x03f8, 0x03f2, 0x03fb, 0x037b, 0x037d, 0x0450, 0x045f, ++ 0x0430, 0x044f, 0x0461, 0x0481, 0x048b, 0x04bf, 0x04cf, 0x04c2, 0x04ce, 0x04d1, 0x052f, 0x0561, 0x0586, ++ 0x2d00, 0x2d25, 0x2d27, 0x2d2d, 0x13f0, 0x13f5, 0x0432, 0x0434, 0x043e, 0x0441, 0x0442, 0x0442, 0x044a, ++ 0x0463, 0xa64b, 0x10d0, 0x10fa, 0x10fd, 0x10ff, 0x1e01, 0x1e95, 0x1e61, 0x1ea1, 0x1eff, 0x1f00, 0x1f07, ++ 0x1f10, 0x1f15, 0x1f20, 0x1f27, 0x1f30, 0x1f37, 0x1f40, 0x1f45, 0x1f51, 0x1f53, 0x1f55, 0x1f57, 0x1f60, ++ 0x1f67, 0x1fb0, 0x1fb1, 0x1f70, 0x1f71, 0x03b9, 0x1f72, 0x1f75, 0x1fd0, 0x1fd1, 0x1f76, 0x1f77, 0x1fe0, ++ 0x1fe1, 0x1f7a, 0x1f7b, 0x1fe5, 0x1f78, 0x1f79, 0x1f7c, 0x1f7d, 0x03c9, 0x006b, 0x00e5, 0x214e, 0x2170, ++ 0x217f, 0x2184, 0x24d0, 0x24e9, 0x2c30, 0x2c5e, 0x2c61, 0x026b, 0x1d7d, 0x027d, 0x2c68, 0x2c6c, 0x0251, ++ 0x0271, 0x0250, 0x0252, 0x2c73, 0x2c76, 0x023f, 0x0240, 0x2c81, 0x2ce3, 0x2cec, 0x2cee, 0x2cf3, 0xa641, ++ 0xa66d, 0xa681, 0xa69b, 0xa723, 0xa72f, 0xa733, 0xa76f, 0xa77a, 0xa77c, 0x1d79, 0xa77f, 0xa787, 0xa78c, ++ 0x0265, 0xa791, 0xa793, 0xa797, 0xa7a9, 0x0266, 0x025c, 0x0261, 0x026c, 0x026a, 0x029e, 0x0287, 0x029d, ++ 0xab53, 0xa7b5, 0xa7bf, 0xa7c3, 0xa794, 0x0282, 0x1d8e, 0xa7c8, 0xa7ca, 0xa7f6, 0x13a0, 0x13ef, 0xff41, ++ 0xff5a, 0x10428, 0x1044f, 0x104d8, 0x104fb, 0x10cc0, 0x10cf2, 0x118c0, 0x118df, 0x16e60, 0x16e7f, 0x1e922, ++ 0x1e943 + }; + static const unsigned FOLD_MAP_2[] = { + S(0x00df), S(0x0130), S(0x0149), S(0x01f0), S(0x0587), S(0x1e96), S(0x1e97), S(0x1e98), S(0x1e99), +@@ -1495,6 +1496,8 @@ struct MD_REF_DEF_tag { + SZ title_size; + OFF dest_beg; + OFF dest_end; ++ unsigned char label_needs_free : 1; ++ unsigned char title_needs_free : 1; + }; + + /* Label equivalence is quite complicated with regards to whitespace and case +@@ -1574,8 +1577,8 @@ md_link_label_cmp(const CHAR* a_label, SZ a_size, const CHAR* b_label, SZ b_size + OFF b_off; + int a_reached_end = FALSE; + int b_reached_end = FALSE; +- MD_UNICODE_FOLD_INFO a_fi = { 0 }; +- MD_UNICODE_FOLD_INFO b_fi = { 0 }; ++ MD_UNICODE_FOLD_INFO a_fi = { { 0 }, 0 }; ++ MD_UNICODE_FOLD_INFO b_fi = { { 0 }, 0 }; + OFF a_fi_off = 0; + OFF b_fi_off = 0; + int cmp; +@@ -2074,20 +2077,18 @@ md_is_link_reference_definition(MD_CTX* ctx, const MD_LINE* lines, int n_lines) + OFF label_contents_beg; + OFF label_contents_end; + int label_contents_line_index = -1; +- int label_is_multiline; +- CHAR* label = NULL; +- SZ label_size; ++ int label_is_multiline = FALSE; + OFF dest_contents_beg; + OFF dest_contents_end; + OFF title_contents_beg; + OFF title_contents_end; + int title_contents_line_index; +- int title_is_multiline; ++ int title_is_multiline = FALSE; + OFF off; + int line_index = 0; + int tmp_line_index; +- MD_REF_DEF* def; +- int ret; ++ MD_REF_DEF* def = NULL; ++ int ret = 0; + + /* Link label. */ + if(!md_is_link_label(ctx, lines, n_lines, lines[0].beg, +@@ -2138,17 +2139,7 @@ md_is_link_reference_definition(MD_CTX* ctx, const MD_LINE* lines, int n_lines) + if(off < lines[line_index].end) + return FALSE; + +- /* Construct label. */ +- if(!label_is_multiline) { +- label = (CHAR*) STR(label_contents_beg); +- label_size = label_contents_end - label_contents_beg; +- } else { +- MD_CHECK(md_merge_lines_alloc(ctx, label_contents_beg, label_contents_end, +- lines + label_contents_line_index, n_lines - label_contents_line_index, +- _T(' '), &label, &label_size)); +- } +- +- /* Store the reference definition. */ ++ /* So, it _is_ a reference definition. Remember it. */ + if(ctx->n_ref_defs >= ctx->alloc_ref_defs) { + MD_REF_DEF* new_defs; + +@@ -2163,36 +2154,42 @@ md_is_link_reference_definition(MD_CTX* ctx, const MD_LINE* lines, int n_lines) + + ctx->ref_defs = new_defs; + } +- + def = &ctx->ref_defs[ctx->n_ref_defs]; + memset(def, 0, sizeof(MD_REF_DEF)); + +- def->label = label; +- def->label_size = label_size; +- +- def->dest_beg = dest_contents_beg; +- def->dest_end = dest_contents_end; +- +- if(title_contents_beg >= title_contents_end) { +- def->title = NULL; +- def->title_size = 0; +- } else if(!title_is_multiline) { +- def->title = (CHAR*) STR(title_contents_beg); +- def->title_size = title_contents_end - title_contents_beg; ++ if(label_is_multiline) { ++ MD_CHECK(md_merge_lines_alloc(ctx, label_contents_beg, label_contents_end, ++ lines + label_contents_line_index, n_lines - label_contents_line_index, ++ _T(' '), &def->label, &def->label_size)); ++ def->label_needs_free = TRUE; + } else { ++ def->label = (CHAR*) STR(label_contents_beg); ++ def->label_size = label_contents_end - label_contents_beg; ++ } ++ ++ if(title_is_multiline) { + MD_CHECK(md_merge_lines_alloc(ctx, title_contents_beg, title_contents_end, + lines + title_contents_line_index, n_lines - title_contents_line_index, + _T('\n'), &def->title, &def->title_size)); ++ def->title_needs_free = TRUE; ++ } else { ++ def->title = (CHAR*) STR(title_contents_beg); ++ def->title_size = title_contents_end - title_contents_beg; + } + ++ def->dest_beg = dest_contents_beg; ++ def->dest_end = dest_contents_end; ++ + /* Success. */ + ctx->n_ref_defs++; + return line_index + 1; + + abort: + /* Failure. */ +- if(!IS_INPUT_STR(label)) +- free(label); ++ if(def != NULL && def->label_needs_free) ++ free(def->label); ++ if(def != NULL && def->title_needs_free) ++ free(def->title); + return ret; + } + +@@ -2241,7 +2238,7 @@ md_is_link_reference(MD_CTX* ctx, const MD_LINE* lines, int n_lines, + attr->title_needs_free = FALSE; + } + +- if(!IS_INPUT_STR(label)) ++ if(beg_line != end_line) + free(label); + + ret = (def != NULL); +@@ -2355,9 +2352,9 @@ md_free_ref_defs(MD_CTX* ctx) + for(i = 0; i < ctx->n_ref_defs; i++) { + MD_REF_DEF* def = &ctx->ref_defs[i]; + +- if(!IS_INPUT_STR(def->label)) ++ if(def->label_needs_free) + free(def->label); +- if(!IS_INPUT_STR(def->title)) ++ if(def->title_needs_free) + free(def->title); + } + +@@ -2728,7 +2725,7 @@ md_build_mark_char_map(MD_CTX* ctx) + } + } + +-/* We limit code span marks to lower then 32 backticks. This solves the ++/* We limit code span marks to lower than 32 backticks. This solves the + * pathologic case of too many openers, each of different length: Their + * resolving would be then O(n^2). */ + #define CODESPAN_MARK_MAXLEN 32 +@@ -3447,7 +3444,7 @@ md_resolve_links(MD_CTX* ctx, const MD_LINE* lines, int n_lines) + + is_link = TRUE; + +- /* We don't allow destination to be longer then 100 characters. ++ /* We don't allow destination to be longer than 100 characters. + * Lets scan to see whether there is '|'. (If not then the whole + * wiki-link has to be below the 100 characters.) */ + delim_index = opener_index + 1; +@@ -3550,7 +3547,7 @@ md_resolve_links(MD_CTX* ctx, const MD_LINE* lines, int n_lines) + if((mark->flags & (MD_MARK_OPENER | MD_MARK_RESOLVED)) == (MD_MARK_OPENER | MD_MARK_RESOLVED)) { + if(ctx->marks[mark->next].beg >= inline_link_end) { + /* Cancel the link status. */ +- if(!IS_INPUT_STR(attr.title)) ++ if(attr.title_needs_free) + free(attr.title); + is_link = FALSE; + break; +@@ -4582,9 +4579,9 @@ md_process_verbatim_block_contents(MD_CTX* ctx, MD_TEXTTYPE text_type, const MD_ + MD_ASSERT(indent >= 0); + + /* Output code indentation. */ +- while(indent > (int) SIZEOF_ARRAY(indent_chunk_str)) { ++ while(indent > (int) indent_chunk_size) { + MD_TEXT(text_type, indent_chunk_str, indent_chunk_size); +- indent -= SIZEOF_ARRAY(indent_chunk_str); ++ indent -= indent_chunk_size; + } + if(indent > 0) + MD_TEXT(text_type, indent_chunk_str, indent); +@@ -5811,7 +5808,7 @@ md_analyze_line(MD_CTX* ctx, OFF beg, OFF* p_end, + #if 1 + /* This is 2nd half of the hack. If the flag is set (that is there + * were 2nd blank line at the start of the list item) and we would also +- * belonging to such list item, then interrupt the list. */ ++ * belonging to such list item, than interrupt the list. */ + ctx->last_line_has_list_loosening_effect = FALSE; + if(ctx->last_list_item_starts_with_two_blank_lines) { + if(n_parents > 0 && ctx->containers[n_parents-1].ch != _T('>') && +diff --git a/src/3rdparty/md4c/md4c.h b/src/3rdparty/md4c/md4c.h +index c2c4311f50..8bba71242d 100644 +--- a/src/3rdparty/md4c/md4c.h ++++ b/src/3rdparty/md4c/md4c.h +@@ -23,15 +23,15 @@ + * IN THE SOFTWARE. + */ + +-#ifndef MD4C_MARKDOWN_H +-#define MD4C_MARKDOWN_H ++#ifndef MD4C_H ++#define MD4C_H + + #ifdef __cplusplus + extern "C" { + #endif + + #if defined MD4C_USE_UTF16 +- /* Magic to support UTF-16. Not that in order to use it, you have to define ++ /* Magic to support UTF-16. Note that in order to use it, you have to define + * the macro MD4C_USE_UTF16 both when building MD4C as well as when + * including this header in your code. */ + #ifdef _WIN32 +@@ -119,7 +119,7 @@ typedef enum MD_SPANTYPE { + * Detail: Structure MD_SPAN_IMG_DETAIL. + * Note: Image text can contain nested spans and even nested images. + * If rendered into ALT attribute of HTML tag, it's responsibility +- * of the renderer to deal with it. ++ * of the parser to deal with it. + */ + MD_SPAN_IMG, + +@@ -171,7 +171,7 @@ typedef enum MD_TEXTTYPE { + * (c) Hexadecimal entity, e.g. ካ + * + * As MD4C is mostly encoding agnostic, application gets the verbatim +- * entity text into the MD_RENDERER::text_callback(). */ ++ * entity text into the MD_PARSER::text_callback(). */ + MD_TEXT_ENTITY, + + /* Text in a code block (inside MD_BLOCK_CODE) or inlined code (`code`). +@@ -206,8 +206,13 @@ typedef enum MD_ALIGN { + * propagated within various detailed structures, but which still may contain + * string portions of different types like e.g. entities. + * +- * So, for example, lets consider an image has a title attribute string +- * set to "foo " bar". (Note the string size is 14.) ++ * So, for example, lets consider this image: ++ * ++ * ![image alt text](http://example.org/image.png 'foo " bar') ++ * ++ * The image alt text is propagated as a normal text via the MD_PARSER::text() ++ * callback. However, the image title ('foo " bar') is propagated as ++ * MD_ATTRIBUTE in MD_SPAN_IMG_DETAIL::title. + * + * Then the attribute MD_SPAN_IMG_DETAIL::title shall provide the following: + * -- [0]: "foo " (substr_types[0] == MD_TEXT_NORMAL; substr_offsets[0] == 0) +@@ -215,10 +220,12 @@ typedef enum MD_ALIGN { + * -- [2]: " bar" (substr_types[2] == MD_TEXT_NORMAL; substr_offsets[2] == 10) + * -- [3]: (n/a) (n/a ; substr_offsets[3] == 14) + * +- * Note that these conditions are guaranteed: ++ * Note that these invariants are always guaranteed: + * -- substr_offsets[0] == 0 + * -- substr_offsets[LAST+1] == size +- * -- Only MD_TEXT_NORMAL, MD_TEXT_ENTITY, MD_TEXT_NULLCHAR substrings can appear. ++ * -- Currently, only MD_TEXT_NORMAL, MD_TEXT_ENTITY, MD_TEXT_NULLCHAR ++ * substrings can appear. This could change only of the specification ++ * changes. + */ + typedef struct MD_ATTRIBUTE { + const MD_CHAR* text; +@@ -284,7 +291,7 @@ typedef struct MD_SPAN_WIKILINK { + + /* Flags specifying extensions/deviations from CommonMark specification. + * +- * By default (when MD_RENDERER::flags == 0), we follow CommonMark specification. ++ * By default (when MD_PARSER::flags == 0), we follow CommonMark specification. + * The following flags may allow some extensions or deviations from it. + */ + #define MD_FLAG_COLLAPSEWHITESPACE 0x0001 /* In MD_TEXT_NORMAL, collapse non-trivial whitespace into single ' ' */ +@@ -317,7 +324,7 @@ typedef struct MD_SPAN_WIKILINK { + #define MD_DIALECT_COMMONMARK 0 + #define MD_DIALECT_GITHUB (MD_FLAG_PERMISSIVEAUTOLINKS | MD_FLAG_TABLES | MD_FLAG_STRIKETHROUGH | MD_FLAG_TASKLISTS) + +-/* Renderer structure. ++/* Parser structure. + */ + typedef struct MD_PARSER { + /* Reserved. Set to zero. +@@ -338,9 +345,10 @@ typedef struct MD_PARSER { + * + * Note any strings provided to the callbacks as their arguments or as + * members of any detail structure are generally not zero-terminated. +- * Application has take the respective size information into account. ++ * Application has to take the respective size information into account. + * +- * Callbacks may abort further parsing of the document by returning non-zero. ++ * Any rendering callback may abort further parsing of the document by ++ * returning non-zero. + */ + int (*enter_block)(MD_BLOCKTYPE /*type*/, void* /*detail*/, void* /*userdata*/); + int (*leave_block)(MD_BLOCKTYPE /*type*/, void* /*detail*/, void* /*userdata*/); +@@ -365,18 +373,19 @@ typedef struct MD_PARSER { + } MD_PARSER; + + +-/* For backward compatibility. Do not use in new code. */ ++/* For backward compatibility. Do not use in new code. ++ */ + typedef MD_PARSER MD_RENDERER; + + + /* Parse the Markdown document stored in the string 'text' of size 'size'. +- * The renderer provides callbacks to be called during the parsing so the ++ * The parser provides callbacks to be called during the parsing so the + * caller can render the document on the screen or convert the Markdown + * to another format. + * + * Zero is returned on success. If a runtime error occurs (e.g. a memory + * fails), -1 is returned. If the processing is aborted due any callback +- * returning non-zero, md_parse() the return value of the callback is returned. ++ * returning non-zero, the return value of the callback is returned. + */ + int md_parse(const MD_CHAR* text, MD_SIZE size, const MD_PARSER* parser, void* userdata); + +@@ -385,4 +394,4 @@ int md_parse(const MD_CHAR* text, MD_SIZE size, const MD_PARSER* parser, void* u + } /* extern "C" { */ + #endif + +-#endif /* MD4C_MARKDOWN_H */ ++#endif /* MD4C_H */ +diff --git a/src/3rdparty/md4c/qt_attribution.json b/src/3rdparty/md4c/qt_attribution.json +index c574b97711..024cf5ed80 100644 +--- a/src/3rdparty/md4c/qt_attribution.json ++++ b/src/3rdparty/md4c/qt_attribution.json +@@ -9,7 +9,7 @@ + "License": "MIT License", + "LicenseId": "MIT", + "LicenseFile": "LICENSE.md", +- "Version": "0.4.3", +- "DownloadLocation": "https://github.com/mity/md4c/releases/tag/release-0.4.3", ++ "Version": "0.4.6", ++ "DownloadLocation": "https://github.com/mity/md4c/releases/tag/release-0.4.6", + "Copyright": "Copyright © 2016-2020 Martin Mitáš" + } +diff --git a/src/3rdparty/pcre2/AUTHORS b/src/3rdparty/pcre2/AUTHORS +index 645c0657b3..f001cb770e 100644 +--- a/src/3rdparty/pcre2/AUTHORS ++++ b/src/3rdparty/pcre2/AUTHORS +@@ -2,8 +2,8 @@ THE MAIN PCRE2 LIBRARY CODE + --------------------------- + + Written by: Philip Hazel +-Email local part: ph10 +-Email domain: cam.ac.uk ++Email local part: Philip.Hazel ++Email domain: gmail.com + + University of Cambridge Computing Service, + Cambridge, England. +diff --git a/src/3rdparty/pcre2/LICENCE b/src/3rdparty/pcre2/LICENCE +index 1568be3a17..155d073127 100644 +--- a/src/3rdparty/pcre2/LICENCE ++++ b/src/3rdparty/pcre2/LICENCE +@@ -20,8 +20,8 @@ THE BASIC LIBRARY FUNCTIONS + --------------------------- + + Written by: Philip Hazel +-Email local part: ph10 +-Email domain: cam.ac.uk ++Email local part: Philip.Hazel ++Email domain: gmail.com + + University of Cambridge Computing Service, + Cambridge, England. +diff --git a/src/3rdparty/pcre2/import_from_pcre2_tarball.sh b/src/3rdparty/pcre2/import_from_pcre2_tarball.sh +index 0a308d8104..c7abb7d297 100755 +--- a/src/3rdparty/pcre2/import_from_pcre2_tarball.sh ++++ b/src/3rdparty/pcre2/import_from_pcre2_tarball.sh +@@ -128,14 +128,15 @@ FILES=" + src/sljit/sljitNativePPC_32.c + src/sljit/sljitNativePPC_64.c + src/sljit/sljitNativePPC_common.c ++ src/sljit/sljitNativeS390X.c + src/sljit/sljitNativeSPARC_32.c + src/sljit/sljitNativeSPARC_common.c +- src/sljit/sljitNativeTILEGX_64.c +- src/sljit/sljitNativeTILEGX-encoder.c + src/sljit/sljitNativeX86_32.c + src/sljit/sljitNativeX86_64.c + src/sljit/sljitNativeX86_common.c ++ src/sljit/sljitProtExecAllocator.c + src/sljit/sljitUtils.c ++ src/sljit/sljitWXExecAllocator.c + " + + for i in $FILES; do +diff --git a/src/3rdparty/pcre2/patches/0001-fix-rtems-build-undefine-madvise.patch b/src/3rdparty/pcre2/patches/0001-fix-rtems-build-undefine-madvise.patch +deleted file mode 100644 +index 074b39df85..0000000000 +--- a/src/3rdparty/pcre2/patches/0001-fix-rtems-build-undefine-madvise.patch ++++ /dev/null +@@ -1,28 +0,0 @@ +-From ac10063196685fe6124055feb1275e13a78f562e Mon Sep 17 00:00:00 2001 +-From: Mikhail Svetkin +-Date: Tue, 20 Mar 2018 14:03:54 +0100 +-Subject: [PATCH] rtems: Fix pcre2 build (madvise undefined) +- +-RTEMS does not have madvise. We can use only posix_madvise +- +-Change-Id: Ia18b7cd2d7f9db84331f7e2350d060b9e85b30c8 +---- +- src/3rdparty/pcre2/src/sljit/sljitUtils.c | 2 +- +- 1 file changed, 1 insertion(+), 1 deletion(-) +- +-diff --git a/src/3rdparty/pcre2/src/sljit/sljitUtils.c b/src/3rdparty/pcre2/src/sljit/sljitUtils.c +-index 5c2a838932..2ead044b1b 100644 +---- a/src/3rdparty/pcre2/src/sljit/sljitUtils.c +-+++ b/src/3rdparty/pcre2/src/sljit/sljitUtils.c +-@@ -315,7 +315,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_st +- aligned_new_start = (sljit_uw)new_start & ~sljit_page_align; +- aligned_old_start = ((sljit_uw)stack->start) & ~sljit_page_align; +- /* If madvise is available, we release the unnecessary space. */ +--#if defined(MADV_DONTNEED) +-+#if defined(MADV_DONTNEED) && !defined(__rtems__) +- if (aligned_new_start > aligned_old_start) +- madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, MADV_DONTNEED); +- #elif defined(POSIX_MADV_DONTNEED) +--- +-2.21.0 +- +diff --git a/src/3rdparty/pcre2/qt_attribution.json b/src/3rdparty/pcre2/qt_attribution.json +index df70d42d65..e7abb56762 100644 +--- a/src/3rdparty/pcre2/qt_attribution.json ++++ b/src/3rdparty/pcre2/qt_attribution.json +@@ -7,8 +7,8 @@ + + "Description": "The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.", + "Homepage": "http://www.pcre.org/", +- "Version": "10.35", +- "DownloadLocation": "https://ftp.pcre.org/pub/pcre/pcre2-10.35.tar.bz2", ++ "Version": "10.36", ++ "DownloadLocation": "https://ftp.pcre.org/pub/pcre/pcre2-10.36.tar.bz2", + "License": "BSD 3-clause \"New\" or \"Revised\" License", + "LicenseId": "BSD-3-Clause", + "LicenseFile": "LICENCE", +@@ -24,12 +24,11 @@ Copyright (c) 2010-2020 Zoltan Herczeg" + "Path": "src/sljit", + "Description": "The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5.", + "Homepage": "http://www.pcre.org/", +- "Version": "10.35", +- "DownloadLocation": "https://ftp.pcre.org/pub/pcre/pcre2-10.35.tar.bz2", ++ "Version": "10.36", ++ "DownloadLocation": "https://ftp.pcre.org/pub/pcre/pcre2-10.36.tar.bz2", + "License": "BSD 2-clause \"Simplified\" License", + "LicenseId": "BSD-2-Clause", + "LicenseFile": "LICENCE-SLJIT", +- "Copyright": "Copyright (c) 2009-2020 Zoltan Herczeg +-Copyright 2013-2013 Tilera Corporation(jiwang@tilera.com)" ++ "Copyright": "Copyright (c) 2009-2020 Zoltan Herczeg" + } + ] +diff --git a/src/3rdparty/pcre2/src/pcre2.h b/src/3rdparty/pcre2/src/pcre2.h +index 4a42a7975a..f204ec8180 100644 +--- a/src/3rdparty/pcre2/src/pcre2.h ++++ b/src/3rdparty/pcre2/src/pcre2.h +@@ -42,9 +42,9 @@ POSSIBILITY OF SUCH DAMAGE. + /* The current PCRE version information. */ + + #define PCRE2_MAJOR 10 +-#define PCRE2_MINOR 35 ++#define PCRE2_MINOR 36 + #define PCRE2_PRERELEASE +-#define PCRE2_DATE 2020-05-09 ++#define PCRE2_DATE 2020-12-04 + + /* When an application links to a PCRE DLL in Windows, the symbols that are + imported have to be identified as such. When building PCRE2, the appropriate +diff --git a/src/3rdparty/pcre2/src/pcre2_compile.c b/src/3rdparty/pcre2/src/pcre2_compile.c +index 62393bea74..e811f12f02 100644 +--- a/src/3rdparty/pcre2/src/pcre2_compile.c ++++ b/src/3rdparty/pcre2/src/pcre2_compile.c +@@ -2344,7 +2344,7 @@ if (ptr > *nameptr + MAX_NAME_SIZE) + *errorcodeptr = ERR48; + goto FAILED; + } +-*namelenptr = ptr - *nameptr; ++*namelenptr = (uint32_t)(ptr - *nameptr); + + /* Subpattern names must not be empty, and their terminator is checked here. + (What follows a verb or alpha assertion name is checked separately.) */ +@@ -4331,6 +4331,7 @@ while (ptr < ptrend) + { + if (++ptr >= ptrend || !IS_DIGIT(*ptr)) goto BAD_VERSION_CONDITION; + minor = (*ptr++ - CHAR_0) * 10; ++ if (ptr >= ptrend) goto BAD_VERSION_CONDITION; + if (IS_DIGIT(*ptr)) minor += *ptr++ - CHAR_0; + if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) + goto BAD_VERSION_CONDITION; +diff --git a/src/3rdparty/pcre2/src/pcre2_jit_compile.c b/src/3rdparty/pcre2/src/pcre2_jit_compile.c +index 33ad7e6553..1977d28aa5 100644 +--- a/src/3rdparty/pcre2/src/pcre2_jit_compile.c ++++ b/src/3rdparty/pcre2/src/pcre2_jit_compile.c +@@ -1466,9 +1466,9 @@ do + default: + accelerated_start = NULL; + fast_forward_allowed = FALSE; +- break; ++ continue; + } +- continue; ++ break; + + case OP_ONCE: + case OP_BRA: +@@ -1834,57 +1834,57 @@ while (cc < ccend) + case OP_BRAZERO: + case OP_BRAMINZERO: + case OP_BRAPOSZERO: +- repeat_check = FALSE; + size = 1; ++ repeat_check = FALSE; + break; + + CASE_ITERATOR_PRIVATE_DATA_1 +- space = 1; + size = -2; ++ space = 1; + break; + + CASE_ITERATOR_PRIVATE_DATA_2A +- space = 2; + size = -2; ++ space = 2; + break; + + CASE_ITERATOR_PRIVATE_DATA_2B +- space = 2; + size = -(2 + IMM2_SIZE); ++ space = 2; + break; + + CASE_ITERATOR_TYPE_PRIVATE_DATA_1 +- space = 1; + size = 1; ++ space = 1; + break; + + CASE_ITERATOR_TYPE_PRIVATE_DATA_2A ++ size = 1; + if (cc[1] != OP_ANYNL && cc[1] != OP_EXTUNI) + space = 2; +- size = 1; + break; + + case OP_TYPEUPTO: ++ size = 1 + IMM2_SIZE; + if (cc[1 + IMM2_SIZE] != OP_ANYNL && cc[1 + IMM2_SIZE] != OP_EXTUNI) + space = 2; +- size = 1 + IMM2_SIZE; + break; + + case OP_TYPEMINUPTO: +- space = 2; + size = 1 + IMM2_SIZE; ++ space = 2; + break; + + case OP_CLASS: + case OP_NCLASS: +- space = get_class_iterator_size(cc + size); + size = 1 + 32 / sizeof(PCRE2_UCHAR); ++ space = get_class_iterator_size(cc + size); + break; + + #if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 + case OP_XCLASS: +- space = get_class_iterator_size(cc + size); + size = GET(cc, 1); ++ space = get_class_iterator_size(cc + size); + break; + #endif + +@@ -4578,7 +4578,14 @@ if (common->nltype != NLTYPE_ANY) + /* All newlines are ascii, just skip intermediate octets. */ + jump[0] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); + loop = LABEL(); +- OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); ++ if (sljit_emit_mem(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_POST, TMP2, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)) == SLJIT_SUCCESS) ++ sljit_emit_mem(compiler, MOV_UCHAR | SLJIT_MEM_POST, TMP2, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); ++ else ++ { ++ OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); ++ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); ++ } ++ + OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc0); + CMPTO(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, 0x80, loop); + OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); +@@ -6161,9 +6168,9 @@ static SLJIT_INLINE void fast_forward_newline(compiler_common *common) + { + DEFINE_COMPILER; + struct sljit_label *loop; +-struct sljit_jump *lastchar; ++struct sljit_jump *lastchar = NULL; + struct sljit_jump *firstchar; +-struct sljit_jump *quit; ++struct sljit_jump *quit = NULL; + struct sljit_jump *foundcr = NULL; + struct sljit_jump *notfoundnl; + jump_list *newline = NULL; +@@ -6176,39 +6183,71 @@ if (common->match_end_ptr != 0) + + if (common->nltype == NLTYPE_FIXED && common->newline > 255) + { +- lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); +- if (HAS_VIRTUAL_REGISTERS) ++#ifdef JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD ++ if (JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD && common->mode == PCRE2_JIT_COMPLETE) + { +- OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); +- OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); +- OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); ++ if (HAS_VIRTUAL_REGISTERS) ++ { ++ OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); ++ OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); ++ OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); ++ } ++ else ++ { ++ OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); ++ OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); ++ } ++ firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); ++ ++ OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); ++ OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_UNUSED, 0, STR_PTR, 0, TMP1, 0); ++ OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_NOT_EQUAL); ++#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 ++ OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); ++#endif ++ OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP1, 0); ++ ++ fast_forward_char_pair_simd(common, 1, common->newline & 0xff, common->newline & 0xff, 0, (common->newline >> 8) & 0xff, (common->newline >> 8) & 0xff); ++ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); + } + else ++#endif /* JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD */ + { +- OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); +- OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); +- } +- firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); ++ lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); ++ if (HAS_VIRTUAL_REGISTERS) ++ { ++ OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); ++ OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); ++ OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); ++ } ++ else ++ { ++ OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); ++ OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); ++ } ++ firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); + +- OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(2)); +- OP2(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, SLJIT_UNUSED, 0, STR_PTR, 0, TMP1, 0); +- OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_GREATER_EQUAL); ++ OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(2)); ++ OP2(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, SLJIT_UNUSED, 0, STR_PTR, 0, TMP1, 0); ++ OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_GREATER_EQUAL); + #if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 +- OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCHAR_SHIFT); ++ OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCHAR_SHIFT); + #endif +- OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP2, 0); ++ OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP2, 0); + +- loop = LABEL(); +- OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); +- quit = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); +- OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); +- OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); +- CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff, loop); +- CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff, loop); ++ loop = LABEL(); ++ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); ++ quit = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); ++ OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); ++ OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); ++ CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff, loop); ++ CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff, loop); ++ ++ JUMPHERE(quit); ++ JUMPHERE(lastchar); ++ } + +- JUMPHERE(quit); + JUMPHERE(firstchar); +- JUMPHERE(lastchar); + + if (common->match_end_ptr != 0) + OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); +@@ -6225,22 +6264,59 @@ else + + /* Example: match /^/ to \r\n from offset 1. */ + firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); +-move_back(common, NULL, FALSE); ++ ++if (common->nltype == NLTYPE_ANY) ++ move_back(common, NULL, FALSE); ++else ++ OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); + + loop = LABEL(); + common->ff_newline_shortcut = loop; + +-read_char(common, common->nlmin, common->nlmax, NULL, READ_CHAR_NEWLINE); +-lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); +-if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) +- foundcr = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); +-check_newlinechar(common, common->nltype, &newline, FALSE); +-set_jumps(newline, loop); ++#ifdef JIT_HAS_FAST_FORWARD_CHAR_SIMD ++if (JIT_HAS_FAST_FORWARD_CHAR_SIMD && (common->nltype == NLTYPE_FIXED || common->nltype == NLTYPE_ANYCRLF)) ++ { ++ if (common->nltype == NLTYPE_ANYCRLF) ++ { ++ fast_forward_char_simd(common, CHAR_CR, CHAR_LF, 0); ++ if (common->mode != PCRE2_JIT_COMPLETE) ++ lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); ++ ++ OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); ++ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); ++ quit = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); ++ } ++ else ++ { ++ fast_forward_char_simd(common, common->newline, common->newline, 0); ++ ++ OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); ++ if (common->mode != PCRE2_JIT_COMPLETE) ++ { ++ OP2(SLJIT_SUB | SLJIT_SET_GREATER, SLJIT_UNUSED, 0, STR_PTR, 0, STR_END, 0); ++ CMOV(SLJIT_GREATER, STR_PTR, STR_END, 0); ++ } ++ } ++ } ++else ++#endif /* JIT_HAS_FAST_FORWARD_CHAR_SIMD */ ++ { ++ read_char(common, common->nlmin, common->nlmax, NULL, READ_CHAR_NEWLINE); ++ lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); ++ if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) ++ foundcr = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); ++ check_newlinechar(common, common->nltype, &newline, FALSE); ++ set_jumps(newline, loop); ++ } + + if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) + { +- quit = JUMP(SLJIT_JUMP); +- JUMPHERE(foundcr); ++ if (quit == NULL) ++ { ++ quit = JUMP(SLJIT_JUMP); ++ JUMPHERE(foundcr); ++ } ++ + notfoundnl = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); + OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); + OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_UNUSED, 0, TMP1, 0, SLJIT_IMM, CHAR_NL); +@@ -6252,7 +6328,9 @@ if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) + JUMPHERE(notfoundnl); + JUMPHERE(quit); + } +-JUMPHERE(lastchar); ++ ++if (lastchar) ++ JUMPHERE(lastchar); + JUMPHERE(firstchar); + + if (common->match_end_ptr != 0) +@@ -6493,9 +6571,11 @@ if (common->invalid_utf) + + if (common->mode != PCRE2_JIT_COMPLETE) + { ++ OP1(SLJIT_MOV, RETURN_ADDR, 0, TMP1, 0); + OP1(SLJIT_MOV, TMP2, 0, STR_PTR, 0); + move_back(common, NULL, TRUE); + check_start_used_ptr(common); ++ OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); + OP1(SLJIT_MOV, STR_PTR, 0, TMP2, 0); + } + } +@@ -7594,25 +7674,43 @@ if (needstype || needsscript) + } + + cc = ccbegin; +- } + +- if (needschar) +- OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); ++ if (needstype) ++ { ++ /* TMP2 has already been shifted by 2 */ ++ if (!needschar) ++ { ++ OP2(SLJIT_ADD, TMP1, 0, TMP2, 0, TMP2, 0); ++ OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); + +- if (needstype) ++ OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype)); ++ } ++ else ++ { ++ OP2(SLJIT_ADD, TMP1, 0, TMP2, 0, TMP2, 0); ++ OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); ++ ++ OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); ++ OP1(SLJIT_MOV_U8, RETURN_ADDR, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype)); ++ typereg = RETURN_ADDR; ++ } ++ } ++ else if (needschar) ++ OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); ++ } ++ else if (needstype) + { ++ OP2(SLJIT_SHL, TMP1, 0, TMP2, 0, SLJIT_IMM, 3); ++ OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 2); ++ + if (!needschar) + { +- OP2(SLJIT_SHL, TMP1, 0, TMP2, 0, SLJIT_IMM, 3); +- OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 2); + OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); + + OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype)); + } + else + { +- OP2(SLJIT_SHL, TMP1, 0, TMP2, 0, SLJIT_IMM, 2); +- OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 3); + OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); + + OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); +@@ -7620,6 +7718,8 @@ if (needstype || needsscript) + typereg = RETURN_ADDR; + } + } ++ else if (needschar) ++ OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); + } + #endif /* SUPPORT_UNICODE */ + +@@ -13581,7 +13681,7 @@ if (common->has_then) + set_then_offsets(common, common->start, NULL); + } + +-compiler = sljit_create_compiler(allocator_data); ++compiler = sljit_create_compiler(allocator_data, NULL); + if (!compiler) + { + SLJIT_FREE(common->optimized_cbracket, allocator_data); +@@ -13983,7 +14083,7 @@ else + { + /* This case is highly unlikely since we just recently + freed a lot of memory. Not impossible though. */ +- sljit_free_code(executable_func); ++ sljit_free_code(executable_func, NULL); + PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); + return PCRE2_ERROR_NOMEMORY; + } +@@ -14097,13 +14197,13 @@ if (executable_allocator_is_working == 0) + /* Checks whether the executable allocator is working. This check + might run multiple times in multi-threaded environments, but the + result should not be affected by it. */ +- void *ptr = SLJIT_MALLOC_EXEC(32); ++ void *ptr = SLJIT_MALLOC_EXEC(32, NULL); + + executable_allocator_is_working = -1; + + if (ptr != NULL) + { +- SLJIT_FREE_EXEC(((sljit_u8*)(ptr)) + SLJIT_EXEC_OFFSET(ptr)); ++ SLJIT_FREE_EXEC(((sljit_u8*)(ptr)) + SLJIT_EXEC_OFFSET(ptr), NULL); + executable_allocator_is_working = 1; + } + } +diff --git a/src/3rdparty/pcre2/src/pcre2_jit_misc.c b/src/3rdparty/pcre2/src/pcre2_jit_misc.c +index 36abdbaf9c..ec924e0f9b 100644 +--- a/src/3rdparty/pcre2/src/pcre2_jit_misc.c ++++ b/src/3rdparty/pcre2/src/pcre2_jit_misc.c +@@ -89,7 +89,7 @@ int i; + for (i = 0; i < JIT_NUMBER_OF_COMPILE_MODES; i++) + { + if (functions->executable_funcs[i] != NULL) +- sljit_free_code(functions->executable_funcs[i]); ++ sljit_free_code(functions->executable_funcs[i], NULL); + PRIV(jit_free_rodata)(functions->read_only_data_heads[i], allocator_data); + } + +diff --git a/src/3rdparty/pcre2/src/pcre2_jit_neon_inc.h b/src/3rdparty/pcre2/src/pcre2_jit_neon_inc.h +index 66373b6cb0..150da29eba 100644 +--- a/src/3rdparty/pcre2/src/pcre2_jit_neon_inc.h ++++ b/src/3rdparty/pcre2/src/pcre2_jit_neon_inc.h +@@ -87,6 +87,10 @@ static sljit_u8* SLJIT_FUNC FF_FUN(sljit_u8 *str_end, sljit_u8 *str_ptr, sljit_u + { + quad_word qw; + int_char ic; ++ ++SLJIT_UNUSED_ARG(offs1); ++SLJIT_UNUSED_ARG(offs2); ++ + ic.x = chars; + + #if defined(FFCS) +diff --git a/src/3rdparty/pcre2/src/pcre2_match.c b/src/3rdparty/pcre2/src/pcre2_match.c +index 11289d575d..e3f78c2ca3 100644 +--- a/src/3rdparty/pcre2/src/pcre2_match.c ++++ b/src/3rdparty/pcre2/src/pcre2_match.c +@@ -6115,8 +6115,8 @@ BOOL has_req_cu = FALSE; + BOOL startline; + + #if PCRE2_CODE_UNIT_WIDTH == 8 +-BOOL memchr_not_found_first_cu = FALSE; +-BOOL memchr_not_found_first_cu2 = FALSE; ++BOOL memchr_not_found_first_cu; ++BOOL memchr_not_found_first_cu2; + #endif + + PCRE2_UCHAR first_cu = 0; +@@ -6709,6 +6709,11 @@ FRAGMENT_RESTART: + start_partial = match_partial = NULL; + mb->hitend = FALSE; + ++#if PCRE2_CODE_UNIT_WIDTH == 8 ++memchr_not_found_first_cu = FALSE; ++memchr_not_found_first_cu2 = FALSE; ++#endif ++ + for(;;) + { + PCRE2_SPTR new_start_match; +@@ -7187,6 +7192,7 @@ if (utf && end_subject != true_end_subject && + starting code units in 8-bit and 16-bit modes. */ + + start_match = end_subject + 1; ++ + #if PCRE2_CODE_UNIT_WIDTH != 32 + while (start_match < true_end_subject && NOT_FIRSTCU(*start_match)) + start_match++; +diff --git a/src/3rdparty/pcre2/src/sljit/sljitConfig.h b/src/3rdparty/pcre2/src/sljit/sljitConfig.h +index 4560450c1c..1c821d287d 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitConfig.h ++++ b/src/3rdparty/pcre2/src/sljit/sljitConfig.h +@@ -24,19 +24,19 @@ + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#ifndef _SLJIT_CONFIG_H_ +-#define _SLJIT_CONFIG_H_ ++#ifndef SLJIT_CONFIG_H_ ++#define SLJIT_CONFIG_H_ + + #ifdef __cplusplus + extern "C" { + #endif + +-/* --------------------------------------------------------------------- */ +-/* Custom defines */ +-/* --------------------------------------------------------------------- */ +- +-/* Put your custom defines here. This empty section will never change +- which helps maintaining patches (with diff / patch utilities). */ ++/* ++ This file contains the basic configuration options for the SLJIT compiler ++ and their default values. These options can be overridden in the ++ sljitConfigPre.h header file when SLJIT_HAVE_CONFIG_PRE is set to a ++ non-zero value. ++*/ + + /* --------------------------------------------------------------------- */ + /* Architecture */ +@@ -54,7 +54,7 @@ extern "C" { + /* #define SLJIT_CONFIG_MIPS_32 1 */ + /* #define SLJIT_CONFIG_MIPS_64 1 */ + /* #define SLJIT_CONFIG_SPARC_32 1 */ +-/* #define SLJIT_CONFIG_TILEGX 1 */ ++/* #define SLJIT_CONFIG_S390X 1 */ + + /* #define SLJIT_CONFIG_AUTO 1 */ + /* #define SLJIT_CONFIG_UNSUPPORTED 1 */ +@@ -63,12 +63,6 @@ extern "C" { + /* Utilities */ + /* --------------------------------------------------------------------- */ + +-/* Useful for thread-safe compiling of global functions. */ +-#ifndef SLJIT_UTIL_GLOBAL_LOCK +-/* Enabled by default */ +-#define SLJIT_UTIL_GLOBAL_LOCK 1 +-#endif +- + /* Implements a stack like data structure (by using mmap / VirtualAlloc */ + /* or a custom allocator). */ + #ifndef SLJIT_UTIL_STACK +@@ -108,15 +102,31 @@ extern "C" { + + /* When SLJIT_PROT_EXECUTABLE_ALLOCATOR is enabled SLJIT uses + an allocator which does not set writable and executable +- permission flags at the same time. The trade-of is increased +- memory consumption and disabled dynamic code modifications. */ ++ permission flags at the same time. ++ Instead, it creates a shared memory segment (usually backed by a file) ++ and maps it twice, with different permissions, depending on the use ++ case. ++ The trade-off is increased use of virtual memory, incompatibility with ++ fork(), and some possible additional security risks by the use of ++ publicly accessible files for the generated code. */ + #ifndef SLJIT_PROT_EXECUTABLE_ALLOCATOR + /* Disabled by default. */ + #define SLJIT_PROT_EXECUTABLE_ALLOCATOR 0 + #endif + ++/* When SLJIT_WX_EXECUTABLE_ALLOCATOR is enabled SLJIT uses an ++ allocator which does not set writable and executable permission ++ flags at the same time. ++ Instead, it creates a new independent map on each invocation and ++ switches permissions at the underlying pages as needed. ++ The trade-off is increased memory use and degraded performance. */ ++#ifndef SLJIT_WX_EXECUTABLE_ALLOCATOR ++/* Disabled by default. */ ++#define SLJIT_WX_EXECUTABLE_ALLOCATOR 0 + #endif + ++#endif /* !SLJIT_EXECUTABLE_ALLOCATOR */ ++ + /* Force cdecl calling convention even if a better calling + convention (e.g. fastcall) is supported by the C compiler. + If this option is disabled (this is the default), functions +@@ -159,4 +169,4 @@ extern "C" { + } /* extern "C" */ + #endif + +-#endif ++#endif /* SLJIT_CONFIG_H_ */ +diff --git a/src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h b/src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h +index 049ed2fe91..eb1132db30 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h ++++ b/src/3rdparty/pcre2/src/sljit/sljitConfigInternal.h +@@ -24,8 +24,8 @@ + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#ifndef _SLJIT_CONFIG_INTERNAL_H_ +-#define _SLJIT_CONFIG_INTERNAL_H_ ++#ifndef SLJIT_CONFIG_INTERNAL_H_ ++#define SLJIT_CONFIG_INTERNAL_H_ + + #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) \ + || (defined SLJIT_DEBUG && SLJIT_DEBUG && (!defined(SLJIT_ASSERT) || !defined(SLJIT_UNREACHABLE))) +@@ -81,30 +81,13 @@ extern "C" { + + Other macros: + SLJIT_FUNC : calling convention attribute for both calling JIT from C and C calling back from JIT +- SLJIT_W(number) : defining 64 bit constants on 64 bit architectures (compiler independent helper) ++ SLJIT_W(number) : defining 64 bit constants on 64 bit architectures (platform independent helper) + */ + + /*****************/ + /* Sanity check. */ + /*****************/ + +-#if !((defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ +- || (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ +- || (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5) \ +- || (defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \ +- || (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ +- || (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \ +- || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ +- || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ +- || (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ +- || (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) \ +- || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ +- || (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) \ +- || (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ +- || (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED)) +-#error "An architecture must be selected" +-#endif +- + #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ + + (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ + + (defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5) \ +@@ -113,15 +96,36 @@ extern "C" { + + (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \ + + (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ + + (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ +- + (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) \ + + (defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ + + (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) \ + + (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ ++ + (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \ + + (defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) \ + + (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) >= 2 + #error "Multiple architectures are selected" + #endif + ++#if !(defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) \ ++ && !(defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) \ ++ && !(defined SLJIT_CONFIG_ARM_V5 && SLJIT_CONFIG_ARM_V5) \ ++ && !(defined SLJIT_CONFIG_ARM_V7 && SLJIT_CONFIG_ARM_V7) \ ++ && !(defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ ++ && !(defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \ ++ && !(defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ ++ && !(defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ ++ && !(defined SLJIT_CONFIG_MIPS_32 && SLJIT_CONFIG_MIPS_32) \ ++ && !(defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) \ ++ && !(defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ ++ && !(defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) \ ++ && !(defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) \ ++ && !(defined SLJIT_CONFIG_AUTO && SLJIT_CONFIG_AUTO) ++#if defined SLJIT_CONFIG_AUTO && !SLJIT_CONFIG_AUTO ++#error "An architecture must be selected" ++#else /* SLJIT_CONFIG_AUTO */ ++#define SLJIT_CONFIG_AUTO 1 ++#endif /* !SLJIT_CONFIG_AUTO */ ++#endif /* !SLJIT_CONFIG */ ++ + /********************************************************/ + /* Automatic CPU detection (requires compiler support). */ + /********************************************************/ +@@ -154,8 +158,6 @@ extern "C" { + #define SLJIT_CONFIG_MIPS_64 1 + #elif defined(__sparc__) || defined(__sparc) + #define SLJIT_CONFIG_SPARC_32 1 +-#elif defined(__tilegx__) +-#define SLJIT_CONFIG_TILEGX 1 + #else + /* Unsupported architecture */ + #define SLJIT_CONFIG_UNSUPPORTED 1 +@@ -210,18 +212,16 @@ extern "C" { + /***********************************************************/ + + #ifdef SLJIT_CONFIG_X86 +-#if defined(__CET__) ++ ++#if defined(__CET__) && !(defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) + #define SLJIT_CONFIG_X86_CET 1 + #endif +-#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) +-#if defined(__GNUC__) +-#if !defined (__SHSTK__) +-#error "-mshstk is needed to compile with -fcf-protection" +-#endif ++ ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) && defined(__GNUC__) + #include + #endif +-#endif +-#endif ++ ++#endif /* SLJIT_CONFIG_X86 */ + + /**********************************/ + /* External function definitions. */ +@@ -411,7 +411,7 @@ typedef long int sljit_sw; + && !(defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \ + && !(defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ + && !(defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) \ +- && !(defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) ++ && !(defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) + #define SLJIT_32BIT_ARCHITECTURE 1 + #define SLJIT_WORD_SHIFT 2 + typedef unsigned int sljit_uw; +@@ -453,10 +453,14 @@ typedef double sljit_f64; + #if (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) + #define SLJIT_W(w) (w##l) + #elif (defined SLJIT_64BIT_ARCHITECTURE && SLJIT_64BIT_ARCHITECTURE) ++#ifdef _WIN64 + #define SLJIT_W(w) (w##ll) +-#else ++#else /* !windows */ ++#define SLJIT_W(w) (w##l) ++#endif /* windows */ ++#else /* 32 bit */ + #define SLJIT_W(w) (w) +-#endif ++#endif /* unknown */ + + #endif /* !SLJIT_W */ + +@@ -504,7 +508,8 @@ typedef double sljit_f64; + + #endif /* !SLJIT_MIPS_REV */ + +-#elif (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) ++#elif (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ ++ || (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) + + #define SLJIT_BIG_ENDIAN 1 + +@@ -531,7 +536,8 @@ typedef double sljit_f64; + || (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) \ + || (defined SLJIT_CONFIG_ARM_64 && SLJIT_CONFIG_ARM_64) \ + || (defined SLJIT_CONFIG_PPC_32 && SLJIT_CONFIG_PPC_32) \ +- || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) ++ || (defined SLJIT_CONFIG_PPC_64 && SLJIT_CONFIG_PPC_64) \ ++ || (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) + #define SLJIT_UNALIGNED 1 + #endif + +@@ -549,17 +555,19 @@ typedef double sljit_f64; + + #ifndef SLJIT_FUNC + +-#if (defined SLJIT_USE_CDECL_CALLING_CONVENTION && SLJIT_USE_CDECL_CALLING_CONVENTION) ++#if (defined SLJIT_USE_CDECL_CALLING_CONVENTION && SLJIT_USE_CDECL_CALLING_CONVENTION) \ ++ || !(defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) + +-/* Force cdecl. */ + #define SLJIT_FUNC + +-#elif (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) +- +-#if defined(__GNUC__) && !defined(__APPLE__) ++#elif defined(__GNUC__) && !defined(__APPLE__) + ++#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + #define SLJIT_FUNC __attribute__ ((fastcall)) + #define SLJIT_X86_32_FASTCALL 1 ++#else ++#define SLJIT_FUNC ++#endif /* gcc >= 3.4 */ + + #elif defined(_MSC_VER) + +@@ -573,16 +581,10 @@ typedef double sljit_f64; + + #else /* Unknown compiler. */ + +-/* The cdecl attribute is the default. */ +-#define SLJIT_FUNC +- +-#endif +- +-#else /* Non x86-32 architectures. */ +- ++/* The cdecl calling convention is usually the x86 default. */ + #define SLJIT_FUNC + +-#endif /* SLJIT_CONFIG_X86_32 */ ++#endif /* SLJIT_USE_CDECL_CALLING_CONVENTION */ + + #endif /* !SLJIT_FUNC */ + +@@ -613,8 +615,16 @@ determine the next executed instruction after return. */ + SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size); + SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr); + SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void); +-#define SLJIT_MALLOC_EXEC(size) sljit_malloc_exec(size) +-#define SLJIT_FREE_EXEC(ptr) sljit_free_exec(ptr) ++#define SLJIT_BUILTIN_MALLOC_EXEC(size, exec_allocator_data) sljit_malloc_exec(size) ++#define SLJIT_BUILTIN_FREE_EXEC(ptr, exec_allocator_data) sljit_free_exec(ptr) ++ ++#ifndef SLJIT_MALLOC_EXEC ++#define SLJIT_MALLOC_EXEC(size, exec_allocator_data) SLJIT_BUILTIN_MALLOC_EXEC((size), (exec_allocator_data)) ++#endif /* SLJIT_MALLOC_EXEC */ ++ ++#ifndef SLJIT_FREE_EXEC ++#define SLJIT_FREE_EXEC(ptr, exec_allocator_data) SLJIT_BUILTIN_FREE_EXEC((ptr), (exec_allocator_data)) ++#endif /* SLJIT_FREE_EXEC */ + + #if (defined SLJIT_PROT_EXECUTABLE_ALLOCATOR && SLJIT_PROT_EXECUTABLE_ALLOCATOR) + SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); +@@ -623,7 +633,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); + #define SLJIT_EXEC_OFFSET(ptr) 0 + #endif + +-#endif ++#endif /* SLJIT_EXECUTABLE_ALLOCATOR */ + + /**********************************************/ + /* Registers and locals offset determination. */ +@@ -699,11 +709,32 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); + #define SLJIT_LOCALS_OFFSET_BASE ((16 + 1 + 6 + 2 + 1) * sizeof(sljit_sw)) + #endif + +-#elif (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) ++#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) + +-#define SLJIT_NUMBER_OF_REGISTERS 10 +-#define SLJIT_NUMBER_OF_SAVED_REGISTERS 5 +-#define SLJIT_LOCALS_OFFSET_BASE 0 ++/* ++ * https://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_zSeries.html#STACKFRAME ++ * ++ * 160 ++ * .. FR6 ++ * .. FR4 ++ * .. FR2 ++ * 128 FR0 ++ * 120 R15 (used for SP) ++ * 112 R14 ++ * 104 R13 ++ * 96 R12 ++ * .. ++ * 48 R6 ++ * .. ++ * 16 R2 ++ * 8 RESERVED ++ * 0 SP ++ */ ++#define SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE 160 ++ ++#define SLJIT_NUMBER_OF_REGISTERS 12 ++#define SLJIT_NUMBER_OF_SAVED_REGISTERS 8 ++#define SLJIT_LOCALS_OFFSET_BASE SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE + + #elif (defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED) + +@@ -791,4 +822,4 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr); + } /* extern "C" */ + #endif + +-#endif ++#endif /* SLJIT_CONFIG_INTERNAL_H_ */ +diff --git a/src/3rdparty/pcre2/src/sljit/sljitExecAllocator.c b/src/3rdparty/pcre2/src/sljit/sljitExecAllocator.c +index 76539072fe..61a32f23e9 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitExecAllocator.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitExecAllocator.c +@@ -72,9 +72,8 @@ + alloc_chunk / free_chunk : + * allocate executable system memory chunks + * the size is always divisible by CHUNK_SIZE +- allocator_grab_lock / allocator_release_lock : +- * make the allocator thread safe +- * can be empty if the OS (or the application) does not support threading ++ SLJIT_ALLOCATOR_LOCK / SLJIT_ALLOCATOR_UNLOCK : ++ * provided as part of sljitUtils + * only the allocator requires this lock, sljit is fully thread safe + as it only uses local variables + */ +@@ -95,6 +94,7 @@ static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size) + #else + + #ifdef __APPLE__ ++#ifdef MAP_ANON + /* Configures TARGET_OS_OSX when appropriate */ + #include + +@@ -104,17 +104,23 @@ static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size) + + #ifdef MAP_JIT + ++/* ++ On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a ++ version where it's OK to have more than one JIT block. ++ On non-macOS systems, returns MAP_JIT if it is defined. ++*/ + static SLJIT_INLINE int get_map_jit_flag() + { +-/* On macOS systems, returns MAP_JIT if it is defined _and_ we're running on a version +- of macOS where it's OK to have more than one JIT block. +- On non-macOS systems, returns MAP_JIT if it is defined. */ + #if TARGET_OS_OSX ++ sljit_sw page_size = get_page_alignment() + 1; ++ void *ptr; + static int map_jit_flag = -1; + +- /* The following code is thread safe because multiple initialization +- sets map_jit_flag to the same value and the code has no side-effects. +- Changing the kernel version witout system restart is (very) unlikely. */ ++ /* ++ The following code is thread safe because multiple initialization ++ sets map_jit_flag to the same value and the code has no side-effects. ++ Changing the kernel version witout system restart is (very) unlikely. ++ */ + if (map_jit_flag == -1) { + struct utsname name; + +@@ -123,15 +129,9 @@ static SLJIT_INLINE int get_map_jit_flag() + + /* Kernel version for 10.14.0 (Mojave) */ + if (atoi(name.release) >= 18) { +- /* Only use MAP_JIT if a hardened runtime is used, because MAP_JIT is incompatible with fork(). */ ++ /* Only use MAP_JIT if a hardened runtime is used */ + +- /* mirroring page size detection from sljit_allocate_stack */ +- long page_size = sysconf(_SC_PAGESIZE); +- /* Should never happen */ +- if (page_size < 0) +- page_size = 4096; +- +- void *ptr = mmap(NULL, page_size, PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANON, -1, 0); ++ ptr = mmap(NULL, page_size, PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANON, -1, 0); + + if (ptr == MAP_FAILED) { + map_jit_flag = MAP_JIT; +@@ -148,7 +148,7 @@ static SLJIT_INLINE int get_map_jit_flag() + } + + #endif /* MAP_JIT */ +- ++#endif /* MAP_ANON */ + #endif /* __APPLE__ */ + + static SLJIT_INLINE void* alloc_chunk(sljit_uw size) +@@ -166,10 +166,9 @@ static SLJIT_INLINE void* alloc_chunk(sljit_uw size) + + retval = mmap(NULL, size, prot, flags, -1, 0); + #else /* !MAP_ANON */ +- if (dev_zero < 0) { +- if (open_dev_zero()) +- return NULL; +- } ++ if (SLJIT_UNLIKELY((dev_zero < 0) && open_dev_zero())) ++ return NULL; ++ + retval = mmap(NULL, size, prot, MAP_PRIVATE, dev_zero, 0); + #endif /* MAP_ANON */ + +@@ -253,7 +252,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) + struct free_block *free_block; + sljit_uw chunk_size; + +- allocator_grab_lock(); ++ SLJIT_ALLOCATOR_LOCK(); + if (size < (64 - sizeof(struct block_header))) + size = (64 - sizeof(struct block_header)); + size = ALIGN_SIZE(size); +@@ -277,7 +276,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) + } + allocated_size += size; + header->size = size; +- allocator_release_lock(); ++ SLJIT_ALLOCATOR_UNLOCK(); + return MEM_START(header); + } + free_block = free_block->next; +@@ -286,7 +285,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) + chunk_size = (size + sizeof(struct block_header) + CHUNK_SIZE - 1) & CHUNK_MASK; + header = (struct block_header*)alloc_chunk(chunk_size); + if (!header) { +- allocator_release_lock(); ++ SLJIT_ALLOCATOR_UNLOCK(); + return NULL; + } + +@@ -313,7 +312,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) + } + next_header->size = 1; + next_header->prev_size = chunk_size; +- allocator_release_lock(); ++ SLJIT_ALLOCATOR_UNLOCK(); + return MEM_START(header); + } + +@@ -322,7 +321,7 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) + struct block_header *header; + struct free_block* free_block; + +- allocator_grab_lock(); ++ SLJIT_ALLOCATOR_LOCK(); + header = AS_BLOCK_HEADER(ptr, -(sljit_sw)sizeof(struct block_header)); + allocated_size -= header->size; + +@@ -359,7 +358,7 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) + } + } + +- allocator_release_lock(); ++ SLJIT_ALLOCATOR_UNLOCK(); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void) +@@ -367,7 +366,7 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void) + struct free_block* free_block; + struct free_block* next_free_block; + +- allocator_grab_lock(); ++ SLJIT_ALLOCATOR_LOCK(); + + free_block = free_blocks; + while (free_block) { +@@ -382,5 +381,5 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void) + } + + SLJIT_ASSERT((total_size && free_blocks) || (!total_size && !free_blocks)); +- allocator_release_lock(); ++ SLJIT_ALLOCATOR_UNLOCK(); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitLir.c b/src/3rdparty/pcre2/src/sljit/sljitLir.c +index 86772cc1a5..d817c90b3a 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitLir.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitLir.c +@@ -28,7 +28,6 @@ + + #ifdef _WIN32 + +-/* For SLJIT_CACHE_FLUSH, which can expand to FlushInstructionCache. */ + #include + + #endif /* _WIN32 */ +@@ -223,14 +222,6 @@ + # define FCSR_FCC 33 + #endif + +-#if (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) +-# define IS_JAL 0x04 +-# define IS_COND 0x08 +- +-# define PATCH_B 0x10 +-# define PATCH_J 0x20 +-#endif +- + #if (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) + # define IS_MOVABLE 0x04 + # define IS_COND 0x08 +@@ -274,6 +265,8 @@ + + #if (defined SLJIT_PROT_EXECUTABLE_ALLOCATOR && SLJIT_PROT_EXECUTABLE_ALLOCATOR) + #include "sljitProtExecAllocator.c" ++#elif (defined SLJIT_WX_EXECUTABLE_ALLOCATOR && SLJIT_WX_EXECUTABLE_ALLOCATOR) ++#include "sljitWXExecAllocator.c" + #else + #include "sljitExecAllocator.c" + #endif +@@ -286,6 +279,10 @@ + #define SLJIT_ADD_EXEC_OFFSET(ptr, exec_offset) ((sljit_u8 *)(ptr)) + #endif + ++#ifndef SLJIT_UPDATE_WX_FLAGS ++#define SLJIT_UPDATE_WX_FLAGS(from, to, enable_exec) ++#endif ++ + /* Argument checking features. */ + + #if (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) +@@ -366,7 +363,7 @@ static sljit_s32 compiler_initialized = 0; + static void init_compiler(void); + #endif + +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data) ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data, void *exec_allocator_data) + { + struct sljit_compiler *compiler = (struct sljit_compiler*)SLJIT_MALLOC(sizeof(struct sljit_compiler), allocator_data); + if (!compiler) +@@ -393,6 +390,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allo + compiler->error = SLJIT_SUCCESS; + + compiler->allocator_data = allocator_data; ++ compiler->exec_allocator_data = exec_allocator_data; + compiler->buf = (struct sljit_memory_fragment*)SLJIT_MALLOC(BUF_SIZE, allocator_data); + compiler->abuf = (struct sljit_memory_fragment*)SLJIT_MALLOC(ABUF_SIZE, allocator_data); + +@@ -485,22 +483,28 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_set_compiler_memory_error(struct sljit_compi + } + + #if (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) +-SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code) ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code, void *exec_allocator_data) + { ++ SLJIT_UNUSED_ARG(exec_allocator_data); ++ + /* Remove thumb mode flag. */ +- SLJIT_FREE_EXEC((void*)((sljit_uw)code & ~0x1)); ++ SLJIT_FREE_EXEC((void*)((sljit_uw)code & ~0x1), exec_allocator_data); + } + #elif (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL) +-SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code) ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code, void *exec_allocator_data) + { ++ SLJIT_UNUSED_ARG(exec_allocator_data); ++ + /* Resolve indirection. */ + code = (void*)(*(sljit_uw*)code); +- SLJIT_FREE_EXEC(code); ++ SLJIT_FREE_EXEC(code, exec_allocator_data); + } + #else +-SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code) ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code, void *exec_allocator_data) + { +- SLJIT_FREE_EXEC(code); ++ SLJIT_UNUSED_ARG(exec_allocator_data); ++ ++ SLJIT_FREE_EXEC(code, exec_allocator_data); + } + #endif + +@@ -627,7 +631,10 @@ static SLJIT_INLINE sljit_s32 get_arg_count(sljit_s32 arg_types) + return arg_count; + } + +-#if !(defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) ++ ++/* Only used in RISC architectures where the instruction size is constant */ ++#if !(defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \ ++ && !(defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) + + static SLJIT_INLINE sljit_uw compute_next_addr(struct sljit_label *label, struct sljit_jump *jump, + struct sljit_const *const_, struct sljit_put_label *put_label) +@@ -649,7 +656,7 @@ static SLJIT_INLINE sljit_uw compute_next_addr(struct sljit_label *label, struct + return result; + } + +-#endif /* !SLJIT_CONFIG_X86 */ ++#endif /* !SLJIT_CONFIG_X86 && !SLJIT_CONFIG_S390X */ + + static SLJIT_INLINE void set_emit_enter(struct sljit_compiler *compiler, + sljit_s32 options, sljit_s32 args, sljit_s32 scratches, sljit_s32 saveds, +@@ -1378,6 +1385,8 @@ static SLJIT_INLINE CHECK_RETURN_TYPE check_sljit_emit_op_custom(struct sljit_co + #elif (defined SLJIT_CONFIG_ARM_THUMB2 && SLJIT_CONFIG_ARM_THUMB2) + CHECK_ARGUMENT((size == 2 && (((sljit_sw)instruction) & 0x1) == 0) + || (size == 4 && (((sljit_sw)instruction) & 0x3) == 0)); ++#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) ++ CHECK_ARGUMENT(size == 2 || size == 4 || size == 6); + #else + CHECK_ARGUMENT(size == 4 && (((sljit_sw)instruction) & 0x3) == 0); + #endif +@@ -2034,7 +2043,7 @@ static SLJIT_INLINE sljit_s32 emit_mov_before_return(struct sljit_compiler *comp + #if (defined SLJIT_CONFIG_X86 && SLJIT_CONFIG_X86) \ + || (defined SLJIT_CONFIG_PPC && SLJIT_CONFIG_PPC) \ + || (defined SLJIT_CONFIG_SPARC_32 && SLJIT_CONFIG_SPARC_32) \ +- || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1)) ++ || ((defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) && !(defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6)) + + static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *compiler, sljit_s32 type, + sljit_s32 dst_reg, +@@ -2111,8 +2120,8 @@ static SLJIT_INLINE sljit_s32 sljit_emit_cmov_generic(struct sljit_compiler *com + # include "sljitNativeMIPS_common.c" + #elif (defined SLJIT_CONFIG_SPARC && SLJIT_CONFIG_SPARC) + # include "sljitNativeSPARC_common.c" +-#elif (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) +-# include "sljitNativeTILEGX_64.c" ++#elif (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) ++# include "sljitNativeS390X.c" + #endif + + #if !(defined SLJIT_CONFIG_MIPS && SLJIT_CONFIG_MIPS) +@@ -2143,7 +2152,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_cmp(struct sljit_compiler + #endif + + if (SLJIT_UNLIKELY((src1 & SLJIT_IMM) && !(src2 & SLJIT_IMM))) { +- /* Immediate is prefered as second argument by most architectures. */ ++ /* Immediate is preferred as second argument by most architectures. */ + switch (condition) { + case SLJIT_LESS: + condition = SLJIT_GREATER; +@@ -2292,9 +2301,10 @@ SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void) + return "unsupported"; + } + +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data) ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data, void *exec_allocator_data) + { + SLJIT_UNUSED_ARG(allocator_data); ++ SLJIT_UNUSED_ARG(exec_allocator_data); + SLJIT_UNREACHABLE(); + return NULL; + } +@@ -2342,9 +2352,10 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + return 0; + } + +-SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code) ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code, void *exec_allocator_data) + { + SLJIT_UNUSED_ARG(code); ++ SLJIT_UNUSED_ARG(exec_allocator_data); + SLJIT_UNREACHABLE(); + } + +diff --git a/src/3rdparty/pcre2/src/sljit/sljitLir.h b/src/3rdparty/pcre2/src/sljit/sljitLir.h +index 72595bb271..93d2804675 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitLir.h ++++ b/src/3rdparty/pcre2/src/sljit/sljitLir.h +@@ -24,8 +24,8 @@ + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +-#ifndef _SLJIT_LIR_H_ +-#define _SLJIT_LIR_H_ ++#ifndef SLJIT_LIR_H_ ++#define SLJIT_LIR_H_ + + /* + ------------------------------------------------------------------------ +@@ -70,9 +70,11 @@ + - pass --smc-check=all argument to valgrind, since JIT is a "self-modifying code" + */ + +-#if !(defined SLJIT_NO_DEFAULT_CONFIG && SLJIT_NO_DEFAULT_CONFIG) ++#if (defined SLJIT_HAVE_CONFIG_PRE && SLJIT_HAVE_CONFIG_PRE) ++#include "sljitConfigPre.h" ++#endif /* SLJIT_HAVE_CONFIG_PRE */ ++ + #include "sljitConfig.h" +-#endif + + /* The following header file defines useful macros for fine tuning + sljit based code generators. They are listed in the beginning +@@ -80,6 +82,10 @@ of sljitConfigInternal.h */ + + #include "sljitConfigInternal.h" + ++#if (defined SLJIT_HAVE_CONFIG_POST && SLJIT_HAVE_CONFIG_POST) ++#include "sljitConfigPost.h" ++#endif /* SLJIT_HAVE_CONFIG_POST */ ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -385,6 +391,7 @@ struct sljit_compiler { + struct sljit_put_label *last_put_label; + + void *allocator_data; ++ void *exec_allocator_data; + struct sljit_memory_fragment *buf; + struct sljit_memory_fragment *abuf; + +@@ -451,9 +458,9 @@ struct sljit_compiler { + sljit_sw cache_argw; + #endif + +-#if (defined SLJIT_CONFIG_TILEGX && SLJIT_CONFIG_TILEGX) +- sljit_s32 cache_arg; +- sljit_sw cache_argw; ++#if (defined SLJIT_CONFIG_S390X && SLJIT_CONFIG_S390X) ++ /* Need to allocate register save area to make calls. */ ++ sljit_s32 have_save_area; + #endif + + #if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) +@@ -485,10 +492,12 @@ struct sljit_compiler { + custom memory managers. This pointer is passed to SLJIT_MALLOC + and SLJIT_FREE macros. Most allocators (including the default + one) ignores this value, and it is recommended to pass NULL +- as a dummy value for allocator_data. ++ as a dummy value for allocator_data. The exec_allocator_data ++ has the same purpose but this one is passed to SLJIT_MALLOC_EXEC / ++ SLJIT_MALLOC_FREE functions. + + Returns NULL if failed. */ +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data); ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_compiler* sljit_create_compiler(void *allocator_data, void *exec_allocator_data); + + /* Frees everything except the compiled machine code. */ + SLJIT_API_FUNC_ATTRIBUTE void sljit_free_compiler(struct sljit_compiler *compiler); +@@ -535,7 +544,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + + /* Free executable code. */ + +-SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code); ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_code(void* code, void *exec_allocator_data); + + /* + When the protected executable allocator is used the JIT code is mapped +@@ -699,7 +708,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + */ + + /* +- IMPORATNT NOTE: memory access MUST be naturally aligned except ++ IMPORTANT NOTE: memory access MUST be naturally aligned unless + SLJIT_UNALIGNED macro is defined and its value is 1. + + length | alignment +@@ -741,6 +750,9 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler * + mips: [reg+imm], -65536 <= imm <= 65535 + sparc: [reg+imm], -4096 <= imm <= 4095 + [reg+reg] is supported ++ s390x: [reg+imm], -2^19 <= imm < 2^19 ++ [reg+reg] is supported ++ Write-back is not supported + */ + + /* Macros for specifying operand types. */ +@@ -1405,12 +1417,6 @@ SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void); + /* Portable helper function to get an offset of a member. */ + #define SLJIT_OFFSETOF(base, member) ((sljit_sw)(&((base*)0x10)->member) - 0x10) + +-#if (defined SLJIT_UTIL_GLOBAL_LOCK && SLJIT_UTIL_GLOBAL_LOCK) +-/* This global lock is useful to compile common functions. */ +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_grab_lock(void); +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void); +-#endif +- + #if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) + + /* The sljit_stack structure and its manipulation functions provides +@@ -1538,4 +1544,4 @@ SLJIT_API_FUNC_ATTRIBUTE void sljit_set_current_flags(struct sljit_compiler *com + } /* extern "C" */ + #endif + +-#endif /* _SLJIT_LIR_H_ */ ++#endif /* SLJIT_LIR_H_ */ +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_32.c b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_32.c +index 5d180c2e2f..ae8479f031 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_32.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_32.c +@@ -467,18 +467,28 @@ static SLJIT_INLINE void inline_set_jump_addr(sljit_uw jump_ptr, sljit_sw execut + sljit_s32 bl = (mov_pc & 0x0000f000) != RD(TMP_PC); + sljit_sw diff = (sljit_sw)(((sljit_sw)new_addr - (sljit_sw)(inst + 2) - executable_offset) >> 2); + ++ SLJIT_UNUSED_ARG(executable_offset); ++ + if (diff <= 0x7fffff && diff >= -0x800000) { + /* Turn to branch. */ + if (!bl) { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); ++ } + inst[0] = (mov_pc & COND_MASK) | (B - CONDITIONAL) | (diff & 0xffffff); + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 1); + } + } else { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); ++ } + inst[0] = (mov_pc & COND_MASK) | (BL - CONDITIONAL) | (diff & 0xffffff); + inst[1] = NOP; + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } +@@ -491,28 +501,52 @@ static SLJIT_INLINE void inline_set_jump_addr(sljit_uw jump_ptr, sljit_sw execut + ptr = inst + 1; + + if (*inst != mov_pc) { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + (!bl ? 1 : 2), 0); ++ } + inst[0] = mov_pc; + if (!bl) { + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 1); + } + } else { + inst[1] = BLX | RM(TMP_REG1); + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } + } + } ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 0); ++ } ++ + *ptr = new_addr; ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 1); ++ } + } + #else + sljit_uw *inst = (sljit_uw*)jump_ptr; ++ ++ SLJIT_UNUSED_ARG(executable_offset); ++ + SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); ++ } ++ + inst[0] = MOVW | (inst[0] & 0xf000) | ((new_addr << 4) & 0xf0000) | (new_addr & 0xfff); + inst[1] = MOVT | (inst[1] & 0xf000) | ((new_addr >> 12) & 0xf0000) | ((new_addr >> 16) & 0xfff); ++ + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } +@@ -529,10 +563,18 @@ static SLJIT_INLINE void inline_set_const(sljit_uw addr, sljit_sw executable_off + sljit_uw ldr_literal = ptr[1]; + sljit_uw src2; + ++ SLJIT_UNUSED_ARG(executable_offset); ++ + src2 = get_imm(new_constant); + if (src2) { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); ++ } ++ + *inst = 0xe3a00000 | (ldr_literal & 0xf000) | src2; ++ + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 1); + } +@@ -541,8 +583,14 @@ static SLJIT_INLINE void inline_set_const(sljit_uw addr, sljit_sw executable_off + + src2 = get_imm(~new_constant); + if (src2) { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); ++ } ++ + *inst = 0xe3e00000 | (ldr_literal & 0xf000) | src2; ++ + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 1); + } +@@ -555,19 +603,44 @@ static SLJIT_INLINE void inline_set_const(sljit_uw addr, sljit_sw executable_off + ptr = inst + 1; + + if (*inst != ldr_literal) { ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 0); ++ } ++ + *inst = ldr_literal; ++ + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 1, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 1); + } + } ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 0); ++ } ++ + *ptr = new_constant; ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 1); ++ } + #else + sljit_uw *inst = (sljit_uw*)addr; ++ ++ SLJIT_UNUSED_ARG(executable_offset); ++ + SLJIT_ASSERT((inst[0] & 0xfff00000) == MOVW && (inst[1] & 0xfff00000) == MOVT); ++ ++ if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); ++ } ++ + inst[0] = MOVW | (inst[0] & 0xf000) | ((new_constant << 4) & 0xf0000) | (new_constant & 0xfff); + inst[1] = MOVT | (inst[1] & 0xf000) | ((new_constant >> 12) & 0xf0000) | ((new_constant >> 16) & 0xfff); ++ + if (flush_cache) { ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } +@@ -612,7 +685,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + #else + size = compiler->size; + #endif +- code = (sljit_uw*)SLJIT_MALLOC_EXEC(size * sizeof(sljit_uw)); ++ code = (sljit_uw*)SLJIT_MALLOC_EXEC(size * sizeof(sljit_uw), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -653,7 +726,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + } + else { + if (SLJIT_UNLIKELY(resolve_const_pool_index(compiler, &first_patch, cpool_current_index, cpool_start_address, buf_ptr))) { +- SLJIT_FREE_EXEC(code); ++ SLJIT_FREE_EXEC(code, compiler->exec_allocator_data); + compiler->error = SLJIT_ERR_ALLOC_FAILED; + return NULL; + } +@@ -756,7 +829,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + cpool_current_index = 0; + while (buf_ptr < buf_end) { + if (SLJIT_UNLIKELY(resolve_const_pool_index(compiler, &first_patch, cpool_current_index, cpool_start_address, buf_ptr))) { +- SLJIT_FREE_EXEC(code); ++ SLJIT_FREE_EXEC(code, compiler->exec_allocator_data); + compiler->error = SLJIT_ERR_ALLOC_FAILED; + return NULL; + } +@@ -856,6 +929,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + code_ptr = (sljit_uw *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); + + SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); + return code; + } + +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_64.c b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_64.c +index eaca095a2b..52267e7df7 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_64.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_64.c +@@ -151,16 +151,6 @@ static SLJIT_INLINE sljit_s32 emit_imm64_const(struct sljit_compiler *compiler, + return push_inst(compiler, MOVK | RD(dst) | ((imm >> 48) << 5) | (3 << 21)); + } + +-static SLJIT_INLINE void modify_imm64_const(sljit_ins* inst, sljit_uw new_imm) +-{ +- sljit_s32 dst = inst[0] & 0x1f; +- SLJIT_ASSERT((inst[0] & 0xffe00000) == MOVZ && (inst[1] & 0xffe00000) == (MOVK | (1 << 21))); +- inst[0] = MOVZ | dst | ((new_imm & 0xffff) << 5); +- inst[1] = MOVK | dst | (((new_imm >> 16) & 0xffff) << 5) | (1 << 21); +- inst[2] = MOVK | dst | (((new_imm >> 32) & 0xffff) << 5) | (2 << 21); +- inst[3] = MOVK | dst | ((new_imm >> 48) << 5) | (3 << 21); +-} +- + static SLJIT_INLINE sljit_sw detect_jump_type(struct sljit_jump *jump, sljit_ins *code_ptr, sljit_ins *code, sljit_sw executable_offset) + { + sljit_sw diff; +@@ -253,7 +243,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + CHECK_PTR(check_sljit_generate_code(compiler)); + reverse_buf(compiler); + +- code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); ++ code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -380,6 +370,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + code_ptr = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); + + SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); + return code; + } + +@@ -2034,15 +2025,24 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label* sljit_emit_put_label(struct slj + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins* inst = (sljit_ins*)addr; +- modify_imm64_const(inst, new_target); ++ sljit_s32 dst; ++ SLJIT_UNUSED_ARG(executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 4, 0); ++ ++ dst = inst[0] & 0x1f; ++ SLJIT_ASSERT((inst[0] & 0xffe00000) == MOVZ && (inst[1] & 0xffe00000) == (MOVK | (1 << 21))); ++ inst[0] = MOVZ | dst | ((new_target & 0xffff) << 5); ++ inst[1] = MOVK | dst | (((new_target >> 16) & 0xffff) << 5) | (1 << 21); ++ inst[2] = MOVK | dst | (((new_target >> 32) & 0xffff) << 5) | (2 << 21); ++ inst[3] = MOVK | dst | ((new_target >> 48) << 5) | (3 << 21); ++ ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 4, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 4); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins* inst = (sljit_ins*)addr; +- modify_imm64_const(inst, new_constant); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 4); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_T2_32.c b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_T2_32.c +index a81e008a8b..4624882f42 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeARM_T2_32.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeARM_T2_32.c +@@ -377,7 +377,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + CHECK_PTR(check_sljit_generate_code(compiler)); + reverse_buf(compiler); + +- code = (sljit_u16*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_u16)); ++ code = (sljit_u16*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_u16), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -463,6 +463,8 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + code_ptr = (sljit_u16 *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); + + SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); ++ + /* Set thumb mode flag. */ + return (void*)((sljit_uw)code | 0x1); + } +@@ -608,7 +610,7 @@ static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, s + Although some clever things could be done here, "NOT IMM" does not worth the efforts. */ + break; + case SLJIT_ADD: +- nimm = -imm; ++ nimm = -(sljit_sw)imm; + if (IS_2_LO_REGS(reg, dst)) { + if (imm <= 0x7) + return push_inst16(compiler, ADDSI3 | IMM3(imm) | RD3(dst) | RN3(reg)); +@@ -630,7 +632,7 @@ static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, s + nimm = get_imm(imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, ADD_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | nimm); +- nimm = get_imm(-imm); ++ nimm = get_imm(-(sljit_sw)imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, SUB_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | nimm); + break; +@@ -655,11 +657,11 @@ static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, s + nimm = get_imm(imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, CMPI_W | RN4(reg) | nimm); +- nimm = get_imm(-imm); ++ nimm = get_imm(-(sljit_sw)imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, CMNI_W | RN4(reg) | nimm); + } +- nimm = -imm; ++ nimm = -(sljit_sw)imm; + if (IS_2_LO_REGS(reg, dst)) { + if (imm <= 0x7) + return push_inst16(compiler, SUBSI3 | IMM3(imm) | RD3(dst) | RN3(reg)); +@@ -681,7 +683,7 @@ static sljit_s32 emit_op_imm(struct sljit_compiler *compiler, sljit_s32 flags, s + nimm = get_imm(imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, SUB_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | nimm); +- nimm = get_imm(-imm); ++ nimm = get_imm(-(sljit_sw)imm); + if (nimm != INVALID_IMM) + return push_inst32(compiler, ADD_WI | (flags & SET_FLAGS) | RD4(dst) | RN4(reg) | nimm); + break; +@@ -2366,15 +2368,16 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label* sljit_emit_put_label(struct slj + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_u16 *inst = (sljit_u16*)addr; ++ SLJIT_UNUSED_ARG(executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 4, 0); + modify_imm32_const(inst, new_target); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 4, 1); + inst = (sljit_u16 *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 4); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_u16 *inst = (sljit_u16*)addr; +- modify_imm32_const(inst, new_constant); +- inst = (sljit_u16 *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 4); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_32.c b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_32.c +index 777627bb7f..f887ee1311 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_32.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_32.c +@@ -425,23 +425,20 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_ + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins *inst = (sljit_ins *)addr; ++ SLJIT_UNUSED_ARG(executable_offset); + ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); + SLJIT_ASSERT((inst[0] & 0xffe00000) == LUI && (inst[1] & 0xfc000000) == ORI); + inst[0] = (inst[0] & 0xffff0000) | ((new_target >> 16) & 0xffff); + inst[1] = (inst[1] & 0xffff0000) | (new_target & 0xffff); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins *inst = (sljit_ins *)addr; +- +- SLJIT_ASSERT((inst[0] & 0xffe00000) == LUI && (inst[1] & 0xfc000000) == ORI); +- inst[0] = (inst[0] & 0xffff0000) | ((new_constant >> 16) & 0xffff); +- inst[1] = (inst[1] & 0xffff0000) | (new_constant & 0xffff); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 2); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } + + static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s32 arg_types, sljit_ins *ins_ptr) +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_64.c b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_64.c +index 479244d707..5ab9b7d06b 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_64.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_64.c +@@ -525,25 +525,21 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_ + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins *inst = (sljit_ins *)addr; ++ SLJIT_UNUSED_ARG(executable_offset); + ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 6, 0); + inst[0] = (inst[0] & 0xffff0000) | ((new_target >> 48) & 0xffff); + inst[1] = (inst[1] & 0xffff0000) | ((new_target >> 32) & 0xffff); + inst[3] = (inst[3] & 0xffff0000) | ((new_target >> 16) & 0xffff); + inst[5] = (inst[5] & 0xffff0000) | (new_target & 0xffff); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 6, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 6); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins *inst = (sljit_ins *)addr; +- +- inst[0] = (inst[0] & 0xffff0000) | ((new_constant >> 48) & 0xffff); +- inst[1] = (inst[1] & 0xffff0000) | ((new_constant >> 32) & 0xffff); +- inst[3] = (inst[3] & 0xffff0000) | ((new_constant >> 16) & 0xffff); +- inst[5] = (inst[5] & 0xffff0000) | (new_constant & 0xffff); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 6); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } + + static sljit_s32 call_with_args(struct sljit_compiler *compiler, sljit_s32 arg_types, sljit_ins *ins_ptr) +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_common.c b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_common.c +index 88df904e24..ecf4dac4c8 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_common.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeMIPS_common.c +@@ -290,9 +290,9 @@ static const sljit_u8 freg_map[SLJIT_NUMBER_OF_FLOAT_REGISTERS + 4] = { + Useful for reordering instructions in the delay slot. */ + static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins, sljit_s32 delay_slot) + { ++ sljit_ins *ptr = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); + SLJIT_ASSERT(delay_slot == MOVABLE_INS || delay_slot >= UNMOVABLE_INS + || delay_slot == ((ins >> 11) & 0x1f) || delay_slot == ((ins >> 16) & 0x1f)); +- sljit_ins *ptr = (sljit_ins*)ensure_buf(compiler, sizeof(sljit_ins)); + FAIL_IF(!ptr); + *ptr = ins; + compiler->size++; +@@ -520,7 +520,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + CHECK_PTR(check_sljit_generate_code(compiler)); + reverse_buf(compiler); + +- code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); ++ code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -667,6 +667,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + /* GCC workaround for invalid code generation with -O2. */ + sljit_cache_flush(code, code_ptr); + #endif ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); + return code; + } + +@@ -679,7 +680,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) + #ifdef SLJIT_IS_FPU_AVAILABLE + return SLJIT_IS_FPU_AVAILABLE; + #elif defined(__GNUC__) +- asm ("cfc1 %0, $0" : "=r"(fir)); ++ __asm__ ("cfc1 %0, $0" : "=r"(fir)); + return (fir >> 22) & 0x1; + #else + #error "FIR check is not implemented for this architecture" +@@ -2185,14 +2186,14 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil + sljit_s32 dst_reg, + sljit_s32 src, sljit_sw srcw) + { +-#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6) + sljit_ins ins; +-#endif /* SLJIT_MIPS_REV >= 1 */ ++#endif /* SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6 */ + + CHECK_ERROR(); + CHECK(check_sljit_emit_cmov(compiler, type, dst_reg, src, srcw)); + +-#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1) ++#if (defined SLJIT_MIPS_REV && SLJIT_MIPS_REV >= 1 && SLJIT_MIPS_REV < 6) + + if (SLJIT_UNLIKELY(src & SLJIT_IMM)) { + #if (defined SLJIT_CONFIG_MIPS_64 && SLJIT_CONFIG_MIPS_64) +@@ -2249,7 +2250,7 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compil + + return push_inst(compiler, ins | S(src) | D(dst_reg), DR(dst_reg)); + +-#else /* SLJIT_MIPS_REV < 1 */ ++#else /* SLJIT_MIPS_REV < 1 || SLJIT_MIPS_REV >= 6 */ + return sljit_emit_cmov_generic(compiler, type, dst_reg, src, srcw); + #endif /* SLJIT_MIPS_REV >= 1 */ + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_32.c b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_32.c +index 3ce741153f..7d9ec5338f 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_32.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_32.c +@@ -258,21 +258,18 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_ + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins *inst = (sljit_ins *)addr; ++ SLJIT_UNUSED_ARG(executable_offset); + ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); + SLJIT_ASSERT((inst[0] & 0xfc1f0000) == ADDIS && (inst[1] & 0xfc000000) == ORI); + inst[0] = (inst[0] & 0xffff0000) | ((new_target >> 16) & 0xffff); + inst[1] = (inst[1] & 0xffff0000) | (new_target & 0xffff); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins *inst = (sljit_ins *)addr; +- +- SLJIT_ASSERT((inst[0] & 0xfc1f0000) == ADDIS && (inst[1] & 0xfc000000) == ORI); +- inst[0] = (inst[0] & 0xffff0000) | ((new_constant >> 16) & 0xffff); +- inst[1] = (inst[1] & 0xffff0000) | (new_constant & 0xffff); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 2); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_64.c b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_64.c +index 3b73021cc8..92147d2a5d 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_64.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_64.c +@@ -477,23 +477,19 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_ + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins *inst = (sljit_ins*)addr; ++ SLJIT_UNUSED_ARG(executable_offset); + ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 5, 0); + inst[0] = (inst[0] & 0xffff0000) | ((new_target >> 48) & 0xffff); + inst[1] = (inst[1] & 0xffff0000) | ((new_target >> 32) & 0xffff); + inst[3] = (inst[3] & 0xffff0000) | ((new_target >> 16) & 0xffff); + inst[4] = (inst[4] & 0xffff0000) | (new_target & 0xffff); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 5, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 5); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins *inst = (sljit_ins*)addr; +- +- inst[0] = (inst[0] & 0xffff0000) | ((new_constant >> 48) & 0xffff); +- inst[1] = (inst[1] & 0xffff0000) | ((new_constant >> 32) & 0xffff); +- inst[3] = (inst[3] & 0xffff0000) | ((new_constant >> 16) & 0xffff); +- inst[4] = (inst[4] & 0xffff0000) | (new_constant & 0xffff); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 5); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_common.c b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_common.c +index 590f91c258..d84562ce09 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativePPC_common.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativePPC_common.c +@@ -404,7 +404,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + compiler->size += (sizeof(struct sljit_function_context) / sizeof(sljit_ins)); + #endif + #endif +- code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); ++ code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -607,6 +607,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + code_ptr = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); + + SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); + + #if (defined SLJIT_INDIRECT_CALL && SLJIT_INDIRECT_CALL) + return code_ptr; +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeS390X.c b/src/3rdparty/pcre2/src/sljit/sljitNativeS390X.c +new file mode 100644 +index 0000000000..a8b65112d4 +--- /dev/null ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeS390X.c +@@ -0,0 +1,2812 @@ ++/* ++ * Stack-less Just-In-Time compiler ++ * ++ * Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without modification, are ++ * permitted provided that the following conditions are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright notice, this list of ++ * conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list ++ * of conditions and the following disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY ++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT ++ * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ++ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#include ++ ++#ifdef __ARCH__ ++#define ENABLE_STATIC_FACILITY_DETECTION 1 ++#else ++#define ENABLE_STATIC_FACILITY_DETECTION 0 ++#endif ++#define ENABLE_DYNAMIC_FACILITY_DETECTION 1 ++ ++SLJIT_API_FUNC_ATTRIBUTE const char* sljit_get_platform_name(void) ++{ ++ return "s390x" SLJIT_CPUINFO; ++} ++ ++/* Instructions. */ ++typedef sljit_uw sljit_ins; ++ ++/* Instruction tags (most significant halfword). */ ++const sljit_ins sljit_ins_const = (sljit_ins)1 << 48; ++ ++static const sljit_u8 reg_map[SLJIT_NUMBER_OF_REGISTERS + 4] = { ++ 14, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 0, 1 ++}; ++ ++/* there are also a[2-15] available, but they are slower to access and ++ * their use is limited as mundaym explained: ++ * https://github.com/zherczeg/sljit/pull/91#discussion_r486895689 ++ */ ++ ++/* General Purpose Registers [0-15]. */ ++typedef sljit_uw sljit_gpr; ++ ++/* ++ * WARNING ++ * the following code is non standard and should be improved for ++ * consistency, but doesn't use SLJIT_NUMBER_OF_REGISTERS based ++ * registers because r0 and r1 are the ABI recommended volatiles. ++ * there is a gpr() function that maps sljit to physical register numbers ++ * that should be used instead of the usual index into reg_map[] and ++ * will be retired ASAP (TODO: carenas) ++ */ ++ ++const sljit_gpr r0 = 0; /* reg_map[SLJIT_NUMBER_OF_REGISTERS + 2]: 0 in address calculations; reserved */ ++const sljit_gpr r1 = 1; /* reg_map[SLJIT_NUMBER_OF_REGISTERS + 3]: reserved */ ++const sljit_gpr r2 = 2; /* reg_map[1]: 1st argument */ ++const sljit_gpr r3 = 3; /* reg_map[2]: 2nd argument */ ++const sljit_gpr r4 = 4; /* reg_map[3]: 3rd argument */ ++const sljit_gpr r5 = 5; /* reg_map[4]: 4th argument */ ++const sljit_gpr r6 = 6; /* reg_map[5]: 5th argument; 1st saved register */ ++const sljit_gpr r7 = 7; /* reg_map[6] */ ++const sljit_gpr r8 = 8; /* reg_map[7] */ ++const sljit_gpr r9 = 9; /* reg_map[8] */ ++const sljit_gpr r10 = 10; /* reg_map[9] */ ++const sljit_gpr r11 = 11; /* reg_map[10] */ ++const sljit_gpr r12 = 12; /* reg_map[11]: GOT */ ++const sljit_gpr r13 = 13; /* reg_map[12]: Literal Pool pointer */ ++const sljit_gpr r14 = 14; /* reg_map[0]: return address and flag register */ ++const sljit_gpr r15 = 15; /* reg_map[SLJIT_NUMBER_OF_REGISTERS + 1]: stack pointer */ ++ ++/* WARNING: r12 and r13 shouldn't be used as per ABI recommendation */ ++/* TODO(carenas): r12 might conflict in PIC code, reserve? */ ++/* TODO(carenas): r13 is usually pointed to "pool" per ABI, using a tmp ++ * like we do know might be faster though, reserve? ++ */ ++ ++/* TODO(carenas): should be named TMP_REG[1-2] for consistency */ ++#define tmp0 r0 ++#define tmp1 r1 ++ ++/* TODO(carenas): flags should move to a different register so that ++ * link register doesn't need to change ++ */ ++ ++/* Link registers. The normal link register is r14, but since ++ we use that for flags we need to use r0 instead to do fast ++ calls so that flags are preserved. */ ++const sljit_gpr link_r = 14; /* r14 */ ++const sljit_gpr fast_link_r = 0; /* r0 */ ++ ++/* Flag register layout: ++ ++ 0 32 33 34 36 64 ++ +---------------+---+---+-------+-------+ ++ | ZERO | 0 | 0 | C C |///////| ++ +---------------+---+---+-------+-------+ ++*/ ++const sljit_gpr flag_r = 14; /* r14 */ ++ ++struct sljit_s390x_const { ++ struct sljit_const const_; /* must be first */ ++ sljit_sw init_value; /* required to build literal pool */ ++}; ++ ++/* Convert SLJIT register to hardware register. */ ++static SLJIT_INLINE sljit_gpr gpr(sljit_s32 r) ++{ ++ SLJIT_ASSERT(r != SLJIT_UNUSED); ++ SLJIT_ASSERT(r < (sljit_s32)(sizeof(reg_map) / sizeof(reg_map[0]))); ++ return reg_map[r]; ++} ++ ++/* Size of instruction in bytes. Tags must already be cleared. */ ++static SLJIT_INLINE sljit_uw sizeof_ins(sljit_ins ins) ++{ ++ /* keep faulting instructions */ ++ if (ins == 0) ++ return 2; ++ ++ if ((ins & 0x00000000ffffL) == ins) ++ return 2; ++ if ((ins & 0x0000ffffffffL) == ins) ++ return 4; ++ if ((ins & 0xffffffffffffL) == ins) ++ return 6; ++ ++ SLJIT_UNREACHABLE(); ++ return (sljit_uw)-1; ++} ++ ++static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) ++{ ++ sljit_ins *ibuf = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); ++ FAIL_IF(!ibuf); ++ *ibuf = ins; ++ compiler->size++; ++ return SLJIT_SUCCESS; ++} ++ ++static sljit_s32 encode_inst(void **ptr, sljit_ins ins) ++{ ++ sljit_u16 *ibuf = (sljit_u16 *)*ptr; ++ sljit_uw size = sizeof_ins(ins); ++ ++ SLJIT_ASSERT((size & 6) == size); ++ switch (size) { ++ case 6: ++ *ibuf++ = (sljit_u16)(ins >> 32); ++ /* fallthrough */ ++ case 4: ++ *ibuf++ = (sljit_u16)(ins >> 16); ++ /* fallthrough */ ++ case 2: ++ *ibuf++ = (sljit_u16)(ins); ++ } ++ *ptr = (void*)ibuf; ++ return SLJIT_SUCCESS; ++} ++ ++/* Map the given type to a 4-bit condition code mask. */ ++static SLJIT_INLINE sljit_u8 get_cc(sljit_s32 type) { ++ const sljit_u8 eq = 1 << 3; /* equal {,to zero} */ ++ const sljit_u8 lt = 1 << 2; /* less than {,zero} */ ++ const sljit_u8 gt = 1 << 1; /* greater than {,zero} */ ++ const sljit_u8 ov = 1 << 0; /* {overflow,NaN} */ ++ ++ switch (type) { ++ case SLJIT_EQUAL: ++ case SLJIT_EQUAL_F64: ++ return eq; ++ ++ case SLJIT_NOT_EQUAL: ++ case SLJIT_NOT_EQUAL_F64: ++ return ~eq; ++ ++ case SLJIT_LESS: ++ case SLJIT_SIG_LESS: ++ case SLJIT_LESS_F64: ++ return lt; ++ ++ case SLJIT_LESS_EQUAL: ++ case SLJIT_SIG_LESS_EQUAL: ++ case SLJIT_LESS_EQUAL_F64: ++ return (lt | eq); ++ ++ case SLJIT_GREATER: ++ case SLJIT_SIG_GREATER: ++ case SLJIT_GREATER_F64: ++ return gt; ++ ++ case SLJIT_GREATER_EQUAL: ++ case SLJIT_SIG_GREATER_EQUAL: ++ case SLJIT_GREATER_EQUAL_F64: ++ return (gt | eq); ++ ++ case SLJIT_OVERFLOW: ++ case SLJIT_MUL_OVERFLOW: ++ case SLJIT_UNORDERED_F64: ++ return ov; ++ ++ case SLJIT_NOT_OVERFLOW: ++ case SLJIT_MUL_NOT_OVERFLOW: ++ case SLJIT_ORDERED_F64: ++ return ~ov; ++ } ++ ++ SLJIT_UNREACHABLE(); ++ return (sljit_u8)-1; ++} ++ ++/* Facility to bit index mappings. ++ Note: some facilities share the same bit index. */ ++typedef sljit_uw facility_bit; ++#define STORE_FACILITY_LIST_EXTENDED_FACILITY 7 ++#define FAST_LONG_DISPLACEMENT_FACILITY 19 ++#define EXTENDED_IMMEDIATE_FACILITY 21 ++#define GENERAL_INSTRUCTION_EXTENSION_FACILITY 34 ++#define DISTINCT_OPERAND_FACILITY 45 ++#define HIGH_WORD_FACILITY 45 ++#define POPULATION_COUNT_FACILITY 45 ++#define LOAD_STORE_ON_CONDITION_1_FACILITY 45 ++#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_1_FACILITY 49 ++#define LOAD_STORE_ON_CONDITION_2_FACILITY 53 ++#define MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY 58 ++#define VECTOR_FACILITY 129 ++#define VECTOR_ENHANCEMENTS_1_FACILITY 135 ++ ++/* Report whether a facility is known to be present due to the compiler ++ settings. This function should always be compiled to a constant ++ value given a constant argument. */ ++static SLJIT_INLINE int have_facility_static(facility_bit x) ++{ ++#if ENABLE_STATIC_FACILITY_DETECTION ++ switch (x) { ++ case FAST_LONG_DISPLACEMENT_FACILITY: ++ return (__ARCH__ >= 6 /* z990 */); ++ case EXTENDED_IMMEDIATE_FACILITY: ++ case STORE_FACILITY_LIST_EXTENDED_FACILITY: ++ return (__ARCH__ >= 7 /* z9-109 */); ++ case GENERAL_INSTRUCTION_EXTENSION_FACILITY: ++ return (__ARCH__ >= 8 /* z10 */); ++ case DISTINCT_OPERAND_FACILITY: ++ return (__ARCH__ >= 9 /* z196 */); ++ case MISCELLANEOUS_INSTRUCTION_EXTENSIONS_1_FACILITY: ++ return (__ARCH__ >= 10 /* zEC12 */); ++ case LOAD_STORE_ON_CONDITION_2_FACILITY: ++ case VECTOR_FACILITY: ++ return (__ARCH__ >= 11 /* z13 */); ++ case MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY: ++ case VECTOR_ENHANCEMENTS_1_FACILITY: ++ return (__ARCH__ >= 12 /* z14 */); ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++#endif ++ return 0; ++} ++ ++static SLJIT_INLINE unsigned long get_hwcap() ++{ ++ static unsigned long hwcap = 0; ++ if (SLJIT_UNLIKELY(!hwcap)) { ++ hwcap = getauxval(AT_HWCAP); ++ SLJIT_ASSERT(hwcap != 0); ++ } ++ return hwcap; ++} ++ ++static SLJIT_INLINE int have_stfle() ++{ ++ if (have_facility_static(STORE_FACILITY_LIST_EXTENDED_FACILITY)) ++ return 1; ++ ++ return (get_hwcap() & HWCAP_S390_STFLE); ++} ++ ++/* Report whether the given facility is available. This function always ++ performs a runtime check. */ ++static int have_facility_dynamic(facility_bit x) ++{ ++#if ENABLE_DYNAMIC_FACILITY_DETECTION ++ static struct { ++ sljit_uw bits[4]; ++ } cpu_features; ++ size_t size = sizeof(cpu_features); ++ const sljit_uw word_index = x >> 6; ++ const sljit_uw bit_index = ((1UL << 63) >> (x & 63)); ++ ++ SLJIT_ASSERT(x < size * 8); ++ if (SLJIT_UNLIKELY(!have_stfle())) ++ return 0; ++ ++ if (SLJIT_UNLIKELY(cpu_features.bits[0] == 0)) { ++ __asm__ __volatile__ ( ++ "lgr %%r0, %0;" ++ "stfle 0(%1);" ++ /* outputs */: ++ /* inputs */: "d" ((size / 8) - 1), "a" (&cpu_features) ++ /* clobbers */: "r0", "cc", "memory" ++ ); ++ SLJIT_ASSERT(cpu_features.bits[0] != 0); ++ } ++ return (cpu_features.bits[word_index] & bit_index) != 0; ++#else ++ return 0; ++#endif ++} ++ ++#define HAVE_FACILITY(name, bit) \ ++static SLJIT_INLINE int name() \ ++{ \ ++ static int have = -1; \ ++ /* Static check first. May allow the function to be optimized away. */ \ ++ if (have_facility_static(bit)) \ ++ have = 1; \ ++ else if (SLJIT_UNLIKELY(have < 0)) \ ++ have = have_facility_dynamic(bit) ? 1 : 0; \ ++\ ++ return have; \ ++} ++ ++HAVE_FACILITY(have_eimm, EXTENDED_IMMEDIATE_FACILITY) ++HAVE_FACILITY(have_ldisp, FAST_LONG_DISPLACEMENT_FACILITY) ++HAVE_FACILITY(have_genext, GENERAL_INSTRUCTION_EXTENSION_FACILITY) ++HAVE_FACILITY(have_lscond1, LOAD_STORE_ON_CONDITION_1_FACILITY) ++HAVE_FACILITY(have_lscond2, LOAD_STORE_ON_CONDITION_2_FACILITY) ++HAVE_FACILITY(have_misc2, MISCELLANEOUS_INSTRUCTION_EXTENSIONS_2_FACILITY) ++#undef HAVE_FACILITY ++ ++#define is_u12(d) (0 <= (d) && (d) <= 0x00000fffL) ++#define is_u32(d) (0 <= (d) && (d) <= 0xffffffffL) ++ ++#define CHECK_SIGNED(v, bitlen) \ ++ ((v) == (((v) << (sizeof(v) * 8 - bitlen)) >> (sizeof(v) * 8 - bitlen))) ++ ++#define is_s16(d) CHECK_SIGNED((d), 16) ++#define is_s20(d) CHECK_SIGNED((d), 20) ++#define is_s32(d) CHECK_SIGNED((d), 32) ++ ++static SLJIT_INLINE sljit_uw disp_s20(sljit_s32 d) ++{ ++ sljit_uw dh = (d >> 12) & 0xff; ++ sljit_uw dl = (d << 8) & 0xfff00; ++ ++ SLJIT_ASSERT(is_s20(d)); ++ return dh | dl; ++} ++ ++/* TODO(carenas): variadic macro is not strictly needed */ ++#define SLJIT_S390X_INSTRUCTION(op, ...) \ ++static SLJIT_INLINE sljit_ins op(__VA_ARGS__) ++ ++/* RR form instructions. */ ++#define SLJIT_S390X_RR(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src) \ ++{ \ ++ return (pattern) | ((dst & 0xf) << 4) | (src & 0xf); \ ++} ++ ++/* ADD */ ++SLJIT_S390X_RR(ar, 0x1a00) ++ ++/* ADD LOGICAL */ ++SLJIT_S390X_RR(alr, 0x1e00) ++ ++/* AND */ ++SLJIT_S390X_RR(nr, 0x1400) ++ ++/* BRANCH AND SAVE */ ++SLJIT_S390X_RR(basr, 0x0d00) ++ ++/* BRANCH ON CONDITION */ ++SLJIT_S390X_RR(bcr, 0x0700) /* TODO(mundaym): type for mask? */ ++ ++/* COMPARE */ ++SLJIT_S390X_RR(cr, 0x1900) ++ ++/* COMPARE LOGICAL */ ++SLJIT_S390X_RR(clr, 0x1500) ++ ++/* DIVIDE */ ++SLJIT_S390X_RR(dr, 0x1d00) ++ ++/* EXCLUSIVE OR */ ++SLJIT_S390X_RR(xr, 0x1700) ++ ++/* LOAD */ ++SLJIT_S390X_RR(lr, 0x1800) ++ ++/* LOAD COMPLEMENT */ ++SLJIT_S390X_RR(lcr, 0x1300) ++ ++/* OR */ ++SLJIT_S390X_RR(or, 0x1600) ++ ++/* SUBTRACT */ ++SLJIT_S390X_RR(sr, 0x1b00) ++ ++/* SUBTRACT LOGICAL */ ++SLJIT_S390X_RR(slr, 0x1f00) ++ ++#undef SLJIT_S390X_RR ++ ++/* RRE form instructions */ ++#define SLJIT_S390X_RRE(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src) \ ++{ \ ++ return (pattern) | ((dst & 0xf) << 4) | (src & 0xf); \ ++} ++ ++/* ADD */ ++SLJIT_S390X_RRE(agr, 0xb9080000) ++ ++/* ADD LOGICAL */ ++SLJIT_S390X_RRE(algr, 0xb90a0000) ++ ++/* ADD LOGICAL WITH CARRY */ ++SLJIT_S390X_RRE(alcr, 0xb9980000) ++SLJIT_S390X_RRE(alcgr, 0xb9880000) ++ ++/* AND */ ++SLJIT_S390X_RRE(ngr, 0xb9800000) ++ ++/* COMPARE */ ++SLJIT_S390X_RRE(cgr, 0xb9200000) ++ ++/* COMPARE LOGICAL */ ++SLJIT_S390X_RRE(clgr, 0xb9210000) ++ ++/* DIVIDE LOGICAL */ ++SLJIT_S390X_RRE(dlr, 0xb9970000) ++SLJIT_S390X_RRE(dlgr, 0xb9870000) ++ ++/* DIVIDE SINGLE */ ++SLJIT_S390X_RRE(dsgr, 0xb90d0000) ++ ++/* EXCLUSIVE OR */ ++SLJIT_S390X_RRE(xgr, 0xb9820000) ++ ++/* LOAD */ ++SLJIT_S390X_RRE(lgr, 0xb9040000) ++SLJIT_S390X_RRE(lgfr, 0xb9140000) ++ ++/* LOAD BYTE */ ++SLJIT_S390X_RRE(lbr, 0xb9260000) ++SLJIT_S390X_RRE(lgbr, 0xb9060000) ++ ++/* LOAD COMPLEMENT */ ++SLJIT_S390X_RRE(lcgr, 0xb9030000) ++ ++/* LOAD HALFWORD */ ++SLJIT_S390X_RRE(lhr, 0xb9270000) ++SLJIT_S390X_RRE(lghr, 0xb9070000) ++ ++/* LOAD LOGICAL */ ++SLJIT_S390X_RRE(llgfr, 0xb9160000) ++ ++/* LOAD LOGICAL CHARACTER */ ++SLJIT_S390X_RRE(llcr, 0xb9940000) ++SLJIT_S390X_RRE(llgcr, 0xb9840000) ++ ++/* LOAD LOGICAL HALFWORD */ ++SLJIT_S390X_RRE(llhr, 0xb9950000) ++SLJIT_S390X_RRE(llghr, 0xb9850000) ++ ++/* MULTIPLY LOGICAL */ ++SLJIT_S390X_RRE(mlgr, 0xb9860000) ++ ++/* MULTIPLY SINGLE */ ++SLJIT_S390X_RRE(msr, 0xb2520000) ++SLJIT_S390X_RRE(msgr, 0xb90c0000) ++SLJIT_S390X_RRE(msgfr, 0xb91c0000) ++ ++/* OR */ ++SLJIT_S390X_RRE(ogr, 0xb9810000) ++ ++/* SUBTRACT */ ++SLJIT_S390X_RRE(sgr, 0xb9090000) ++ ++/* SUBTRACT LOGICAL */ ++SLJIT_S390X_RRE(slgr, 0xb90b0000) ++ ++/* SUBTRACT LOGICAL WITH BORROW */ ++SLJIT_S390X_RRE(slbr, 0xb9990000) ++SLJIT_S390X_RRE(slbgr, 0xb9890000) ++ ++#undef SLJIT_S390X_RRE ++ ++/* RI-a form instructions */ ++#define SLJIT_S390X_RIA(name, pattern, imm_type) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, imm_type imm) \ ++{ \ ++ return (pattern) | ((reg & 0xf) << 20) | (imm & 0xffff); \ ++} ++ ++/* ADD HALFWORD IMMEDIATE */ ++SLJIT_S390X_RIA(ahi, 0xa70a0000, sljit_s16) ++SLJIT_S390X_RIA(aghi, 0xa70b0000, sljit_s16) ++ ++/* COMPARE HALFWORD IMMEDIATE */ ++SLJIT_S390X_RIA(chi, 0xa70e0000, sljit_s16) ++SLJIT_S390X_RIA(cghi, 0xa70f0000, sljit_s16) ++ ++/* LOAD HALFWORD IMMEDIATE */ ++SLJIT_S390X_RIA(lhi, 0xa7080000, sljit_s16) ++SLJIT_S390X_RIA(lghi, 0xa7090000, sljit_s16) ++ ++/* LOAD LOGICAL IMMEDIATE */ ++SLJIT_S390X_RIA(llihh, 0xa50c0000, sljit_u16) ++SLJIT_S390X_RIA(llihl, 0xa50d0000, sljit_u16) ++SLJIT_S390X_RIA(llilh, 0xa50e0000, sljit_u16) ++SLJIT_S390X_RIA(llill, 0xa50f0000, sljit_u16) ++ ++/* MULTIPLY HALFWORD IMMEDIATE */ ++SLJIT_S390X_RIA(mhi, 0xa70c0000, sljit_s16) ++SLJIT_S390X_RIA(mghi, 0xa70d0000, sljit_s16) ++ ++/* OR IMMEDIATE */ ++SLJIT_S390X_RIA(oilh, 0xa50a0000, sljit_u16) ++ ++/* TEST UNDER MASK */ ++SLJIT_S390X_RIA(tmlh, 0xa7000000, sljit_u16) ++ ++#undef SLJIT_S390X_RIA ++ ++/* RIL-a form instructions (requires extended immediate facility) */ ++#define SLJIT_S390X_RILA(name, pattern, imm_type) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, imm_type imm) \ ++{ \ ++ SLJIT_ASSERT(have_eimm()); \ ++ return (pattern) | ((sljit_ins)(reg & 0xf) << 36) | (imm & 0xffffffff); \ ++} ++ ++/* ADD IMMEDIATE */ ++SLJIT_S390X_RILA(afi, 0xc20900000000, sljit_s32) ++SLJIT_S390X_RILA(agfi, 0xc20800000000, sljit_s32) ++ ++/* ADD IMMEDIATE HIGH */ ++SLJIT_S390X_RILA(aih, 0xcc0800000000, sljit_s32) /* TODO(mundaym): high-word facility? */ ++ ++/* ADD LOGICAL IMMEDIATE */ ++SLJIT_S390X_RILA(alfi, 0xc20b00000000, sljit_u32) ++SLJIT_S390X_RILA(algfi, 0xc20a00000000, sljit_u32) ++ ++/* AND IMMEDIATE */ ++SLJIT_S390X_RILA(nihf, 0xc00a00000000, sljit_u32) ++SLJIT_S390X_RILA(nilf, 0xc00b00000000, sljit_u32) ++ ++/* COMPARE IMMEDIATE */ ++SLJIT_S390X_RILA(cfi, 0xc20d00000000, sljit_s32) ++SLJIT_S390X_RILA(cgfi, 0xc20c00000000, sljit_s32) ++ ++/* COMPARE IMMEDIATE HIGH */ ++SLJIT_S390X_RILA(cih, 0xcc0d00000000, sljit_s32) /* TODO(mundaym): high-word facility? */ ++ ++/* COMPARE LOGICAL IMMEDIATE */ ++SLJIT_S390X_RILA(clfi, 0xc20f00000000, sljit_u32) ++SLJIT_S390X_RILA(clgfi, 0xc20e00000000, sljit_u32) ++ ++/* EXCLUSIVE OR IMMEDIATE */ ++SLJIT_S390X_RILA(xilf, 0xc00700000000, sljit_u32) ++ ++/* INSERT IMMEDIATE */ ++SLJIT_S390X_RILA(iihf, 0xc00800000000, sljit_u32) ++SLJIT_S390X_RILA(iilf, 0xc00900000000, sljit_u32) ++ ++/* LOAD IMMEDIATE */ ++SLJIT_S390X_RILA(lgfi, 0xc00100000000, sljit_s32) ++ ++/* LOAD LOGICAL IMMEDIATE */ ++SLJIT_S390X_RILA(llihf, 0xc00e00000000, sljit_u32) ++SLJIT_S390X_RILA(llilf, 0xc00f00000000, sljit_u32) ++ ++/* OR IMMEDIATE */ ++SLJIT_S390X_RILA(oilf, 0xc00d00000000, sljit_u32) ++ ++#undef SLJIT_S390X_RILA ++ ++/* RX-a form instructions */ ++#define SLJIT_S390X_RXA(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr r, sljit_u16 d, sljit_gpr x, sljit_gpr b) \ ++{ \ ++ sljit_ins ri, xi, bi, di; \ ++\ ++ SLJIT_ASSERT((d & 0xfff) == d); \ ++ ri = (sljit_ins)(r & 0xf) << 20; \ ++ xi = (sljit_ins)(x & 0xf) << 16; \ ++ bi = (sljit_ins)(b & 0xf) << 12; \ ++ di = (sljit_ins)(d & 0xfff); \ ++\ ++ return (pattern) | ri | xi | bi | di; \ ++} ++ ++/* ADD */ ++SLJIT_S390X_RXA(a, 0x5a000000) ++ ++/* ADD LOGICAL */ ++SLJIT_S390X_RXA(al, 0x5e000000) ++ ++/* AND */ ++SLJIT_S390X_RXA(n, 0x54000000) ++ ++/* EXCLUSIVE OR */ ++SLJIT_S390X_RXA(x, 0x57000000) ++ ++/* LOAD */ ++SLJIT_S390X_RXA(l, 0x58000000) ++ ++/* LOAD ADDRESS */ ++SLJIT_S390X_RXA(la, 0x41000000) ++ ++/* LOAD HALFWORD */ ++SLJIT_S390X_RXA(lh, 0x48000000) ++ ++/* MULTIPLY SINGLE */ ++SLJIT_S390X_RXA(ms, 0x71000000) ++ ++/* OR */ ++SLJIT_S390X_RXA(o, 0x56000000) ++ ++/* STORE */ ++SLJIT_S390X_RXA(st, 0x50000000) ++ ++/* STORE CHARACTER */ ++SLJIT_S390X_RXA(stc, 0x42000000) ++ ++/* STORE HALFWORD */ ++SLJIT_S390X_RXA(sth, 0x40000000) ++ ++/* SUBTRACT */ ++SLJIT_S390X_RXA(s, 0x5b000000) ++ ++/* SUBTRACT LOGICAL */ ++SLJIT_S390X_RXA(sl, 0x5f000000) ++ ++#undef SLJIT_S390X_RXA ++ ++/* RXY-a instructions */ ++#define SLJIT_S390X_RXYA(name, pattern, cond) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b) \ ++{ \ ++ sljit_ins ri, xi, bi, di; \ ++\ ++ SLJIT_ASSERT(cond); \ ++ ri = (sljit_ins)(r & 0xf) << 36; \ ++ xi = (sljit_ins)(x & 0xf) << 32; \ ++ bi = (sljit_ins)(b & 0xf) << 28; \ ++ di = (sljit_ins)disp_s20(d) << 8; \ ++\ ++ return (pattern) | ri | xi | bi | di; \ ++} ++ ++/* ADD */ ++SLJIT_S390X_RXYA(ay, 0xe3000000005a, have_ldisp()) ++SLJIT_S390X_RXYA(ag, 0xe30000000008, 1) ++ ++/* ADD LOGICAL */ ++SLJIT_S390X_RXYA(aly, 0xe3000000005e, have_ldisp()) ++SLJIT_S390X_RXYA(alg, 0xe3000000000a, 1) ++ ++/* ADD LOGICAL WITH CARRY */ ++SLJIT_S390X_RXYA(alc, 0xe30000000098, 1) ++SLJIT_S390X_RXYA(alcg, 0xe30000000088, 1) ++ ++/* AND */ ++SLJIT_S390X_RXYA(ny, 0xe30000000054, have_ldisp()) ++SLJIT_S390X_RXYA(ng, 0xe30000000080, 1) ++ ++/* EXCLUSIVE OR */ ++SLJIT_S390X_RXYA(xy, 0xe30000000057, have_ldisp()) ++SLJIT_S390X_RXYA(xg, 0xe30000000082, 1) ++ ++/* LOAD */ ++SLJIT_S390X_RXYA(ly, 0xe30000000058, have_ldisp()) ++SLJIT_S390X_RXYA(lg, 0xe30000000004, 1) ++SLJIT_S390X_RXYA(lgf, 0xe30000000014, 1) ++ ++/* LOAD BYTE */ ++SLJIT_S390X_RXYA(lb, 0xe30000000076, have_ldisp()) ++SLJIT_S390X_RXYA(lgb, 0xe30000000077, have_ldisp()) ++ ++/* LOAD HALFWORD */ ++SLJIT_S390X_RXYA(lhy, 0xe30000000078, have_ldisp()) ++SLJIT_S390X_RXYA(lgh, 0xe30000000015, 1) ++ ++/* LOAD LOGICAL */ ++SLJIT_S390X_RXYA(llgf, 0xe30000000016, 1) ++ ++/* LOAD LOGICAL CHARACTER */ ++SLJIT_S390X_RXYA(llc, 0xe30000000094, have_eimm()) ++SLJIT_S390X_RXYA(llgc, 0xe30000000090, 1) ++ ++/* LOAD LOGICAL HALFWORD */ ++SLJIT_S390X_RXYA(llh, 0xe30000000095, have_eimm()) ++SLJIT_S390X_RXYA(llgh, 0xe30000000091, 1) ++ ++/* MULTIPLY SINGLE */ ++SLJIT_S390X_RXYA(msy, 0xe30000000051, have_ldisp()) ++SLJIT_S390X_RXYA(msg, 0xe3000000000c, 1) ++ ++/* OR */ ++SLJIT_S390X_RXYA(oy, 0xe30000000056, have_ldisp()) ++SLJIT_S390X_RXYA(og, 0xe30000000081, 1) ++ ++/* STORE */ ++SLJIT_S390X_RXYA(sty, 0xe30000000050, have_ldisp()) ++SLJIT_S390X_RXYA(stg, 0xe30000000024, 1) ++ ++/* STORE CHARACTER */ ++SLJIT_S390X_RXYA(stcy, 0xe30000000072, have_ldisp()) ++ ++/* STORE HALFWORD */ ++SLJIT_S390X_RXYA(sthy, 0xe30000000070, have_ldisp()) ++ ++/* SUBTRACT */ ++SLJIT_S390X_RXYA(sy, 0xe3000000005b, have_ldisp()) ++SLJIT_S390X_RXYA(sg, 0xe30000000009, 1) ++ ++/* SUBTRACT LOGICAL */ ++SLJIT_S390X_RXYA(sly, 0xe3000000005f, have_ldisp()) ++SLJIT_S390X_RXYA(slg, 0xe3000000000b, 1) ++ ++/* SUBTRACT LOGICAL WITH BORROW */ ++SLJIT_S390X_RXYA(slb, 0xe30000000099, 1) ++SLJIT_S390X_RXYA(slbg, 0xe30000000089, 1) ++ ++#undef SLJIT_S390X_RXYA ++ ++/* RS-a instructions */ ++#define SLJIT_S390X_RSA(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, sljit_sw d, sljit_gpr b) \ ++{ \ ++ sljit_ins r1 = (sljit_ins)(reg & 0xf) << 20; \ ++ sljit_ins b2 = (sljit_ins)(b & 0xf) << 12; \ ++ sljit_ins d2 = (sljit_ins)(d & 0xfff); \ ++ return (pattern) | r1 | b2 | d2; \ ++} ++ ++/* SHIFT LEFT SINGLE LOGICAL */ ++SLJIT_S390X_RSA(sll, 0x89000000) ++ ++/* SHIFT RIGHT SINGLE */ ++SLJIT_S390X_RSA(sra, 0x8a000000) ++ ++/* SHIFT RIGHT SINGLE LOGICAL */ ++SLJIT_S390X_RSA(srl, 0x88000000) ++ ++#undef SLJIT_S390X_RSA ++ ++/* RSY-a instructions */ ++#define SLJIT_S390X_RSYA(name, pattern, cond) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src, sljit_sw d, sljit_gpr b) \ ++{ \ ++ sljit_ins r1, r3, b2, d2; \ ++\ ++ SLJIT_ASSERT(cond); \ ++ r1 = (sljit_ins)(dst & 0xf) << 36; \ ++ r3 = (sljit_ins)(src & 0xf) << 32; \ ++ b2 = (sljit_ins)(b & 0xf) << 28; \ ++ d2 = (sljit_ins)disp_s20(d) << 8; \ ++\ ++ return (pattern) | r1 | r3 | b2 | d2; \ ++} ++ ++/* LOAD MULTIPLE */ ++SLJIT_S390X_RSYA(lmg, 0xeb0000000004, 1) ++ ++/* SHIFT LEFT LOGICAL */ ++SLJIT_S390X_RSYA(sllg, 0xeb000000000d, 1) ++ ++/* SHIFT RIGHT SINGLE */ ++SLJIT_S390X_RSYA(srag, 0xeb000000000a, 1) ++ ++/* SHIFT RIGHT SINGLE LOGICAL */ ++SLJIT_S390X_RSYA(srlg, 0xeb000000000c, 1) ++ ++/* STORE MULTIPLE */ ++SLJIT_S390X_RSYA(stmg, 0xeb0000000024, 1) ++ ++#undef SLJIT_S390X_RSYA ++ ++/* RIE-f instructions (require general-instructions-extension facility) */ ++#define SLJIT_S390X_RIEF(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src, sljit_u8 start, sljit_u8 end, sljit_u8 rot) \ ++{ \ ++ sljit_ins r1, r2, i3, i4, i5; \ ++\ ++ SLJIT_ASSERT(have_genext()); \ ++ r1 = (sljit_ins)(dst & 0xf) << 36; \ ++ r2 = (sljit_ins)(src & 0xf) << 32; \ ++ i3 = (sljit_ins)start << 24; \ ++ i4 = (sljit_ins)end << 16; \ ++ i5 = (sljit_ins)rot << 8; \ ++\ ++ return (pattern) | r1 | r2 | i3 | i4 | i5; \ ++} ++ ++/* ROTATE THEN AND SELECTED BITS */ ++/* SLJIT_S390X_RIEF(rnsbg, 0xec0000000054) */ ++ ++/* ROTATE THEN EXCLUSIVE OR SELECTED BITS */ ++/* SLJIT_S390X_RIEF(rxsbg, 0xec0000000057) */ ++ ++/* ROTATE THEN OR SELECTED BITS */ ++SLJIT_S390X_RIEF(rosbg, 0xec0000000056) ++ ++/* ROTATE THEN INSERT SELECTED BITS */ ++/* SLJIT_S390X_RIEF(risbg, 0xec0000000055) */ ++/* SLJIT_S390X_RIEF(risbgn, 0xec0000000059) */ ++ ++/* ROTATE THEN INSERT SELECTED BITS HIGH */ ++SLJIT_S390X_RIEF(risbhg, 0xec000000005d) ++ ++/* ROTATE THEN INSERT SELECTED BITS LOW */ ++/* SLJIT_S390X_RIEF(risblg, 0xec0000000051) */ ++ ++#undef SLJIT_S390X_RIEF ++ ++/* RRF-a instructions */ ++#define SLJIT_S390X_RRFA(name, pattern, cond) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src1, sljit_gpr src2) \ ++{ \ ++ sljit_ins r1, r2, r3; \ ++\ ++ SLJIT_ASSERT(cond); \ ++ r1 = (sljit_ins)(dst & 0xf) << 4; \ ++ r2 = (sljit_ins)(src1 & 0xf); \ ++ r3 = (sljit_ins)(src2 & 0xf) << 12; \ ++\ ++ return (pattern) | r3 | r1 | r2; \ ++} ++ ++/* MULTIPLY */ ++SLJIT_S390X_RRFA(msrkc, 0xb9fd0000, have_misc2()) ++SLJIT_S390X_RRFA(msgrkc, 0xb9ed0000, have_misc2()) ++ ++#undef SLJIT_S390X_RRFA ++ ++/* RRF-c instructions (require load/store-on-condition 1 facility) */ ++#define SLJIT_S390X_RRFC(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr dst, sljit_gpr src, sljit_uw mask) \ ++{ \ ++ sljit_ins r1, r2, m3; \ ++\ ++ SLJIT_ASSERT(have_lscond1()); \ ++ r1 = (sljit_ins)(dst & 0xf) << 4; \ ++ r2 = (sljit_ins)(src & 0xf); \ ++ m3 = (sljit_ins)(mask & 0xf) << 12; \ ++\ ++ return (pattern) | m3 | r1 | r2; \ ++} ++ ++/* LOAD HALFWORD IMMEDIATE ON CONDITION */ ++SLJIT_S390X_RRFC(locr, 0xb9f20000) ++SLJIT_S390X_RRFC(locgr, 0xb9e20000) ++ ++#undef SLJIT_S390X_RRFC ++ ++/* RIE-g instructions (require load/store-on-condition 2 facility) */ ++#define SLJIT_S390X_RIEG(name, pattern) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, sljit_sw imm, sljit_uw mask) \ ++{ \ ++ sljit_ins r1, m3, i2; \ ++\ ++ SLJIT_ASSERT(have_lscond2()); \ ++ r1 = (sljit_ins)(reg & 0xf) << 36; \ ++ m3 = (sljit_ins)(mask & 0xf) << 32; \ ++ i2 = (sljit_ins)(imm & 0xffffL) << 16; \ ++\ ++ return (pattern) | r1 | m3 | i2; \ ++} ++ ++/* LOAD HALFWORD IMMEDIATE ON CONDITION */ ++SLJIT_S390X_RIEG(lochi, 0xec0000000042) ++SLJIT_S390X_RIEG(locghi, 0xec0000000046) ++ ++#undef SLJIT_S390X_RIEG ++ ++#define SLJIT_S390X_RILB(name, pattern, cond) \ ++SLJIT_S390X_INSTRUCTION(name, sljit_gpr reg, sljit_sw ri) \ ++{ \ ++ sljit_ins r1, ri2; \ ++\ ++ SLJIT_ASSERT(cond); \ ++ r1 = (sljit_ins)(reg & 0xf) << 36; \ ++ ri2 = (sljit_ins)(ri & 0xffffffff); \ ++\ ++ return (pattern) | r1 | ri2; \ ++} ++ ++/* BRANCH RELATIVE AND SAVE LONG */ ++SLJIT_S390X_RILB(brasl, 0xc00500000000, 1) ++ ++/* LOAD ADDRESS RELATIVE LONG */ ++SLJIT_S390X_RILB(larl, 0xc00000000000, 1) ++ ++/* LOAD RELATIVE LONG */ ++SLJIT_S390X_RILB(lgrl, 0xc40800000000, have_genext()) ++ ++#undef SLJIT_S390X_RILB ++ ++SLJIT_S390X_INSTRUCTION(br, sljit_gpr target) ++{ ++ return 0x07f0 | target; ++} ++ ++SLJIT_S390X_INSTRUCTION(brcl, sljit_uw mask, sljit_sw target) ++{ ++ sljit_ins m1 = (sljit_ins)(mask & 0xf) << 36; ++ sljit_ins ri2 = (sljit_ins)target & 0xffffffff; ++ return 0xc00400000000L | m1 | ri2; ++} ++ ++SLJIT_S390X_INSTRUCTION(flogr, sljit_gpr dst, sljit_gpr src) ++{ ++ sljit_ins r1 = ((sljit_ins)dst & 0xf) << 8; ++ sljit_ins r2 = ((sljit_ins)src & 0xf); ++ SLJIT_ASSERT(have_eimm()); ++ return 0xb9830000 | r1 | r2; ++} ++ ++/* INSERT PROGRAM MASK */ ++SLJIT_S390X_INSTRUCTION(ipm, sljit_gpr dst) ++{ ++ return 0xb2220000 | ((sljit_ins)(dst & 0xf) << 4); ++} ++ ++/* ROTATE THEN INSERT SELECTED BITS HIGH (ZERO) */ ++SLJIT_S390X_INSTRUCTION(risbhgz, sljit_gpr dst, sljit_gpr src, sljit_u8 start, sljit_u8 end, sljit_u8 rot) ++{ ++ return risbhg(dst, src, start, 0x8 | end, rot); ++} ++ ++#undef SLJIT_S390X_INSTRUCTION ++ ++/* load condition code as needed to match type */ ++static sljit_s32 push_load_cc(struct sljit_compiler *compiler, sljit_s32 type) ++{ ++ type &= ~SLJIT_I32_OP; ++ switch (type) { ++ case SLJIT_ZERO: ++ case SLJIT_NOT_ZERO: ++ return push_inst(compiler, cih(flag_r, 0)); ++ break; ++ default: ++ return push_inst(compiler, tmlh(flag_r, 0x3000)); ++ break; ++ } ++ return SLJIT_SUCCESS; ++} ++ ++static sljit_s32 push_store_zero_flag(struct sljit_compiler *compiler, sljit_s32 op, sljit_gpr source) ++{ ++ /* insert low 32-bits into high 32-bits of flag register */ ++ FAIL_IF(push_inst(compiler, risbhgz(flag_r, source, 0, 31, 32))); ++ if (!(op & SLJIT_I32_OP)) { ++ /* OR high 32-bits with high 32-bits of flag register */ ++ return push_inst(compiler, rosbg(flag_r, source, 0, 31, 0)); ++ } ++ return SLJIT_SUCCESS; ++} ++ ++/* load 64-bit immediate into register without clobbering flags */ ++static sljit_s32 push_load_imm_inst(struct sljit_compiler *compiler, sljit_gpr target, sljit_sw v) ++{ ++ /* 4 byte instructions */ ++ if (is_s16(v)) ++ return push_inst(compiler, lghi(target, (sljit_s16)v)); ++ ++ if ((sljit_uw)v == (v & 0x000000000000ffffU)) ++ return push_inst(compiler, llill(target, (sljit_u16)v)); ++ ++ if ((sljit_uw)v == (v & 0x00000000ffff0000U)) ++ return push_inst(compiler, llilh(target, (sljit_u16)(v >> 16))); ++ ++ if ((sljit_uw)v == (v & 0x0000ffff00000000U)) ++ return push_inst(compiler, llihl(target, (sljit_u16)(v >> 32))); ++ ++ if ((sljit_uw)v == (v & 0xffff000000000000U)) ++ return push_inst(compiler, llihh(target, (sljit_u16)(v >> 48))); ++ ++ /* 6 byte instructions (requires extended immediate facility) */ ++ if (have_eimm()) { ++ if (is_s32(v)) ++ return push_inst(compiler, lgfi(target, (sljit_s32)v)); ++ ++ if ((sljit_uw)v == (v & 0x00000000ffffffffU)) ++ return push_inst(compiler, llilf(target, (sljit_u32)v)); ++ ++ if ((sljit_uw)v == (v & 0xffffffff00000000U)) ++ return push_inst(compiler, llihf(target, (sljit_u32)(v >> 32))); ++ ++ FAIL_IF(push_inst(compiler, llilf(target, (sljit_u32)v))); ++ return push_inst(compiler, iihf(target, (sljit_u32)(v >> 32))); ++ } ++ /* TODO(mundaym): instruction sequences that don't use extended immediates */ ++ abort(); ++} ++ ++struct addr { ++ sljit_gpr base; ++ sljit_gpr index; ++ sljit_sw offset; ++}; ++ ++/* transform memory operand into D(X,B) form with a signed 20-bit offset */ ++static sljit_s32 make_addr_bxy(struct sljit_compiler *compiler, ++ struct addr *addr, sljit_s32 mem, sljit_sw off, ++ sljit_gpr tmp /* clobbered, must not be r0 */) ++{ ++ sljit_gpr base = r0; ++ sljit_gpr index = r0; ++ ++ SLJIT_ASSERT(tmp != r0); ++ if (mem & REG_MASK) ++ base = gpr(mem & REG_MASK); ++ ++ if (mem & OFFS_REG_MASK) { ++ index = gpr(OFFS_REG(mem)); ++ if (off != 0) { ++ /* shift and put the result into tmp */ ++ SLJIT_ASSERT(0 <= off && off < 64); ++ FAIL_IF(push_inst(compiler, sllg(tmp, index, off, 0))); ++ index = tmp; ++ off = 0; /* clear offset */ ++ } ++ } ++ else if (!is_s20(off)) { ++ FAIL_IF(push_load_imm_inst(compiler, tmp, off)); ++ index = tmp; ++ off = 0; /* clear offset */ ++ } ++ addr->base = base; ++ addr->index = index; ++ addr->offset = off; ++ return SLJIT_SUCCESS; ++} ++ ++/* transform memory operand into D(X,B) form with an unsigned 12-bit offset */ ++static sljit_s32 make_addr_bx(struct sljit_compiler *compiler, ++ struct addr *addr, sljit_s32 mem, sljit_sw off, ++ sljit_gpr tmp /* clobbered, must not be r0 */) ++{ ++ sljit_gpr base = r0; ++ sljit_gpr index = r0; ++ ++ SLJIT_ASSERT(tmp != r0); ++ if (mem & REG_MASK) ++ base = gpr(mem & REG_MASK); ++ ++ if (mem & OFFS_REG_MASK) { ++ index = gpr(OFFS_REG(mem)); ++ if (off != 0) { ++ /* shift and put the result into tmp */ ++ SLJIT_ASSERT(0 <= off && off < 64); ++ FAIL_IF(push_inst(compiler, sllg(tmp, index, off, 0))); ++ index = tmp; ++ off = 0; /* clear offset */ ++ } ++ } ++ else if (!is_u12(off)) { ++ FAIL_IF(push_load_imm_inst(compiler, tmp, off)); ++ index = tmp; ++ off = 0; /* clear offset */ ++ } ++ addr->base = base; ++ addr->index = index; ++ addr->offset = off; ++ return SLJIT_SUCCESS; ++} ++ ++#define EVAL(op, r, addr) op(r, addr.offset, addr.index, addr.base) ++#define WHEN(cond, r, i1, i2, addr) \ ++ (cond) ? EVAL(i1, r, addr) : EVAL(i2, r, addr) ++ ++static sljit_s32 load_word(struct sljit_compiler *compiler, sljit_gpr dst, ++ sljit_s32 src, sljit_sw srcw, ++ sljit_gpr tmp /* clobbered */, sljit_s32 is_32bit) ++{ ++ struct addr addr; ++ sljit_ins ins; ++ ++ SLJIT_ASSERT(src & SLJIT_MEM); ++ if (have_ldisp() || !is_32bit) ++ FAIL_IF(make_addr_bxy(compiler, &addr, src, srcw, tmp)); ++ else ++ FAIL_IF(make_addr_bx(compiler, &addr, src, srcw, tmp)); ++ ++ if (is_32bit) ++ ins = WHEN(is_u12(addr.offset), dst, l, ly, addr); ++ else ++ ins = lg(dst, addr.offset, addr.index, addr.base); ++ ++ return push_inst(compiler, ins); ++} ++ ++static sljit_s32 store_word(struct sljit_compiler *compiler, sljit_gpr src, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_gpr tmp /* clobbered */, sljit_s32 is_32bit) ++{ ++ struct addr addr; ++ sljit_ins ins; ++ ++ SLJIT_ASSERT(dst & SLJIT_MEM); ++ if (have_ldisp() || !is_32bit) ++ FAIL_IF(make_addr_bxy(compiler, &addr, dst, dstw, tmp)); ++ else ++ FAIL_IF(make_addr_bx(compiler, &addr, dst, dstw, tmp)); ++ ++ if (is_32bit) ++ ins = WHEN(is_u12(addr.offset), src, st, sty, addr); ++ else ++ ins = stg(src, addr.offset, addr.index, addr.base); ++ ++ return push_inst(compiler, ins); ++} ++ ++#undef WHEN ++ ++SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compiler) ++{ ++ struct sljit_label *label; ++ struct sljit_jump *jump; ++ struct sljit_s390x_const *const_; ++ struct sljit_put_label *put_label; ++ sljit_sw executable_offset; ++ sljit_uw ins_size = 0; /* instructions */ ++ sljit_uw pool_size = 0; /* literal pool */ ++ sljit_uw pad_size; ++ sljit_uw i, j = 0; ++ struct sljit_memory_fragment *buf; ++ void *code, *code_ptr; ++ sljit_uw *pool, *pool_ptr; ++ ++ sljit_uw source; ++ sljit_sw offset; /* TODO(carenas): only need 32 bit */ ++ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_generate_code(compiler)); ++ reverse_buf(compiler); ++ ++ /* branch handling */ ++ label = compiler->labels; ++ jump = compiler->jumps; ++ put_label = compiler->put_labels; ++ ++ /* TODO(carenas): compiler->executable_size could be calculated ++ * before to avoid the following loop (except for ++ * pool_size) ++ */ ++ /* calculate the size of the code */ ++ for (buf = compiler->buf; buf != NULL; buf = buf->next) { ++ sljit_uw len = buf->used_size / sizeof(sljit_ins); ++ sljit_ins *ibuf = (sljit_ins *)buf->memory; ++ for (i = 0; i < len; ++i, ++j) { ++ sljit_ins ins = ibuf[i]; ++ ++ /* TODO(carenas): instruction tag vs size/addr == j ++ * using instruction tags for const is creative ++ * but unlike all other architectures, and is not ++ * done consistently for all other objects. ++ * This might need reviewing later. ++ */ ++ if (ins & sljit_ins_const) { ++ pool_size += sizeof(*pool); ++ ins &= ~sljit_ins_const; ++ } ++ if (label && label->size == j) { ++ label->size = ins_size; ++ label = label->next; ++ } ++ if (jump && jump->addr == j) { ++ if ((jump->flags & SLJIT_REWRITABLE_JUMP) || (jump->flags & JUMP_ADDR)) { ++ /* encoded: */ ++ /* brasl %r14, (or brcl , ) */ ++ /* replace with: */ ++ /* lgrl %r1, */ ++ /* bras %r14, %r1 (or bcr , %r1) */ ++ pool_size += sizeof(*pool); ++ ins_size += 2; ++ } ++ jump = jump->next; ++ } ++ if (put_label && put_label->addr == j) { ++ pool_size += sizeof(*pool); ++ put_label = put_label->next; ++ } ++ ins_size += sizeof_ins(ins); ++ } ++ } ++ ++ /* emit trailing label */ ++ if (label && label->size == j) { ++ label->size = ins_size; ++ label = label->next; ++ } ++ ++ SLJIT_ASSERT(!label); ++ SLJIT_ASSERT(!jump); ++ SLJIT_ASSERT(!put_label); ++ ++ /* pad code size to 8 bytes so is accessible with half word offsets */ ++ /* the literal pool needs to be doubleword aligned */ ++ pad_size = ((ins_size + 7UL) & ~7UL) - ins_size; ++ SLJIT_ASSERT(pad_size < 8UL); ++ ++ /* allocate target buffer */ ++ code = SLJIT_MALLOC_EXEC(ins_size + pad_size + pool_size, ++ compiler->exec_allocator_data); ++ PTR_FAIL_WITH_EXEC_IF(code); ++ code_ptr = code; ++ executable_offset = SLJIT_EXEC_OFFSET(code); ++ ++ /* TODO(carenas): pool is optional, and the ABI recommends it to ++ * be created before the function code, instead of ++ * globally; if generated code is too big could ++ * need offsets bigger than 32bit words and asser() ++ */ ++ pool = (sljit_uw *)((sljit_uw)code + ins_size + pad_size); ++ pool_ptr = pool; ++ const_ = (struct sljit_s390x_const *)compiler->consts; ++ ++ /* update label addresses */ ++ label = compiler->labels; ++ while (label) { ++ label->addr = (sljit_uw)SLJIT_ADD_EXEC_OFFSET( ++ (sljit_uw)code_ptr + label->size, executable_offset); ++ label = label->next; ++ } ++ ++ /* reset jumps */ ++ jump = compiler->jumps; ++ put_label = compiler->put_labels; ++ ++ /* emit the code */ ++ j = 0; ++ for (buf = compiler->buf; buf != NULL; buf = buf->next) { ++ sljit_uw len = buf->used_size / sizeof(sljit_ins); ++ sljit_ins *ibuf = (sljit_ins *)buf->memory; ++ for (i = 0; i < len; ++i, ++j) { ++ sljit_ins ins = ibuf[i]; ++ if (ins & sljit_ins_const) { ++ /* clear the const tag */ ++ ins &= ~sljit_ins_const; ++ ++ /* update instruction with relative address of constant */ ++ source = (sljit_uw)code_ptr; ++ offset = (sljit_uw)pool_ptr - source; ++ SLJIT_ASSERT(!(offset & 1)); ++ offset >>= 1; /* halfword (not byte) offset */ ++ SLJIT_ASSERT(is_s32(offset)); ++ ins |= (sljit_ins)offset & 0xffffffff; ++ ++ /* update address */ ++ const_->const_.addr = (sljit_uw)pool_ptr; ++ ++ /* store initial value into pool and update pool address */ ++ *(pool_ptr++) = const_->init_value; ++ ++ /* move to next constant */ ++ const_ = (struct sljit_s390x_const *)const_->const_.next; ++ } ++ if (jump && jump->addr == j) { ++ sljit_sw target = (jump->flags & JUMP_LABEL) ? jump->u.label->addr : jump->u.target; ++ if ((jump->flags & SLJIT_REWRITABLE_JUMP) || (jump->flags & JUMP_ADDR)) { ++ jump->addr = (sljit_uw)pool_ptr; ++ ++ /* load address into tmp1 */ ++ source = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); ++ offset = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(pool_ptr, executable_offset) - source; ++ SLJIT_ASSERT(!(offset & 1)); ++ offset >>= 1; ++ SLJIT_ASSERT(is_s32(offset)); ++ encode_inst(&code_ptr, ++ lgrl(tmp1, offset & 0xffffffff)); ++ ++ /* store jump target into pool and update pool address */ ++ *(pool_ptr++) = target; ++ ++ /* branch to tmp1 */ ++ sljit_ins op = (ins >> 32) & 0xf; ++ sljit_ins arg = (ins >> 36) & 0xf; ++ switch (op) { ++ case 4: /* brcl -> bcr */ ++ ins = bcr(arg, tmp1); ++ break; ++ case 5: /* brasl -> basr */ ++ ins = basr(arg, tmp1); ++ break; ++ default: ++ abort(); ++ } ++ } ++ else { ++ jump->addr = (sljit_uw)code_ptr + 2; ++ source = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); ++ offset = target - source; ++ ++ /* offset must be halfword aligned */ ++ SLJIT_ASSERT(!(offset & 1)); ++ offset >>= 1; ++ SLJIT_ASSERT(is_s32(offset)); /* TODO(mundaym): handle arbitrary offsets */ ++ ++ /* patch jump target */ ++ ins |= (sljit_ins)offset & 0xffffffff; ++ } ++ jump = jump->next; ++ } ++ if (put_label && put_label->addr == j) { ++ source = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); ++ ++ SLJIT_ASSERT(put_label->label); ++ put_label->addr = (sljit_uw)code_ptr; ++ ++ /* store target into pool */ ++ *pool_ptr = put_label->label->addr; ++ offset = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(pool_ptr, executable_offset) - source; ++ pool_ptr++; ++ ++ SLJIT_ASSERT(!(offset & 1)); ++ offset >>= 1; ++ SLJIT_ASSERT(is_s32(offset)); ++ ins |= (sljit_ins)offset & 0xffffffff; ++ ++ put_label = put_label->next; ++ } ++ encode_inst(&code_ptr, ins); ++ } ++ } ++ SLJIT_ASSERT((sljit_u8 *)code + ins_size == code_ptr); ++ SLJIT_ASSERT((sljit_u8 *)pool + pool_size == (sljit_u8 *)pool_ptr); ++ ++ compiler->error = SLJIT_ERR_COMPILED; ++ compiler->executable_offset = executable_offset; ++ compiler->executable_size = ins_size; ++ code = SLJIT_ADD_EXEC_OFFSET(code, executable_offset); ++ code_ptr = SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); ++ SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); ++ return code; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) ++{ ++ /* TODO(mundaym): implement all */ ++ switch (feature_type) { ++ case SLJIT_HAS_CLZ: ++ return have_eimm() ? 1 : 0; /* FLOGR instruction */ ++ case SLJIT_HAS_CMOV: ++ return have_lscond1() ? 1 : 0; ++ case SLJIT_HAS_FPU: ++ return 0; ++ } ++ return 0; ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Entry, exit */ ++/* --------------------------------------------------------------------- */ ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compiler, ++ sljit_s32 options, sljit_s32 arg_types, sljit_s32 scratches, sljit_s32 saveds, ++ sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size) ++{ ++ sljit_s32 args = get_arg_count(arg_types); ++ sljit_sw frame_size; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size)); ++ set_emit_enter(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size); ++ ++ /* saved registers go in callee allocated save area */ ++ compiler->local_size = (local_size + 0xf) & ~0xf; ++ frame_size = compiler->local_size + SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE; ++ ++ FAIL_IF(push_inst(compiler, stmg(r6, r15, r6 * sizeof(sljit_sw), r15))); /* save registers TODO(MGM): optimize */ ++ if (frame_size != 0) { ++ if (is_s16(-frame_size)) ++ FAIL_IF(push_inst(compiler, aghi(r15, -((sljit_s16)frame_size)))); ++ else if (is_s32(-frame_size)) ++ FAIL_IF(push_inst(compiler, agfi(r15, -((sljit_s32)frame_size)))); ++ else { ++ FAIL_IF(push_load_imm_inst(compiler, tmp1, -frame_size)); ++ FAIL_IF(push_inst(compiler, la(r15, 0, tmp1, r15))); ++ } ++ } ++ ++ if (args >= 1) ++ FAIL_IF(push_inst(compiler, lgr(gpr(SLJIT_S0), gpr(SLJIT_R0)))); ++ if (args >= 2) ++ FAIL_IF(push_inst(compiler, lgr(gpr(SLJIT_S1), gpr(SLJIT_R1)))); ++ if (args >= 3) ++ FAIL_IF(push_inst(compiler, lgr(gpr(SLJIT_S2), gpr(SLJIT_R2)))); ++ SLJIT_ASSERT(args < 4); ++ ++ return SLJIT_SUCCESS; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compiler *compiler, ++ sljit_s32 options, sljit_s32 arg_types, sljit_s32 scratches, sljit_s32 saveds, ++ sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_set_context(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size)); ++ set_set_context(compiler, options, arg_types, scratches, saveds, fscratches, fsaveds, local_size); ++ ++ /* TODO(mundaym): stack space for saved floating point registers */ ++ compiler->local_size = (local_size + 0xf) & ~0xf; ++ return SLJIT_SUCCESS; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw) ++{ ++ sljit_sw size; ++ sljit_gpr end; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_return(compiler, op, src, srcw)); ++ ++ FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); ++ ++ size = compiler->local_size + SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE + (r6 * sizeof(sljit_sw)); ++ if (!is_s20(size)) { ++ FAIL_IF(push_load_imm_inst(compiler, tmp1, compiler->local_size + SLJIT_S390X_DEFAULT_STACK_FRAME_SIZE)); ++ FAIL_IF(push_inst(compiler, la(r15, 0, tmp1, r15))); ++ size = r6 * sizeof(sljit_sw); ++ end = r14; /* r15 has been restored already */ ++ } ++ else ++ end = r15; ++ ++ FAIL_IF(push_inst(compiler, lmg(r6, end, size, r15))); /* restore registers TODO(MGM): optimize */ ++ FAIL_IF(push_inst(compiler, br(r14))); /* return */ ++ ++ return SLJIT_SUCCESS; ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Operators */ ++/* --------------------------------------------------------------------- */ ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) ++{ ++ sljit_gpr arg0 = gpr(SLJIT_R0); ++ sljit_gpr arg1 = gpr(SLJIT_R1); ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op0(compiler, op)); ++ ++ op = GET_OPCODE(op) | (op & SLJIT_I32_OP); ++ switch (op) { ++ case SLJIT_BREAKPOINT: ++ /* TODO(mundaym): insert real breakpoint? */ ++ case SLJIT_NOP: ++ return push_inst(compiler, 0x0700 /* 2-byte nop */); ++ case SLJIT_LMUL_UW: ++ FAIL_IF(push_inst(compiler, mlgr(arg0, arg0))); ++ break; ++ case SLJIT_LMUL_SW: ++ /* signed multiplication from: */ ++ /* Hacker's Delight, Second Edition: Chapter 8-3. */ ++ FAIL_IF(push_inst(compiler, srag(tmp0, arg0, 63, 0))); ++ FAIL_IF(push_inst(compiler, srag(tmp1, arg1, 63, 0))); ++ FAIL_IF(push_inst(compiler, ngr(tmp0, arg1))); ++ FAIL_IF(push_inst(compiler, ngr(tmp1, arg0))); ++ ++ /* unsigned multiplication */ ++ FAIL_IF(push_inst(compiler, mlgr(arg0, arg0))); ++ ++ FAIL_IF(push_inst(compiler, sgr(arg0, tmp0))); ++ FAIL_IF(push_inst(compiler, sgr(arg0, tmp1))); ++ break; ++ case SLJIT_DIV_U32: ++ case SLJIT_DIVMOD_U32: ++ FAIL_IF(push_inst(compiler, lhi(tmp0, 0))); ++ FAIL_IF(push_inst(compiler, lr(tmp1, arg0))); ++ FAIL_IF(push_inst(compiler, dlr(tmp0, arg1))); ++ FAIL_IF(push_inst(compiler, lr(arg0, tmp1))); /* quotient */ ++ if (op == SLJIT_DIVMOD_U32) ++ return push_inst(compiler, lr(arg1, tmp0)); /* remainder */ ++ ++ return SLJIT_SUCCESS; ++ case SLJIT_DIV_S32: ++ case SLJIT_DIVMOD_S32: ++ FAIL_IF(push_inst(compiler, lhi(tmp0, 0))); ++ FAIL_IF(push_inst(compiler, lr(tmp1, arg0))); ++ FAIL_IF(push_inst(compiler, dr(tmp0, arg1))); ++ FAIL_IF(push_inst(compiler, lr(arg0, tmp1))); /* quotient */ ++ if (op == SLJIT_DIVMOD_S32) ++ return push_inst(compiler, lr(arg1, tmp0)); /* remainder */ ++ ++ return SLJIT_SUCCESS; ++ case SLJIT_DIV_UW: ++ case SLJIT_DIVMOD_UW: ++ FAIL_IF(push_inst(compiler, lghi(tmp0, 0))); ++ FAIL_IF(push_inst(compiler, lgr(tmp1, arg0))); ++ FAIL_IF(push_inst(compiler, dlgr(tmp0, arg1))); ++ FAIL_IF(push_inst(compiler, lgr(arg0, tmp1))); /* quotient */ ++ if (op == SLJIT_DIVMOD_UW) ++ return push_inst(compiler, lgr(arg1, tmp0)); /* remainder */ ++ ++ return SLJIT_SUCCESS; ++ case SLJIT_DIV_SW: ++ case SLJIT_DIVMOD_SW: ++ FAIL_IF(push_inst(compiler, lgr(tmp1, arg0))); ++ FAIL_IF(push_inst(compiler, dsgr(tmp0, arg1))); ++ FAIL_IF(push_inst(compiler, lgr(arg0, tmp1))); /* quotient */ ++ if (op == SLJIT_DIVMOD_SW) ++ return push_inst(compiler, lgr(arg1, tmp0)); /* remainder */ ++ ++ return SLJIT_SUCCESS; ++ case SLJIT_ENDBR: ++ return SLJIT_SUCCESS; ++ case SLJIT_SKIP_FRAMES_BEFORE_RETURN: ++ return SLJIT_SUCCESS; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ /* swap result registers */ ++ FAIL_IF(push_inst(compiler, lgr(tmp0, arg0))); ++ FAIL_IF(push_inst(compiler, lgr(arg0, arg1))); ++ return push_inst(compiler, lgr(arg1, tmp0)); ++} ++ ++/* LEVAL will be defined later with different parameters as needed */ ++#define WHEN2(cond, i1, i2) (cond) ? LEVAL(i1) : LEVAL(i2) ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ sljit_ins ins; ++ struct addr mem; ++ sljit_gpr dst_r; ++ sljit_gpr src_r; ++ sljit_s32 opcode = GET_OPCODE(op); ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); ++ ADJUST_LOCAL_OFFSET(dst, dstw); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ if ((dst == SLJIT_UNUSED) && !HAS_FLAGS(op)) { ++ /* TODO(carenas): implement prefetch? */ ++ return SLJIT_SUCCESS; ++ } ++ if (opcode >= SLJIT_MOV && opcode <= SLJIT_MOV_P) { ++ /* LOAD REGISTER */ ++ if (FAST_IS_REG(dst) && FAST_IS_REG(src)) { ++ dst_r = gpr(dst); ++ src_r = gpr(src); ++ switch (opcode | (op & SLJIT_I32_OP)) { ++ /* 32-bit */ ++ case SLJIT_MOV32_U8: ++ ins = llcr(dst_r, src_r); ++ break; ++ case SLJIT_MOV32_S8: ++ ins = lbr(dst_r, src_r); ++ break; ++ case SLJIT_MOV32_U16: ++ ins = llhr(dst_r, src_r); ++ break; ++ case SLJIT_MOV32_S16: ++ ins = lhr(dst_r, src_r); ++ break; ++ case SLJIT_MOV32: ++ ins = lr(dst_r, src_r); ++ break; ++ /* 64-bit */ ++ case SLJIT_MOV_U8: ++ ins = llgcr(dst_r, src_r); ++ break; ++ case SLJIT_MOV_S8: ++ ins = lgbr(dst_r, src_r); ++ break; ++ case SLJIT_MOV_U16: ++ ins = llghr(dst_r, src_r); ++ break; ++ case SLJIT_MOV_S16: ++ ins = lghr(dst_r, src_r); ++ break; ++ case SLJIT_MOV_U32: ++ ins = llgfr(dst_r, src_r); ++ break; ++ case SLJIT_MOV_S32: ++ ins = lgfr(dst_r, src_r); ++ break; ++ case SLJIT_MOV: ++ case SLJIT_MOV_P: ++ ins = lgr(dst_r, src_r); ++ break; ++ default: ++ ins = 0; ++ SLJIT_UNREACHABLE(); ++ } ++ FAIL_IF(push_inst(compiler, ins)); ++ if (HAS_FLAGS(op)) { ++ /* only handle zero flag */ ++ SLJIT_ASSERT(!(op & VARIABLE_FLAG_MASK)); ++ return push_store_zero_flag(compiler, op, dst_r); ++ } ++ return SLJIT_SUCCESS; ++ } ++ /* LOAD IMMEDIATE */ ++ if (FAST_IS_REG(dst) && (src & SLJIT_IMM)) { ++ switch (opcode) { ++ case SLJIT_MOV_U8: ++ srcw = (sljit_sw)((sljit_u8)(srcw)); ++ break; ++ case SLJIT_MOV_S8: ++ srcw = (sljit_sw)((sljit_s8)(srcw)); ++ break; ++ case SLJIT_MOV_U16: ++ srcw = (sljit_sw)((sljit_u16)(srcw)); ++ break; ++ case SLJIT_MOV_S16: ++ srcw = (sljit_sw)((sljit_s16)(srcw)); ++ break; ++ case SLJIT_MOV_U32: ++ srcw = (sljit_sw)((sljit_u32)(srcw)); ++ break; ++ case SLJIT_MOV_S32: ++ srcw = (sljit_sw)((sljit_s32)(srcw)); ++ break; ++ } ++ return push_load_imm_inst(compiler, gpr(dst), srcw); ++ } ++ /* LOAD */ ++ /* TODO(carenas): avoid reg being defined later */ ++ #define LEVAL(i) EVAL(i, reg, mem) ++ if (FAST_IS_REG(dst) && (src & SLJIT_MEM)) { ++ sljit_gpr reg = gpr(dst); ++ ++ FAIL_IF(make_addr_bxy(compiler, &mem, src, srcw, tmp1)); ++ /* TODO(carenas): convert all calls below to LEVAL */ ++ switch (opcode | (op & SLJIT_I32_OP)) { ++ case SLJIT_MOV32_U8: ++ ins = llc(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV32_S8: ++ ins = lb(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV32_U16: ++ ins = llh(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV32_S16: ++ ins = WHEN2(is_u12(mem.offset), lh, lhy); ++ break; ++ case SLJIT_MOV32: ++ ins = WHEN2(is_u12(mem.offset), l, ly); ++ break; ++ case SLJIT_MOV_U8: ++ ins = LEVAL(llgc); ++ break; ++ case SLJIT_MOV_S8: ++ ins = lgb(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV_U16: ++ ins = LEVAL(llgh); ++ break; ++ case SLJIT_MOV_S16: ++ ins = lgh(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV_U32: ++ ins = LEVAL(llgf); ++ break; ++ case SLJIT_MOV_S32: ++ ins = lgf(reg, mem.offset, mem.index, mem.base); ++ break; ++ case SLJIT_MOV_P: ++ case SLJIT_MOV: ++ ins = lg(reg, mem.offset, mem.index, mem.base); ++ break; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ FAIL_IF(push_inst(compiler, ins)); ++ if (HAS_FLAGS(op)) { ++ /* only handle zero flag */ ++ SLJIT_ASSERT(!(op & VARIABLE_FLAG_MASK)); ++ return push_store_zero_flag(compiler, op, reg); ++ } ++ return SLJIT_SUCCESS; ++ } ++ /* STORE and STORE IMMEDIATE */ ++ if ((dst & SLJIT_MEM) ++ && (FAST_IS_REG(src) || (src & SLJIT_IMM))) { ++ sljit_gpr reg = FAST_IS_REG(src) ? gpr(src) : tmp0; ++ if (src & SLJIT_IMM) { ++ /* TODO(mundaym): MOVE IMMEDIATE? */ ++ FAIL_IF(push_load_imm_inst(compiler, reg, srcw)); ++ } ++ struct addr mem; ++ FAIL_IF(make_addr_bxy(compiler, &mem, dst, dstw, tmp1)); ++ switch (opcode) { ++ case SLJIT_MOV_U8: ++ case SLJIT_MOV_S8: ++ return push_inst(compiler, ++ WHEN2(is_u12(mem.offset), stc, stcy)); ++ case SLJIT_MOV_U16: ++ case SLJIT_MOV_S16: ++ return push_inst(compiler, ++ WHEN2(is_u12(mem.offset), sth, sthy)); ++ case SLJIT_MOV_U32: ++ case SLJIT_MOV_S32: ++ return push_inst(compiler, ++ WHEN2(is_u12(mem.offset), st, sty)); ++ case SLJIT_MOV_P: ++ case SLJIT_MOV: ++ FAIL_IF(push_inst(compiler, LEVAL(stg))); ++ if (HAS_FLAGS(op)) { ++ /* only handle zero flag */ ++ SLJIT_ASSERT(!(op & VARIABLE_FLAG_MASK)); ++ return push_store_zero_flag(compiler, op, reg); ++ } ++ return SLJIT_SUCCESS; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ } ++ #undef LEVAL ++ /* MOVE CHARACTERS */ ++ if ((dst & SLJIT_MEM) && (src & SLJIT_MEM)) { ++ struct addr mem; ++ FAIL_IF(make_addr_bxy(compiler, &mem, src, srcw, tmp1)); ++ switch (opcode) { ++ case SLJIT_MOV_U8: ++ case SLJIT_MOV_S8: ++ FAIL_IF(push_inst(compiler, ++ EVAL(llgc, tmp0, mem))); ++ FAIL_IF(make_addr_bxy(compiler, &mem, dst, dstw, tmp1)); ++ return push_inst(compiler, ++ EVAL(stcy, tmp0, mem)); ++ case SLJIT_MOV_U16: ++ case SLJIT_MOV_S16: ++ FAIL_IF(push_inst(compiler, ++ EVAL(llgh, tmp0, mem))); ++ FAIL_IF(make_addr_bxy(compiler, &mem, dst, dstw, tmp1)); ++ return push_inst(compiler, ++ EVAL(sthy, tmp0, mem)); ++ case SLJIT_MOV_U32: ++ case SLJIT_MOV_S32: ++ FAIL_IF(push_inst(compiler, ++ EVAL(ly, tmp0, mem))); ++ FAIL_IF(make_addr_bxy(compiler, &mem, dst, dstw, tmp1)); ++ return push_inst(compiler, ++ EVAL(sty, tmp0, mem)); ++ case SLJIT_MOV_P: ++ case SLJIT_MOV: ++ FAIL_IF(push_inst(compiler, ++ EVAL(lg, tmp0, mem))); ++ FAIL_IF(make_addr_bxy(compiler, &mem, dst, dstw, tmp1)); ++ FAIL_IF(push_inst(compiler, ++ EVAL(stg, tmp0, mem))); ++ if (HAS_FLAGS(op)) { ++ /* only handle zero flag */ ++ SLJIT_ASSERT(!(op & VARIABLE_FLAG_MASK)); ++ return push_store_zero_flag(compiler, op, tmp0); ++ } ++ return SLJIT_SUCCESS; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ } ++ SLJIT_UNREACHABLE(); ++ } ++ ++ SLJIT_ASSERT((src & SLJIT_IMM) == 0); /* no immediates */ ++ ++ dst_r = SLOW_IS_REG(dst) ? gpr(REG_MASK & dst) : tmp0; ++ src_r = FAST_IS_REG(src) ? gpr(REG_MASK & src) : tmp0; ++ if (src & SLJIT_MEM) ++ FAIL_IF(load_word(compiler, src_r, src, srcw, tmp1, src & SLJIT_I32_OP)); ++ ++ /* TODO(mundaym): optimize loads and stores */ ++ switch (opcode | (op & SLJIT_I32_OP)) { ++ case SLJIT_NOT: ++ /* emulate ~x with x^-1 */ ++ FAIL_IF(push_load_imm_inst(compiler, tmp1, -1)); ++ if (src_r != dst_r) ++ FAIL_IF(push_inst(compiler, lgr(dst_r, src_r))); ++ ++ FAIL_IF(push_inst(compiler, xgr(dst_r, tmp1))); ++ break; ++ case SLJIT_NOT32: ++ /* emulate ~x with x^-1 */ ++ if (have_eimm()) ++ FAIL_IF(push_inst(compiler, xilf(dst_r, -1))); ++ else { ++ FAIL_IF(push_load_imm_inst(compiler, tmp1, -1)); ++ if (src_r != dst_r) ++ FAIL_IF(push_inst(compiler, lr(dst_r, src_r))); ++ ++ FAIL_IF(push_inst(compiler, xr(dst_r, tmp1))); ++ } ++ break; ++ case SLJIT_NEG: ++ FAIL_IF(push_inst(compiler, lcgr(dst_r, src_r))); ++ break; ++ case SLJIT_NEG32: ++ FAIL_IF(push_inst(compiler, lcr(dst_r, src_r))); ++ break; ++ case SLJIT_CLZ: ++ if (have_eimm()) { ++ FAIL_IF(push_inst(compiler, flogr(tmp0, src_r))); /* clobbers tmp1 */ ++ if (dst_r != tmp0) ++ FAIL_IF(push_inst(compiler, lgr(dst_r, tmp0))); ++ } else { ++ abort(); /* TODO(mundaym): no eimm (?) */ ++ } ++ break; ++ case SLJIT_CLZ32: ++ if (have_eimm()) { ++ FAIL_IF(push_inst(compiler, sllg(tmp1, src_r, 32, 0))); ++ FAIL_IF(push_inst(compiler, iilf(tmp1, 0xffffffff))); ++ FAIL_IF(push_inst(compiler, flogr(tmp0, tmp1))); /* clobbers tmp1 */ ++ if (dst_r != tmp0) ++ FAIL_IF(push_inst(compiler, lr(dst_r, tmp0))); ++ } else { ++ abort(); /* TODO(mundaym): no eimm (?) */ ++ } ++ break; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ ++ /* write condition code to emulated flag register */ ++ if (op & VARIABLE_FLAG_MASK) ++ FAIL_IF(push_inst(compiler, ipm(flag_r))); ++ ++ /* write zero flag to emulated flag register */ ++ if (op & SLJIT_SET_Z) ++ FAIL_IF(push_store_zero_flag(compiler, op, dst_r)); ++ ++ /* TODO(carenas): doesn't need FAIL_IF */ ++ if ((dst != SLJIT_UNUSED) && (dst & SLJIT_MEM)) ++ FAIL_IF(store_word(compiler, dst_r, dst, dstw, tmp1, op & SLJIT_I32_OP)); ++ ++ return SLJIT_SUCCESS; ++} ++ ++static SLJIT_INLINE int is_commutative(sljit_s32 op) ++{ ++ switch (GET_OPCODE(op)) { ++ case SLJIT_ADD: ++ case SLJIT_ADDC: ++ case SLJIT_MUL: ++ case SLJIT_AND: ++ case SLJIT_OR: ++ case SLJIT_XOR: ++ return 1; ++ } ++ return 0; ++} ++ ++static SLJIT_INLINE int is_shift(sljit_s32 op) { ++ sljit_s32 v = GET_OPCODE(op); ++ return (v == SLJIT_SHL || v == SLJIT_ASHR || v == SLJIT_LSHR) ? 1 : 0; ++} ++ ++static SLJIT_INLINE int sets_signed_flag(sljit_s32 op) ++{ ++ switch (GET_FLAG_TYPE(op)) { ++ case SLJIT_OVERFLOW: ++ case SLJIT_NOT_OVERFLOW: ++ case SLJIT_SIG_LESS: ++ case SLJIT_SIG_LESS_EQUAL: ++ case SLJIT_SIG_GREATER: ++ case SLJIT_SIG_GREATER_EQUAL: ++ return 1; ++ } ++ return 0; ++} ++ ++/* Report whether we have an instruction for: ++ op dst src imm ++ where dst and src are separate registers. */ ++static int have_op_3_imm(sljit_s32 op, sljit_sw imm) { ++ return 0; /* TODO(mundaym): implement */ ++} ++ ++/* Report whether we have an instruction for: ++ op reg imm ++ where reg is both a source and the destination. */ ++static int have_op_2_imm(sljit_s32 op, sljit_sw imm) { ++ switch (GET_OPCODE(op) | (op & SLJIT_I32_OP)) { ++ case SLJIT_ADD32: ++ case SLJIT_ADD: ++ if (!HAS_FLAGS(op) || sets_signed_flag(op)) ++ return have_eimm() ? is_s32(imm) : is_s16(imm); ++ ++ return have_eimm() && is_u32(imm); ++ case SLJIT_MUL32: ++ case SLJIT_MUL: ++ /* TODO(mundaym): general extension check */ ++ /* for ms{,g}fi */ ++ if (op & VARIABLE_FLAG_MASK) ++ return 0; ++ ++ return have_genext() && is_s16(imm); ++ case SLJIT_OR32: ++ case SLJIT_XOR32: ++ case SLJIT_AND32: ++ /* only use if have extended immediate facility */ ++ /* this ensures flags are set correctly */ ++ return have_eimm(); ++ case SLJIT_AND: ++ case SLJIT_OR: ++ case SLJIT_XOR: ++ /* TODO(mundaym): make this more flexible */ ++ /* avoid using immediate variations, flags */ ++ /* won't be set correctly */ ++ return 0; ++ case SLJIT_ADDC32: ++ case SLJIT_ADDC: ++ /* no ADD LOGICAL WITH CARRY IMMEDIATE */ ++ return 0; ++ case SLJIT_SUB: ++ case SLJIT_SUB32: ++ case SLJIT_SUBC: ++ case SLJIT_SUBC32: ++ /* no SUBTRACT IMMEDIATE */ ++ /* TODO(mundaym): SUBTRACT LOGICAL IMMEDIATE */ ++ return 0; ++ } ++ return 0; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_s32 src1, sljit_sw src1w, ++ sljit_s32 src2, sljit_sw src2w) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); ++ ADJUST_LOCAL_OFFSET(dst, dstw); ++ ADJUST_LOCAL_OFFSET(src1, src1w); ++ ADJUST_LOCAL_OFFSET(src2, src2w); ++ ++ if (dst == SLJIT_UNUSED && !HAS_FLAGS(op)) ++ return SLJIT_SUCCESS; ++ ++ sljit_gpr dst_r = SLOW_IS_REG(dst) ? gpr(dst & REG_MASK) : tmp0; ++ ++ if (is_commutative(op)) { ++ #define SWAP_ARGS \ ++ do { \ ++ sljit_s32 t = src1; \ ++ sljit_sw tw = src1w; \ ++ src1 = src2; \ ++ src1w = src2w; \ ++ src2 = t; \ ++ src2w = tw; \ ++ } while(0); ++ ++ /* prefer immediate in src2 */ ++ if (src1 & SLJIT_IMM) { ++ SWAP_ARGS ++ } ++ ++ /* prefer to have src1 use same register as dst */ ++ if (FAST_IS_REG(src2) && gpr(src2 & REG_MASK) == dst_r) { ++ SWAP_ARGS ++ } ++ ++ /* prefer memory argument in src2 */ ++ if (FAST_IS_REG(src2) && (src1 & SLJIT_MEM)) { ++ SWAP_ARGS ++ } ++ #undef SWAP_ARGS ++ } ++ ++ /* src1 must be in a register */ ++ sljit_gpr src1_r = FAST_IS_REG(src1) ? gpr(src1 & REG_MASK) : tmp0; ++ if (src1 & SLJIT_IMM) ++ FAIL_IF(push_load_imm_inst(compiler, src1_r, src1w)); ++ ++ if (src1 & SLJIT_MEM) ++ FAIL_IF(load_word(compiler, src1_r, src1, src1w, tmp1, op & SLJIT_I32_OP)); ++ ++ /* emit comparison before subtract */ ++ if (GET_OPCODE(op) == SLJIT_SUB && (op & VARIABLE_FLAG_MASK)) { ++ sljit_sw cmp = 0; ++ switch (GET_FLAG_TYPE(op)) { ++ case SLJIT_LESS: ++ case SLJIT_LESS_EQUAL: ++ case SLJIT_GREATER: ++ case SLJIT_GREATER_EQUAL: ++ cmp = 1; /* unsigned */ ++ break; ++ case SLJIT_EQUAL: ++ case SLJIT_SIG_LESS: ++ case SLJIT_SIG_LESS_EQUAL: ++ case SLJIT_SIG_GREATER: ++ case SLJIT_SIG_GREATER_EQUAL: ++ cmp = -1; /* signed */ ++ break; ++ } ++ if (cmp) { ++ /* clear flags - no need to generate now */ ++ op &= ~VARIABLE_FLAG_MASK; ++ sljit_gpr src2_r = FAST_IS_REG(src2) ? gpr(src2 & REG_MASK) : tmp1; ++ if (src2 & SLJIT_IMM) { ++ #define LEVAL(i) i(src1_r, src2w) ++ if (cmp > 0 && is_u32(src2w)) { ++ /* unsigned */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, clfi, clgfi))); ++ } ++ else if (cmp < 0 && is_s16(src2w)) { ++ /* signed */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, chi, cghi))); ++ } ++ else if (cmp < 0 && is_s32(src2w)) { ++ /* signed */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, cfi, cgfi))); ++ } ++ #undef LEVAL ++ #define LEVAL(i) i(src1_r, src2_r) ++ else { ++ FAIL_IF(push_load_imm_inst(compiler, src2_r, src2w)); ++ if (cmp > 0) { ++ /* unsigned */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, clr, clgr))); ++ } ++ if (cmp < 0) { ++ /* signed */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, cr, cgr))); ++ } ++ } ++ } ++ else { ++ if (src2 & SLJIT_MEM) { ++ /* TODO(mundaym): comparisons with memory */ ++ /* load src2 into register */ ++ FAIL_IF(load_word(compiler, src2_r, src2, src2w, tmp1, op & SLJIT_I32_OP)); ++ } ++ if (cmp > 0) { ++ /* unsigned */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, clr, clgr))); ++ } ++ if (cmp < 0) { ++ /* signed */ ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, cr, cgr))); ++ } ++ #undef LEVAL ++ } ++ FAIL_IF(push_inst(compiler, ipm(flag_r))); ++ } ++ } ++ ++ if (!HAS_FLAGS(op) && dst == SLJIT_UNUSED) ++ return SLJIT_SUCCESS; ++ ++ /* need to specify signed or logical operation */ ++ int signed_flags = sets_signed_flag(op); ++ ++ if (is_shift(op)) { ++ /* handle shifts first, they have more constraints than other operations */ ++ sljit_sw d = 0; ++ sljit_gpr b = FAST_IS_REG(src2) ? gpr(src2 & REG_MASK) : r0; ++ if (src2 & SLJIT_IMM) ++ d = src2w & ((op & SLJIT_I32_OP) ? 31 : 63); ++ ++ if (src2 & SLJIT_MEM) { ++ /* shift amount (b) cannot be in r0 (i.e. tmp0) */ ++ FAIL_IF(load_word(compiler, tmp1, src2, src2w, tmp1, op & SLJIT_I32_OP)); ++ b = tmp1; ++ } ++ /* src1 and dst share the same register in the base 32-bit ISA */ ++ /* TODO(mundaym): not needed when distinct-operand facility is available */ ++ int workaround_alias = op & SLJIT_I32_OP && src1_r != dst_r; ++ if (workaround_alias) { ++ /* put src1 into tmp0 so we can overwrite it */ ++ FAIL_IF(push_inst(compiler, lr(tmp0, src1_r))); ++ src1_r = tmp0; ++ } ++ switch (GET_OPCODE(op) | (op & SLJIT_I32_OP)) { ++ case SLJIT_SHL: ++ FAIL_IF(push_inst(compiler, sllg(dst_r, src1_r, d, b))); ++ break; ++ case SLJIT_SHL32: ++ FAIL_IF(push_inst(compiler, sll(src1_r, d, b))); ++ break; ++ case SLJIT_LSHR: ++ FAIL_IF(push_inst(compiler, srlg(dst_r, src1_r, d, b))); ++ break; ++ case SLJIT_LSHR32: ++ FAIL_IF(push_inst(compiler, srl(src1_r, d, b))); ++ break; ++ case SLJIT_ASHR: ++ FAIL_IF(push_inst(compiler, srag(dst_r, src1_r, d, b))); ++ break; ++ case SLJIT_ASHR32: ++ FAIL_IF(push_inst(compiler, sra(src1_r, d, b))); ++ break; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ if (workaround_alias && dst_r != src1_r) ++ FAIL_IF(push_inst(compiler, lr(dst_r, src1_r))); ++ ++ } ++ else if ((GET_OPCODE(op) == SLJIT_MUL) && HAS_FLAGS(op)) { ++ /* multiply instructions do not generally set flags so we need to manually */ ++ /* detect overflow conditions */ ++ /* TODO(mundaym): 64-bit overflow */ ++ SLJIT_ASSERT(GET_FLAG_TYPE(op) == SLJIT_MUL_OVERFLOW || ++ GET_FLAG_TYPE(op) == SLJIT_MUL_NOT_OVERFLOW); ++ sljit_gpr src2_r = FAST_IS_REG(src2) ? gpr(src2 & REG_MASK) : tmp1; ++ if (src2 & SLJIT_IMM) { ++ /* load src2 into register */ ++ FAIL_IF(push_load_imm_inst(compiler, src2_r, src2w)); ++ } ++ if (src2 & SLJIT_MEM) { ++ /* load src2 into register */ ++ FAIL_IF(load_word(compiler, src2_r, src2, src2w, tmp1, op & SLJIT_I32_OP)); ++ } ++ if (have_misc2()) { ++ #define LEVAL(i) i(dst_r, src1_r, src2_r) ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, msrkc, msgrkc))); ++ #undef LEVAL ++ } ++ else if (op & SLJIT_I32_OP) { ++ op &= ~VARIABLE_FLAG_MASK; ++ FAIL_IF(push_inst(compiler, lgfr(tmp0, src1_r))); ++ FAIL_IF(push_inst(compiler, msgfr(tmp0, src2_r))); ++ if (dst_r != tmp0) { ++ FAIL_IF(push_inst(compiler, lr(dst_r, tmp0))); ++ } ++ FAIL_IF(push_inst(compiler, aih(tmp0, 1))); ++ FAIL_IF(push_inst(compiler, nihf(tmp0, ~1U))); ++ FAIL_IF(push_inst(compiler, ipm(flag_r))); ++ FAIL_IF(push_inst(compiler, oilh(flag_r, 0x2000))); ++ } ++ else ++ return SLJIT_ERR_UNSUPPORTED; ++ ++ } ++ else if ((GET_OPCODE(op) == SLJIT_SUB) && (op & SLJIT_SET_Z) && !signed_flags) { ++ /* subtract logical instructions do not set the right flags unfortunately */ ++ /* instead, negate src2 and issue an add logical */ ++ /* TODO(mundaym): distinct operand facility where needed */ ++ if (src1_r != dst_r && src1_r != tmp0) { ++ #define LEVAL(i) i(tmp0, src1_r) ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, lr, lgr))); ++ src1_r = tmp0; ++ #undef LEVAL ++ } ++ sljit_gpr src2_r = FAST_IS_REG(src2) ? gpr(src2 & REG_MASK) : tmp1; ++ if (src2 & SLJIT_IMM) { ++ /* load src2 into register */ ++ FAIL_IF(push_load_imm_inst(compiler, src2_r, src2w)); ++ } ++ if (src2 & SLJIT_MEM) { ++ /* load src2 into register */ ++ FAIL_IF(load_word(compiler, src2_r, src2, src2w, tmp1, op & SLJIT_I32_OP)); ++ } ++ if (op & SLJIT_I32_OP) { ++ FAIL_IF(push_inst(compiler, lcr(tmp1, src2_r))); ++ FAIL_IF(push_inst(compiler, alr(src1_r, tmp1))); ++ if (src1_r != dst_r) ++ FAIL_IF(push_inst(compiler, lr(dst_r, src1_r))); ++ } ++ else { ++ FAIL_IF(push_inst(compiler, lcgr(tmp1, src2_r))); ++ FAIL_IF(push_inst(compiler, algr(src1_r, tmp1))); ++ if (src1_r != dst_r) ++ FAIL_IF(push_inst(compiler, lgr(dst_r, src1_r))); ++ } ++ } ++ else if ((src2 & SLJIT_IMM) && (src1_r == dst_r) && have_op_2_imm(op, src2w)) { ++ switch (GET_OPCODE(op) | (op & SLJIT_I32_OP)) { ++ #define LEVAL(i) i(dst_r, src2w) ++ case SLJIT_ADD: ++ if (!HAS_FLAGS(op) || signed_flags) { ++ FAIL_IF(push_inst(compiler, ++ WHEN2(is_s16(src2w), aghi, agfi))); ++ } ++ else ++ FAIL_IF(push_inst(compiler, LEVAL(algfi))); ++ ++ break; ++ case SLJIT_ADD32: ++ if (!HAS_FLAGS(op) || signed_flags) ++ FAIL_IF(push_inst(compiler, ++ WHEN2(is_s16(src2w), ahi, afi))); ++ else ++ FAIL_IF(push_inst(compiler, LEVAL(alfi))); ++ ++ break; ++ #undef LEVAL /* TODO(carenas): move down and refactor? */ ++ case SLJIT_MUL: ++ FAIL_IF(push_inst(compiler, mhi(dst_r, src2w))); ++ break; ++ case SLJIT_MUL32: ++ FAIL_IF(push_inst(compiler, mghi(dst_r, src2w))); ++ break; ++ case SLJIT_OR32: ++ FAIL_IF(push_inst(compiler, oilf(dst_r, src2w))); ++ break; ++ case SLJIT_XOR32: ++ FAIL_IF(push_inst(compiler, xilf(dst_r, src2w))); ++ break; ++ case SLJIT_AND32: ++ FAIL_IF(push_inst(compiler, nilf(dst_r, src2w))); ++ break; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ } ++ else if ((src2 & SLJIT_IMM) && have_op_3_imm(op, src2w)) { ++ abort(); /* TODO(mundaym): implement */ ++ } ++ else if ((src2 & SLJIT_MEM) && (dst_r == src1_r)) { ++ /* most 32-bit instructions can only handle 12-bit immediate offsets */ ++ int need_u12 = !have_ldisp() && ++ (op & SLJIT_I32_OP) && ++ (GET_OPCODE(op) != SLJIT_ADDC) && ++ (GET_OPCODE(op) != SLJIT_SUBC); ++ struct addr mem; ++ if (need_u12) ++ FAIL_IF(make_addr_bx(compiler, &mem, src2, src2w, tmp1)); ++ else ++ FAIL_IF(make_addr_bxy(compiler, &mem, src2, src2w, tmp1)); ++ ++ int can_u12 = is_u12(mem.offset) ? 1 : 0; ++ sljit_ins ins = 0; ++ switch (GET_OPCODE(op) | (op & SLJIT_I32_OP)) { ++ /* 64-bit ops */ ++ #define LEVAL(i) EVAL(i, dst_r, mem) ++ case SLJIT_ADD: ++ ins = WHEN2(signed_flags, ag, alg); ++ break; ++ case SLJIT_SUB: ++ ins = WHEN2(signed_flags, sg, slg); ++ break; ++ case SLJIT_ADDC: ++ ins = LEVAL(alcg); ++ break; ++ case SLJIT_SUBC: ++ ins = LEVAL(slbg); ++ break; ++ case SLJIT_MUL: ++ ins = LEVAL(msg); ++ break; ++ case SLJIT_OR: ++ ins = LEVAL(og); ++ break; ++ case SLJIT_XOR: ++ ins = LEVAL(xg); ++ break; ++ case SLJIT_AND: ++ ins = LEVAL(ng); ++ break; ++ /* 32-bit ops */ ++ case SLJIT_ADD32: ++ if (signed_flags) ++ ins = WHEN2(can_u12, a, ay); ++ else ++ ins = WHEN2(can_u12, al, aly); ++ break; ++ case SLJIT_SUB32: ++ if (signed_flags) ++ ins = WHEN2(can_u12, s, sy); ++ else ++ ins = WHEN2(can_u12, sl, sly); ++ break; ++ case SLJIT_ADDC32: ++ ins = LEVAL(alc); ++ break; ++ case SLJIT_SUBC32: ++ ins = LEVAL(slb); ++ break; ++ case SLJIT_MUL32: ++ ins = WHEN2(can_u12, ms, msy); ++ break; ++ case SLJIT_OR32: ++ ins = WHEN2(can_u12, o, oy); ++ break; ++ case SLJIT_XOR32: ++ ins = WHEN2(can_u12, x, xy); ++ break; ++ case SLJIT_AND32: ++ ins = WHEN2(can_u12, n, ny); ++ break; ++ #undef LEVAL ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ FAIL_IF(push_inst(compiler, ins)); ++ } ++ else { ++ sljit_gpr src2_r = FAST_IS_REG(src2) ? gpr(src2 & REG_MASK) : tmp1; ++ if (src2 & SLJIT_IMM) { ++ /* load src2 into register */ ++ FAIL_IF(push_load_imm_inst(compiler, src2_r, src2w)); ++ } ++ if (src2 & SLJIT_MEM) { ++ /* load src2 into register */ ++ FAIL_IF(load_word(compiler, src2_r, src2, src2w, tmp1, op & SLJIT_I32_OP)); ++ } ++ /* TODO(mundaym): distinct operand facility where needed */ ++ #define LEVAL(i) i(tmp0, src1_r) ++ if (src1_r != dst_r && src1_r != tmp0) { ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, lr, lgr))); ++ src1_r = tmp0; ++ } ++ #undef LEVAL ++ sljit_ins ins = 0; ++ switch (GET_OPCODE(op) | (op & SLJIT_I32_OP)) { ++ #define LEVAL(i) i(src1_r, src2_r) ++ /* 64-bit ops */ ++ case SLJIT_ADD: ++ ins = WHEN2(signed_flags, agr, algr); ++ break; ++ case SLJIT_SUB: ++ ins = WHEN2(signed_flags, sgr, slgr); ++ break; ++ case SLJIT_ADDC: ++ ins = LEVAL(alcgr); ++ break; ++ case SLJIT_SUBC: ++ ins = LEVAL(slbgr); ++ break; ++ case SLJIT_MUL: ++ ins = LEVAL(msgr); ++ break; ++ case SLJIT_AND: ++ ins = LEVAL(ngr); ++ break; ++ case SLJIT_OR: ++ ins = LEVAL(ogr); ++ break; ++ case SLJIT_XOR: ++ ins = LEVAL(xgr); ++ break; ++ /* 32-bit ops */ ++ case SLJIT_ADD32: ++ ins = WHEN2(signed_flags, ar, alr); ++ break; ++ case SLJIT_SUB32: ++ ins = WHEN2(signed_flags, sr, slr); ++ break; ++ case SLJIT_ADDC32: ++ ins = LEVAL(alcr); ++ break; ++ case SLJIT_SUBC32: ++ ins = LEVAL(slbr); ++ break; ++ case SLJIT_MUL32: ++ ins = LEVAL(msr); ++ break; ++ case SLJIT_AND32: ++ ins = LEVAL(nr); ++ break; ++ case SLJIT_OR32: ++ ins = LEVAL(or); ++ break; ++ case SLJIT_XOR32: ++ ins = LEVAL(xr); ++ break; ++ #undef LEVAL ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ FAIL_IF(push_inst(compiler, ins)); ++ #define LEVAL(i) i(dst_r, src1_r) ++ if (src1_r != dst_r) ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, lr, lgr))); ++ #undef LEVAL ++ } ++ ++ /* write condition code to emulated flag register */ ++ if (op & VARIABLE_FLAG_MASK) ++ FAIL_IF(push_inst(compiler, ipm(flag_r))); ++ ++ /* write zero flag to emulated flag register */ ++ if (op & SLJIT_SET_Z) ++ FAIL_IF(push_store_zero_flag(compiler, op, dst_r)); ++ ++ /* finally write the result to memory if required */ ++ if (dst & SLJIT_MEM) { ++ SLJIT_ASSERT(dst_r != tmp1); ++ /* TODO(carenas): s/FAIL_IF/ return */ ++ FAIL_IF(store_word(compiler, dst_r, dst, dstw, tmp1, op & SLJIT_I32_OP)); ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src( ++ struct sljit_compiler *compiler, ++ sljit_s32 op, sljit_s32 src, sljit_sw srcw) ++{ ++ sljit_gpr src_r; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ switch (op) { ++ case SLJIT_FAST_RETURN: ++ src_r = FAST_IS_REG(src) ? gpr(src) : tmp1; ++ if (src & SLJIT_MEM) ++ FAIL_IF(load_word(compiler, tmp1, src, srcw, tmp1, 0)); ++ ++ return push_inst(compiler, br(src_r)); ++ case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: ++ /* TODO(carenas): implement? */ ++ return SLJIT_SUCCESS; ++ case SLJIT_PREFETCH_L1: ++ case SLJIT_PREFETCH_L2: ++ case SLJIT_PREFETCH_L3: ++ case SLJIT_PREFETCH_ONCE: ++ /* TODO(carenas): implement */ ++ return SLJIT_SUCCESS; ++ default: ++ /* TODO(carenas): probably should not success by default */ ++ return SLJIT_SUCCESS; ++ } ++ ++ return SLJIT_SUCCESS; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) ++{ ++ CHECK_REG_INDEX(check_sljit_get_register_index(reg)); ++ return gpr(reg); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_float_register_index(sljit_s32 reg) ++{ ++ CHECK_REG_INDEX(check_sljit_get_float_register_index(reg)); ++ abort(); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, ++ void *instruction, sljit_s32 size) ++{ ++ sljit_ins ins = 0; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_custom(compiler, instruction, size)); ++ ++ memcpy((sljit_u8 *)&ins + sizeof(ins) - size, instruction, size); ++ return push_inst(compiler, ins); ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Floating point operators */ ++/* --------------------------------------------------------------------- */ ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ abort(); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_s32 src1, sljit_sw src1w, ++ sljit_s32 src2, sljit_sw src2w) ++{ ++ CHECK_ERROR(); ++ abort(); ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Other instructions */ ++/* --------------------------------------------------------------------- */ ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_fast_enter(compiler, dst, dstw)); ++ ADJUST_LOCAL_OFFSET(dst, dstw); ++ ++ if (FAST_IS_REG(dst)) ++ return push_inst(compiler, lgr(gpr(dst), fast_link_r)); ++ ++ /* memory */ ++ return store_word(compiler, fast_link_r, dst, dstw, tmp1, 0); ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Conditional instructions */ ++/* --------------------------------------------------------------------- */ ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_label* sljit_emit_label(struct sljit_compiler *compiler) ++{ ++ struct sljit_label *label; ++ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_emit_label(compiler)); ++ ++ if (compiler->last_label && compiler->last_label->size == compiler->size) ++ return compiler->last_label; ++ ++ label = (struct sljit_label*)ensure_abuf(compiler, sizeof(struct sljit_label)); ++ PTR_FAIL_IF(!label); ++ set_label(label, compiler); ++ return label; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 type) ++{ ++ sljit_u8 mask = ((type & 0xff) < SLJIT_JUMP) ? get_cc(type & 0xff) : 0xf; ++ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_emit_jump(compiler, type)); ++ ++ /* reload condition code */ ++ if (mask != 0xf) ++ PTR_FAIL_IF(push_load_cc(compiler, type & 0xff)); ++ ++ /* record jump */ ++ struct sljit_jump *jump = (struct sljit_jump *) ++ ensure_abuf(compiler, sizeof(struct sljit_jump)); ++ PTR_FAIL_IF(!jump); ++ set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); ++ jump->addr = compiler->size; ++ ++ /* emit jump instruction */ ++ type &= 0xff; ++ if (type >= SLJIT_FAST_CALL) ++ PTR_FAIL_IF(push_inst(compiler, brasl(type == SLJIT_FAST_CALL ? fast_link_r : link_r, 0))); ++ else ++ PTR_FAIL_IF(push_inst(compiler, brcl(mask, 0))); ++ ++ return jump; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump* sljit_emit_call(struct sljit_compiler *compiler, sljit_s32 type, ++ sljit_s32 arg_types) ++{ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_emit_call(compiler, type, arg_types)); ++ ++#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) \ ++ || (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) ++ compiler->skip_checks = 1; ++#endif ++ ++ return sljit_emit_jump(compiler, type); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw) ++{ ++ sljit_gpr src_r = FAST_IS_REG(src) ? gpr(src) : tmp1; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_ijump(compiler, type, src, srcw)); ++ ADJUST_LOCAL_OFFSET(src, srcw); ++ ++ if (src & SLJIT_IMM) { ++ SLJIT_ASSERT(!(srcw & 1)); /* target address must be even */ ++ FAIL_IF(push_load_imm_inst(compiler, src_r, srcw)); ++ } ++ else if (src & SLJIT_MEM) ++ FAIL_IF(load_word(compiler, src_r, src, srcw, tmp1, 0 /* 64-bit */)); ++ ++ /* emit jump instruction */ ++ if (type >= SLJIT_FAST_CALL) ++ return push_inst(compiler, basr(type == SLJIT_FAST_CALL ? fast_link_r : link_r, src_r)); ++ ++ return push_inst(compiler, br(src_r)); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_icall(struct sljit_compiler *compiler, sljit_s32 type, ++ sljit_s32 arg_types, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_icall(compiler, type, arg_types, src, srcw)); ++ ++#if (defined SLJIT_VERBOSE && SLJIT_VERBOSE) \ ++ || (defined SLJIT_ARGUMENT_CHECKS && SLJIT_ARGUMENT_CHECKS) ++ compiler->skip_checks = 1; ++#endif ++ ++ return sljit_emit_ijump(compiler, type, src, srcw); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 op, ++ sljit_s32 dst, sljit_sw dstw, ++ sljit_s32 type) ++{ ++ sljit_u8 mask = get_cc(type & 0xff); ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, type)); ++ ++ sljit_gpr dst_r = FAST_IS_REG(dst) ? gpr(dst & REG_MASK) : tmp0; ++ sljit_gpr loc_r = tmp1; ++ switch (GET_OPCODE(op)) { ++ case SLJIT_AND: ++ case SLJIT_OR: ++ case SLJIT_XOR: ++ /* dst is also source operand */ ++ if (dst & SLJIT_MEM) ++ FAIL_IF(load_word(compiler, dst_r, dst, dstw, tmp1, op & SLJIT_I32_OP)); ++ ++ break; ++ case SLJIT_MOV: ++ case (SLJIT_MOV32 & ~SLJIT_I32_OP): ++ /* can write straight into destination */ ++ loc_r = dst_r; ++ break; ++ default: ++ SLJIT_UNREACHABLE(); ++ } ++ ++ if (mask != 0xf) ++ FAIL_IF(push_load_cc(compiler, type & 0xff)); ++ ++ /* TODO(mundaym): fold into cmov helper function? */ ++ #define LEVAL(i) i(loc_r, 1, mask) ++ if (have_lscond2()) { ++ FAIL_IF(push_load_imm_inst(compiler, loc_r, 0)); ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, lochi, locghi))); ++ } else { ++ /* TODO(mundaym): no load/store-on-condition 2 facility (ipm? branch-and-set?) */ ++ abort(); ++ } ++ #undef LEVAL ++ ++ /* apply bitwise op and set condition codes */ ++ switch (GET_OPCODE(op)) { ++ #define LEVAL(i) i(dst_r, loc_r) ++ case SLJIT_AND: ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, nr, ngr))); ++ break; ++ case SLJIT_OR: ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, or, ogr))); ++ break; ++ case SLJIT_XOR: ++ FAIL_IF(push_inst(compiler, ++ WHEN2(op & SLJIT_I32_OP, xr, xgr))); ++ break; ++ #undef LEVAL ++ } ++ ++ /* set zero flag if needed */ ++ if (op & SLJIT_SET_Z) ++ FAIL_IF(push_store_zero_flag(compiler, op, dst_r)); ++ ++ /* store result to memory if required */ ++ /* TODO(carenas): s/FAIL_IF/ return */ ++ if (dst & SLJIT_MEM) ++ FAIL_IF(store_word(compiler, dst_r, dst, dstw, tmp1, op & SLJIT_I32_OP)); ++ ++ return SLJIT_SUCCESS; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_cmov(struct sljit_compiler *compiler, sljit_s32 type, ++ sljit_s32 dst_reg, ++ sljit_s32 src, sljit_sw srcw) ++{ ++ sljit_u8 mask = get_cc(type & 0xff); ++ sljit_gpr dst_r = gpr(dst_reg & ~SLJIT_I32_OP); ++ sljit_gpr src_r = FAST_IS_REG(src) ? gpr(src) : tmp0; ++ ++ CHECK_ERROR(); ++ CHECK(check_sljit_emit_cmov(compiler, type, dst_reg, src, srcw)); ++ ++ if (mask != 0xf) ++ FAIL_IF(push_load_cc(compiler, type & 0xff)); ++ ++ if (src & SLJIT_IMM) { ++ /* TODO(mundaym): fast path with lscond2 */ ++ FAIL_IF(push_load_imm_inst(compiler, src_r, srcw)); ++ } ++ ++ #define LEVAL(i) i(dst_r, src_r, mask) ++ if (have_lscond1()) ++ return push_inst(compiler, ++ WHEN2(dst_reg & SLJIT_I32_OP, locr, locgr)); ++ ++ #undef LEVAL ++ ++ /* TODO(mundaym): implement */ ++ return SLJIT_ERR_UNSUPPORTED; ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Other instructions */ ++/* --------------------------------------------------------------------- */ ++ ++/* On s390x we build a literal pool to hold constants. This has two main ++ advantages: ++ ++ 1. we only need one instruction in the instruction stream (LGRL) ++ 2. we can store 64 bit addresses and use 32 bit offsets ++ ++ To retrofit the extra information needed to build the literal pool we ++ add a new sljit_s390x_const struct that contains the initial value but ++ can still be cast to a sljit_const. */ ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_const* sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value) ++{ ++ struct sljit_s390x_const *const_; ++ sljit_gpr dst_r; ++ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value)); ++ ++ const_ = (struct sljit_s390x_const*)ensure_abuf(compiler, ++ sizeof(struct sljit_s390x_const)); ++ PTR_FAIL_IF(!const_); ++ set_const((struct sljit_const*)const_, compiler); ++ const_->init_value = init_value; ++ ++ dst_r = FAST_IS_REG(dst) ? gpr(dst & REG_MASK) : tmp0; ++ if (have_genext()) ++ PTR_FAIL_IF(push_inst(compiler, sljit_ins_const | lgrl(dst_r, 0))); ++ else { ++ PTR_FAIL_IF(push_inst(compiler, sljit_ins_const | larl(tmp1, 0))); ++ PTR_FAIL_IF(push_inst(compiler, lg(dst_r, 0, r0, tmp1))); ++ } ++ ++ if (dst & SLJIT_MEM) ++ PTR_FAIL_IF(store_word(compiler, dst_r, dst, dstw, tmp1, 0 /* always 64-bit */)); ++ ++ return (struct sljit_const*)const_; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) ++{ ++ /* Update the constant pool. */ ++ sljit_uw *ptr = (sljit_uw *)addr; ++ SLJIT_UNUSED_ARG(executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 0); ++ *ptr = new_target; ++ SLJIT_UPDATE_WX_FLAGS(ptr, ptr + 1, 1); ++ SLJIT_CACHE_FLUSH(ptr, ptr + 1); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) ++{ ++ sljit_set_jump_addr(addr, new_constant, executable_offset); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label *sljit_emit_put_label( ++ struct sljit_compiler *compiler, ++ sljit_s32 dst, sljit_sw dstw) ++{ ++ struct sljit_put_label *put_label; ++ sljit_gpr dst_r; ++ ++ CHECK_ERROR_PTR(); ++ CHECK_PTR(check_sljit_emit_put_label(compiler, dst, dstw)); ++ ADJUST_LOCAL_OFFSET(dst, dstw); ++ ++ put_label = (struct sljit_put_label*)ensure_abuf(compiler, sizeof(struct sljit_put_label)); ++ PTR_FAIL_IF(!put_label); ++ set_put_label(put_label, compiler, 0); ++ ++ dst_r = FAST_IS_REG(dst) ? gpr(dst & REG_MASK) : tmp0; ++ ++ if (have_genext()) ++ PTR_FAIL_IF(push_inst(compiler, lgrl(dst_r, 0))); ++ else { ++ PTR_FAIL_IF(push_inst(compiler, larl(tmp1, 0))); ++ PTR_FAIL_IF(push_inst(compiler, lg(dst_r, 0, r0, tmp1))); ++ } ++ ++ if (dst & SLJIT_MEM) ++ PTR_FAIL_IF(store_word(compiler, dst_r, dst, dstw, tmp1, 0)); ++ ++ return put_label; ++} ++ ++/* TODO(carenas): EVAL probably should move up or be refactored */ ++#undef WHEN2 ++#undef EVAL ++ ++#undef tmp1 ++#undef tmp0 ++ ++/* TODO(carenas): undef other macros that spill like is_u12? */ +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_32.c b/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_32.c +index 8079fad8df..e5167f02ba 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_32.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_32.c +@@ -266,21 +266,18 @@ static SLJIT_INLINE sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_ + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + sljit_ins *inst = (sljit_ins *)addr; ++ SLJIT_UNUSED_ARG(executable_offset); + ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 0); + SLJIT_ASSERT(((inst[0] & 0xc1c00000) == 0x01000000) && ((inst[1] & 0xc1f82000) == 0x80102000)); + inst[0] = (inst[0] & 0xffc00000) | ((new_target >> 10) & 0x3fffff); + inst[1] = (inst[1] & 0xfffffc00) | (new_target & 0x3ff); ++ SLJIT_UPDATE_WX_FLAGS(inst, inst + 2, 1); + inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); + SLJIT_CACHE_FLUSH(inst, inst + 2); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { +- sljit_ins *inst = (sljit_ins *)addr; +- +- SLJIT_ASSERT(((inst[0] & 0xc1c00000) == 0x01000000) && ((inst[1] & 0xc1f82000) == 0x80102000)); +- inst[0] = (inst[0] & 0xffc00000) | ((new_constant >> 10) & 0x3fffff); +- inst[1] = (inst[1] & 0xfffffc00) | (new_constant & 0x3ff); +- inst = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(inst, executable_offset); +- SLJIT_CACHE_FLUSH(inst, inst + 2); ++ sljit_set_jump_addr(addr, new_constant, executable_offset); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_common.c b/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_common.c +index 7d6be6ca3c..544d80d028 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_common.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeSPARC_common.c +@@ -311,7 +311,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + CHECK_PTR(check_sljit_generate_code(compiler)); + reverse_buf(compiler); + +- code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); ++ code = (sljit_ins*)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins), compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -437,6 +437,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + code_ptr = (sljit_ins *)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset); + + SLJIT_CACHE_FLUSH(code, code_ptr); ++ SLJIT_UPDATE_WX_FLAGS(code, code_ptr, 1); + return code; + } + +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX-encoder.c b/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX-encoder.c +deleted file mode 100644 +index dd82ebae6a..0000000000 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX-encoder.c ++++ /dev/null +@@ -1,10159 +0,0 @@ +-/* +- * Stack-less Just-In-Time compiler +- * +- * Copyright 2013-2013 Tilera Corporation(jiwang@tilera.com). All rights reserved. +- * Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without modification, are +- * permitted provided that the following conditions are met: +- * +- * 1. Redistributions of source code must retain the above copyright notice, this list of +- * conditions and the following disclaimer. +- * +- * 2. Redistributions in binary form must reproduce the above copyright notice, this list +- * of conditions and the following disclaimer in the documentation and/or other materials +- * provided with the distribution. +- * +- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY +- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +- * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- */ +- +-/* This code is owned by Tilera Corporation, and distributed as part +- of multiple projects. In sljit, the code is under BSD licence. */ +- +-#include +-#include +-#include +-#define BFD_RELOC(x) R_##x +- +-/* Special registers. */ +-#define TREG_LR 55 +-#define TREG_SN 56 +-#define TREG_ZERO 63 +- +-/* Canonical name of each register. */ +-const char *const tilegx_register_names[] = +-{ +- "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", +- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15", +- "r16", "r17", "r18", "r19", "r20", "r21", "r22", "r23", +- "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31", +- "r32", "r33", "r34", "r35", "r36", "r37", "r38", "r39", +- "r40", "r41", "r42", "r43", "r44", "r45", "r46", "r47", +- "r48", "r49", "r50", "r51", "r52", "tp", "sp", "lr", +- "sn", "idn0", "idn1", "udn0", "udn1", "udn2", "udn3", "zero" +-}; +- +-enum +-{ +- R_NONE = 0, +- R_TILEGX_NONE = 0, +- R_TILEGX_64 = 1, +- R_TILEGX_32 = 2, +- R_TILEGX_16 = 3, +- R_TILEGX_8 = 4, +- R_TILEGX_64_PCREL = 5, +- R_TILEGX_32_PCREL = 6, +- R_TILEGX_16_PCREL = 7, +- R_TILEGX_8_PCREL = 8, +- R_TILEGX_HW0 = 9, +- R_TILEGX_HW1 = 10, +- R_TILEGX_HW2 = 11, +- R_TILEGX_HW3 = 12, +- R_TILEGX_HW0_LAST = 13, +- R_TILEGX_HW1_LAST = 14, +- R_TILEGX_HW2_LAST = 15, +- R_TILEGX_COPY = 16, +- R_TILEGX_GLOB_DAT = 17, +- R_TILEGX_JMP_SLOT = 18, +- R_TILEGX_RELATIVE = 19, +- R_TILEGX_BROFF_X1 = 20, +- R_TILEGX_JUMPOFF_X1 = 21, +- R_TILEGX_JUMPOFF_X1_PLT = 22, +- R_TILEGX_IMM8_X0 = 23, +- R_TILEGX_IMM8_Y0 = 24, +- R_TILEGX_IMM8_X1 = 25, +- R_TILEGX_IMM8_Y1 = 26, +- R_TILEGX_DEST_IMM8_X1 = 27, +- R_TILEGX_MT_IMM14_X1 = 28, +- R_TILEGX_MF_IMM14_X1 = 29, +- R_TILEGX_MMSTART_X0 = 30, +- R_TILEGX_MMEND_X0 = 31, +- R_TILEGX_SHAMT_X0 = 32, +- R_TILEGX_SHAMT_X1 = 33, +- R_TILEGX_SHAMT_Y0 = 34, +- R_TILEGX_SHAMT_Y1 = 35, +- R_TILEGX_IMM16_X0_HW0 = 36, +- R_TILEGX_IMM16_X1_HW0 = 37, +- R_TILEGX_IMM16_X0_HW1 = 38, +- R_TILEGX_IMM16_X1_HW1 = 39, +- R_TILEGX_IMM16_X0_HW2 = 40, +- R_TILEGX_IMM16_X1_HW2 = 41, +- R_TILEGX_IMM16_X0_HW3 = 42, +- R_TILEGX_IMM16_X1_HW3 = 43, +- R_TILEGX_IMM16_X0_HW0_LAST = 44, +- R_TILEGX_IMM16_X1_HW0_LAST = 45, +- R_TILEGX_IMM16_X0_HW1_LAST = 46, +- R_TILEGX_IMM16_X1_HW1_LAST = 47, +- R_TILEGX_IMM16_X0_HW2_LAST = 48, +- R_TILEGX_IMM16_X1_HW2_LAST = 49, +- R_TILEGX_IMM16_X0_HW0_PCREL = 50, +- R_TILEGX_IMM16_X1_HW0_PCREL = 51, +- R_TILEGX_IMM16_X0_HW1_PCREL = 52, +- R_TILEGX_IMM16_X1_HW1_PCREL = 53, +- R_TILEGX_IMM16_X0_HW2_PCREL = 54, +- R_TILEGX_IMM16_X1_HW2_PCREL = 55, +- R_TILEGX_IMM16_X0_HW3_PCREL = 56, +- R_TILEGX_IMM16_X1_HW3_PCREL = 57, +- R_TILEGX_IMM16_X0_HW0_LAST_PCREL = 58, +- R_TILEGX_IMM16_X1_HW0_LAST_PCREL = 59, +- R_TILEGX_IMM16_X0_HW1_LAST_PCREL = 60, +- R_TILEGX_IMM16_X1_HW1_LAST_PCREL = 61, +- R_TILEGX_IMM16_X0_HW2_LAST_PCREL = 62, +- R_TILEGX_IMM16_X1_HW2_LAST_PCREL = 63, +- R_TILEGX_IMM16_X0_HW0_GOT = 64, +- R_TILEGX_IMM16_X1_HW0_GOT = 65, +- +- R_TILEGX_IMM16_X0_HW0_PLT_PCREL = 66, +- R_TILEGX_IMM16_X1_HW0_PLT_PCREL = 67, +- R_TILEGX_IMM16_X0_HW1_PLT_PCREL = 68, +- R_TILEGX_IMM16_X1_HW1_PLT_PCREL = 69, +- R_TILEGX_IMM16_X0_HW2_PLT_PCREL = 70, +- R_TILEGX_IMM16_X1_HW2_PLT_PCREL = 71, +- +- R_TILEGX_IMM16_X0_HW0_LAST_GOT = 72, +- R_TILEGX_IMM16_X1_HW0_LAST_GOT = 73, +- R_TILEGX_IMM16_X0_HW1_LAST_GOT = 74, +- R_TILEGX_IMM16_X1_HW1_LAST_GOT = 75, +- R_TILEGX_IMM16_X0_HW0_TLS_GD = 78, +- R_TILEGX_IMM16_X1_HW0_TLS_GD = 79, +- R_TILEGX_IMM16_X0_HW0_TLS_LE = 80, +- R_TILEGX_IMM16_X1_HW0_TLS_LE = 81, +- R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE = 82, +- R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE = 83, +- R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE = 84, +- R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE = 85, +- R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD = 86, +- R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD = 87, +- R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD = 88, +- R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD = 89, +- R_TILEGX_IMM16_X0_HW0_TLS_IE = 92, +- R_TILEGX_IMM16_X1_HW0_TLS_IE = 93, +- +- R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL = 94, +- R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL = 95, +- R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL = 96, +- R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL = 97, +- R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL = 98, +- R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL = 99, +- +- R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE = 100, +- R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE = 101, +- R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE = 102, +- R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE = 103, +- R_TILEGX_TLS_DTPMOD64 = 106, +- R_TILEGX_TLS_DTPOFF64 = 107, +- R_TILEGX_TLS_TPOFF64 = 108, +- R_TILEGX_TLS_DTPMOD32 = 109, +- R_TILEGX_TLS_DTPOFF32 = 110, +- R_TILEGX_TLS_TPOFF32 = 111, +- R_TILEGX_TLS_GD_CALL = 112, +- R_TILEGX_IMM8_X0_TLS_GD_ADD = 113, +- R_TILEGX_IMM8_X1_TLS_GD_ADD = 114, +- R_TILEGX_IMM8_Y0_TLS_GD_ADD = 115, +- R_TILEGX_IMM8_Y1_TLS_GD_ADD = 116, +- R_TILEGX_TLS_IE_LOAD = 117, +- R_TILEGX_IMM8_X0_TLS_ADD = 118, +- R_TILEGX_IMM8_X1_TLS_ADD = 119, +- R_TILEGX_IMM8_Y0_TLS_ADD = 120, +- R_TILEGX_IMM8_Y1_TLS_ADD = 121, +- R_TILEGX_GNU_VTINHERIT = 128, +- R_TILEGX_GNU_VTENTRY = 129, +- R_TILEGX_IRELATIVE = 130, +- R_TILEGX_NUM = 131 +-}; +- +-typedef enum +-{ +- TILEGX_PIPELINE_X0, +- TILEGX_PIPELINE_X1, +- TILEGX_PIPELINE_Y0, +- TILEGX_PIPELINE_Y1, +- TILEGX_PIPELINE_Y2, +-} tilegx_pipeline; +- +-typedef unsigned long long tilegx_bundle_bits; +- +-/* These are the bits that determine if a bundle is in the X encoding. */ +-#define TILEGX_BUNDLE_MODE_MASK ((tilegx_bundle_bits)3 << 62) +- +-enum +-{ +- /* Maximum number of instructions in a bundle (2 for X, 3 for Y). */ +- TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE = 3, +- +- /* How many different pipeline encodings are there? X0, X1, Y0, Y1, Y2. */ +- TILEGX_NUM_PIPELINE_ENCODINGS = 5, +- +- /* Log base 2 of TILEGX_BUNDLE_SIZE_IN_BYTES. */ +- TILEGX_LOG2_BUNDLE_SIZE_IN_BYTES = 3, +- +- /* Instructions take this many bytes. */ +- TILEGX_BUNDLE_SIZE_IN_BYTES = 1 << TILEGX_LOG2_BUNDLE_SIZE_IN_BYTES, +- +- /* Log base 2 of TILEGX_BUNDLE_ALIGNMENT_IN_BYTES. */ +- TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES = 3, +- +- /* Bundles should be aligned modulo this number of bytes. */ +- TILEGX_BUNDLE_ALIGNMENT_IN_BYTES = +- (1 << TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES), +- +- /* Number of registers (some are magic, such as network I/O). */ +- TILEGX_NUM_REGISTERS = 64, +-}; +- +-/* Make a few "tile_" variables to simplify common code between +- architectures. */ +- +-typedef tilegx_bundle_bits tile_bundle_bits; +-#define TILE_BUNDLE_SIZE_IN_BYTES TILEGX_BUNDLE_SIZE_IN_BYTES +-#define TILE_BUNDLE_ALIGNMENT_IN_BYTES TILEGX_BUNDLE_ALIGNMENT_IN_BYTES +-#define TILE_LOG2_BUNDLE_ALIGNMENT_IN_BYTES \ +- TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES +- +-/* 64-bit pattern for a { bpt ; nop } bundle. */ +-#define TILEGX_BPT_BUNDLE 0x286a44ae51485000ULL +- +-typedef enum +-{ +- TILEGX_OP_TYPE_REGISTER, +- TILEGX_OP_TYPE_IMMEDIATE, +- TILEGX_OP_TYPE_ADDRESS, +- TILEGX_OP_TYPE_SPR +-} tilegx_operand_type; +- +-struct tilegx_operand +-{ +- /* Is this operand a register, immediate or address? */ +- tilegx_operand_type type; +- +- /* The default relocation type for this operand. */ +- signed int default_reloc : 16; +- +- /* How many bits is this value? (used for range checking) */ +- unsigned int num_bits : 5; +- +- /* Is the value signed? (used for range checking) */ +- unsigned int is_signed : 1; +- +- /* Is this operand a source register? */ +- unsigned int is_src_reg : 1; +- +- /* Is this operand written? (i.e. is it a destination register) */ +- unsigned int is_dest_reg : 1; +- +- /* Is this operand PC-relative? */ +- unsigned int is_pc_relative : 1; +- +- /* By how many bits do we right shift the value before inserting? */ +- unsigned int rightshift : 2; +- +- /* Return the bits for this operand to be ORed into an existing bundle. */ +- tilegx_bundle_bits (*insert) (int op); +- +- /* Extract this operand and return it. */ +- unsigned int (*extract) (tilegx_bundle_bits bundle); +-}; +- +-typedef enum +-{ +- TILEGX_OPC_BPT, +- TILEGX_OPC_INFO, +- TILEGX_OPC_INFOL, +- TILEGX_OPC_LD4S_TLS, +- TILEGX_OPC_LD_TLS, +- TILEGX_OPC_MOVE, +- TILEGX_OPC_MOVEI, +- TILEGX_OPC_MOVELI, +- TILEGX_OPC_PREFETCH, +- TILEGX_OPC_PREFETCH_ADD_L1, +- TILEGX_OPC_PREFETCH_ADD_L1_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L2, +- TILEGX_OPC_PREFETCH_ADD_L2_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L3, +- TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- TILEGX_OPC_PREFETCH_L1, +- TILEGX_OPC_PREFETCH_L1_FAULT, +- TILEGX_OPC_PREFETCH_L2, +- TILEGX_OPC_PREFETCH_L2_FAULT, +- TILEGX_OPC_PREFETCH_L3, +- TILEGX_OPC_PREFETCH_L3_FAULT, +- TILEGX_OPC_RAISE, +- TILEGX_OPC_ADD, +- TILEGX_OPC_ADDI, +- TILEGX_OPC_ADDLI, +- TILEGX_OPC_ADDX, +- TILEGX_OPC_ADDXI, +- TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXSC, +- TILEGX_OPC_AND, +- TILEGX_OPC_ANDI, +- TILEGX_OPC_BEQZ, +- TILEGX_OPC_BEQZT, +- TILEGX_OPC_BFEXTS, +- TILEGX_OPC_BFEXTU, +- TILEGX_OPC_BFINS, +- TILEGX_OPC_BGEZ, +- TILEGX_OPC_BGEZT, +- TILEGX_OPC_BGTZ, +- TILEGX_OPC_BGTZT, +- TILEGX_OPC_BLBC, +- TILEGX_OPC_BLBCT, +- TILEGX_OPC_BLBS, +- TILEGX_OPC_BLBST, +- TILEGX_OPC_BLEZ, +- TILEGX_OPC_BLEZT, +- TILEGX_OPC_BLTZ, +- TILEGX_OPC_BLTZT, +- TILEGX_OPC_BNEZ, +- TILEGX_OPC_BNEZT, +- TILEGX_OPC_CLZ, +- TILEGX_OPC_CMOVEQZ, +- TILEGX_OPC_CMOVNEZ, +- TILEGX_OPC_CMPEQ, +- TILEGX_OPC_CMPEQI, +- TILEGX_OPC_CMPEXCH, +- TILEGX_OPC_CMPEXCH4, +- TILEGX_OPC_CMPLES, +- TILEGX_OPC_CMPLEU, +- TILEGX_OPC_CMPLTS, +- TILEGX_OPC_CMPLTSI, +- TILEGX_OPC_CMPLTU, +- TILEGX_OPC_CMPLTUI, +- TILEGX_OPC_CMPNE, +- TILEGX_OPC_CMUL, +- TILEGX_OPC_CMULA, +- TILEGX_OPC_CMULAF, +- TILEGX_OPC_CMULF, +- TILEGX_OPC_CMULFR, +- TILEGX_OPC_CMULH, +- TILEGX_OPC_CMULHR, +- TILEGX_OPC_CRC32_32, +- TILEGX_OPC_CRC32_8, +- TILEGX_OPC_CTZ, +- TILEGX_OPC_DBLALIGN, +- TILEGX_OPC_DBLALIGN2, +- TILEGX_OPC_DBLALIGN4, +- TILEGX_OPC_DBLALIGN6, +- TILEGX_OPC_DRAIN, +- TILEGX_OPC_DTLBPR, +- TILEGX_OPC_EXCH, +- TILEGX_OPC_EXCH4, +- TILEGX_OPC_FDOUBLE_ADD_FLAGS, +- TILEGX_OPC_FDOUBLE_ADDSUB, +- TILEGX_OPC_FDOUBLE_MUL_FLAGS, +- TILEGX_OPC_FDOUBLE_PACK1, +- TILEGX_OPC_FDOUBLE_PACK2, +- TILEGX_OPC_FDOUBLE_SUB_FLAGS, +- TILEGX_OPC_FDOUBLE_UNPACK_MAX, +- TILEGX_OPC_FDOUBLE_UNPACK_MIN, +- TILEGX_OPC_FETCHADD, +- TILEGX_OPC_FETCHADD4, +- TILEGX_OPC_FETCHADDGEZ, +- TILEGX_OPC_FETCHADDGEZ4, +- TILEGX_OPC_FETCHAND, +- TILEGX_OPC_FETCHAND4, +- TILEGX_OPC_FETCHOR, +- TILEGX_OPC_FETCHOR4, +- TILEGX_OPC_FINV, +- TILEGX_OPC_FLUSH, +- TILEGX_OPC_FLUSHWB, +- TILEGX_OPC_FNOP, +- TILEGX_OPC_FSINGLE_ADD1, +- TILEGX_OPC_FSINGLE_ADDSUB2, +- TILEGX_OPC_FSINGLE_MUL1, +- TILEGX_OPC_FSINGLE_MUL2, +- TILEGX_OPC_FSINGLE_PACK1, +- TILEGX_OPC_FSINGLE_PACK2, +- TILEGX_OPC_FSINGLE_SUB1, +- TILEGX_OPC_ICOH, +- TILEGX_OPC_ILL, +- TILEGX_OPC_INV, +- TILEGX_OPC_IRET, +- TILEGX_OPC_J, +- TILEGX_OPC_JAL, +- TILEGX_OPC_JALR, +- TILEGX_OPC_JALRP, +- TILEGX_OPC_JR, +- TILEGX_OPC_JRP, +- TILEGX_OPC_LD, +- TILEGX_OPC_LD1S, +- TILEGX_OPC_LD1S_ADD, +- TILEGX_OPC_LD1U, +- TILEGX_OPC_LD1U_ADD, +- TILEGX_OPC_LD2S, +- TILEGX_OPC_LD2S_ADD, +- TILEGX_OPC_LD2U, +- TILEGX_OPC_LD2U_ADD, +- TILEGX_OPC_LD4S, +- TILEGX_OPC_LD4S_ADD, +- TILEGX_OPC_LD4U, +- TILEGX_OPC_LD4U_ADD, +- TILEGX_OPC_LD_ADD, +- TILEGX_OPC_LDNA, +- TILEGX_OPC_LDNA_ADD, +- TILEGX_OPC_LDNT, +- TILEGX_OPC_LDNT1S, +- TILEGX_OPC_LDNT1S_ADD, +- TILEGX_OPC_LDNT1U, +- TILEGX_OPC_LDNT1U_ADD, +- TILEGX_OPC_LDNT2S, +- TILEGX_OPC_LDNT2S_ADD, +- TILEGX_OPC_LDNT2U, +- TILEGX_OPC_LDNT2U_ADD, +- TILEGX_OPC_LDNT4S, +- TILEGX_OPC_LDNT4S_ADD, +- TILEGX_OPC_LDNT4U, +- TILEGX_OPC_LDNT4U_ADD, +- TILEGX_OPC_LDNT_ADD, +- TILEGX_OPC_LNK, +- TILEGX_OPC_MF, +- TILEGX_OPC_MFSPR, +- TILEGX_OPC_MM, +- TILEGX_OPC_MNZ, +- TILEGX_OPC_MTSPR, +- TILEGX_OPC_MUL_HS_HS, +- TILEGX_OPC_MUL_HS_HU, +- TILEGX_OPC_MUL_HS_LS, +- TILEGX_OPC_MUL_HS_LU, +- TILEGX_OPC_MUL_HU_HU, +- TILEGX_OPC_MUL_HU_LS, +- TILEGX_OPC_MUL_HU_LU, +- TILEGX_OPC_MUL_LS_LS, +- TILEGX_OPC_MUL_LS_LU, +- TILEGX_OPC_MUL_LU_LU, +- TILEGX_OPC_MULA_HS_HS, +- TILEGX_OPC_MULA_HS_HU, +- TILEGX_OPC_MULA_HS_LS, +- TILEGX_OPC_MULA_HS_LU, +- TILEGX_OPC_MULA_HU_HU, +- TILEGX_OPC_MULA_HU_LS, +- TILEGX_OPC_MULA_HU_LU, +- TILEGX_OPC_MULA_LS_LS, +- TILEGX_OPC_MULA_LS_LU, +- TILEGX_OPC_MULA_LU_LU, +- TILEGX_OPC_MULAX, +- TILEGX_OPC_MULX, +- TILEGX_OPC_MZ, +- TILEGX_OPC_NAP, +- TILEGX_OPC_NOP, +- TILEGX_OPC_NOR, +- TILEGX_OPC_OR, +- TILEGX_OPC_ORI, +- TILEGX_OPC_PCNT, +- TILEGX_OPC_REVBITS, +- TILEGX_OPC_REVBYTES, +- TILEGX_OPC_ROTL, +- TILEGX_OPC_ROTLI, +- TILEGX_OPC_SHL, +- TILEGX_OPC_SHL16INSLI, +- TILEGX_OPC_SHL1ADD, +- TILEGX_OPC_SHL1ADDX, +- TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL2ADDX, +- TILEGX_OPC_SHL3ADD, +- TILEGX_OPC_SHL3ADDX, +- TILEGX_OPC_SHLI, +- TILEGX_OPC_SHLX, +- TILEGX_OPC_SHLXI, +- TILEGX_OPC_SHRS, +- TILEGX_OPC_SHRSI, +- TILEGX_OPC_SHRU, +- TILEGX_OPC_SHRUI, +- TILEGX_OPC_SHRUX, +- TILEGX_OPC_SHRUXI, +- TILEGX_OPC_SHUFFLEBYTES, +- TILEGX_OPC_ST, +- TILEGX_OPC_ST1, +- TILEGX_OPC_ST1_ADD, +- TILEGX_OPC_ST2, +- TILEGX_OPC_ST2_ADD, +- TILEGX_OPC_ST4, +- TILEGX_OPC_ST4_ADD, +- TILEGX_OPC_ST_ADD, +- TILEGX_OPC_STNT, +- TILEGX_OPC_STNT1, +- TILEGX_OPC_STNT1_ADD, +- TILEGX_OPC_STNT2, +- TILEGX_OPC_STNT2_ADD, +- TILEGX_OPC_STNT4, +- TILEGX_OPC_STNT4_ADD, +- TILEGX_OPC_STNT_ADD, +- TILEGX_OPC_SUB, +- TILEGX_OPC_SUBX, +- TILEGX_OPC_SUBXSC, +- TILEGX_OPC_SWINT0, +- TILEGX_OPC_SWINT1, +- TILEGX_OPC_SWINT2, +- TILEGX_OPC_SWINT3, +- TILEGX_OPC_TBLIDXB0, +- TILEGX_OPC_TBLIDXB1, +- TILEGX_OPC_TBLIDXB2, +- TILEGX_OPC_TBLIDXB3, +- TILEGX_OPC_V1ADD, +- TILEGX_OPC_V1ADDI, +- TILEGX_OPC_V1ADDUC, +- TILEGX_OPC_V1ADIFFU, +- TILEGX_OPC_V1AVGU, +- TILEGX_OPC_V1CMPEQ, +- TILEGX_OPC_V1CMPEQI, +- TILEGX_OPC_V1CMPLES, +- TILEGX_OPC_V1CMPLEU, +- TILEGX_OPC_V1CMPLTS, +- TILEGX_OPC_V1CMPLTSI, +- TILEGX_OPC_V1CMPLTU, +- TILEGX_OPC_V1CMPLTUI, +- TILEGX_OPC_V1CMPNE, +- TILEGX_OPC_V1DDOTPU, +- TILEGX_OPC_V1DDOTPUA, +- TILEGX_OPC_V1DDOTPUS, +- TILEGX_OPC_V1DDOTPUSA, +- TILEGX_OPC_V1DOTP, +- TILEGX_OPC_V1DOTPA, +- TILEGX_OPC_V1DOTPU, +- TILEGX_OPC_V1DOTPUA, +- TILEGX_OPC_V1DOTPUS, +- TILEGX_OPC_V1DOTPUSA, +- TILEGX_OPC_V1INT_H, +- TILEGX_OPC_V1INT_L, +- TILEGX_OPC_V1MAXU, +- TILEGX_OPC_V1MAXUI, +- TILEGX_OPC_V1MINU, +- TILEGX_OPC_V1MINUI, +- TILEGX_OPC_V1MNZ, +- TILEGX_OPC_V1MULTU, +- TILEGX_OPC_V1MULU, +- TILEGX_OPC_V1MULUS, +- TILEGX_OPC_V1MZ, +- TILEGX_OPC_V1SADAU, +- TILEGX_OPC_V1SADU, +- TILEGX_OPC_V1SHL, +- TILEGX_OPC_V1SHLI, +- TILEGX_OPC_V1SHRS, +- TILEGX_OPC_V1SHRSI, +- TILEGX_OPC_V1SHRU, +- TILEGX_OPC_V1SHRUI, +- TILEGX_OPC_V1SUB, +- TILEGX_OPC_V1SUBUC, +- TILEGX_OPC_V2ADD, +- TILEGX_OPC_V2ADDI, +- TILEGX_OPC_V2ADDSC, +- TILEGX_OPC_V2ADIFFS, +- TILEGX_OPC_V2AVGS, +- TILEGX_OPC_V2CMPEQ, +- TILEGX_OPC_V2CMPEQI, +- TILEGX_OPC_V2CMPLES, +- TILEGX_OPC_V2CMPLEU, +- TILEGX_OPC_V2CMPLTS, +- TILEGX_OPC_V2CMPLTSI, +- TILEGX_OPC_V2CMPLTU, +- TILEGX_OPC_V2CMPLTUI, +- TILEGX_OPC_V2CMPNE, +- TILEGX_OPC_V2DOTP, +- TILEGX_OPC_V2DOTPA, +- TILEGX_OPC_V2INT_H, +- TILEGX_OPC_V2INT_L, +- TILEGX_OPC_V2MAXS, +- TILEGX_OPC_V2MAXSI, +- TILEGX_OPC_V2MINS, +- TILEGX_OPC_V2MINSI, +- TILEGX_OPC_V2MNZ, +- TILEGX_OPC_V2MULFSC, +- TILEGX_OPC_V2MULS, +- TILEGX_OPC_V2MULTS, +- TILEGX_OPC_V2MZ, +- TILEGX_OPC_V2PACKH, +- TILEGX_OPC_V2PACKL, +- TILEGX_OPC_V2PACKUC, +- TILEGX_OPC_V2SADAS, +- TILEGX_OPC_V2SADAU, +- TILEGX_OPC_V2SADS, +- TILEGX_OPC_V2SADU, +- TILEGX_OPC_V2SHL, +- TILEGX_OPC_V2SHLI, +- TILEGX_OPC_V2SHLSC, +- TILEGX_OPC_V2SHRS, +- TILEGX_OPC_V2SHRSI, +- TILEGX_OPC_V2SHRU, +- TILEGX_OPC_V2SHRUI, +- TILEGX_OPC_V2SUB, +- TILEGX_OPC_V2SUBSC, +- TILEGX_OPC_V4ADD, +- TILEGX_OPC_V4ADDSC, +- TILEGX_OPC_V4INT_H, +- TILEGX_OPC_V4INT_L, +- TILEGX_OPC_V4PACKSC, +- TILEGX_OPC_V4SHL, +- TILEGX_OPC_V4SHLSC, +- TILEGX_OPC_V4SHRS, +- TILEGX_OPC_V4SHRU, +- TILEGX_OPC_V4SUB, +- TILEGX_OPC_V4SUBSC, +- TILEGX_OPC_WH64, +- TILEGX_OPC_XOR, +- TILEGX_OPC_XORI, +- TILEGX_OPC_NONE +-} tilegx_mnemonic; +- +-enum +-{ +- TILEGX_MAX_OPERANDS = 4 /* bfexts */ +-}; +- +-struct tilegx_opcode +-{ +- /* The opcode mnemonic, e.g. "add" */ +- const char *name; +- +- /* The enum value for this mnemonic. */ +- tilegx_mnemonic mnemonic; +- +- /* A bit mask of which of the five pipes this instruction +- is compatible with: +- X0 0x01 +- X1 0x02 +- Y0 0x04 +- Y1 0x08 +- Y2 0x10 */ +- unsigned char pipes; +- +- /* How many operands are there? */ +- unsigned char num_operands; +- +- /* Which register does this write implicitly, or TREG_ZERO if none? */ +- unsigned char implicitly_written_register; +- +- /* Can this be bundled with other instructions (almost always true). */ +- unsigned char can_bundle; +- +- /* The description of the operands. Each of these is an +- * index into the tilegx_operands[] table. */ +- unsigned char operands[TILEGX_NUM_PIPELINE_ENCODINGS][TILEGX_MAX_OPERANDS]; +- +- /* A mask of which bits have predefined values for each pipeline. +- * This is useful for disassembly. */ +- tilegx_bundle_bits fixed_bit_masks[TILEGX_NUM_PIPELINE_ENCODINGS]; +- +- /* For each bit set in fixed_bit_masks, what the value is for this +- * instruction. */ +- tilegx_bundle_bits fixed_bit_values[TILEGX_NUM_PIPELINE_ENCODINGS]; +-}; +- +-/* Used for non-textual disassembly into structs. */ +-struct tilegx_decoded_instruction +-{ +- const struct tilegx_opcode *opcode; +- const struct tilegx_operand *operands[TILEGX_MAX_OPERANDS]; +- long long operand_values[TILEGX_MAX_OPERANDS]; +-}; +- +-enum +-{ +- ADDI_IMM8_OPCODE_X0 = 1, +- ADDI_IMM8_OPCODE_X1 = 1, +- ADDI_OPCODE_Y0 = 0, +- ADDI_OPCODE_Y1 = 1, +- ADDLI_OPCODE_X0 = 1, +- ADDLI_OPCODE_X1 = 0, +- ADDXI_IMM8_OPCODE_X0 = 2, +- ADDXI_IMM8_OPCODE_X1 = 2, +- ADDXI_OPCODE_Y0 = 1, +- ADDXI_OPCODE_Y1 = 2, +- ADDXLI_OPCODE_X0 = 2, +- ADDXLI_OPCODE_X1 = 1, +- ADDXSC_RRR_0_OPCODE_X0 = 1, +- ADDXSC_RRR_0_OPCODE_X1 = 1, +- ADDX_RRR_0_OPCODE_X0 = 2, +- ADDX_RRR_0_OPCODE_X1 = 2, +- ADDX_RRR_0_OPCODE_Y0 = 0, +- ADDX_SPECIAL_0_OPCODE_Y1 = 0, +- ADD_RRR_0_OPCODE_X0 = 3, +- ADD_RRR_0_OPCODE_X1 = 3, +- ADD_RRR_0_OPCODE_Y0 = 1, +- ADD_SPECIAL_0_OPCODE_Y1 = 1, +- ANDI_IMM8_OPCODE_X0 = 3, +- ANDI_IMM8_OPCODE_X1 = 3, +- ANDI_OPCODE_Y0 = 2, +- ANDI_OPCODE_Y1 = 3, +- AND_RRR_0_OPCODE_X0 = 4, +- AND_RRR_0_OPCODE_X1 = 4, +- AND_RRR_5_OPCODE_Y0 = 0, +- AND_RRR_5_OPCODE_Y1 = 0, +- BEQZT_BRANCH_OPCODE_X1 = 16, +- BEQZ_BRANCH_OPCODE_X1 = 17, +- BFEXTS_BF_OPCODE_X0 = 4, +- BFEXTU_BF_OPCODE_X0 = 5, +- BFINS_BF_OPCODE_X0 = 6, +- BF_OPCODE_X0 = 3, +- BGEZT_BRANCH_OPCODE_X1 = 18, +- BGEZ_BRANCH_OPCODE_X1 = 19, +- BGTZT_BRANCH_OPCODE_X1 = 20, +- BGTZ_BRANCH_OPCODE_X1 = 21, +- BLBCT_BRANCH_OPCODE_X1 = 22, +- BLBC_BRANCH_OPCODE_X1 = 23, +- BLBST_BRANCH_OPCODE_X1 = 24, +- BLBS_BRANCH_OPCODE_X1 = 25, +- BLEZT_BRANCH_OPCODE_X1 = 26, +- BLEZ_BRANCH_OPCODE_X1 = 27, +- BLTZT_BRANCH_OPCODE_X1 = 28, +- BLTZ_BRANCH_OPCODE_X1 = 29, +- BNEZT_BRANCH_OPCODE_X1 = 30, +- BNEZ_BRANCH_OPCODE_X1 = 31, +- BRANCH_OPCODE_X1 = 2, +- CMOVEQZ_RRR_0_OPCODE_X0 = 5, +- CMOVEQZ_RRR_4_OPCODE_Y0 = 0, +- CMOVNEZ_RRR_0_OPCODE_X0 = 6, +- CMOVNEZ_RRR_4_OPCODE_Y0 = 1, +- CMPEQI_IMM8_OPCODE_X0 = 4, +- CMPEQI_IMM8_OPCODE_X1 = 4, +- CMPEQI_OPCODE_Y0 = 3, +- CMPEQI_OPCODE_Y1 = 4, +- CMPEQ_RRR_0_OPCODE_X0 = 7, +- CMPEQ_RRR_0_OPCODE_X1 = 5, +- CMPEQ_RRR_3_OPCODE_Y0 = 0, +- CMPEQ_RRR_3_OPCODE_Y1 = 2, +- CMPEXCH4_RRR_0_OPCODE_X1 = 6, +- CMPEXCH_RRR_0_OPCODE_X1 = 7, +- CMPLES_RRR_0_OPCODE_X0 = 8, +- CMPLES_RRR_0_OPCODE_X1 = 8, +- CMPLES_RRR_2_OPCODE_Y0 = 0, +- CMPLES_RRR_2_OPCODE_Y1 = 0, +- CMPLEU_RRR_0_OPCODE_X0 = 9, +- CMPLEU_RRR_0_OPCODE_X1 = 9, +- CMPLEU_RRR_2_OPCODE_Y0 = 1, +- CMPLEU_RRR_2_OPCODE_Y1 = 1, +- CMPLTSI_IMM8_OPCODE_X0 = 5, +- CMPLTSI_IMM8_OPCODE_X1 = 5, +- CMPLTSI_OPCODE_Y0 = 4, +- CMPLTSI_OPCODE_Y1 = 5, +- CMPLTS_RRR_0_OPCODE_X0 = 10, +- CMPLTS_RRR_0_OPCODE_X1 = 10, +- CMPLTS_RRR_2_OPCODE_Y0 = 2, +- CMPLTS_RRR_2_OPCODE_Y1 = 2, +- CMPLTUI_IMM8_OPCODE_X0 = 6, +- CMPLTUI_IMM8_OPCODE_X1 = 6, +- CMPLTU_RRR_0_OPCODE_X0 = 11, +- CMPLTU_RRR_0_OPCODE_X1 = 11, +- CMPLTU_RRR_2_OPCODE_Y0 = 3, +- CMPLTU_RRR_2_OPCODE_Y1 = 3, +- CMPNE_RRR_0_OPCODE_X0 = 12, +- CMPNE_RRR_0_OPCODE_X1 = 12, +- CMPNE_RRR_3_OPCODE_Y0 = 1, +- CMPNE_RRR_3_OPCODE_Y1 = 3, +- CMULAF_RRR_0_OPCODE_X0 = 13, +- CMULA_RRR_0_OPCODE_X0 = 14, +- CMULFR_RRR_0_OPCODE_X0 = 15, +- CMULF_RRR_0_OPCODE_X0 = 16, +- CMULHR_RRR_0_OPCODE_X0 = 17, +- CMULH_RRR_0_OPCODE_X0 = 18, +- CMUL_RRR_0_OPCODE_X0 = 19, +- CNTLZ_UNARY_OPCODE_X0 = 1, +- CNTLZ_UNARY_OPCODE_Y0 = 1, +- CNTTZ_UNARY_OPCODE_X0 = 2, +- CNTTZ_UNARY_OPCODE_Y0 = 2, +- CRC32_32_RRR_0_OPCODE_X0 = 20, +- CRC32_8_RRR_0_OPCODE_X0 = 21, +- DBLALIGN2_RRR_0_OPCODE_X0 = 22, +- DBLALIGN2_RRR_0_OPCODE_X1 = 13, +- DBLALIGN4_RRR_0_OPCODE_X0 = 23, +- DBLALIGN4_RRR_0_OPCODE_X1 = 14, +- DBLALIGN6_RRR_0_OPCODE_X0 = 24, +- DBLALIGN6_RRR_0_OPCODE_X1 = 15, +- DBLALIGN_RRR_0_OPCODE_X0 = 25, +- DRAIN_UNARY_OPCODE_X1 = 1, +- DTLBPR_UNARY_OPCODE_X1 = 2, +- EXCH4_RRR_0_OPCODE_X1 = 16, +- EXCH_RRR_0_OPCODE_X1 = 17, +- FDOUBLE_ADDSUB_RRR_0_OPCODE_X0 = 26, +- FDOUBLE_ADD_FLAGS_RRR_0_OPCODE_X0 = 27, +- FDOUBLE_MUL_FLAGS_RRR_0_OPCODE_X0 = 28, +- FDOUBLE_PACK1_RRR_0_OPCODE_X0 = 29, +- FDOUBLE_PACK2_RRR_0_OPCODE_X0 = 30, +- FDOUBLE_SUB_FLAGS_RRR_0_OPCODE_X0 = 31, +- FDOUBLE_UNPACK_MAX_RRR_0_OPCODE_X0 = 32, +- FDOUBLE_UNPACK_MIN_RRR_0_OPCODE_X0 = 33, +- FETCHADD4_RRR_0_OPCODE_X1 = 18, +- FETCHADDGEZ4_RRR_0_OPCODE_X1 = 19, +- FETCHADDGEZ_RRR_0_OPCODE_X1 = 20, +- FETCHADD_RRR_0_OPCODE_X1 = 21, +- FETCHAND4_RRR_0_OPCODE_X1 = 22, +- FETCHAND_RRR_0_OPCODE_X1 = 23, +- FETCHOR4_RRR_0_OPCODE_X1 = 24, +- FETCHOR_RRR_0_OPCODE_X1 = 25, +- FINV_UNARY_OPCODE_X1 = 3, +- FLUSHWB_UNARY_OPCODE_X1 = 4, +- FLUSH_UNARY_OPCODE_X1 = 5, +- FNOP_UNARY_OPCODE_X0 = 3, +- FNOP_UNARY_OPCODE_X1 = 6, +- FNOP_UNARY_OPCODE_Y0 = 3, +- FNOP_UNARY_OPCODE_Y1 = 8, +- FSINGLE_ADD1_RRR_0_OPCODE_X0 = 34, +- FSINGLE_ADDSUB2_RRR_0_OPCODE_X0 = 35, +- FSINGLE_MUL1_RRR_0_OPCODE_X0 = 36, +- FSINGLE_MUL2_RRR_0_OPCODE_X0 = 37, +- FSINGLE_PACK1_UNARY_OPCODE_X0 = 4, +- FSINGLE_PACK1_UNARY_OPCODE_Y0 = 4, +- FSINGLE_PACK2_RRR_0_OPCODE_X0 = 38, +- FSINGLE_SUB1_RRR_0_OPCODE_X0 = 39, +- ICOH_UNARY_OPCODE_X1 = 7, +- ILL_UNARY_OPCODE_X1 = 8, +- ILL_UNARY_OPCODE_Y1 = 9, +- IMM8_OPCODE_X0 = 4, +- IMM8_OPCODE_X1 = 3, +- INV_UNARY_OPCODE_X1 = 9, +- IRET_UNARY_OPCODE_X1 = 10, +- JALRP_UNARY_OPCODE_X1 = 11, +- JALRP_UNARY_OPCODE_Y1 = 10, +- JALR_UNARY_OPCODE_X1 = 12, +- JALR_UNARY_OPCODE_Y1 = 11, +- JAL_JUMP_OPCODE_X1 = 0, +- JRP_UNARY_OPCODE_X1 = 13, +- JRP_UNARY_OPCODE_Y1 = 12, +- JR_UNARY_OPCODE_X1 = 14, +- JR_UNARY_OPCODE_Y1 = 13, +- JUMP_OPCODE_X1 = 4, +- J_JUMP_OPCODE_X1 = 1, +- LD1S_ADD_IMM8_OPCODE_X1 = 7, +- LD1S_OPCODE_Y2 = 0, +- LD1S_UNARY_OPCODE_X1 = 15, +- LD1U_ADD_IMM8_OPCODE_X1 = 8, +- LD1U_OPCODE_Y2 = 1, +- LD1U_UNARY_OPCODE_X1 = 16, +- LD2S_ADD_IMM8_OPCODE_X1 = 9, +- LD2S_OPCODE_Y2 = 2, +- LD2S_UNARY_OPCODE_X1 = 17, +- LD2U_ADD_IMM8_OPCODE_X1 = 10, +- LD2U_OPCODE_Y2 = 3, +- LD2U_UNARY_OPCODE_X1 = 18, +- LD4S_ADD_IMM8_OPCODE_X1 = 11, +- LD4S_OPCODE_Y2 = 1, +- LD4S_UNARY_OPCODE_X1 = 19, +- LD4U_ADD_IMM8_OPCODE_X1 = 12, +- LD4U_OPCODE_Y2 = 2, +- LD4U_UNARY_OPCODE_X1 = 20, +- LDNA_UNARY_OPCODE_X1 = 21, +- LDNT1S_ADD_IMM8_OPCODE_X1 = 13, +- LDNT1S_UNARY_OPCODE_X1 = 22, +- LDNT1U_ADD_IMM8_OPCODE_X1 = 14, +- LDNT1U_UNARY_OPCODE_X1 = 23, +- LDNT2S_ADD_IMM8_OPCODE_X1 = 15, +- LDNT2S_UNARY_OPCODE_X1 = 24, +- LDNT2U_ADD_IMM8_OPCODE_X1 = 16, +- LDNT2U_UNARY_OPCODE_X1 = 25, +- LDNT4S_ADD_IMM8_OPCODE_X1 = 17, +- LDNT4S_UNARY_OPCODE_X1 = 26, +- LDNT4U_ADD_IMM8_OPCODE_X1 = 18, +- LDNT4U_UNARY_OPCODE_X1 = 27, +- LDNT_ADD_IMM8_OPCODE_X1 = 19, +- LDNT_UNARY_OPCODE_X1 = 28, +- LD_ADD_IMM8_OPCODE_X1 = 20, +- LD_OPCODE_Y2 = 3, +- LD_UNARY_OPCODE_X1 = 29, +- LNK_UNARY_OPCODE_X1 = 30, +- LNK_UNARY_OPCODE_Y1 = 14, +- LWNA_ADD_IMM8_OPCODE_X1 = 21, +- MFSPR_IMM8_OPCODE_X1 = 22, +- MF_UNARY_OPCODE_X1 = 31, +- MM_BF_OPCODE_X0 = 7, +- MNZ_RRR_0_OPCODE_X0 = 40, +- MNZ_RRR_0_OPCODE_X1 = 26, +- MNZ_RRR_4_OPCODE_Y0 = 2, +- MNZ_RRR_4_OPCODE_Y1 = 2, +- MODE_OPCODE_YA2 = 1, +- MODE_OPCODE_YB2 = 2, +- MODE_OPCODE_YC2 = 3, +- MTSPR_IMM8_OPCODE_X1 = 23, +- MULAX_RRR_0_OPCODE_X0 = 41, +- MULAX_RRR_3_OPCODE_Y0 = 2, +- MULA_HS_HS_RRR_0_OPCODE_X0 = 42, +- MULA_HS_HS_RRR_9_OPCODE_Y0 = 0, +- MULA_HS_HU_RRR_0_OPCODE_X0 = 43, +- MULA_HS_LS_RRR_0_OPCODE_X0 = 44, +- MULA_HS_LU_RRR_0_OPCODE_X0 = 45, +- MULA_HU_HU_RRR_0_OPCODE_X0 = 46, +- MULA_HU_HU_RRR_9_OPCODE_Y0 = 1, +- MULA_HU_LS_RRR_0_OPCODE_X0 = 47, +- MULA_HU_LU_RRR_0_OPCODE_X0 = 48, +- MULA_LS_LS_RRR_0_OPCODE_X0 = 49, +- MULA_LS_LS_RRR_9_OPCODE_Y0 = 2, +- MULA_LS_LU_RRR_0_OPCODE_X0 = 50, +- MULA_LU_LU_RRR_0_OPCODE_X0 = 51, +- MULA_LU_LU_RRR_9_OPCODE_Y0 = 3, +- MULX_RRR_0_OPCODE_X0 = 52, +- MULX_RRR_3_OPCODE_Y0 = 3, +- MUL_HS_HS_RRR_0_OPCODE_X0 = 53, +- MUL_HS_HS_RRR_8_OPCODE_Y0 = 0, +- MUL_HS_HU_RRR_0_OPCODE_X0 = 54, +- MUL_HS_LS_RRR_0_OPCODE_X0 = 55, +- MUL_HS_LU_RRR_0_OPCODE_X0 = 56, +- MUL_HU_HU_RRR_0_OPCODE_X0 = 57, +- MUL_HU_HU_RRR_8_OPCODE_Y0 = 1, +- MUL_HU_LS_RRR_0_OPCODE_X0 = 58, +- MUL_HU_LU_RRR_0_OPCODE_X0 = 59, +- MUL_LS_LS_RRR_0_OPCODE_X0 = 60, +- MUL_LS_LS_RRR_8_OPCODE_Y0 = 2, +- MUL_LS_LU_RRR_0_OPCODE_X0 = 61, +- MUL_LU_LU_RRR_0_OPCODE_X0 = 62, +- MUL_LU_LU_RRR_8_OPCODE_Y0 = 3, +- MZ_RRR_0_OPCODE_X0 = 63, +- MZ_RRR_0_OPCODE_X1 = 27, +- MZ_RRR_4_OPCODE_Y0 = 3, +- MZ_RRR_4_OPCODE_Y1 = 3, +- NAP_UNARY_OPCODE_X1 = 32, +- NOP_UNARY_OPCODE_X0 = 5, +- NOP_UNARY_OPCODE_X1 = 33, +- NOP_UNARY_OPCODE_Y0 = 5, +- NOP_UNARY_OPCODE_Y1 = 15, +- NOR_RRR_0_OPCODE_X0 = 64, +- NOR_RRR_0_OPCODE_X1 = 28, +- NOR_RRR_5_OPCODE_Y0 = 1, +- NOR_RRR_5_OPCODE_Y1 = 1, +- ORI_IMM8_OPCODE_X0 = 7, +- ORI_IMM8_OPCODE_X1 = 24, +- OR_RRR_0_OPCODE_X0 = 65, +- OR_RRR_0_OPCODE_X1 = 29, +- OR_RRR_5_OPCODE_Y0 = 2, +- OR_RRR_5_OPCODE_Y1 = 2, +- PCNT_UNARY_OPCODE_X0 = 6, +- PCNT_UNARY_OPCODE_Y0 = 6, +- REVBITS_UNARY_OPCODE_X0 = 7, +- REVBITS_UNARY_OPCODE_Y0 = 7, +- REVBYTES_UNARY_OPCODE_X0 = 8, +- REVBYTES_UNARY_OPCODE_Y0 = 8, +- ROTLI_SHIFT_OPCODE_X0 = 1, +- ROTLI_SHIFT_OPCODE_X1 = 1, +- ROTLI_SHIFT_OPCODE_Y0 = 0, +- ROTLI_SHIFT_OPCODE_Y1 = 0, +- ROTL_RRR_0_OPCODE_X0 = 66, +- ROTL_RRR_0_OPCODE_X1 = 30, +- ROTL_RRR_6_OPCODE_Y0 = 0, +- ROTL_RRR_6_OPCODE_Y1 = 0, +- RRR_0_OPCODE_X0 = 5, +- RRR_0_OPCODE_X1 = 5, +- RRR_0_OPCODE_Y0 = 5, +- RRR_0_OPCODE_Y1 = 6, +- RRR_1_OPCODE_Y0 = 6, +- RRR_1_OPCODE_Y1 = 7, +- RRR_2_OPCODE_Y0 = 7, +- RRR_2_OPCODE_Y1 = 8, +- RRR_3_OPCODE_Y0 = 8, +- RRR_3_OPCODE_Y1 = 9, +- RRR_4_OPCODE_Y0 = 9, +- RRR_4_OPCODE_Y1 = 10, +- RRR_5_OPCODE_Y0 = 10, +- RRR_5_OPCODE_Y1 = 11, +- RRR_6_OPCODE_Y0 = 11, +- RRR_6_OPCODE_Y1 = 12, +- RRR_7_OPCODE_Y0 = 12, +- RRR_7_OPCODE_Y1 = 13, +- RRR_8_OPCODE_Y0 = 13, +- RRR_9_OPCODE_Y0 = 14, +- SHIFT_OPCODE_X0 = 6, +- SHIFT_OPCODE_X1 = 6, +- SHIFT_OPCODE_Y0 = 15, +- SHIFT_OPCODE_Y1 = 14, +- SHL16INSLI_OPCODE_X0 = 7, +- SHL16INSLI_OPCODE_X1 = 7, +- SHL1ADDX_RRR_0_OPCODE_X0 = 67, +- SHL1ADDX_RRR_0_OPCODE_X1 = 31, +- SHL1ADDX_RRR_7_OPCODE_Y0 = 1, +- SHL1ADDX_RRR_7_OPCODE_Y1 = 1, +- SHL1ADD_RRR_0_OPCODE_X0 = 68, +- SHL1ADD_RRR_0_OPCODE_X1 = 32, +- SHL1ADD_RRR_1_OPCODE_Y0 = 0, +- SHL1ADD_RRR_1_OPCODE_Y1 = 0, +- SHL2ADDX_RRR_0_OPCODE_X0 = 69, +- SHL2ADDX_RRR_0_OPCODE_X1 = 33, +- SHL2ADDX_RRR_7_OPCODE_Y0 = 2, +- SHL2ADDX_RRR_7_OPCODE_Y1 = 2, +- SHL2ADD_RRR_0_OPCODE_X0 = 70, +- SHL2ADD_RRR_0_OPCODE_X1 = 34, +- SHL2ADD_RRR_1_OPCODE_Y0 = 1, +- SHL2ADD_RRR_1_OPCODE_Y1 = 1, +- SHL3ADDX_RRR_0_OPCODE_X0 = 71, +- SHL3ADDX_RRR_0_OPCODE_X1 = 35, +- SHL3ADDX_RRR_7_OPCODE_Y0 = 3, +- SHL3ADDX_RRR_7_OPCODE_Y1 = 3, +- SHL3ADD_RRR_0_OPCODE_X0 = 72, +- SHL3ADD_RRR_0_OPCODE_X1 = 36, +- SHL3ADD_RRR_1_OPCODE_Y0 = 2, +- SHL3ADD_RRR_1_OPCODE_Y1 = 2, +- SHLI_SHIFT_OPCODE_X0 = 2, +- SHLI_SHIFT_OPCODE_X1 = 2, +- SHLI_SHIFT_OPCODE_Y0 = 1, +- SHLI_SHIFT_OPCODE_Y1 = 1, +- SHLXI_SHIFT_OPCODE_X0 = 3, +- SHLXI_SHIFT_OPCODE_X1 = 3, +- SHLX_RRR_0_OPCODE_X0 = 73, +- SHLX_RRR_0_OPCODE_X1 = 37, +- SHL_RRR_0_OPCODE_X0 = 74, +- SHL_RRR_0_OPCODE_X1 = 38, +- SHL_RRR_6_OPCODE_Y0 = 1, +- SHL_RRR_6_OPCODE_Y1 = 1, +- SHRSI_SHIFT_OPCODE_X0 = 4, +- SHRSI_SHIFT_OPCODE_X1 = 4, +- SHRSI_SHIFT_OPCODE_Y0 = 2, +- SHRSI_SHIFT_OPCODE_Y1 = 2, +- SHRS_RRR_0_OPCODE_X0 = 75, +- SHRS_RRR_0_OPCODE_X1 = 39, +- SHRS_RRR_6_OPCODE_Y0 = 2, +- SHRS_RRR_6_OPCODE_Y1 = 2, +- SHRUI_SHIFT_OPCODE_X0 = 5, +- SHRUI_SHIFT_OPCODE_X1 = 5, +- SHRUI_SHIFT_OPCODE_Y0 = 3, +- SHRUI_SHIFT_OPCODE_Y1 = 3, +- SHRUXI_SHIFT_OPCODE_X0 = 6, +- SHRUXI_SHIFT_OPCODE_X1 = 6, +- SHRUX_RRR_0_OPCODE_X0 = 76, +- SHRUX_RRR_0_OPCODE_X1 = 40, +- SHRU_RRR_0_OPCODE_X0 = 77, +- SHRU_RRR_0_OPCODE_X1 = 41, +- SHRU_RRR_6_OPCODE_Y0 = 3, +- SHRU_RRR_6_OPCODE_Y1 = 3, +- SHUFFLEBYTES_RRR_0_OPCODE_X0 = 78, +- ST1_ADD_IMM8_OPCODE_X1 = 25, +- ST1_OPCODE_Y2 = 0, +- ST1_RRR_0_OPCODE_X1 = 42, +- ST2_ADD_IMM8_OPCODE_X1 = 26, +- ST2_OPCODE_Y2 = 1, +- ST2_RRR_0_OPCODE_X1 = 43, +- ST4_ADD_IMM8_OPCODE_X1 = 27, +- ST4_OPCODE_Y2 = 2, +- ST4_RRR_0_OPCODE_X1 = 44, +- STNT1_ADD_IMM8_OPCODE_X1 = 28, +- STNT1_RRR_0_OPCODE_X1 = 45, +- STNT2_ADD_IMM8_OPCODE_X1 = 29, +- STNT2_RRR_0_OPCODE_X1 = 46, +- STNT4_ADD_IMM8_OPCODE_X1 = 30, +- STNT4_RRR_0_OPCODE_X1 = 47, +- STNT_ADD_IMM8_OPCODE_X1 = 31, +- STNT_RRR_0_OPCODE_X1 = 48, +- ST_ADD_IMM8_OPCODE_X1 = 32, +- ST_OPCODE_Y2 = 3, +- ST_RRR_0_OPCODE_X1 = 49, +- SUBXSC_RRR_0_OPCODE_X0 = 79, +- SUBXSC_RRR_0_OPCODE_X1 = 50, +- SUBX_RRR_0_OPCODE_X0 = 80, +- SUBX_RRR_0_OPCODE_X1 = 51, +- SUBX_RRR_0_OPCODE_Y0 = 2, +- SUBX_RRR_0_OPCODE_Y1 = 2, +- SUB_RRR_0_OPCODE_X0 = 81, +- SUB_RRR_0_OPCODE_X1 = 52, +- SUB_RRR_0_OPCODE_Y0 = 3, +- SUB_RRR_0_OPCODE_Y1 = 3, +- SWINT0_UNARY_OPCODE_X1 = 34, +- SWINT1_UNARY_OPCODE_X1 = 35, +- SWINT2_UNARY_OPCODE_X1 = 36, +- SWINT3_UNARY_OPCODE_X1 = 37, +- TBLIDXB0_UNARY_OPCODE_X0 = 9, +- TBLIDXB0_UNARY_OPCODE_Y0 = 9, +- TBLIDXB1_UNARY_OPCODE_X0 = 10, +- TBLIDXB1_UNARY_OPCODE_Y0 = 10, +- TBLIDXB2_UNARY_OPCODE_X0 = 11, +- TBLIDXB2_UNARY_OPCODE_Y0 = 11, +- TBLIDXB3_UNARY_OPCODE_X0 = 12, +- TBLIDXB3_UNARY_OPCODE_Y0 = 12, +- UNARY_RRR_0_OPCODE_X0 = 82, +- UNARY_RRR_0_OPCODE_X1 = 53, +- UNARY_RRR_1_OPCODE_Y0 = 3, +- UNARY_RRR_1_OPCODE_Y1 = 3, +- V1ADDI_IMM8_OPCODE_X0 = 8, +- V1ADDI_IMM8_OPCODE_X1 = 33, +- V1ADDUC_RRR_0_OPCODE_X0 = 83, +- V1ADDUC_RRR_0_OPCODE_X1 = 54, +- V1ADD_RRR_0_OPCODE_X0 = 84, +- V1ADD_RRR_0_OPCODE_X1 = 55, +- V1ADIFFU_RRR_0_OPCODE_X0 = 85, +- V1AVGU_RRR_0_OPCODE_X0 = 86, +- V1CMPEQI_IMM8_OPCODE_X0 = 9, +- V1CMPEQI_IMM8_OPCODE_X1 = 34, +- V1CMPEQ_RRR_0_OPCODE_X0 = 87, +- V1CMPEQ_RRR_0_OPCODE_X1 = 56, +- V1CMPLES_RRR_0_OPCODE_X0 = 88, +- V1CMPLES_RRR_0_OPCODE_X1 = 57, +- V1CMPLEU_RRR_0_OPCODE_X0 = 89, +- V1CMPLEU_RRR_0_OPCODE_X1 = 58, +- V1CMPLTSI_IMM8_OPCODE_X0 = 10, +- V1CMPLTSI_IMM8_OPCODE_X1 = 35, +- V1CMPLTS_RRR_0_OPCODE_X0 = 90, +- V1CMPLTS_RRR_0_OPCODE_X1 = 59, +- V1CMPLTUI_IMM8_OPCODE_X0 = 11, +- V1CMPLTUI_IMM8_OPCODE_X1 = 36, +- V1CMPLTU_RRR_0_OPCODE_X0 = 91, +- V1CMPLTU_RRR_0_OPCODE_X1 = 60, +- V1CMPNE_RRR_0_OPCODE_X0 = 92, +- V1CMPNE_RRR_0_OPCODE_X1 = 61, +- V1DDOTPUA_RRR_0_OPCODE_X0 = 161, +- V1DDOTPUSA_RRR_0_OPCODE_X0 = 93, +- V1DDOTPUS_RRR_0_OPCODE_X0 = 94, +- V1DDOTPU_RRR_0_OPCODE_X0 = 162, +- V1DOTPA_RRR_0_OPCODE_X0 = 95, +- V1DOTPUA_RRR_0_OPCODE_X0 = 163, +- V1DOTPUSA_RRR_0_OPCODE_X0 = 96, +- V1DOTPUS_RRR_0_OPCODE_X0 = 97, +- V1DOTPU_RRR_0_OPCODE_X0 = 164, +- V1DOTP_RRR_0_OPCODE_X0 = 98, +- V1INT_H_RRR_0_OPCODE_X0 = 99, +- V1INT_H_RRR_0_OPCODE_X1 = 62, +- V1INT_L_RRR_0_OPCODE_X0 = 100, +- V1INT_L_RRR_0_OPCODE_X1 = 63, +- V1MAXUI_IMM8_OPCODE_X0 = 12, +- V1MAXUI_IMM8_OPCODE_X1 = 37, +- V1MAXU_RRR_0_OPCODE_X0 = 101, +- V1MAXU_RRR_0_OPCODE_X1 = 64, +- V1MINUI_IMM8_OPCODE_X0 = 13, +- V1MINUI_IMM8_OPCODE_X1 = 38, +- V1MINU_RRR_0_OPCODE_X0 = 102, +- V1MINU_RRR_0_OPCODE_X1 = 65, +- V1MNZ_RRR_0_OPCODE_X0 = 103, +- V1MNZ_RRR_0_OPCODE_X1 = 66, +- V1MULTU_RRR_0_OPCODE_X0 = 104, +- V1MULUS_RRR_0_OPCODE_X0 = 105, +- V1MULU_RRR_0_OPCODE_X0 = 106, +- V1MZ_RRR_0_OPCODE_X0 = 107, +- V1MZ_RRR_0_OPCODE_X1 = 67, +- V1SADAU_RRR_0_OPCODE_X0 = 108, +- V1SADU_RRR_0_OPCODE_X0 = 109, +- V1SHLI_SHIFT_OPCODE_X0 = 7, +- V1SHLI_SHIFT_OPCODE_X1 = 7, +- V1SHL_RRR_0_OPCODE_X0 = 110, +- V1SHL_RRR_0_OPCODE_X1 = 68, +- V1SHRSI_SHIFT_OPCODE_X0 = 8, +- V1SHRSI_SHIFT_OPCODE_X1 = 8, +- V1SHRS_RRR_0_OPCODE_X0 = 111, +- V1SHRS_RRR_0_OPCODE_X1 = 69, +- V1SHRUI_SHIFT_OPCODE_X0 = 9, +- V1SHRUI_SHIFT_OPCODE_X1 = 9, +- V1SHRU_RRR_0_OPCODE_X0 = 112, +- V1SHRU_RRR_0_OPCODE_X1 = 70, +- V1SUBUC_RRR_0_OPCODE_X0 = 113, +- V1SUBUC_RRR_0_OPCODE_X1 = 71, +- V1SUB_RRR_0_OPCODE_X0 = 114, +- V1SUB_RRR_0_OPCODE_X1 = 72, +- V2ADDI_IMM8_OPCODE_X0 = 14, +- V2ADDI_IMM8_OPCODE_X1 = 39, +- V2ADDSC_RRR_0_OPCODE_X0 = 115, +- V2ADDSC_RRR_0_OPCODE_X1 = 73, +- V2ADD_RRR_0_OPCODE_X0 = 116, +- V2ADD_RRR_0_OPCODE_X1 = 74, +- V2ADIFFS_RRR_0_OPCODE_X0 = 117, +- V2AVGS_RRR_0_OPCODE_X0 = 118, +- V2CMPEQI_IMM8_OPCODE_X0 = 15, +- V2CMPEQI_IMM8_OPCODE_X1 = 40, +- V2CMPEQ_RRR_0_OPCODE_X0 = 119, +- V2CMPEQ_RRR_0_OPCODE_X1 = 75, +- V2CMPLES_RRR_0_OPCODE_X0 = 120, +- V2CMPLES_RRR_0_OPCODE_X1 = 76, +- V2CMPLEU_RRR_0_OPCODE_X0 = 121, +- V2CMPLEU_RRR_0_OPCODE_X1 = 77, +- V2CMPLTSI_IMM8_OPCODE_X0 = 16, +- V2CMPLTSI_IMM8_OPCODE_X1 = 41, +- V2CMPLTS_RRR_0_OPCODE_X0 = 122, +- V2CMPLTS_RRR_0_OPCODE_X1 = 78, +- V2CMPLTUI_IMM8_OPCODE_X0 = 17, +- V2CMPLTUI_IMM8_OPCODE_X1 = 42, +- V2CMPLTU_RRR_0_OPCODE_X0 = 123, +- V2CMPLTU_RRR_0_OPCODE_X1 = 79, +- V2CMPNE_RRR_0_OPCODE_X0 = 124, +- V2CMPNE_RRR_0_OPCODE_X1 = 80, +- V2DOTPA_RRR_0_OPCODE_X0 = 125, +- V2DOTP_RRR_0_OPCODE_X0 = 126, +- V2INT_H_RRR_0_OPCODE_X0 = 127, +- V2INT_H_RRR_0_OPCODE_X1 = 81, +- V2INT_L_RRR_0_OPCODE_X0 = 128, +- V2INT_L_RRR_0_OPCODE_X1 = 82, +- V2MAXSI_IMM8_OPCODE_X0 = 18, +- V2MAXSI_IMM8_OPCODE_X1 = 43, +- V2MAXS_RRR_0_OPCODE_X0 = 129, +- V2MAXS_RRR_0_OPCODE_X1 = 83, +- V2MINSI_IMM8_OPCODE_X0 = 19, +- V2MINSI_IMM8_OPCODE_X1 = 44, +- V2MINS_RRR_0_OPCODE_X0 = 130, +- V2MINS_RRR_0_OPCODE_X1 = 84, +- V2MNZ_RRR_0_OPCODE_X0 = 131, +- V2MNZ_RRR_0_OPCODE_X1 = 85, +- V2MULFSC_RRR_0_OPCODE_X0 = 132, +- V2MULS_RRR_0_OPCODE_X0 = 133, +- V2MULTS_RRR_0_OPCODE_X0 = 134, +- V2MZ_RRR_0_OPCODE_X0 = 135, +- V2MZ_RRR_0_OPCODE_X1 = 86, +- V2PACKH_RRR_0_OPCODE_X0 = 136, +- V2PACKH_RRR_0_OPCODE_X1 = 87, +- V2PACKL_RRR_0_OPCODE_X0 = 137, +- V2PACKL_RRR_0_OPCODE_X1 = 88, +- V2PACKUC_RRR_0_OPCODE_X0 = 138, +- V2PACKUC_RRR_0_OPCODE_X1 = 89, +- V2SADAS_RRR_0_OPCODE_X0 = 139, +- V2SADAU_RRR_0_OPCODE_X0 = 140, +- V2SADS_RRR_0_OPCODE_X0 = 141, +- V2SADU_RRR_0_OPCODE_X0 = 142, +- V2SHLI_SHIFT_OPCODE_X0 = 10, +- V2SHLI_SHIFT_OPCODE_X1 = 10, +- V2SHLSC_RRR_0_OPCODE_X0 = 143, +- V2SHLSC_RRR_0_OPCODE_X1 = 90, +- V2SHL_RRR_0_OPCODE_X0 = 144, +- V2SHL_RRR_0_OPCODE_X1 = 91, +- V2SHRSI_SHIFT_OPCODE_X0 = 11, +- V2SHRSI_SHIFT_OPCODE_X1 = 11, +- V2SHRS_RRR_0_OPCODE_X0 = 145, +- V2SHRS_RRR_0_OPCODE_X1 = 92, +- V2SHRUI_SHIFT_OPCODE_X0 = 12, +- V2SHRUI_SHIFT_OPCODE_X1 = 12, +- V2SHRU_RRR_0_OPCODE_X0 = 146, +- V2SHRU_RRR_0_OPCODE_X1 = 93, +- V2SUBSC_RRR_0_OPCODE_X0 = 147, +- V2SUBSC_RRR_0_OPCODE_X1 = 94, +- V2SUB_RRR_0_OPCODE_X0 = 148, +- V2SUB_RRR_0_OPCODE_X1 = 95, +- V4ADDSC_RRR_0_OPCODE_X0 = 149, +- V4ADDSC_RRR_0_OPCODE_X1 = 96, +- V4ADD_RRR_0_OPCODE_X0 = 150, +- V4ADD_RRR_0_OPCODE_X1 = 97, +- V4INT_H_RRR_0_OPCODE_X0 = 151, +- V4INT_H_RRR_0_OPCODE_X1 = 98, +- V4INT_L_RRR_0_OPCODE_X0 = 152, +- V4INT_L_RRR_0_OPCODE_X1 = 99, +- V4PACKSC_RRR_0_OPCODE_X0 = 153, +- V4PACKSC_RRR_0_OPCODE_X1 = 100, +- V4SHLSC_RRR_0_OPCODE_X0 = 154, +- V4SHLSC_RRR_0_OPCODE_X1 = 101, +- V4SHL_RRR_0_OPCODE_X0 = 155, +- V4SHL_RRR_0_OPCODE_X1 = 102, +- V4SHRS_RRR_0_OPCODE_X0 = 156, +- V4SHRS_RRR_0_OPCODE_X1 = 103, +- V4SHRU_RRR_0_OPCODE_X0 = 157, +- V4SHRU_RRR_0_OPCODE_X1 = 104, +- V4SUBSC_RRR_0_OPCODE_X0 = 158, +- V4SUBSC_RRR_0_OPCODE_X1 = 105, +- V4SUB_RRR_0_OPCODE_X0 = 159, +- V4SUB_RRR_0_OPCODE_X1 = 106, +- WH64_UNARY_OPCODE_X1 = 38, +- XORI_IMM8_OPCODE_X0 = 20, +- XORI_IMM8_OPCODE_X1 = 45, +- XOR_RRR_0_OPCODE_X0 = 160, +- XOR_RRR_0_OPCODE_X1 = 107, +- XOR_RRR_5_OPCODE_Y0 = 3, +- XOR_RRR_5_OPCODE_Y1 = 3 +-}; +- +-static __inline unsigned int +-get_BFEnd_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_BFOpcodeExtension_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 24)) & 0xf); +-} +- +-static __inline unsigned int +-get_BFStart_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 18)) & 0x3f); +-} +- +-static __inline unsigned int +-get_BrOff_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x0000003f) | +- (((unsigned int)(n >> 37)) & 0x0001ffc0); +-} +- +-static __inline unsigned int +-get_BrType_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 54)) & 0x1f); +-} +- +-static __inline unsigned int +-get_Dest_Imm8_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x0000003f) | +- (((unsigned int)(n >> 43)) & 0x000000c0); +-} +- +-static __inline unsigned int +-get_Dest_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 0)) & 0x3f); +-} +- +-static __inline unsigned int +-get_Dest_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x3f); +-} +- +-static __inline unsigned int +-get_Dest_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 0)) & 0x3f); +-} +- +-static __inline unsigned int +-get_Dest_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x3f); +-} +- +-static __inline unsigned int +-get_Imm16_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0xffff); +-} +- +-static __inline unsigned int +-get_Imm16_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0xffff); +-} +- +-static __inline unsigned int +-get_Imm8OpcodeExtension_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 20)) & 0xff); +-} +- +-static __inline unsigned int +-get_Imm8OpcodeExtension_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 51)) & 0xff); +-} +- +-static __inline unsigned int +-get_Imm8_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0xff); +-} +- +-static __inline unsigned int +-get_Imm8_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0xff); +-} +- +-static __inline unsigned int +-get_Imm8_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0xff); +-} +- +-static __inline unsigned int +-get_Imm8_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0xff); +-} +- +-static __inline unsigned int +-get_JumpOff_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x7ffffff); +-} +- +-static __inline unsigned int +-get_JumpOpcodeExtension_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 58)) & 0x1); +-} +- +-static __inline unsigned int +-get_MF_Imm14_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 37)) & 0x3fff); +-} +- +-static __inline unsigned int +-get_MT_Imm14_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 31)) & 0x0000003f) | +- (((unsigned int)(n >> 37)) & 0x00003fc0); +-} +- +-static __inline unsigned int +-get_Mode(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 62)) & 0x3); +-} +- +-static __inline unsigned int +-get_Opcode_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 28)) & 0x7); +-} +- +-static __inline unsigned int +-get_Opcode_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 59)) & 0x7); +-} +- +-static __inline unsigned int +-get_Opcode_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 27)) & 0xf); +-} +- +-static __inline unsigned int +-get_Opcode_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 58)) & 0xf); +-} +- +-static __inline unsigned int +-get_Opcode_Y2(tilegx_bundle_bits n) +-{ +- return (((n >> 26)) & 0x00000001) | +- (((unsigned int)(n >> 56)) & 0x00000002); +-} +- +-static __inline unsigned int +-get_RRROpcodeExtension_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 18)) & 0x3ff); +-} +- +-static __inline unsigned int +-get_RRROpcodeExtension_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 49)) & 0x3ff); +-} +- +-static __inline unsigned int +-get_RRROpcodeExtension_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 18)) & 0x3); +-} +- +-static __inline unsigned int +-get_RRROpcodeExtension_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 49)) & 0x3); +-} +- +-static __inline unsigned int +-get_ShAmt_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_ShAmt_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline unsigned int +-get_ShAmt_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_ShAmt_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline unsigned int +-get_ShiftOpcodeExtension_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 18)) & 0x3ff); +-} +- +-static __inline unsigned int +-get_ShiftOpcodeExtension_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 49)) & 0x3ff); +-} +- +-static __inline unsigned int +-get_ShiftOpcodeExtension_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 18)) & 0x3); +-} +- +-static __inline unsigned int +-get_ShiftOpcodeExtension_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 49)) & 0x3); +-} +- +-static __inline unsigned int +-get_SrcA_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 6)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcA_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 37)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcA_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 6)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcA_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 37)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcA_Y2(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 20)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcBDest_Y2(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 51)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcB_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcB_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcB_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_SrcB_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline unsigned int +-get_UnaryOpcodeExtension_X0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_UnaryOpcodeExtension_X1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline unsigned int +-get_UnaryOpcodeExtension_Y0(tilegx_bundle_bits num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((n >> 12)) & 0x3f); +-} +- +-static __inline unsigned int +-get_UnaryOpcodeExtension_Y1(tilegx_bundle_bits n) +-{ +- return (((unsigned int)(n >> 43)) & 0x3f); +-} +- +-static __inline int +-sign_extend(int n, int num_bits) +-{ +- int shift = (int)(sizeof(int) * 8 - num_bits); +- return (n << shift) >> shift; +-} +- +-static __inline tilegx_bundle_bits +-create_BFEnd_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_BFOpcodeExtension_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xf) << 24); +-} +- +-static __inline tilegx_bundle_bits +-create_BFStart_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 18); +-} +- +-static __inline tilegx_bundle_bits +-create_BrOff_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) | +- (((tilegx_bundle_bits)(n & 0x0001ffc0)) << 37); +-} +- +-static __inline tilegx_bundle_bits +-create_BrType_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x1f)) << 54); +-} +- +-static __inline tilegx_bundle_bits +-create_Dest_Imm8_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) | +- (((tilegx_bundle_bits)(n & 0x000000c0)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_Dest_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 0); +-} +- +-static __inline tilegx_bundle_bits +-create_Dest_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 31); +-} +- +-static __inline tilegx_bundle_bits +-create_Dest_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 0); +-} +- +-static __inline tilegx_bundle_bits +-create_Dest_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 31); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm16_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xffff) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm16_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0xffff)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8OpcodeExtension_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xff) << 20); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8OpcodeExtension_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0xff)) << 51); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xff) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0xff)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xff) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_Imm8_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0xff)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_JumpOff_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x7ffffff)) << 31); +-} +- +-static __inline tilegx_bundle_bits +-create_JumpOpcodeExtension_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x1)) << 58); +-} +- +-static __inline tilegx_bundle_bits +-create_MF_Imm14_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3fff)) << 37); +-} +- +-static __inline tilegx_bundle_bits +-create_MT_Imm14_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x0000003f)) << 31) | +- (((tilegx_bundle_bits)(n & 0x00003fc0)) << 37); +-} +- +-static __inline tilegx_bundle_bits +-create_Mode(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3)) << 62); +-} +- +-static __inline tilegx_bundle_bits +-create_Opcode_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x7) << 28); +-} +- +-static __inline tilegx_bundle_bits +-create_Opcode_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x7)) << 59); +-} +- +-static __inline tilegx_bundle_bits +-create_Opcode_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0xf) << 27); +-} +- +-static __inline tilegx_bundle_bits +-create_Opcode_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0xf)) << 58); +-} +- +-static __inline tilegx_bundle_bits +-create_Opcode_Y2(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x00000001) << 26) | +- (((tilegx_bundle_bits)(n & 0x00000002)) << 56); +-} +- +-static __inline tilegx_bundle_bits +-create_RRROpcodeExtension_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3ff) << 18); +-} +- +-static __inline tilegx_bundle_bits +-create_RRROpcodeExtension_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3ff)) << 49); +-} +- +-static __inline tilegx_bundle_bits +-create_RRROpcodeExtension_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3) << 18); +-} +- +-static __inline tilegx_bundle_bits +-create_RRROpcodeExtension_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3)) << 49); +-} +- +-static __inline tilegx_bundle_bits +-create_ShAmt_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_ShAmt_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_ShAmt_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_ShAmt_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_ShiftOpcodeExtension_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3ff) << 18); +-} +- +-static __inline tilegx_bundle_bits +-create_ShiftOpcodeExtension_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3ff)) << 49); +-} +- +-static __inline tilegx_bundle_bits +-create_ShiftOpcodeExtension_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3) << 18); +-} +- +-static __inline tilegx_bundle_bits +-create_ShiftOpcodeExtension_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3)) << 49); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcA_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 6); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcA_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 37); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcA_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 6); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcA_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 37); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcA_Y2(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 20); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcBDest_Y2(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 51); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcB_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcB_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcB_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_SrcB_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_UnaryOpcodeExtension_X0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_UnaryOpcodeExtension_X1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-static __inline tilegx_bundle_bits +-create_UnaryOpcodeExtension_Y0(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return ((n & 0x3f) << 12); +-} +- +-static __inline tilegx_bundle_bits +-create_UnaryOpcodeExtension_Y1(int num) +-{ +- const unsigned int n = (unsigned int)num; +- return (((tilegx_bundle_bits)(n & 0x3f)) << 43); +-} +- +-const struct tilegx_opcode tilegx_opcodes[336] = +-{ +- { "bpt", TILEGX_OPC_BPT, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffffffff80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a44ae00000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "info", TILEGX_OPC_INFO, 0xf, 1, TREG_ZERO, 1, +- { { 0 }, { 1 }, { 2 }, { 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00fffULL, +- 0xfff807ff80000000ULL, +- 0x0000000078000fffULL, +- 0x3c0007ff80000000ULL, +- 0ULL +- }, +- { +- 0x0000000040300fffULL, +- 0x181807ff80000000ULL, +- 0x0000000010000fffULL, +- 0x0c0007ff80000000ULL, +- -1ULL +- } +-#endif +- }, +- { "infol", TILEGX_OPC_INFOL, 0x3, 1, TREG_ZERO, 1, +- { { 4 }, { 5 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc000000070000fffULL, +- 0xf80007ff80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000070000fffULL, +- 0x380007ff80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld4s_tls", TILEGX_OPC_LD4S_TLS, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1858000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld_tls", TILEGX_OPC_LD_TLS, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18a0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "move", TILEGX_OPC_MOVE, 0xf, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 6, 7 }, { 10, 11 }, { 12, 13 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0xfffff80000000000ULL, +- 0x00000000780ff000ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- 0x000000005107f000ULL, +- 0x283bf80000000000ULL, +- 0x00000000500bf000ULL, +- 0x2c05f80000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "movei", TILEGX_OPC_MOVEI, 0xf, 2, TREG_ZERO, 1, +- { { 8, 0 }, { 6, 1 }, { 10, 2 }, { 12, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00fc0ULL, +- 0xfff807e000000000ULL, +- 0x0000000078000fc0ULL, +- 0x3c0007e000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040100fc0ULL, +- 0x180807e000000000ULL, +- 0x0000000000000fc0ULL, +- 0x040007e000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "moveli", TILEGX_OPC_MOVELI, 0x3, 2, TREG_ZERO, 1, +- { { 8, 4 }, { 6, 5 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc000000070000fc0ULL, +- 0xf80007e000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000010000fc0ULL, +- 0x000007e000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch", TILEGX_OPC_PREFETCH, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a801f80000000ULL, +- -1ULL, +- -1ULL, +- 0x41f8000004000000ULL +- } +-#endif +- }, +- { "prefetch_add_l1", TILEGX_OPC_PREFETCH_ADD_L1, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1840001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_add_l1_fault", TILEGX_OPC_PREFETCH_ADD_L1_FAULT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1838001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_add_l2", TILEGX_OPC_PREFETCH_ADD_L2, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1850001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_add_l2_fault", TILEGX_OPC_PREFETCH_ADD_L2_FAULT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1848001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_add_l3", TILEGX_OPC_PREFETCH_ADD_L3, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1860001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_add_l3_fault", TILEGX_OPC_PREFETCH_ADD_L3_FAULT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8001f80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1858001f80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "prefetch_l1", TILEGX_OPC_PREFETCH_L1, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a801f80000000ULL, +- -1ULL, +- -1ULL, +- 0x41f8000004000000ULL +- } +-#endif +- }, +- { "prefetch_l1_fault", TILEGX_OPC_PREFETCH_L1_FAULT, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a781f80000000ULL, +- -1ULL, +- -1ULL, +- 0x41f8000000000000ULL +- } +-#endif +- }, +- { "prefetch_l2", TILEGX_OPC_PREFETCH_L2, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a901f80000000ULL, +- -1ULL, +- -1ULL, +- 0x43f8000004000000ULL +- } +-#endif +- }, +- { "prefetch_l2_fault", TILEGX_OPC_PREFETCH_L2_FAULT, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a881f80000000ULL, +- -1ULL, +- -1ULL, +- 0x43f8000000000000ULL +- } +-#endif +- }, +- { "prefetch_l3", TILEGX_OPC_PREFETCH_L3, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286aa01f80000000ULL, +- -1ULL, +- -1ULL, +- 0x83f8000000000000ULL +- } +-#endif +- }, +- { "prefetch_l3_fault", TILEGX_OPC_PREFETCH_L3_FAULT, 0x12, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff81f80000000ULL, +- 0ULL, +- 0ULL, +- 0xc3f8000004000000ULL +- }, +- { +- -1ULL, +- 0x286a981f80000000ULL, +- -1ULL, +- -1ULL, +- 0x81f8000004000000ULL +- } +-#endif +- }, +- { "raise", TILEGX_OPC_RAISE, 0x2, 0, TREG_ZERO, 1, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffffffff80000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a44ae80000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "add", TILEGX_OPC_ADD, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000500c0000ULL, +- 0x2806000000000000ULL, +- 0x0000000028040000ULL, +- 0x1802000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "addi", TILEGX_OPC_ADDI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0x0000000078000000ULL, +- 0x3c00000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040100000ULL, +- 0x1808000000000000ULL, +- 0ULL, +- 0x0400000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "addli", TILEGX_OPC_ADDLI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc000000070000000ULL, +- 0xf800000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000010000000ULL, +- 0ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "addx", TILEGX_OPC_ADDX, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050080000ULL, +- 0x2804000000000000ULL, +- 0x0000000028000000ULL, +- 0x1800000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "addxi", TILEGX_OPC_ADDXI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0x0000000078000000ULL, +- 0x3c00000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040200000ULL, +- 0x1810000000000000ULL, +- 0x0000000008000000ULL, +- 0x0800000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "addxli", TILEGX_OPC_ADDXLI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc000000070000000ULL, +- 0xf800000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000020000000ULL, +- 0x0800000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "addxsc", TILEGX_OPC_ADDXSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050040000ULL, +- 0x2802000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "and", TILEGX_OPC_AND, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050100000ULL, +- 0x2808000000000000ULL, +- 0x0000000050000000ULL, +- 0x2c00000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "andi", TILEGX_OPC_ANDI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0x0000000078000000ULL, +- 0x3c00000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040300000ULL, +- 0x1818000000000000ULL, +- 0x0000000010000000ULL, +- 0x0c00000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "beqz", TILEGX_OPC_BEQZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1440000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "beqzt", TILEGX_OPC_BEQZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1400000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bfexts", TILEGX_OPC_BFEXTS, 0x1, 4, TREG_ZERO, 1, +- { { 8, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007f000000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000034000000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bfextu", TILEGX_OPC_BFEXTU, 0x1, 4, TREG_ZERO, 1, +- { { 8, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007f000000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000035000000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bfins", TILEGX_OPC_BFINS, 0x1, 4, TREG_ZERO, 1, +- { { 23, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007f000000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000036000000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bgez", TILEGX_OPC_BGEZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x14c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bgezt", TILEGX_OPC_BGEZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1480000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bgtz", TILEGX_OPC_BGTZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1540000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bgtzt", TILEGX_OPC_BGTZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1500000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blbc", TILEGX_OPC_BLBC, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x15c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blbct", TILEGX_OPC_BLBCT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1580000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blbs", TILEGX_OPC_BLBS, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1640000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blbst", TILEGX_OPC_BLBST, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1600000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blez", TILEGX_OPC_BLEZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x16c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "blezt", TILEGX_OPC_BLEZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1680000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bltz", TILEGX_OPC_BLTZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1740000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bltzt", TILEGX_OPC_BLTZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1700000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bnez", TILEGX_OPC_BNEZ, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x17c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "bnezt", TILEGX_OPC_BNEZT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 20 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xffc0000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1780000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "clz", TILEGX_OPC_CLZ, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051481000ULL, +- -1ULL, +- 0x00000000300c1000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmoveqz", TILEGX_OPC_CMOVEQZ, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050140000ULL, +- -1ULL, +- 0x0000000048000000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmovnez", TILEGX_OPC_CMOVNEZ, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050180000ULL, +- -1ULL, +- 0x0000000048040000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpeq", TILEGX_OPC_CMPEQ, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000501c0000ULL, +- 0x280a000000000000ULL, +- 0x0000000040000000ULL, +- 0x2404000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpeqi", TILEGX_OPC_CMPEQI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0x0000000078000000ULL, +- 0x3c00000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040400000ULL, +- 0x1820000000000000ULL, +- 0x0000000018000000ULL, +- 0x1000000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpexch", TILEGX_OPC_CMPEXCH, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x280e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpexch4", TILEGX_OPC_CMPEXCH4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x280c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmples", TILEGX_OPC_CMPLES, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050200000ULL, +- 0x2810000000000000ULL, +- 0x0000000038000000ULL, +- 0x2000000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpleu", TILEGX_OPC_CMPLEU, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050240000ULL, +- 0x2812000000000000ULL, +- 0x0000000038040000ULL, +- 0x2002000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmplts", TILEGX_OPC_CMPLTS, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050280000ULL, +- 0x2814000000000000ULL, +- 0x0000000038080000ULL, +- 0x2004000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpltsi", TILEGX_OPC_CMPLTSI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 10, 11, 2 }, { 12, 13, 3 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0x0000000078000000ULL, +- 0x3c00000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000040500000ULL, +- 0x1828000000000000ULL, +- 0x0000000020000000ULL, +- 0x1400000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpltu", TILEGX_OPC_CMPLTU, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000502c0000ULL, +- 0x2816000000000000ULL, +- 0x00000000380c0000ULL, +- 0x2006000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpltui", TILEGX_OPC_CMPLTUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040600000ULL, +- 0x1830000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmpne", TILEGX_OPC_CMPNE, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050300000ULL, +- 0x2818000000000000ULL, +- 0x0000000040040000ULL, +- 0x2406000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "cmul", TILEGX_OPC_CMUL, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000504c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmula", TILEGX_OPC_CMULA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050380000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmulaf", TILEGX_OPC_CMULAF, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050340000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmulf", TILEGX_OPC_CMULF, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050400000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmulfr", TILEGX_OPC_CMULFR, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000503c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmulh", TILEGX_OPC_CMULH, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050480000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "cmulhr", TILEGX_OPC_CMULHR, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050440000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "crc32_32", TILEGX_OPC_CRC32_32, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050500000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "crc32_8", TILEGX_OPC_CRC32_8, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050540000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ctz", TILEGX_OPC_CTZ, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051482000ULL, +- -1ULL, +- 0x00000000300c2000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "dblalign", TILEGX_OPC_DBLALIGN, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050640000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "dblalign2", TILEGX_OPC_DBLALIGN2, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050580000ULL, +- 0x281a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "dblalign4", TILEGX_OPC_DBLALIGN4, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000505c0000ULL, +- 0x281c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "dblalign6", TILEGX_OPC_DBLALIGN6, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050600000ULL, +- 0x281e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "drain", TILEGX_OPC_DRAIN, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a080000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "dtlbpr", TILEGX_OPC_DTLBPR, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a100000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "exch", TILEGX_OPC_EXCH, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2822000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "exch4", TILEGX_OPC_EXCH4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2820000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_add_flags", TILEGX_OPC_FDOUBLE_ADD_FLAGS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000506c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_addsub", TILEGX_OPC_FDOUBLE_ADDSUB, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050680000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_mul_flags", TILEGX_OPC_FDOUBLE_MUL_FLAGS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050700000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_pack1", TILEGX_OPC_FDOUBLE_PACK1, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050740000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_pack2", TILEGX_OPC_FDOUBLE_PACK2, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050780000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_sub_flags", TILEGX_OPC_FDOUBLE_SUB_FLAGS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000507c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_unpack_max", TILEGX_OPC_FDOUBLE_UNPACK_MAX, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050800000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fdouble_unpack_min", TILEGX_OPC_FDOUBLE_UNPACK_MIN, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050840000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchadd", TILEGX_OPC_FETCHADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x282a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchadd4", TILEGX_OPC_FETCHADD4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2824000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchaddgez", TILEGX_OPC_FETCHADDGEZ, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2828000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchaddgez4", TILEGX_OPC_FETCHADDGEZ4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2826000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchand", TILEGX_OPC_FETCHAND, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x282e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchand4", TILEGX_OPC_FETCHAND4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x282c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchor", TILEGX_OPC_FETCHOR, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2832000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fetchor4", TILEGX_OPC_FETCHOR4, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2830000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "finv", TILEGX_OPC_FINV, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a180000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "flush", TILEGX_OPC_FLUSH, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a280000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "flushwb", TILEGX_OPC_FLUSHWB, 0x2, 0, TREG_ZERO, 1, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a200000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fnop", TILEGX_OPC_FNOP, 0xf, 0, TREG_ZERO, 1, +- { { }, { }, { }, { }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0xfffff80000000000ULL, +- 0x00000000780ff000ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051483000ULL, +- 0x286a300000000000ULL, +- 0x00000000300c3000ULL, +- 0x1c06400000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_add1", TILEGX_OPC_FSINGLE_ADD1, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050880000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_addsub2", TILEGX_OPC_FSINGLE_ADDSUB2, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000508c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_mul1", TILEGX_OPC_FSINGLE_MUL1, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050900000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_mul2", TILEGX_OPC_FSINGLE_MUL2, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050940000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_pack1", TILEGX_OPC_FSINGLE_PACK1, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051484000ULL, +- -1ULL, +- 0x00000000300c4000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_pack2", TILEGX_OPC_FSINGLE_PACK2, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050980000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "fsingle_sub1", TILEGX_OPC_FSINGLE_SUB1, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000509c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "icoh", TILEGX_OPC_ICOH, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a380000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ill", TILEGX_OPC_ILL, 0xa, 0, TREG_ZERO, 1, +- { { 0, }, { }, { 0, }, { }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a400000000000ULL, +- -1ULL, +- 0x1c06480000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "inv", TILEGX_OPC_INV, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a480000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "iret", TILEGX_OPC_IRET, 0x2, 0, TREG_ZERO, 1, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a500000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "j", TILEGX_OPC_J, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 25 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfc00000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2400000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "jal", TILEGX_OPC_JAL, 0x2, 1, TREG_LR, 1, +- { { 0, }, { 25 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfc00000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2000000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "jalr", TILEGX_OPC_JALR, 0xa, 1, TREG_LR, 1, +- { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a600000000000ULL, +- -1ULL, +- 0x1c06580000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "jalrp", TILEGX_OPC_JALRP, 0xa, 1, TREG_LR, 1, +- { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a580000000000ULL, +- -1ULL, +- 0x1c06500000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "jr", TILEGX_OPC_JR, 0xa, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a700000000000ULL, +- -1ULL, +- 0x1c06680000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "jrp", TILEGX_OPC_JRP, 0xa, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 13 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286a680000000000ULL, +- -1ULL, +- 0x1c06600000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "ld", TILEGX_OPC_LD, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286ae80000000000ULL, +- -1ULL, +- -1ULL, +- 0x8200000004000000ULL +- } +-#endif +- }, +- { "ld1s", TILEGX_OPC_LD1S, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286a780000000000ULL, +- -1ULL, +- -1ULL, +- 0x4000000000000000ULL +- } +-#endif +- }, +- { "ld1s_add", TILEGX_OPC_LD1S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1838000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld1u", TILEGX_OPC_LD1U, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286a800000000000ULL, +- -1ULL, +- -1ULL, +- 0x4000000004000000ULL +- } +-#endif +- }, +- { "ld1u_add", TILEGX_OPC_LD1U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1840000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld2s", TILEGX_OPC_LD2S, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286a880000000000ULL, +- -1ULL, +- -1ULL, +- 0x4200000000000000ULL +- } +-#endif +- }, +- { "ld2s_add", TILEGX_OPC_LD2S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1848000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld2u", TILEGX_OPC_LD2U, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286a900000000000ULL, +- -1ULL, +- -1ULL, +- 0x4200000004000000ULL +- } +-#endif +- }, +- { "ld2u_add", TILEGX_OPC_LD2U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1850000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld4s", TILEGX_OPC_LD4S, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286a980000000000ULL, +- -1ULL, +- -1ULL, +- 0x8000000004000000ULL +- } +-#endif +- }, +- { "ld4s_add", TILEGX_OPC_LD4S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1858000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld4u", TILEGX_OPC_LD4U, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 26, 14 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x286aa00000000000ULL, +- -1ULL, +- -1ULL, +- 0x8200000000000000ULL +- } +-#endif +- }, +- { "ld4u_add", TILEGX_OPC_LD4U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1860000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ld_add", TILEGX_OPC_LD_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18a0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldna", TILEGX_OPC_LDNA, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286aa80000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldna_add", TILEGX_OPC_LDNA_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18a8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt", TILEGX_OPC_LDNT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ae00000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt1s", TILEGX_OPC_LDNT1S, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ab00000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt1s_add", TILEGX_OPC_LDNT1S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1868000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt1u", TILEGX_OPC_LDNT1U, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ab80000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt1u_add", TILEGX_OPC_LDNT1U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1870000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt2s", TILEGX_OPC_LDNT2S, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ac00000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt2s_add", TILEGX_OPC_LDNT2S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1878000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt2u", TILEGX_OPC_LDNT2U, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ac80000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt2u_add", TILEGX_OPC_LDNT2U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1880000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt4s", TILEGX_OPC_LDNT4S, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ad00000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt4s_add", TILEGX_OPC_LDNT4S_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1888000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt4u", TILEGX_OPC_LDNT4U, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286ad80000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt4u_add", TILEGX_OPC_LDNT4U_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1890000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "ldnt_add", TILEGX_OPC_LDNT_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 6, 15, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1898000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "lnk", TILEGX_OPC_LNK, 0xa, 1, TREG_ZERO, 1, +- { { 0, }, { 6 }, { 0, }, { 12 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286af00000000000ULL, +- -1ULL, +- 0x1c06700000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "mf", TILEGX_OPC_MF, 0x2, 0, TREG_ZERO, 1, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286af80000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mfspr", TILEGX_OPC_MFSPR, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 6, 27 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18b0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mm", TILEGX_OPC_MM, 0x1, 4, TREG_ZERO, 1, +- { { 23, 9, 21, 22 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007f000000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000037000000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mnz", TILEGX_OPC_MNZ, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050a00000ULL, +- 0x2834000000000000ULL, +- 0x0000000048080000ULL, +- 0x2804000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "mtspr", TILEGX_OPC_MTSPR, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 28, 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18b8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hs_hs", TILEGX_OPC_MUL_HS_HS, 0x5, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050d40000ULL, +- -1ULL, +- 0x0000000068000000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hs_hu", TILEGX_OPC_MUL_HS_HU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050d80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hs_ls", TILEGX_OPC_MUL_HS_LS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050dc0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hs_lu", TILEGX_OPC_MUL_HS_LU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050e00000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hu_hu", TILEGX_OPC_MUL_HU_HU, 0x5, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050e40000ULL, +- -1ULL, +- 0x0000000068040000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hu_ls", TILEGX_OPC_MUL_HU_LS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050e80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_hu_lu", TILEGX_OPC_MUL_HU_LU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050ec0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_ls_ls", TILEGX_OPC_MUL_LS_LS, 0x5, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050f00000ULL, +- -1ULL, +- 0x0000000068080000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_ls_lu", TILEGX_OPC_MUL_LS_LU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050f40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mul_lu_lu", TILEGX_OPC_MUL_LU_LU, 0x5, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050f80000ULL, +- -1ULL, +- 0x00000000680c0000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hs_hs", TILEGX_OPC_MULA_HS_HS, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050a80000ULL, +- -1ULL, +- 0x0000000070000000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hs_hu", TILEGX_OPC_MULA_HS_HU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050ac0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hs_ls", TILEGX_OPC_MULA_HS_LS, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050b00000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hs_lu", TILEGX_OPC_MULA_HS_LU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050b40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hu_hu", TILEGX_OPC_MULA_HU_HU, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050b80000ULL, +- -1ULL, +- 0x0000000070040000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hu_ls", TILEGX_OPC_MULA_HU_LS, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050bc0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_hu_lu", TILEGX_OPC_MULA_HU_LU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050c00000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_ls_ls", TILEGX_OPC_MULA_LS_LS, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050c40000ULL, +- -1ULL, +- 0x0000000070080000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_ls_lu", TILEGX_OPC_MULA_LS_LU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050c80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mula_lu_lu", TILEGX_OPC_MULA_LU_LU, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050cc0000ULL, +- -1ULL, +- 0x00000000700c0000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mulax", TILEGX_OPC_MULAX, 0x5, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 24, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050a40000ULL, +- -1ULL, +- 0x0000000040080000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mulx", TILEGX_OPC_MULX, 0x5, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 10, 11, 18 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0x00000000780c0000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000050d00000ULL, +- -1ULL, +- 0x00000000400c0000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "mz", TILEGX_OPC_MZ, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000050fc0000ULL, +- 0x2836000000000000ULL, +- 0x00000000480c0000ULL, +- 0x2806000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "nap", TILEGX_OPC_NAP, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "nop", TILEGX_OPC_NOP, 0xf, 0, TREG_ZERO, 1, +- { { }, { }, { }, { }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0xfffff80000000000ULL, +- 0x00000000780ff000ULL, +- 0x3c07f80000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051485000ULL, +- 0x286b080000000000ULL, +- 0x00000000300c5000ULL, +- 0x1c06780000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "nor", TILEGX_OPC_NOR, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051000000ULL, +- 0x2838000000000000ULL, +- 0x0000000050040000ULL, +- 0x2c02000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "or", TILEGX_OPC_OR, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051040000ULL, +- 0x283a000000000000ULL, +- 0x0000000050080000ULL, +- 0x2c04000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "ori", TILEGX_OPC_ORI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040700000ULL, +- 0x18c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "pcnt", TILEGX_OPC_PCNT, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051486000ULL, +- -1ULL, +- 0x00000000300c6000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "revbits", TILEGX_OPC_REVBITS, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051487000ULL, +- -1ULL, +- 0x00000000300c7000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "revbytes", TILEGX_OPC_REVBYTES, 0x5, 2, TREG_ZERO, 1, +- { { 8, 9 }, { 0, }, { 10, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051488000ULL, +- -1ULL, +- 0x00000000300c8000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "rotl", TILEGX_OPC_ROTL, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051080000ULL, +- 0x283c000000000000ULL, +- 0x0000000058000000ULL, +- 0x3000000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "rotli", TILEGX_OPC_ROTLI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000060040000ULL, +- 0x3002000000000000ULL, +- 0x0000000078000000ULL, +- 0x3800000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl", TILEGX_OPC_SHL, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051280000ULL, +- 0x284c000000000000ULL, +- 0x0000000058040000ULL, +- 0x3002000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl16insli", TILEGX_OPC_SHL16INSLI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 4 }, { 6, 7, 5 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc000000070000000ULL, +- 0xf800000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000070000000ULL, +- 0x3800000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "shl1add", TILEGX_OPC_SHL1ADD, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051100000ULL, +- 0x2840000000000000ULL, +- 0x0000000030000000ULL, +- 0x1c00000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl1addx", TILEGX_OPC_SHL1ADDX, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000510c0000ULL, +- 0x283e000000000000ULL, +- 0x0000000060040000ULL, +- 0x3402000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl2add", TILEGX_OPC_SHL2ADD, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051180000ULL, +- 0x2844000000000000ULL, +- 0x0000000030040000ULL, +- 0x1c02000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl2addx", TILEGX_OPC_SHL2ADDX, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051140000ULL, +- 0x2842000000000000ULL, +- 0x0000000060080000ULL, +- 0x3404000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl3add", TILEGX_OPC_SHL3ADD, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051200000ULL, +- 0x2848000000000000ULL, +- 0x0000000030080000ULL, +- 0x1c04000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shl3addx", TILEGX_OPC_SHL3ADDX, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000511c0000ULL, +- 0x2846000000000000ULL, +- 0x00000000600c0000ULL, +- 0x3406000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shli", TILEGX_OPC_SHLI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000060080000ULL, +- 0x3004000000000000ULL, +- 0x0000000078040000ULL, +- 0x3802000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shlx", TILEGX_OPC_SHLX, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051240000ULL, +- 0x284a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "shlxi", TILEGX_OPC_SHLXI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000600c0000ULL, +- 0x3006000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "shrs", TILEGX_OPC_SHRS, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x00000000512c0000ULL, +- 0x284e000000000000ULL, +- 0x0000000058080000ULL, +- 0x3004000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shrsi", TILEGX_OPC_SHRSI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000060100000ULL, +- 0x3008000000000000ULL, +- 0x0000000078080000ULL, +- 0x3804000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shru", TILEGX_OPC_SHRU, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051340000ULL, +- 0x2852000000000000ULL, +- 0x00000000580c0000ULL, +- 0x3006000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shrui", TILEGX_OPC_SHRUI, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 10, 11, 31 }, { 12, 13, 32 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000060140000ULL, +- 0x300a000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3806000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "shrux", TILEGX_OPC_SHRUX, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051300000ULL, +- 0x2850000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "shruxi", TILEGX_OPC_SHRUXI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000060180000ULL, +- 0x300c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "shufflebytes", TILEGX_OPC_SHUFFLEBYTES, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051380000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "st", TILEGX_OPC_ST, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x2862000000000000ULL, +- -1ULL, +- -1ULL, +- 0xc200000004000000ULL +- } +-#endif +- }, +- { "st1", TILEGX_OPC_ST1, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x2854000000000000ULL, +- -1ULL, +- -1ULL, +- 0xc000000000000000ULL +- } +-#endif +- }, +- { "st1_add", TILEGX_OPC_ST1_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18c8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "st2", TILEGX_OPC_ST2, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x2856000000000000ULL, +- -1ULL, +- -1ULL, +- 0xc000000004000000ULL +- } +-#endif +- }, +- { "st2_add", TILEGX_OPC_ST2_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18d0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "st4", TILEGX_OPC_ST4, 0x12, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 14, 33 } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0xc200000004000000ULL +- }, +- { +- -1ULL, +- 0x2858000000000000ULL, +- -1ULL, +- -1ULL, +- 0xc200000000000000ULL +- } +-#endif +- }, +- { "st4_add", TILEGX_OPC_ST4_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18d8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "st_add", TILEGX_OPC_ST_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x1900000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt", TILEGX_OPC_STNT, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x2860000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt1", TILEGX_OPC_STNT1, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x285a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt1_add", TILEGX_OPC_STNT1_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18e0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt2", TILEGX_OPC_STNT2, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x285c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt2_add", TILEGX_OPC_STNT2_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18e8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt4", TILEGX_OPC_STNT4, 0x2, 2, TREG_ZERO, 1, +- { { 0, }, { 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x285e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt4_add", TILEGX_OPC_STNT4_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18f0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "stnt_add", TILEGX_OPC_STNT_ADD, 0x2, 3, TREG_ZERO, 1, +- { { 0, }, { 15, 17, 34 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x18f8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "sub", TILEGX_OPC_SUB, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051440000ULL, +- 0x2868000000000000ULL, +- 0x00000000280c0000ULL, +- 0x1806000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "subx", TILEGX_OPC_SUBX, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000051400000ULL, +- 0x2866000000000000ULL, +- 0x0000000028080000ULL, +- 0x1804000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "subxsc", TILEGX_OPC_SUBXSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000513c0000ULL, +- 0x2864000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "swint0", TILEGX_OPC_SWINT0, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b100000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "swint1", TILEGX_OPC_SWINT1, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b180000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "swint2", TILEGX_OPC_SWINT2, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b200000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "swint3", TILEGX_OPC_SWINT3, 0x2, 0, TREG_ZERO, 0, +- { { 0, }, { }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b280000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "tblidxb0", TILEGX_OPC_TBLIDXB0, 0x5, 2, TREG_ZERO, 1, +- { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051489000ULL, +- -1ULL, +- 0x00000000300c9000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "tblidxb1", TILEGX_OPC_TBLIDXB1, 0x5, 2, TREG_ZERO, 1, +- { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x000000005148a000ULL, +- -1ULL, +- 0x00000000300ca000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "tblidxb2", TILEGX_OPC_TBLIDXB2, 0x5, 2, TREG_ZERO, 1, +- { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x000000005148b000ULL, +- -1ULL, +- 0x00000000300cb000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "tblidxb3", TILEGX_OPC_TBLIDXB3, 0x5, 2, TREG_ZERO, 1, +- { { 23, 9 }, { 0, }, { 24, 11 }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffff000ULL, +- 0ULL, +- 0x00000000780ff000ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x000000005148c000ULL, +- -1ULL, +- 0x00000000300cc000ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1add", TILEGX_OPC_V1ADD, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051500000ULL, +- 0x286e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1addi", TILEGX_OPC_V1ADDI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040800000ULL, +- 0x1908000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1adduc", TILEGX_OPC_V1ADDUC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000514c0000ULL, +- 0x286c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1adiffu", TILEGX_OPC_V1ADIFFU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051540000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1avgu", TILEGX_OPC_V1AVGU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051580000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpeq", TILEGX_OPC_V1CMPEQ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000515c0000ULL, +- 0x2870000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpeqi", TILEGX_OPC_V1CMPEQI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040900000ULL, +- 0x1910000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmples", TILEGX_OPC_V1CMPLES, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051600000ULL, +- 0x2872000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpleu", TILEGX_OPC_V1CMPLEU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051640000ULL, +- 0x2874000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmplts", TILEGX_OPC_V1CMPLTS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051680000ULL, +- 0x2876000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpltsi", TILEGX_OPC_V1CMPLTSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040a00000ULL, +- 0x1918000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpltu", TILEGX_OPC_V1CMPLTU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000516c0000ULL, +- 0x2878000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpltui", TILEGX_OPC_V1CMPLTUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040b00000ULL, +- 0x1920000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1cmpne", TILEGX_OPC_V1CMPNE, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051700000ULL, +- 0x287a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1ddotpu", TILEGX_OPC_V1DDOTPU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052880000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1ddotpua", TILEGX_OPC_V1DDOTPUA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052840000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1ddotpus", TILEGX_OPC_V1DDOTPUS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051780000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1ddotpusa", TILEGX_OPC_V1DDOTPUSA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051740000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotp", TILEGX_OPC_V1DOTP, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051880000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotpa", TILEGX_OPC_V1DOTPA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000517c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotpu", TILEGX_OPC_V1DOTPU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052900000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotpua", TILEGX_OPC_V1DOTPUA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000528c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotpus", TILEGX_OPC_V1DOTPUS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051840000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1dotpusa", TILEGX_OPC_V1DOTPUSA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051800000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1int_h", TILEGX_OPC_V1INT_H, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000518c0000ULL, +- 0x287c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1int_l", TILEGX_OPC_V1INT_L, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051900000ULL, +- 0x287e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1maxu", TILEGX_OPC_V1MAXU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051940000ULL, +- 0x2880000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1maxui", TILEGX_OPC_V1MAXUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040c00000ULL, +- 0x1928000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1minu", TILEGX_OPC_V1MINU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051980000ULL, +- 0x2882000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1minui", TILEGX_OPC_V1MINUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040d00000ULL, +- 0x1930000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1mnz", TILEGX_OPC_V1MNZ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000519c0000ULL, +- 0x2884000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1multu", TILEGX_OPC_V1MULTU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051a00000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1mulu", TILEGX_OPC_V1MULU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051a80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1mulus", TILEGX_OPC_V1MULUS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051a40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1mz", TILEGX_OPC_V1MZ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051ac0000ULL, +- 0x2886000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1sadau", TILEGX_OPC_V1SADAU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051b00000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1sadu", TILEGX_OPC_V1SADU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051b40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shl", TILEGX_OPC_V1SHL, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051b80000ULL, +- 0x2888000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shli", TILEGX_OPC_V1SHLI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000601c0000ULL, +- 0x300e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shrs", TILEGX_OPC_V1SHRS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051bc0000ULL, +- 0x288a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shrsi", TILEGX_OPC_V1SHRSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000060200000ULL, +- 0x3010000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shru", TILEGX_OPC_V1SHRU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051c00000ULL, +- 0x288c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1shrui", TILEGX_OPC_V1SHRUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000060240000ULL, +- 0x3012000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1sub", TILEGX_OPC_V1SUB, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051c80000ULL, +- 0x2890000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v1subuc", TILEGX_OPC_V1SUBUC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051c40000ULL, +- 0x288e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2add", TILEGX_OPC_V2ADD, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051d00000ULL, +- 0x2894000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2addi", TILEGX_OPC_V2ADDI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040e00000ULL, +- 0x1938000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2addsc", TILEGX_OPC_V2ADDSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051cc0000ULL, +- 0x2892000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2adiffs", TILEGX_OPC_V2ADIFFS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051d40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2avgs", TILEGX_OPC_V2AVGS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051d80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpeq", TILEGX_OPC_V2CMPEQ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051dc0000ULL, +- 0x2896000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpeqi", TILEGX_OPC_V2CMPEQI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000040f00000ULL, +- 0x1940000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmples", TILEGX_OPC_V2CMPLES, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051e00000ULL, +- 0x2898000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpleu", TILEGX_OPC_V2CMPLEU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051e40000ULL, +- 0x289a000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmplts", TILEGX_OPC_V2CMPLTS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051e80000ULL, +- 0x289c000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpltsi", TILEGX_OPC_V2CMPLTSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000041000000ULL, +- 0x1948000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpltu", TILEGX_OPC_V2CMPLTU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051ec0000ULL, +- 0x289e000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpltui", TILEGX_OPC_V2CMPLTUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000041100000ULL, +- 0x1950000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2cmpne", TILEGX_OPC_V2CMPNE, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051f00000ULL, +- 0x28a0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2dotp", TILEGX_OPC_V2DOTP, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051f80000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2dotpa", TILEGX_OPC_V2DOTPA, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051f40000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2int_h", TILEGX_OPC_V2INT_H, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000051fc0000ULL, +- 0x28a2000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2int_l", TILEGX_OPC_V2INT_L, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052000000ULL, +- 0x28a4000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2maxs", TILEGX_OPC_V2MAXS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052040000ULL, +- 0x28a6000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2maxsi", TILEGX_OPC_V2MAXSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000041200000ULL, +- 0x1958000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2mins", TILEGX_OPC_V2MINS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052080000ULL, +- 0x28a8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2minsi", TILEGX_OPC_V2MINSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000041300000ULL, +- 0x1960000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2mnz", TILEGX_OPC_V2MNZ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000520c0000ULL, +- 0x28aa000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2mulfsc", TILEGX_OPC_V2MULFSC, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052100000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2muls", TILEGX_OPC_V2MULS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052140000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2mults", TILEGX_OPC_V2MULTS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052180000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2mz", TILEGX_OPC_V2MZ, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000521c0000ULL, +- 0x28ac000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2packh", TILEGX_OPC_V2PACKH, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052200000ULL, +- 0x28ae000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2packl", TILEGX_OPC_V2PACKL, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052240000ULL, +- 0x28b0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2packuc", TILEGX_OPC_V2PACKUC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052280000ULL, +- 0x28b2000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2sadas", TILEGX_OPC_V2SADAS, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000522c0000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2sadau", TILEGX_OPC_V2SADAU, 0x1, 3, TREG_ZERO, 1, +- { { 23, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052300000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2sads", TILEGX_OPC_V2SADS, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052340000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2sadu", TILEGX_OPC_V2SADU, 0x1, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 0, }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052380000ULL, +- -1ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shl", TILEGX_OPC_V2SHL, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052400000ULL, +- 0x28b6000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shli", TILEGX_OPC_V2SHLI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000060280000ULL, +- 0x3014000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shlsc", TILEGX_OPC_V2SHLSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000523c0000ULL, +- 0x28b4000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shrs", TILEGX_OPC_V2SHRS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052440000ULL, +- 0x28b8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shrsi", TILEGX_OPC_V2SHRSI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000602c0000ULL, +- 0x3016000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shru", TILEGX_OPC_V2SHRU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052480000ULL, +- 0x28ba000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2shrui", TILEGX_OPC_V2SHRUI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 29 }, { 6, 7, 30 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000060300000ULL, +- 0x3018000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2sub", TILEGX_OPC_V2SUB, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052500000ULL, +- 0x28be000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v2subsc", TILEGX_OPC_V2SUBSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000524c0000ULL, +- 0x28bc000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4add", TILEGX_OPC_V4ADD, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052580000ULL, +- 0x28c2000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4addsc", TILEGX_OPC_V4ADDSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052540000ULL, +- 0x28c0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4int_h", TILEGX_OPC_V4INT_H, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000525c0000ULL, +- 0x28c4000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4int_l", TILEGX_OPC_V4INT_L, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052600000ULL, +- 0x28c6000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4packsc", TILEGX_OPC_V4PACKSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052640000ULL, +- 0x28c8000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4shl", TILEGX_OPC_V4SHL, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000526c0000ULL, +- 0x28cc000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4shlsc", TILEGX_OPC_V4SHLSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052680000ULL, +- 0x28ca000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4shrs", TILEGX_OPC_V4SHRS, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052700000ULL, +- 0x28ce000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4shru", TILEGX_OPC_V4SHRU, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052740000ULL, +- 0x28d0000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4sub", TILEGX_OPC_V4SUB, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x00000000527c0000ULL, +- 0x28d4000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "v4subsc", TILEGX_OPC_V4SUBSC, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000052780000ULL, +- 0x28d2000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "wh64", TILEGX_OPC_WH64, 0x2, 1, TREG_ZERO, 1, +- { { 0, }, { 7 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0ULL, +- 0xfffff80000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- -1ULL, +- 0x286b300000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { "xor", TILEGX_OPC_XOR, 0xf, 3, TREG_ZERO, 1, +- { { 8, 9, 16 }, { 6, 7, 17 }, { 10, 11, 18 }, { 12, 13, 19 }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ffc0000ULL, +- 0xfffe000000000000ULL, +- 0x00000000780c0000ULL, +- 0x3c06000000000000ULL, +- 0ULL +- }, +- { +- 0x0000000052800000ULL, +- 0x28d6000000000000ULL, +- 0x00000000500c0000ULL, +- 0x2c06000000000000ULL, +- -1ULL +- } +-#endif +- }, +- { "xori", TILEGX_OPC_XORI, 0x3, 3, TREG_ZERO, 1, +- { { 8, 9, 0 }, { 6, 7, 1 }, { 0, }, { 0, }, { 0, } }, +-#ifndef DISASM_ONLY +- { +- 0xc00000007ff00000ULL, +- 0xfff8000000000000ULL, +- 0ULL, +- 0ULL, +- 0ULL +- }, +- { +- 0x0000000041400000ULL, +- 0x1968000000000000ULL, +- -1ULL, +- -1ULL, +- -1ULL +- } +-#endif +- }, +- { NULL, TILEGX_OPC_NONE, 0, 0, TREG_ZERO, 0, { { 0, } }, +-#ifndef DISASM_ONLY +- { 0, }, { 0, } +-#endif +- } +-}; +- +-#define BITFIELD(start, size) ((start) | (((1 << (size)) - 1) << 6)) +-#define CHILD(array_index) (TILEGX_OPC_NONE + (array_index)) +- +-static const unsigned short decode_X0_fsm[936] = +-{ +- BITFIELD(22, 9) /* index 0 */, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_BFEXTS, +- TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTS, TILEGX_OPC_BFEXTU, +- TILEGX_OPC_BFEXTU, TILEGX_OPC_BFEXTU, TILEGX_OPC_BFEXTU, TILEGX_OPC_BFINS, +- TILEGX_OPC_BFINS, TILEGX_OPC_BFINS, TILEGX_OPC_BFINS, TILEGX_OPC_MM, +- TILEGX_OPC_MM, TILEGX_OPC_MM, TILEGX_OPC_MM, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(528), CHILD(578), +- CHILD(583), CHILD(588), CHILD(593), CHILD(598), TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, CHILD(603), CHILD(620), CHILD(637), CHILD(654), CHILD(671), +- CHILD(703), CHILD(797), CHILD(814), CHILD(831), CHILD(848), CHILD(865), +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, CHILD(889), TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- CHILD(906), CHILD(906), CHILD(906), CHILD(906), CHILD(906), +- BITFIELD(6, 2) /* index 513 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(518), +- BITFIELD(8, 2) /* index 518 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(523), +- BITFIELD(10, 2) /* index 523 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_MOVELI, +- BITFIELD(20, 2) /* index 528 */, +- TILEGX_OPC_NONE, CHILD(533), TILEGX_OPC_ADDXI, CHILD(548), +- BITFIELD(6, 2) /* index 533 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(538), +- BITFIELD(8, 2) /* index 538 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(543), +- BITFIELD(10, 2) /* index 543 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI, +- BITFIELD(0, 2) /* index 548 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(553), +- BITFIELD(2, 2) /* index 553 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(558), +- BITFIELD(4, 2) /* index 558 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(563), +- BITFIELD(6, 2) /* index 563 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(568), +- BITFIELD(8, 2) /* index 568 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(573), +- BITFIELD(10, 2) /* index 573 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO, +- BITFIELD(20, 2) /* index 578 */, +- TILEGX_OPC_CMPEQI, TILEGX_OPC_CMPLTSI, TILEGX_OPC_CMPLTUI, TILEGX_OPC_ORI, +- BITFIELD(20, 2) /* index 583 */, +- TILEGX_OPC_V1ADDI, TILEGX_OPC_V1CMPEQI, TILEGX_OPC_V1CMPLTSI, +- TILEGX_OPC_V1CMPLTUI, +- BITFIELD(20, 2) /* index 588 */, +- TILEGX_OPC_V1MAXUI, TILEGX_OPC_V1MINUI, TILEGX_OPC_V2ADDI, +- TILEGX_OPC_V2CMPEQI, +- BITFIELD(20, 2) /* index 593 */, +- TILEGX_OPC_V2CMPLTSI, TILEGX_OPC_V2CMPLTUI, TILEGX_OPC_V2MAXSI, +- TILEGX_OPC_V2MINSI, +- BITFIELD(20, 2) /* index 598 */, +- TILEGX_OPC_XORI, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(18, 4) /* index 603 */, +- TILEGX_OPC_NONE, TILEGX_OPC_ADDXSC, TILEGX_OPC_ADDX, TILEGX_OPC_ADD, +- TILEGX_OPC_AND, TILEGX_OPC_CMOVEQZ, TILEGX_OPC_CMOVNEZ, TILEGX_OPC_CMPEQ, +- TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU, +- TILEGX_OPC_CMPNE, TILEGX_OPC_CMULAF, TILEGX_OPC_CMULA, TILEGX_OPC_CMULFR, +- BITFIELD(18, 4) /* index 620 */, +- TILEGX_OPC_CMULF, TILEGX_OPC_CMULHR, TILEGX_OPC_CMULH, TILEGX_OPC_CMUL, +- TILEGX_OPC_CRC32_32, TILEGX_OPC_CRC32_8, TILEGX_OPC_DBLALIGN2, +- TILEGX_OPC_DBLALIGN4, TILEGX_OPC_DBLALIGN6, TILEGX_OPC_DBLALIGN, +- TILEGX_OPC_FDOUBLE_ADDSUB, TILEGX_OPC_FDOUBLE_ADD_FLAGS, +- TILEGX_OPC_FDOUBLE_MUL_FLAGS, TILEGX_OPC_FDOUBLE_PACK1, +- TILEGX_OPC_FDOUBLE_PACK2, TILEGX_OPC_FDOUBLE_SUB_FLAGS, +- BITFIELD(18, 4) /* index 637 */, +- TILEGX_OPC_FDOUBLE_UNPACK_MAX, TILEGX_OPC_FDOUBLE_UNPACK_MIN, +- TILEGX_OPC_FSINGLE_ADD1, TILEGX_OPC_FSINGLE_ADDSUB2, +- TILEGX_OPC_FSINGLE_MUL1, TILEGX_OPC_FSINGLE_MUL2, TILEGX_OPC_FSINGLE_PACK2, +- TILEGX_OPC_FSINGLE_SUB1, TILEGX_OPC_MNZ, TILEGX_OPC_MULAX, +- TILEGX_OPC_MULA_HS_HS, TILEGX_OPC_MULA_HS_HU, TILEGX_OPC_MULA_HS_LS, +- TILEGX_OPC_MULA_HS_LU, TILEGX_OPC_MULA_HU_HU, TILEGX_OPC_MULA_HU_LS, +- BITFIELD(18, 4) /* index 654 */, +- TILEGX_OPC_MULA_HU_LU, TILEGX_OPC_MULA_LS_LS, TILEGX_OPC_MULA_LS_LU, +- TILEGX_OPC_MULA_LU_LU, TILEGX_OPC_MULX, TILEGX_OPC_MUL_HS_HS, +- TILEGX_OPC_MUL_HS_HU, TILEGX_OPC_MUL_HS_LS, TILEGX_OPC_MUL_HS_LU, +- TILEGX_OPC_MUL_HU_HU, TILEGX_OPC_MUL_HU_LS, TILEGX_OPC_MUL_HU_LU, +- TILEGX_OPC_MUL_LS_LS, TILEGX_OPC_MUL_LS_LU, TILEGX_OPC_MUL_LU_LU, +- TILEGX_OPC_MZ, +- BITFIELD(18, 4) /* index 671 */, +- TILEGX_OPC_NOR, CHILD(688), TILEGX_OPC_ROTL, TILEGX_OPC_SHL1ADDX, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADDX, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL3ADDX, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHLX, TILEGX_OPC_SHL, +- TILEGX_OPC_SHRS, TILEGX_OPC_SHRUX, TILEGX_OPC_SHRU, TILEGX_OPC_SHUFFLEBYTES, +- TILEGX_OPC_SUBXSC, +- BITFIELD(12, 2) /* index 688 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(693), +- BITFIELD(14, 2) /* index 693 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(698), +- BITFIELD(16, 2) /* index 698 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE, +- BITFIELD(18, 4) /* index 703 */, +- TILEGX_OPC_SUBX, TILEGX_OPC_SUB, CHILD(720), TILEGX_OPC_V1ADDUC, +- TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADIFFU, TILEGX_OPC_V1AVGU, +- TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLEU, +- TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPNE, +- TILEGX_OPC_V1DDOTPUSA, TILEGX_OPC_V1DDOTPUS, TILEGX_OPC_V1DOTPA, +- BITFIELD(12, 4) /* index 720 */, +- TILEGX_OPC_NONE, CHILD(737), CHILD(742), CHILD(747), CHILD(752), CHILD(757), +- CHILD(762), CHILD(767), CHILD(772), CHILD(777), CHILD(782), CHILD(787), +- CHILD(792), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 737 */, +- TILEGX_OPC_CLZ, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 742 */, +- TILEGX_OPC_CTZ, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 747 */, +- TILEGX_OPC_FNOP, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 752 */, +- TILEGX_OPC_FSINGLE_PACK1, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 757 */, +- TILEGX_OPC_NOP, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 762 */, +- TILEGX_OPC_PCNT, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 767 */, +- TILEGX_OPC_REVBITS, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 772 */, +- TILEGX_OPC_REVBYTES, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 777 */, +- TILEGX_OPC_TBLIDXB0, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 782 */, +- TILEGX_OPC_TBLIDXB1, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 787 */, +- TILEGX_OPC_TBLIDXB2, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(16, 2) /* index 792 */, +- TILEGX_OPC_TBLIDXB3, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(18, 4) /* index 797 */, +- TILEGX_OPC_V1DOTPUSA, TILEGX_OPC_V1DOTPUS, TILEGX_OPC_V1DOTP, +- TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1MAXU, +- TILEGX_OPC_V1MINU, TILEGX_OPC_V1MNZ, TILEGX_OPC_V1MULTU, TILEGX_OPC_V1MULUS, +- TILEGX_OPC_V1MULU, TILEGX_OPC_V1MZ, TILEGX_OPC_V1SADAU, TILEGX_OPC_V1SADU, +- TILEGX_OPC_V1SHL, TILEGX_OPC_V1SHRS, +- BITFIELD(18, 4) /* index 814 */, +- TILEGX_OPC_V1SHRU, TILEGX_OPC_V1SUBUC, TILEGX_OPC_V1SUB, TILEGX_OPC_V2ADDSC, +- TILEGX_OPC_V2ADD, TILEGX_OPC_V2ADIFFS, TILEGX_OPC_V2AVGS, +- TILEGX_OPC_V2CMPEQ, TILEGX_OPC_V2CMPLES, TILEGX_OPC_V2CMPLEU, +- TILEGX_OPC_V2CMPLTS, TILEGX_OPC_V2CMPLTU, TILEGX_OPC_V2CMPNE, +- TILEGX_OPC_V2DOTPA, TILEGX_OPC_V2DOTP, TILEGX_OPC_V2INT_H, +- BITFIELD(18, 4) /* index 831 */, +- TILEGX_OPC_V2INT_L, TILEGX_OPC_V2MAXS, TILEGX_OPC_V2MINS, TILEGX_OPC_V2MNZ, +- TILEGX_OPC_V2MULFSC, TILEGX_OPC_V2MULS, TILEGX_OPC_V2MULTS, TILEGX_OPC_V2MZ, +- TILEGX_OPC_V2PACKH, TILEGX_OPC_V2PACKL, TILEGX_OPC_V2PACKUC, +- TILEGX_OPC_V2SADAS, TILEGX_OPC_V2SADAU, TILEGX_OPC_V2SADS, +- TILEGX_OPC_V2SADU, TILEGX_OPC_V2SHLSC, +- BITFIELD(18, 4) /* index 848 */, +- TILEGX_OPC_V2SHL, TILEGX_OPC_V2SHRS, TILEGX_OPC_V2SHRU, TILEGX_OPC_V2SUBSC, +- TILEGX_OPC_V2SUB, TILEGX_OPC_V4ADDSC, TILEGX_OPC_V4ADD, TILEGX_OPC_V4INT_H, +- TILEGX_OPC_V4INT_L, TILEGX_OPC_V4PACKSC, TILEGX_OPC_V4SHLSC, +- TILEGX_OPC_V4SHL, TILEGX_OPC_V4SHRS, TILEGX_OPC_V4SHRU, TILEGX_OPC_V4SUBSC, +- TILEGX_OPC_V4SUB, +- BITFIELD(18, 3) /* index 865 */, +- CHILD(874), CHILD(877), CHILD(880), CHILD(883), CHILD(886), TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(21, 1) /* index 874 */, +- TILEGX_OPC_XOR, TILEGX_OPC_NONE, +- BITFIELD(21, 1) /* index 877 */, +- TILEGX_OPC_V1DDOTPUA, TILEGX_OPC_NONE, +- BITFIELD(21, 1) /* index 880 */, +- TILEGX_OPC_V1DDOTPU, TILEGX_OPC_NONE, +- BITFIELD(21, 1) /* index 883 */, +- TILEGX_OPC_V1DOTPUA, TILEGX_OPC_NONE, +- BITFIELD(21, 1) /* index 886 */, +- TILEGX_OPC_V1DOTPU, TILEGX_OPC_NONE, +- BITFIELD(18, 4) /* index 889 */, +- TILEGX_OPC_NONE, TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHLXI, +- TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, TILEGX_OPC_SHRUXI, TILEGX_OPC_V1SHLI, +- TILEGX_OPC_V1SHRSI, TILEGX_OPC_V1SHRUI, TILEGX_OPC_V2SHLI, +- TILEGX_OPC_V2SHRSI, TILEGX_OPC_V2SHRUI, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, +- BITFIELD(0, 2) /* index 906 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(911), +- BITFIELD(2, 2) /* index 911 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(916), +- BITFIELD(4, 2) /* index 916 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(921), +- BITFIELD(6, 2) /* index 921 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(926), +- BITFIELD(8, 2) /* index 926 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(931), +- BITFIELD(10, 2) /* index 931 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- TILEGX_OPC_INFOL, +-}; +- +-static const unsigned short decode_X1_fsm[1266] = +-{ +- BITFIELD(53, 9) /* index 0 */, +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), CHILD(513), +- CHILD(513), CHILD(513), CHILD(513), CHILD(513), TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, +- TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_ADDXLI, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_BEQZT, +- TILEGX_OPC_BEQZT, TILEGX_OPC_BEQZ, TILEGX_OPC_BEQZ, TILEGX_OPC_BGEZT, +- TILEGX_OPC_BGEZT, TILEGX_OPC_BGEZ, TILEGX_OPC_BGEZ, TILEGX_OPC_BGTZT, +- TILEGX_OPC_BGTZT, TILEGX_OPC_BGTZ, TILEGX_OPC_BGTZ, TILEGX_OPC_BLBCT, +- TILEGX_OPC_BLBCT, TILEGX_OPC_BLBC, TILEGX_OPC_BLBC, TILEGX_OPC_BLBST, +- TILEGX_OPC_BLBST, TILEGX_OPC_BLBS, TILEGX_OPC_BLBS, TILEGX_OPC_BLEZT, +- TILEGX_OPC_BLEZT, TILEGX_OPC_BLEZ, TILEGX_OPC_BLEZ, TILEGX_OPC_BLTZT, +- TILEGX_OPC_BLTZT, TILEGX_OPC_BLTZ, TILEGX_OPC_BLTZ, TILEGX_OPC_BNEZT, +- TILEGX_OPC_BNEZT, TILEGX_OPC_BNEZ, TILEGX_OPC_BNEZ, CHILD(528), CHILD(578), +- CHILD(598), CHILD(703), CHILD(723), CHILD(728), CHILD(753), CHILD(758), +- CHILD(763), CHILD(768), CHILD(773), CHILD(778), TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, +- TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_JAL, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, TILEGX_OPC_J, +- CHILD(783), CHILD(800), CHILD(832), CHILD(849), CHILD(1168), CHILD(1185), +- CHILD(1202), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(1219), TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), CHILD(1236), +- CHILD(1236), +- BITFIELD(37, 2) /* index 513 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(518), +- BITFIELD(39, 2) /* index 518 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, CHILD(523), +- BITFIELD(41, 2) /* index 523 */, +- TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_ADDLI, TILEGX_OPC_MOVELI, +- BITFIELD(51, 2) /* index 528 */, +- TILEGX_OPC_NONE, CHILD(533), TILEGX_OPC_ADDXI, CHILD(548), +- BITFIELD(37, 2) /* index 533 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(538), +- BITFIELD(39, 2) /* index 538 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(543), +- BITFIELD(41, 2) /* index 543 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI, +- BITFIELD(31, 2) /* index 548 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(553), +- BITFIELD(33, 2) /* index 553 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(558), +- BITFIELD(35, 2) /* index 558 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(563), +- BITFIELD(37, 2) /* index 563 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(568), +- BITFIELD(39, 2) /* index 568 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(573), +- BITFIELD(41, 2) /* index 573 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO, +- BITFIELD(51, 2) /* index 578 */, +- TILEGX_OPC_CMPEQI, TILEGX_OPC_CMPLTSI, TILEGX_OPC_CMPLTUI, CHILD(583), +- BITFIELD(31, 2) /* index 583 */, +- TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, CHILD(588), +- BITFIELD(33, 2) /* index 588 */, +- TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, CHILD(593), +- BITFIELD(35, 2) /* index 593 */, +- TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, TILEGX_OPC_LD1S_ADD, +- TILEGX_OPC_PREFETCH_ADD_L1_FAULT, +- BITFIELD(51, 2) /* index 598 */, +- CHILD(603), CHILD(618), CHILD(633), CHILD(648), +- BITFIELD(31, 2) /* index 603 */, +- TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, CHILD(608), +- BITFIELD(33, 2) /* index 608 */, +- TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, CHILD(613), +- BITFIELD(35, 2) /* index 613 */, +- TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, TILEGX_OPC_LD1U_ADD, +- TILEGX_OPC_PREFETCH_ADD_L1, +- BITFIELD(31, 2) /* index 618 */, +- TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, CHILD(623), +- BITFIELD(33, 2) /* index 623 */, +- TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, CHILD(628), +- BITFIELD(35, 2) /* index 628 */, +- TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, TILEGX_OPC_LD2S_ADD, +- TILEGX_OPC_PREFETCH_ADD_L2_FAULT, +- BITFIELD(31, 2) /* index 633 */, +- TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, CHILD(638), +- BITFIELD(33, 2) /* index 638 */, +- TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, CHILD(643), +- BITFIELD(35, 2) /* index 643 */, +- TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, TILEGX_OPC_LD2U_ADD, +- TILEGX_OPC_PREFETCH_ADD_L2, +- BITFIELD(31, 2) /* index 648 */, +- CHILD(653), CHILD(653), CHILD(653), CHILD(673), +- BITFIELD(43, 2) /* index 653 */, +- CHILD(658), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, +- BITFIELD(45, 2) /* index 658 */, +- CHILD(663), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, +- BITFIELD(47, 2) /* index 663 */, +- CHILD(668), TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, +- BITFIELD(49, 2) /* index 668 */, +- TILEGX_OPC_LD4S_TLS, TILEGX_OPC_LD4S_ADD, TILEGX_OPC_LD4S_ADD, +- TILEGX_OPC_LD4S_ADD, +- BITFIELD(33, 2) /* index 673 */, +- CHILD(653), CHILD(653), CHILD(653), CHILD(678), +- BITFIELD(35, 2) /* index 678 */, +- CHILD(653), CHILD(653), CHILD(653), CHILD(683), +- BITFIELD(43, 2) /* index 683 */, +- CHILD(688), TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- BITFIELD(45, 2) /* index 688 */, +- CHILD(693), TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- BITFIELD(47, 2) /* index 693 */, +- CHILD(698), TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- BITFIELD(49, 2) /* index 698 */, +- TILEGX_OPC_LD4S_TLS, TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- TILEGX_OPC_PREFETCH_ADD_L3_FAULT, TILEGX_OPC_PREFETCH_ADD_L3_FAULT, +- BITFIELD(51, 2) /* index 703 */, +- CHILD(708), TILEGX_OPC_LDNT1S_ADD, TILEGX_OPC_LDNT1U_ADD, +- TILEGX_OPC_LDNT2S_ADD, +- BITFIELD(31, 2) /* index 708 */, +- TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, CHILD(713), +- BITFIELD(33, 2) /* index 713 */, +- TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, CHILD(718), +- BITFIELD(35, 2) /* index 718 */, +- TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, TILEGX_OPC_LD4U_ADD, +- TILEGX_OPC_PREFETCH_ADD_L3, +- BITFIELD(51, 2) /* index 723 */, +- TILEGX_OPC_LDNT2U_ADD, TILEGX_OPC_LDNT4S_ADD, TILEGX_OPC_LDNT4U_ADD, +- TILEGX_OPC_LDNT_ADD, +- BITFIELD(51, 2) /* index 728 */, +- CHILD(733), TILEGX_OPC_LDNA_ADD, TILEGX_OPC_MFSPR, TILEGX_OPC_MTSPR, +- BITFIELD(43, 2) /* index 733 */, +- CHILD(738), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, +- BITFIELD(45, 2) /* index 738 */, +- CHILD(743), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, +- BITFIELD(47, 2) /* index 743 */, +- CHILD(748), TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, +- BITFIELD(49, 2) /* index 748 */, +- TILEGX_OPC_LD_TLS, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, TILEGX_OPC_LD_ADD, +- BITFIELD(51, 2) /* index 753 */, +- TILEGX_OPC_ORI, TILEGX_OPC_ST1_ADD, TILEGX_OPC_ST2_ADD, TILEGX_OPC_ST4_ADD, +- BITFIELD(51, 2) /* index 758 */, +- TILEGX_OPC_STNT1_ADD, TILEGX_OPC_STNT2_ADD, TILEGX_OPC_STNT4_ADD, +- TILEGX_OPC_STNT_ADD, +- BITFIELD(51, 2) /* index 763 */, +- TILEGX_OPC_ST_ADD, TILEGX_OPC_V1ADDI, TILEGX_OPC_V1CMPEQI, +- TILEGX_OPC_V1CMPLTSI, +- BITFIELD(51, 2) /* index 768 */, +- TILEGX_OPC_V1CMPLTUI, TILEGX_OPC_V1MAXUI, TILEGX_OPC_V1MINUI, +- TILEGX_OPC_V2ADDI, +- BITFIELD(51, 2) /* index 773 */, +- TILEGX_OPC_V2CMPEQI, TILEGX_OPC_V2CMPLTSI, TILEGX_OPC_V2CMPLTUI, +- TILEGX_OPC_V2MAXSI, +- BITFIELD(51, 2) /* index 778 */, +- TILEGX_OPC_V2MINSI, TILEGX_OPC_XORI, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(49, 4) /* index 783 */, +- TILEGX_OPC_NONE, TILEGX_OPC_ADDXSC, TILEGX_OPC_ADDX, TILEGX_OPC_ADD, +- TILEGX_OPC_AND, TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPEXCH4, TILEGX_OPC_CMPEXCH, +- TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU, +- TILEGX_OPC_CMPNE, TILEGX_OPC_DBLALIGN2, TILEGX_OPC_DBLALIGN4, +- TILEGX_OPC_DBLALIGN6, +- BITFIELD(49, 4) /* index 800 */, +- TILEGX_OPC_EXCH4, TILEGX_OPC_EXCH, TILEGX_OPC_FETCHADD4, +- TILEGX_OPC_FETCHADDGEZ4, TILEGX_OPC_FETCHADDGEZ, TILEGX_OPC_FETCHADD, +- TILEGX_OPC_FETCHAND4, TILEGX_OPC_FETCHAND, TILEGX_OPC_FETCHOR4, +- TILEGX_OPC_FETCHOR, TILEGX_OPC_MNZ, TILEGX_OPC_MZ, TILEGX_OPC_NOR, +- CHILD(817), TILEGX_OPC_ROTL, TILEGX_OPC_SHL1ADDX, +- BITFIELD(43, 2) /* index 817 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(822), +- BITFIELD(45, 2) /* index 822 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(827), +- BITFIELD(47, 2) /* index 827 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE, +- BITFIELD(49, 4) /* index 832 */, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADDX, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL3ADDX, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHLX, TILEGX_OPC_SHL, +- TILEGX_OPC_SHRS, TILEGX_OPC_SHRUX, TILEGX_OPC_SHRU, TILEGX_OPC_ST1, +- TILEGX_OPC_ST2, TILEGX_OPC_ST4, TILEGX_OPC_STNT1, TILEGX_OPC_STNT2, +- TILEGX_OPC_STNT4, +- BITFIELD(46, 7) /* index 849 */, +- TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, +- TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, TILEGX_OPC_STNT, +- TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, +- TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_ST, TILEGX_OPC_SUBXSC, +- TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, +- TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBXSC, TILEGX_OPC_SUBX, +- TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, +- TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUBX, TILEGX_OPC_SUB, +- TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB, +- TILEGX_OPC_SUB, TILEGX_OPC_SUB, TILEGX_OPC_SUB, CHILD(978), CHILD(987), +- CHILD(1066), CHILD(1150), CHILD(1159), TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, +- TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, +- TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADDUC, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, +- TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, +- TILEGX_OPC_V1ADD, TILEGX_OPC_V1ADD, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, +- TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, +- TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, TILEGX_OPC_V1CMPEQ, +- TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, +- TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, +- TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLES, TILEGX_OPC_V1CMPLEU, +- TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, +- TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLEU, +- TILEGX_OPC_V1CMPLEU, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, +- TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, +- TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, TILEGX_OPC_V1CMPLTS, +- TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, +- TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, +- TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPLTU, TILEGX_OPC_V1CMPNE, +- TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, +- TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1CMPNE, +- TILEGX_OPC_V1CMPNE, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, +- TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, +- TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, TILEGX_OPC_V1INT_H, +- TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, +- TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, +- TILEGX_OPC_V1INT_L, TILEGX_OPC_V1INT_L, +- BITFIELD(43, 3) /* index 978 */, +- TILEGX_OPC_NONE, TILEGX_OPC_DRAIN, TILEGX_OPC_DTLBPR, TILEGX_OPC_FINV, +- TILEGX_OPC_FLUSHWB, TILEGX_OPC_FLUSH, TILEGX_OPC_FNOP, TILEGX_OPC_ICOH, +- BITFIELD(43, 3) /* index 987 */, +- CHILD(996), TILEGX_OPC_INV, TILEGX_OPC_IRET, TILEGX_OPC_JALRP, +- TILEGX_OPC_JALR, TILEGX_OPC_JRP, TILEGX_OPC_JR, CHILD(1051), +- BITFIELD(31, 2) /* index 996 */, +- CHILD(1001), CHILD(1026), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(33, 2) /* index 1001 */, +- TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_ILL, CHILD(1006), +- BITFIELD(35, 2) /* index 1006 */, +- TILEGX_OPC_ILL, CHILD(1011), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(37, 2) /* index 1011 */, +- TILEGX_OPC_ILL, CHILD(1016), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(39, 2) /* index 1016 */, +- TILEGX_OPC_ILL, CHILD(1021), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(41, 2) /* index 1021 */, +- TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_BPT, TILEGX_OPC_ILL, +- BITFIELD(33, 2) /* index 1026 */, +- TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_ILL, CHILD(1031), +- BITFIELD(35, 2) /* index 1031 */, +- TILEGX_OPC_ILL, CHILD(1036), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(37, 2) /* index 1036 */, +- TILEGX_OPC_ILL, CHILD(1041), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(39, 2) /* index 1041 */, +- TILEGX_OPC_ILL, CHILD(1046), TILEGX_OPC_ILL, TILEGX_OPC_ILL, +- BITFIELD(41, 2) /* index 1046 */, +- TILEGX_OPC_ILL, TILEGX_OPC_ILL, TILEGX_OPC_RAISE, TILEGX_OPC_ILL, +- BITFIELD(31, 2) /* index 1051 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(1056), +- BITFIELD(33, 2) /* index 1056 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(1061), +- BITFIELD(35, 2) /* index 1061 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, +- TILEGX_OPC_PREFETCH_L1_FAULT, +- BITFIELD(43, 3) /* index 1066 */, +- CHILD(1075), CHILD(1090), CHILD(1105), CHILD(1120), CHILD(1135), +- TILEGX_OPC_LDNA, TILEGX_OPC_LDNT1S, TILEGX_OPC_LDNT1U, +- BITFIELD(31, 2) /* index 1075 */, +- TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(1080), +- BITFIELD(33, 2) /* index 1080 */, +- TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(1085), +- BITFIELD(35, 2) /* index 1085 */, +- TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_PREFETCH, +- BITFIELD(31, 2) /* index 1090 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(1095), +- BITFIELD(33, 2) /* index 1095 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(1100), +- BITFIELD(35, 2) /* index 1100 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, +- TILEGX_OPC_PREFETCH_L2_FAULT, +- BITFIELD(31, 2) /* index 1105 */, +- TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(1110), +- BITFIELD(33, 2) /* index 1110 */, +- TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(1115), +- BITFIELD(35, 2) /* index 1115 */, +- TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_PREFETCH_L2, +- BITFIELD(31, 2) /* index 1120 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(1125), +- BITFIELD(33, 2) /* index 1125 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(1130), +- BITFIELD(35, 2) /* index 1130 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, +- TILEGX_OPC_PREFETCH_L3_FAULT, +- BITFIELD(31, 2) /* index 1135 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(1140), +- BITFIELD(33, 2) /* index 1140 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(1145), +- BITFIELD(35, 2) /* index 1145 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_PREFETCH_L3, +- BITFIELD(43, 3) /* index 1150 */, +- TILEGX_OPC_LDNT2S, TILEGX_OPC_LDNT2U, TILEGX_OPC_LDNT4S, TILEGX_OPC_LDNT4U, +- TILEGX_OPC_LDNT, TILEGX_OPC_LD, TILEGX_OPC_LNK, TILEGX_OPC_MF, +- BITFIELD(43, 3) /* index 1159 */, +- TILEGX_OPC_NAP, TILEGX_OPC_NOP, TILEGX_OPC_SWINT0, TILEGX_OPC_SWINT1, +- TILEGX_OPC_SWINT2, TILEGX_OPC_SWINT3, TILEGX_OPC_WH64, TILEGX_OPC_NONE, +- BITFIELD(49, 4) /* index 1168 */, +- TILEGX_OPC_V1MAXU, TILEGX_OPC_V1MINU, TILEGX_OPC_V1MNZ, TILEGX_OPC_V1MZ, +- TILEGX_OPC_V1SHL, TILEGX_OPC_V1SHRS, TILEGX_OPC_V1SHRU, TILEGX_OPC_V1SUBUC, +- TILEGX_OPC_V1SUB, TILEGX_OPC_V2ADDSC, TILEGX_OPC_V2ADD, TILEGX_OPC_V2CMPEQ, +- TILEGX_OPC_V2CMPLES, TILEGX_OPC_V2CMPLEU, TILEGX_OPC_V2CMPLTS, +- TILEGX_OPC_V2CMPLTU, +- BITFIELD(49, 4) /* index 1185 */, +- TILEGX_OPC_V2CMPNE, TILEGX_OPC_V2INT_H, TILEGX_OPC_V2INT_L, +- TILEGX_OPC_V2MAXS, TILEGX_OPC_V2MINS, TILEGX_OPC_V2MNZ, TILEGX_OPC_V2MZ, +- TILEGX_OPC_V2PACKH, TILEGX_OPC_V2PACKL, TILEGX_OPC_V2PACKUC, +- TILEGX_OPC_V2SHLSC, TILEGX_OPC_V2SHL, TILEGX_OPC_V2SHRS, TILEGX_OPC_V2SHRU, +- TILEGX_OPC_V2SUBSC, TILEGX_OPC_V2SUB, +- BITFIELD(49, 4) /* index 1202 */, +- TILEGX_OPC_V4ADDSC, TILEGX_OPC_V4ADD, TILEGX_OPC_V4INT_H, +- TILEGX_OPC_V4INT_L, TILEGX_OPC_V4PACKSC, TILEGX_OPC_V4SHLSC, +- TILEGX_OPC_V4SHL, TILEGX_OPC_V4SHRS, TILEGX_OPC_V4SHRU, TILEGX_OPC_V4SUBSC, +- TILEGX_OPC_V4SUB, TILEGX_OPC_XOR, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(49, 4) /* index 1219 */, +- TILEGX_OPC_NONE, TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHLXI, +- TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, TILEGX_OPC_SHRUXI, TILEGX_OPC_V1SHLI, +- TILEGX_OPC_V1SHRSI, TILEGX_OPC_V1SHRUI, TILEGX_OPC_V2SHLI, +- TILEGX_OPC_V2SHRSI, TILEGX_OPC_V2SHRUI, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, +- BITFIELD(31, 2) /* index 1236 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(1241), +- BITFIELD(33, 2) /* index 1241 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(1246), +- BITFIELD(35, 2) /* index 1246 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(1251), +- BITFIELD(37, 2) /* index 1251 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(1256), +- BITFIELD(39, 2) /* index 1256 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- CHILD(1261), +- BITFIELD(41, 2) /* index 1261 */, +- TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, TILEGX_OPC_SHL16INSLI, +- TILEGX_OPC_INFOL, +-}; +- +-static const unsigned short decode_Y0_fsm[178] = +-{ +- BITFIELD(27, 4) /* index 0 */, +- CHILD(17), TILEGX_OPC_ADDXI, CHILD(32), TILEGX_OPC_CMPEQI, +- TILEGX_OPC_CMPLTSI, CHILD(62), CHILD(67), CHILD(118), CHILD(123), +- CHILD(128), CHILD(133), CHILD(153), CHILD(158), CHILD(163), CHILD(168), +- CHILD(173), +- BITFIELD(6, 2) /* index 17 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(22), +- BITFIELD(8, 2) /* index 22 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(27), +- BITFIELD(10, 2) /* index 27 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI, +- BITFIELD(0, 2) /* index 32 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(37), +- BITFIELD(2, 2) /* index 37 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(42), +- BITFIELD(4, 2) /* index 42 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(47), +- BITFIELD(6, 2) /* index 47 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(52), +- BITFIELD(8, 2) /* index 52 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(57), +- BITFIELD(10, 2) /* index 57 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO, +- BITFIELD(18, 2) /* index 62 */, +- TILEGX_OPC_ADDX, TILEGX_OPC_ADD, TILEGX_OPC_SUBX, TILEGX_OPC_SUB, +- BITFIELD(15, 5) /* index 67 */, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, +- TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, +- TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, CHILD(100), +- CHILD(109), TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(12, 3) /* index 100 */, +- TILEGX_OPC_NONE, TILEGX_OPC_CLZ, TILEGX_OPC_CTZ, TILEGX_OPC_FNOP, +- TILEGX_OPC_FSINGLE_PACK1, TILEGX_OPC_NOP, TILEGX_OPC_PCNT, +- TILEGX_OPC_REVBITS, +- BITFIELD(12, 3) /* index 109 */, +- TILEGX_OPC_REVBYTES, TILEGX_OPC_TBLIDXB0, TILEGX_OPC_TBLIDXB1, +- TILEGX_OPC_TBLIDXB2, TILEGX_OPC_TBLIDXB3, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- TILEGX_OPC_NONE, +- BITFIELD(18, 2) /* index 118 */, +- TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU, +- BITFIELD(18, 2) /* index 123 */, +- TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPNE, TILEGX_OPC_MULAX, TILEGX_OPC_MULX, +- BITFIELD(18, 2) /* index 128 */, +- TILEGX_OPC_CMOVEQZ, TILEGX_OPC_CMOVNEZ, TILEGX_OPC_MNZ, TILEGX_OPC_MZ, +- BITFIELD(18, 2) /* index 133 */, +- TILEGX_OPC_AND, TILEGX_OPC_NOR, CHILD(138), TILEGX_OPC_XOR, +- BITFIELD(12, 2) /* index 138 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(143), +- BITFIELD(14, 2) /* index 143 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(148), +- BITFIELD(16, 2) /* index 148 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE, +- BITFIELD(18, 2) /* index 153 */, +- TILEGX_OPC_ROTL, TILEGX_OPC_SHL, TILEGX_OPC_SHRS, TILEGX_OPC_SHRU, +- BITFIELD(18, 2) /* index 158 */, +- TILEGX_OPC_NONE, TILEGX_OPC_SHL1ADDX, TILEGX_OPC_SHL2ADDX, +- TILEGX_OPC_SHL3ADDX, +- BITFIELD(18, 2) /* index 163 */, +- TILEGX_OPC_MUL_HS_HS, TILEGX_OPC_MUL_HU_HU, TILEGX_OPC_MUL_LS_LS, +- TILEGX_OPC_MUL_LU_LU, +- BITFIELD(18, 2) /* index 168 */, +- TILEGX_OPC_MULA_HS_HS, TILEGX_OPC_MULA_HU_HU, TILEGX_OPC_MULA_LS_LS, +- TILEGX_OPC_MULA_LU_LU, +- BITFIELD(18, 2) /* index 173 */, +- TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, +-}; +- +-static const unsigned short decode_Y1_fsm[167] = +-{ +- BITFIELD(58, 4) /* index 0 */, +- TILEGX_OPC_NONE, CHILD(17), TILEGX_OPC_ADDXI, CHILD(32), TILEGX_OPC_CMPEQI, +- TILEGX_OPC_CMPLTSI, CHILD(62), CHILD(67), CHILD(117), CHILD(122), +- CHILD(127), CHILD(132), CHILD(152), CHILD(157), CHILD(162), TILEGX_OPC_NONE, +- BITFIELD(37, 2) /* index 17 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(22), +- BITFIELD(39, 2) /* index 22 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, CHILD(27), +- BITFIELD(41, 2) /* index 27 */, +- TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_ADDI, TILEGX_OPC_MOVEI, +- BITFIELD(31, 2) /* index 32 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(37), +- BITFIELD(33, 2) /* index 37 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(42), +- BITFIELD(35, 2) /* index 42 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(47), +- BITFIELD(37, 2) /* index 47 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(52), +- BITFIELD(39, 2) /* index 52 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, CHILD(57), +- BITFIELD(41, 2) /* index 57 */, +- TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_ANDI, TILEGX_OPC_INFO, +- BITFIELD(49, 2) /* index 62 */, +- TILEGX_OPC_ADDX, TILEGX_OPC_ADD, TILEGX_OPC_SUBX, TILEGX_OPC_SUB, +- BITFIELD(47, 4) /* index 67 */, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL1ADD, +- TILEGX_OPC_SHL1ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, +- TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL2ADD, TILEGX_OPC_SHL3ADD, +- TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, TILEGX_OPC_SHL3ADD, CHILD(84), +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_NONE, +- BITFIELD(43, 3) /* index 84 */, +- CHILD(93), CHILD(96), CHILD(99), CHILD(102), CHILD(105), CHILD(108), +- CHILD(111), CHILD(114), +- BITFIELD(46, 1) /* index 93 */, +- TILEGX_OPC_NONE, TILEGX_OPC_FNOP, +- BITFIELD(46, 1) /* index 96 */, +- TILEGX_OPC_NONE, TILEGX_OPC_ILL, +- BITFIELD(46, 1) /* index 99 */, +- TILEGX_OPC_NONE, TILEGX_OPC_JALRP, +- BITFIELD(46, 1) /* index 102 */, +- TILEGX_OPC_NONE, TILEGX_OPC_JALR, +- BITFIELD(46, 1) /* index 105 */, +- TILEGX_OPC_NONE, TILEGX_OPC_JRP, +- BITFIELD(46, 1) /* index 108 */, +- TILEGX_OPC_NONE, TILEGX_OPC_JR, +- BITFIELD(46, 1) /* index 111 */, +- TILEGX_OPC_NONE, TILEGX_OPC_LNK, +- BITFIELD(46, 1) /* index 114 */, +- TILEGX_OPC_NONE, TILEGX_OPC_NOP, +- BITFIELD(49, 2) /* index 117 */, +- TILEGX_OPC_CMPLES, TILEGX_OPC_CMPLEU, TILEGX_OPC_CMPLTS, TILEGX_OPC_CMPLTU, +- BITFIELD(49, 2) /* index 122 */, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_CMPEQ, TILEGX_OPC_CMPNE, +- BITFIELD(49, 2) /* index 127 */, +- TILEGX_OPC_NONE, TILEGX_OPC_NONE, TILEGX_OPC_MNZ, TILEGX_OPC_MZ, +- BITFIELD(49, 2) /* index 132 */, +- TILEGX_OPC_AND, TILEGX_OPC_NOR, CHILD(137), TILEGX_OPC_XOR, +- BITFIELD(43, 2) /* index 137 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(142), +- BITFIELD(45, 2) /* index 142 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, CHILD(147), +- BITFIELD(47, 2) /* index 147 */, +- TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_OR, TILEGX_OPC_MOVE, +- BITFIELD(49, 2) /* index 152 */, +- TILEGX_OPC_ROTL, TILEGX_OPC_SHL, TILEGX_OPC_SHRS, TILEGX_OPC_SHRU, +- BITFIELD(49, 2) /* index 157 */, +- TILEGX_OPC_NONE, TILEGX_OPC_SHL1ADDX, TILEGX_OPC_SHL2ADDX, +- TILEGX_OPC_SHL3ADDX, +- BITFIELD(49, 2) /* index 162 */, +- TILEGX_OPC_ROTLI, TILEGX_OPC_SHLI, TILEGX_OPC_SHRSI, TILEGX_OPC_SHRUI, +-}; +- +-static const unsigned short decode_Y2_fsm[118] = +-{ +- BITFIELD(62, 2) /* index 0 */, +- TILEGX_OPC_NONE, CHILD(5), CHILD(66), CHILD(109), +- BITFIELD(55, 3) /* index 5 */, +- CHILD(14), CHILD(14), CHILD(14), CHILD(17), CHILD(40), CHILD(40), CHILD(40), +- CHILD(43), +- BITFIELD(26, 1) /* index 14 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1U, +- BITFIELD(26, 1) /* index 17 */, +- CHILD(20), CHILD(30), +- BITFIELD(51, 2) /* index 20 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, CHILD(25), +- BITFIELD(53, 2) /* index 25 */, +- TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, TILEGX_OPC_LD1S, +- TILEGX_OPC_PREFETCH_L1_FAULT, +- BITFIELD(51, 2) /* index 30 */, +- TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, CHILD(35), +- BITFIELD(53, 2) /* index 35 */, +- TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_LD1U, TILEGX_OPC_PREFETCH, +- BITFIELD(26, 1) /* index 40 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2U, +- BITFIELD(26, 1) /* index 43 */, +- CHILD(46), CHILD(56), +- BITFIELD(51, 2) /* index 46 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, CHILD(51), +- BITFIELD(53, 2) /* index 51 */, +- TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, TILEGX_OPC_LD2S, +- TILEGX_OPC_PREFETCH_L2_FAULT, +- BITFIELD(51, 2) /* index 56 */, +- TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, CHILD(61), +- BITFIELD(53, 2) /* index 61 */, +- TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_LD2U, TILEGX_OPC_PREFETCH_L2, +- BITFIELD(56, 2) /* index 66 */, +- CHILD(71), CHILD(74), CHILD(90), CHILD(93), +- BITFIELD(26, 1) /* index 71 */, +- TILEGX_OPC_NONE, TILEGX_OPC_LD4S, +- BITFIELD(26, 1) /* index 74 */, +- TILEGX_OPC_NONE, CHILD(77), +- BITFIELD(51, 2) /* index 77 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(82), +- BITFIELD(53, 2) /* index 82 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, TILEGX_OPC_LD4S, CHILD(87), +- BITFIELD(55, 1) /* index 87 */, +- TILEGX_OPC_LD4S, TILEGX_OPC_PREFETCH_L3_FAULT, +- BITFIELD(26, 1) /* index 90 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD, +- BITFIELD(26, 1) /* index 93 */, +- CHILD(96), TILEGX_OPC_LD, +- BITFIELD(51, 2) /* index 96 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(101), +- BITFIELD(53, 2) /* index 101 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, TILEGX_OPC_LD4U, CHILD(106), +- BITFIELD(55, 1) /* index 106 */, +- TILEGX_OPC_LD4U, TILEGX_OPC_PREFETCH_L3, +- BITFIELD(26, 1) /* index 109 */, +- CHILD(112), CHILD(115), +- BITFIELD(57, 1) /* index 112 */, +- TILEGX_OPC_ST1, TILEGX_OPC_ST4, +- BITFIELD(57, 1) /* index 115 */, +- TILEGX_OPC_ST2, TILEGX_OPC_ST, +-}; +- +-#undef BITFIELD +-#undef CHILD +- +-const unsigned short * const +-tilegx_bundle_decoder_fsms[TILEGX_NUM_PIPELINE_ENCODINGS] = +-{ +- decode_X0_fsm, +- decode_X1_fsm, +- decode_Y0_fsm, +- decode_Y1_fsm, +- decode_Y2_fsm +-}; +- +-const struct tilegx_operand tilegx_operands[35] = +-{ +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_X0), +- 8, 1, 0, 0, 0, 0, +- create_Imm8_X0, get_Imm8_X0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_X1), +- 8, 1, 0, 0, 0, 0, +- create_Imm8_X1, get_Imm8_X1 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_Y0), +- 8, 1, 0, 0, 0, 0, +- create_Imm8_Y0, get_Imm8_Y0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM8_Y1), +- 8, 1, 0, 0, 0, 0, +- create_Imm8_Y1, get_Imm8_Y1 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM16_X0_HW0_LAST), +- 16, 1, 0, 0, 0, 0, +- create_Imm16_X0, get_Imm16_X0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_IMM16_X1_HW0_LAST), +- 16, 1, 0, 0, 0, 0, +- create_Imm16_X1, get_Imm16_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 0, 1, 0, 0, +- create_Dest_X1, get_Dest_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcA_X1, get_SrcA_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 0, 1, 0, 0, +- create_Dest_X0, get_Dest_X0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcA_X0, get_SrcA_X0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 0, 1, 0, 0, +- create_Dest_Y0, get_Dest_Y0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcA_Y0, get_SrcA_Y0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 0, 1, 0, 0, +- create_Dest_Y1, get_Dest_Y1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcA_Y1, get_SrcA_Y1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcA_Y2, get_SrcA_Y2 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 1, 0, 0, +- create_SrcA_X1, get_SrcA_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcB_X0, get_SrcB_X0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcB_X1, get_SrcB_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcB_Y0, get_SrcB_Y0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcB_Y1, get_SrcB_Y1 +- }, +- { +- TILEGX_OP_TYPE_ADDRESS, BFD_RELOC(TILEGX_BROFF_X1), +- 17, 1, 0, 0, 1, TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, +- create_BrOff_X1, get_BrOff_X1 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_MMSTART_X0), +- 6, 0, 0, 0, 0, 0, +- create_BFStart_X0, get_BFStart_X0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_MMEND_X0), +- 6, 0, 0, 0, 0, 0, +- create_BFEnd_X0, get_BFEnd_X0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 1, 0, 0, +- create_Dest_X0, get_Dest_X0 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 1, 0, 0, +- create_Dest_Y0, get_Dest_Y0 +- }, +- { +- TILEGX_OP_TYPE_ADDRESS, BFD_RELOC(TILEGX_JUMPOFF_X1), +- 27, 1, 0, 0, 1, TILEGX_LOG2_BUNDLE_ALIGNMENT_IN_BYTES, +- create_JumpOff_X1, get_JumpOff_X1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 0, 1, 0, 0, +- create_SrcBDest_Y2, get_SrcBDest_Y2 +- }, +- { +- TILEGX_OP_TYPE_SPR, BFD_RELOC(TILEGX_MF_IMM14_X1), +- 14, 0, 0, 0, 0, 0, +- create_MF_Imm14_X1, get_MF_Imm14_X1 +- }, +- { +- TILEGX_OP_TYPE_SPR, BFD_RELOC(TILEGX_MT_IMM14_X1), +- 14, 0, 0, 0, 0, 0, +- create_MT_Imm14_X1, get_MT_Imm14_X1 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_X0), +- 6, 0, 0, 0, 0, 0, +- create_ShAmt_X0, get_ShAmt_X0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_X1), +- 6, 0, 0, 0, 0, 0, +- create_ShAmt_X1, get_ShAmt_X1 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_Y0), +- 6, 0, 0, 0, 0, 0, +- create_ShAmt_Y0, get_ShAmt_Y0 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_SHAMT_Y1), +- 6, 0, 0, 0, 0, 0, +- create_ShAmt_Y1, get_ShAmt_Y1 +- }, +- { +- TILEGX_OP_TYPE_REGISTER, BFD_RELOC(NONE), +- 6, 0, 1, 0, 0, 0, +- create_SrcBDest_Y2, get_SrcBDest_Y2 +- }, +- { +- TILEGX_OP_TYPE_IMMEDIATE, BFD_RELOC(TILEGX_DEST_IMM8_X1), +- 8, 1, 0, 0, 0, 0, +- create_Dest_Imm8_X1, get_Dest_Imm8_X1 +- } +-}; +- +-/* Given a set of bundle bits and a specific pipe, returns which +- * instruction the bundle contains in that pipe. +- */ +-const struct tilegx_opcode * +-find_opcode(tilegx_bundle_bits bits, tilegx_pipeline pipe) +-{ +- const unsigned short *table = tilegx_bundle_decoder_fsms[pipe]; +- int index = 0; +- +- while (1) +- { +- unsigned short bitspec = table[index]; +- unsigned int bitfield = +- ((unsigned int)(bits >> (bitspec & 63))) & (bitspec >> 6); +- +- unsigned short next = table[index + 1 + bitfield]; +- if (next <= TILEGX_OPC_NONE) +- return &tilegx_opcodes[next]; +- +- index = next - TILEGX_OPC_NONE; +- } +-} +- +-int +-parse_insn_tilegx(tilegx_bundle_bits bits, +- unsigned long long pc, +- struct tilegx_decoded_instruction +- decoded[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE]) +-{ +- int num_instructions = 0; +- int pipe; +- +- int min_pipe, max_pipe; +- if ((bits & TILEGX_BUNDLE_MODE_MASK) == 0) +- { +- min_pipe = TILEGX_PIPELINE_X0; +- max_pipe = TILEGX_PIPELINE_X1; +- } +- else +- { +- min_pipe = TILEGX_PIPELINE_Y0; +- max_pipe = TILEGX_PIPELINE_Y2; +- } +- +- /* For each pipe, find an instruction that fits. */ +- for (pipe = min_pipe; pipe <= max_pipe; pipe++) +- { +- const struct tilegx_opcode *opc; +- struct tilegx_decoded_instruction *d; +- int i; +- +- d = &decoded[num_instructions++]; +- opc = find_opcode (bits, (tilegx_pipeline)pipe); +- d->opcode = opc; +- +- /* Decode each operand, sign extending, etc. as appropriate. */ +- for (i = 0; i < opc->num_operands; i++) +- { +- const struct tilegx_operand *op = +- &tilegx_operands[opc->operands[pipe][i]]; +- int raw_opval = op->extract (bits); +- long long opval; +- +- if (op->is_signed) +- { +- /* Sign-extend the operand. */ +- int shift = (int)((sizeof(int) * 8) - op->num_bits); +- raw_opval = (raw_opval << shift) >> shift; +- } +- +- /* Adjust PC-relative scaled branch offsets. */ +- if (op->type == TILEGX_OP_TYPE_ADDRESS) +- opval = (raw_opval * TILEGX_BUNDLE_SIZE_IN_BYTES) + pc; +- else +- opval = raw_opval; +- +- /* Record the final value. */ +- d->operands[i] = op; +- d->operand_values[i] = opval; +- } +- } +- +- return num_instructions; +-} +- +-struct tilegx_spr +-{ +- /* The number */ +- int number; +- +- /* The name */ +- const char *name; +-}; +- +-static int +-tilegx_spr_compare (const void *a_ptr, const void *b_ptr) +-{ +- const struct tilegx_spr *a = (const struct tilegx_spr *) a_ptr; +- const struct tilegx_spr *b = (const struct tilegx_spr *) b_ptr; +- return (a->number - b->number); +-} +- +-const struct tilegx_spr tilegx_sprs[] = { +- { 0, "MPL_MEM_ERROR_SET_0" }, +- { 1, "MPL_MEM_ERROR_SET_1" }, +- { 2, "MPL_MEM_ERROR_SET_2" }, +- { 3, "MPL_MEM_ERROR_SET_3" }, +- { 4, "MPL_MEM_ERROR" }, +- { 5, "MEM_ERROR_CBOX_ADDR" }, +- { 6, "MEM_ERROR_CBOX_STATUS" }, +- { 7, "MEM_ERROR_ENABLE" }, +- { 8, "MEM_ERROR_MBOX_ADDR" }, +- { 9, "MEM_ERROR_MBOX_STATUS" }, +- { 10, "SBOX_ERROR" }, +- { 11, "XDN_DEMUX_ERROR" }, +- { 256, "MPL_SINGLE_STEP_3_SET_0" }, +- { 257, "MPL_SINGLE_STEP_3_SET_1" }, +- { 258, "MPL_SINGLE_STEP_3_SET_2" }, +- { 259, "MPL_SINGLE_STEP_3_SET_3" }, +- { 260, "MPL_SINGLE_STEP_3" }, +- { 261, "SINGLE_STEP_CONTROL_3" }, +- { 512, "MPL_SINGLE_STEP_2_SET_0" }, +- { 513, "MPL_SINGLE_STEP_2_SET_1" }, +- { 514, "MPL_SINGLE_STEP_2_SET_2" }, +- { 515, "MPL_SINGLE_STEP_2_SET_3" }, +- { 516, "MPL_SINGLE_STEP_2" }, +- { 517, "SINGLE_STEP_CONTROL_2" }, +- { 768, "MPL_SINGLE_STEP_1_SET_0" }, +- { 769, "MPL_SINGLE_STEP_1_SET_1" }, +- { 770, "MPL_SINGLE_STEP_1_SET_2" }, +- { 771, "MPL_SINGLE_STEP_1_SET_3" }, +- { 772, "MPL_SINGLE_STEP_1" }, +- { 773, "SINGLE_STEP_CONTROL_1" }, +- { 1024, "MPL_SINGLE_STEP_0_SET_0" }, +- { 1025, "MPL_SINGLE_STEP_0_SET_1" }, +- { 1026, "MPL_SINGLE_STEP_0_SET_2" }, +- { 1027, "MPL_SINGLE_STEP_0_SET_3" }, +- { 1028, "MPL_SINGLE_STEP_0" }, +- { 1029, "SINGLE_STEP_CONTROL_0" }, +- { 1280, "MPL_IDN_COMPLETE_SET_0" }, +- { 1281, "MPL_IDN_COMPLETE_SET_1" }, +- { 1282, "MPL_IDN_COMPLETE_SET_2" }, +- { 1283, "MPL_IDN_COMPLETE_SET_3" }, +- { 1284, "MPL_IDN_COMPLETE" }, +- { 1285, "IDN_COMPLETE_PENDING" }, +- { 1536, "MPL_UDN_COMPLETE_SET_0" }, +- { 1537, "MPL_UDN_COMPLETE_SET_1" }, +- { 1538, "MPL_UDN_COMPLETE_SET_2" }, +- { 1539, "MPL_UDN_COMPLETE_SET_3" }, +- { 1540, "MPL_UDN_COMPLETE" }, +- { 1541, "UDN_COMPLETE_PENDING" }, +- { 1792, "MPL_ITLB_MISS_SET_0" }, +- { 1793, "MPL_ITLB_MISS_SET_1" }, +- { 1794, "MPL_ITLB_MISS_SET_2" }, +- { 1795, "MPL_ITLB_MISS_SET_3" }, +- { 1796, "MPL_ITLB_MISS" }, +- { 1797, "ITLB_TSB_BASE_ADDR_0" }, +- { 1798, "ITLB_TSB_BASE_ADDR_1" }, +- { 1920, "ITLB_CURRENT_ATTR" }, +- { 1921, "ITLB_CURRENT_PA" }, +- { 1922, "ITLB_CURRENT_VA" }, +- { 1923, "ITLB_INDEX" }, +- { 1924, "ITLB_MATCH_0" }, +- { 1925, "ITLB_PERF" }, +- { 1926, "ITLB_PR" }, +- { 1927, "ITLB_TSB_ADDR_0" }, +- { 1928, "ITLB_TSB_ADDR_1" }, +- { 1929, "ITLB_TSB_FILL_CURRENT_ATTR" }, +- { 1930, "ITLB_TSB_FILL_MATCH" }, +- { 1931, "NUMBER_ITLB" }, +- { 1932, "REPLACEMENT_ITLB" }, +- { 1933, "WIRED_ITLB" }, +- { 2048, "MPL_ILL_SET_0" }, +- { 2049, "MPL_ILL_SET_1" }, +- { 2050, "MPL_ILL_SET_2" }, +- { 2051, "MPL_ILL_SET_3" }, +- { 2052, "MPL_ILL" }, +- { 2304, "MPL_GPV_SET_0" }, +- { 2305, "MPL_GPV_SET_1" }, +- { 2306, "MPL_GPV_SET_2" }, +- { 2307, "MPL_GPV_SET_3" }, +- { 2308, "MPL_GPV" }, +- { 2309, "GPV_REASON" }, +- { 2560, "MPL_IDN_ACCESS_SET_0" }, +- { 2561, "MPL_IDN_ACCESS_SET_1" }, +- { 2562, "MPL_IDN_ACCESS_SET_2" }, +- { 2563, "MPL_IDN_ACCESS_SET_3" }, +- { 2564, "MPL_IDN_ACCESS" }, +- { 2565, "IDN_DEMUX_COUNT_0" }, +- { 2566, "IDN_DEMUX_COUNT_1" }, +- { 2567, "IDN_FLUSH_EGRESS" }, +- { 2568, "IDN_PENDING" }, +- { 2569, "IDN_ROUTE_ORDER" }, +- { 2570, "IDN_SP_FIFO_CNT" }, +- { 2688, "IDN_DATA_AVAIL" }, +- { 2816, "MPL_UDN_ACCESS_SET_0" }, +- { 2817, "MPL_UDN_ACCESS_SET_1" }, +- { 2818, "MPL_UDN_ACCESS_SET_2" }, +- { 2819, "MPL_UDN_ACCESS_SET_3" }, +- { 2820, "MPL_UDN_ACCESS" }, +- { 2821, "UDN_DEMUX_COUNT_0" }, +- { 2822, "UDN_DEMUX_COUNT_1" }, +- { 2823, "UDN_DEMUX_COUNT_2" }, +- { 2824, "UDN_DEMUX_COUNT_3" }, +- { 2825, "UDN_FLUSH_EGRESS" }, +- { 2826, "UDN_PENDING" }, +- { 2827, "UDN_ROUTE_ORDER" }, +- { 2828, "UDN_SP_FIFO_CNT" }, +- { 2944, "UDN_DATA_AVAIL" }, +- { 3072, "MPL_SWINT_3_SET_0" }, +- { 3073, "MPL_SWINT_3_SET_1" }, +- { 3074, "MPL_SWINT_3_SET_2" }, +- { 3075, "MPL_SWINT_3_SET_3" }, +- { 3076, "MPL_SWINT_3" }, +- { 3328, "MPL_SWINT_2_SET_0" }, +- { 3329, "MPL_SWINT_2_SET_1" }, +- { 3330, "MPL_SWINT_2_SET_2" }, +- { 3331, "MPL_SWINT_2_SET_3" }, +- { 3332, "MPL_SWINT_2" }, +- { 3584, "MPL_SWINT_1_SET_0" }, +- { 3585, "MPL_SWINT_1_SET_1" }, +- { 3586, "MPL_SWINT_1_SET_2" }, +- { 3587, "MPL_SWINT_1_SET_3" }, +- { 3588, "MPL_SWINT_1" }, +- { 3840, "MPL_SWINT_0_SET_0" }, +- { 3841, "MPL_SWINT_0_SET_1" }, +- { 3842, "MPL_SWINT_0_SET_2" }, +- { 3843, "MPL_SWINT_0_SET_3" }, +- { 3844, "MPL_SWINT_0" }, +- { 4096, "MPL_ILL_TRANS_SET_0" }, +- { 4097, "MPL_ILL_TRANS_SET_1" }, +- { 4098, "MPL_ILL_TRANS_SET_2" }, +- { 4099, "MPL_ILL_TRANS_SET_3" }, +- { 4100, "MPL_ILL_TRANS" }, +- { 4101, "ILL_TRANS_REASON" }, +- { 4102, "ILL_VA_PC" }, +- { 4352, "MPL_UNALIGN_DATA_SET_0" }, +- { 4353, "MPL_UNALIGN_DATA_SET_1" }, +- { 4354, "MPL_UNALIGN_DATA_SET_2" }, +- { 4355, "MPL_UNALIGN_DATA_SET_3" }, +- { 4356, "MPL_UNALIGN_DATA" }, +- { 4608, "MPL_DTLB_MISS_SET_0" }, +- { 4609, "MPL_DTLB_MISS_SET_1" }, +- { 4610, "MPL_DTLB_MISS_SET_2" }, +- { 4611, "MPL_DTLB_MISS_SET_3" }, +- { 4612, "MPL_DTLB_MISS" }, +- { 4613, "DTLB_TSB_BASE_ADDR_0" }, +- { 4614, "DTLB_TSB_BASE_ADDR_1" }, +- { 4736, "AAR" }, +- { 4737, "CACHE_PINNED_WAYS" }, +- { 4738, "DTLB_BAD_ADDR" }, +- { 4739, "DTLB_BAD_ADDR_REASON" }, +- { 4740, "DTLB_CURRENT_ATTR" }, +- { 4741, "DTLB_CURRENT_PA" }, +- { 4742, "DTLB_CURRENT_VA" }, +- { 4743, "DTLB_INDEX" }, +- { 4744, "DTLB_MATCH_0" }, +- { 4745, "DTLB_PERF" }, +- { 4746, "DTLB_TSB_ADDR_0" }, +- { 4747, "DTLB_TSB_ADDR_1" }, +- { 4748, "DTLB_TSB_FILL_CURRENT_ATTR" }, +- { 4749, "DTLB_TSB_FILL_MATCH" }, +- { 4750, "NUMBER_DTLB" }, +- { 4751, "REPLACEMENT_DTLB" }, +- { 4752, "WIRED_DTLB" }, +- { 4864, "MPL_DTLB_ACCESS_SET_0" }, +- { 4865, "MPL_DTLB_ACCESS_SET_1" }, +- { 4866, "MPL_DTLB_ACCESS_SET_2" }, +- { 4867, "MPL_DTLB_ACCESS_SET_3" }, +- { 4868, "MPL_DTLB_ACCESS" }, +- { 5120, "MPL_IDN_FIREWALL_SET_0" }, +- { 5121, "MPL_IDN_FIREWALL_SET_1" }, +- { 5122, "MPL_IDN_FIREWALL_SET_2" }, +- { 5123, "MPL_IDN_FIREWALL_SET_3" }, +- { 5124, "MPL_IDN_FIREWALL" }, +- { 5125, "IDN_DIRECTION_PROTECT" }, +- { 5376, "MPL_UDN_FIREWALL_SET_0" }, +- { 5377, "MPL_UDN_FIREWALL_SET_1" }, +- { 5378, "MPL_UDN_FIREWALL_SET_2" }, +- { 5379, "MPL_UDN_FIREWALL_SET_3" }, +- { 5380, "MPL_UDN_FIREWALL" }, +- { 5381, "UDN_DIRECTION_PROTECT" }, +- { 5632, "MPL_TILE_TIMER_SET_0" }, +- { 5633, "MPL_TILE_TIMER_SET_1" }, +- { 5634, "MPL_TILE_TIMER_SET_2" }, +- { 5635, "MPL_TILE_TIMER_SET_3" }, +- { 5636, "MPL_TILE_TIMER" }, +- { 5637, "TILE_TIMER_CONTROL" }, +- { 5888, "MPL_AUX_TILE_TIMER_SET_0" }, +- { 5889, "MPL_AUX_TILE_TIMER_SET_1" }, +- { 5890, "MPL_AUX_TILE_TIMER_SET_2" }, +- { 5891, "MPL_AUX_TILE_TIMER_SET_3" }, +- { 5892, "MPL_AUX_TILE_TIMER" }, +- { 5893, "AUX_TILE_TIMER_CONTROL" }, +- { 6144, "MPL_IDN_TIMER_SET_0" }, +- { 6145, "MPL_IDN_TIMER_SET_1" }, +- { 6146, "MPL_IDN_TIMER_SET_2" }, +- { 6147, "MPL_IDN_TIMER_SET_3" }, +- { 6148, "MPL_IDN_TIMER" }, +- { 6149, "IDN_DEADLOCK_COUNT" }, +- { 6150, "IDN_DEADLOCK_TIMEOUT" }, +- { 6400, "MPL_UDN_TIMER_SET_0" }, +- { 6401, "MPL_UDN_TIMER_SET_1" }, +- { 6402, "MPL_UDN_TIMER_SET_2" }, +- { 6403, "MPL_UDN_TIMER_SET_3" }, +- { 6404, "MPL_UDN_TIMER" }, +- { 6405, "UDN_DEADLOCK_COUNT" }, +- { 6406, "UDN_DEADLOCK_TIMEOUT" }, +- { 6656, "MPL_IDN_AVAIL_SET_0" }, +- { 6657, "MPL_IDN_AVAIL_SET_1" }, +- { 6658, "MPL_IDN_AVAIL_SET_2" }, +- { 6659, "MPL_IDN_AVAIL_SET_3" }, +- { 6660, "MPL_IDN_AVAIL" }, +- { 6661, "IDN_AVAIL_EN" }, +- { 6912, "MPL_UDN_AVAIL_SET_0" }, +- { 6913, "MPL_UDN_AVAIL_SET_1" }, +- { 6914, "MPL_UDN_AVAIL_SET_2" }, +- { 6915, "MPL_UDN_AVAIL_SET_3" }, +- { 6916, "MPL_UDN_AVAIL" }, +- { 6917, "UDN_AVAIL_EN" }, +- { 7168, "MPL_IPI_3_SET_0" }, +- { 7169, "MPL_IPI_3_SET_1" }, +- { 7170, "MPL_IPI_3_SET_2" }, +- { 7171, "MPL_IPI_3_SET_3" }, +- { 7172, "MPL_IPI_3" }, +- { 7173, "IPI_EVENT_3" }, +- { 7174, "IPI_EVENT_RESET_3" }, +- { 7175, "IPI_EVENT_SET_3" }, +- { 7176, "IPI_MASK_3" }, +- { 7177, "IPI_MASK_RESET_3" }, +- { 7178, "IPI_MASK_SET_3" }, +- { 7424, "MPL_IPI_2_SET_0" }, +- { 7425, "MPL_IPI_2_SET_1" }, +- { 7426, "MPL_IPI_2_SET_2" }, +- { 7427, "MPL_IPI_2_SET_3" }, +- { 7428, "MPL_IPI_2" }, +- { 7429, "IPI_EVENT_2" }, +- { 7430, "IPI_EVENT_RESET_2" }, +- { 7431, "IPI_EVENT_SET_2" }, +- { 7432, "IPI_MASK_2" }, +- { 7433, "IPI_MASK_RESET_2" }, +- { 7434, "IPI_MASK_SET_2" }, +- { 7680, "MPL_IPI_1_SET_0" }, +- { 7681, "MPL_IPI_1_SET_1" }, +- { 7682, "MPL_IPI_1_SET_2" }, +- { 7683, "MPL_IPI_1_SET_3" }, +- { 7684, "MPL_IPI_1" }, +- { 7685, "IPI_EVENT_1" }, +- { 7686, "IPI_EVENT_RESET_1" }, +- { 7687, "IPI_EVENT_SET_1" }, +- { 7688, "IPI_MASK_1" }, +- { 7689, "IPI_MASK_RESET_1" }, +- { 7690, "IPI_MASK_SET_1" }, +- { 7936, "MPL_IPI_0_SET_0" }, +- { 7937, "MPL_IPI_0_SET_1" }, +- { 7938, "MPL_IPI_0_SET_2" }, +- { 7939, "MPL_IPI_0_SET_3" }, +- { 7940, "MPL_IPI_0" }, +- { 7941, "IPI_EVENT_0" }, +- { 7942, "IPI_EVENT_RESET_0" }, +- { 7943, "IPI_EVENT_SET_0" }, +- { 7944, "IPI_MASK_0" }, +- { 7945, "IPI_MASK_RESET_0" }, +- { 7946, "IPI_MASK_SET_0" }, +- { 8192, "MPL_PERF_COUNT_SET_0" }, +- { 8193, "MPL_PERF_COUNT_SET_1" }, +- { 8194, "MPL_PERF_COUNT_SET_2" }, +- { 8195, "MPL_PERF_COUNT_SET_3" }, +- { 8196, "MPL_PERF_COUNT" }, +- { 8197, "PERF_COUNT_0" }, +- { 8198, "PERF_COUNT_1" }, +- { 8199, "PERF_COUNT_CTL" }, +- { 8200, "PERF_COUNT_DN_CTL" }, +- { 8201, "PERF_COUNT_STS" }, +- { 8202, "WATCH_MASK" }, +- { 8203, "WATCH_VAL" }, +- { 8448, "MPL_AUX_PERF_COUNT_SET_0" }, +- { 8449, "MPL_AUX_PERF_COUNT_SET_1" }, +- { 8450, "MPL_AUX_PERF_COUNT_SET_2" }, +- { 8451, "MPL_AUX_PERF_COUNT_SET_3" }, +- { 8452, "MPL_AUX_PERF_COUNT" }, +- { 8453, "AUX_PERF_COUNT_0" }, +- { 8454, "AUX_PERF_COUNT_1" }, +- { 8455, "AUX_PERF_COUNT_CTL" }, +- { 8456, "AUX_PERF_COUNT_STS" }, +- { 8704, "MPL_INTCTRL_3_SET_0" }, +- { 8705, "MPL_INTCTRL_3_SET_1" }, +- { 8706, "MPL_INTCTRL_3_SET_2" }, +- { 8707, "MPL_INTCTRL_3_SET_3" }, +- { 8708, "MPL_INTCTRL_3" }, +- { 8709, "INTCTRL_3_STATUS" }, +- { 8710, "INTERRUPT_MASK_3" }, +- { 8711, "INTERRUPT_MASK_RESET_3" }, +- { 8712, "INTERRUPT_MASK_SET_3" }, +- { 8713, "INTERRUPT_VECTOR_BASE_3" }, +- { 8714, "SINGLE_STEP_EN_0_3" }, +- { 8715, "SINGLE_STEP_EN_1_3" }, +- { 8716, "SINGLE_STEP_EN_2_3" }, +- { 8717, "SINGLE_STEP_EN_3_3" }, +- { 8832, "EX_CONTEXT_3_0" }, +- { 8833, "EX_CONTEXT_3_1" }, +- { 8834, "SYSTEM_SAVE_3_0" }, +- { 8835, "SYSTEM_SAVE_3_1" }, +- { 8836, "SYSTEM_SAVE_3_2" }, +- { 8837, "SYSTEM_SAVE_3_3" }, +- { 8960, "MPL_INTCTRL_2_SET_0" }, +- { 8961, "MPL_INTCTRL_2_SET_1" }, +- { 8962, "MPL_INTCTRL_2_SET_2" }, +- { 8963, "MPL_INTCTRL_2_SET_3" }, +- { 8964, "MPL_INTCTRL_2" }, +- { 8965, "INTCTRL_2_STATUS" }, +- { 8966, "INTERRUPT_MASK_2" }, +- { 8967, "INTERRUPT_MASK_RESET_2" }, +- { 8968, "INTERRUPT_MASK_SET_2" }, +- { 8969, "INTERRUPT_VECTOR_BASE_2" }, +- { 8970, "SINGLE_STEP_EN_0_2" }, +- { 8971, "SINGLE_STEP_EN_1_2" }, +- { 8972, "SINGLE_STEP_EN_2_2" }, +- { 8973, "SINGLE_STEP_EN_3_2" }, +- { 9088, "EX_CONTEXT_2_0" }, +- { 9089, "EX_CONTEXT_2_1" }, +- { 9090, "SYSTEM_SAVE_2_0" }, +- { 9091, "SYSTEM_SAVE_2_1" }, +- { 9092, "SYSTEM_SAVE_2_2" }, +- { 9093, "SYSTEM_SAVE_2_3" }, +- { 9216, "MPL_INTCTRL_1_SET_0" }, +- { 9217, "MPL_INTCTRL_1_SET_1" }, +- { 9218, "MPL_INTCTRL_1_SET_2" }, +- { 9219, "MPL_INTCTRL_1_SET_3" }, +- { 9220, "MPL_INTCTRL_1" }, +- { 9221, "INTCTRL_1_STATUS" }, +- { 9222, "INTERRUPT_MASK_1" }, +- { 9223, "INTERRUPT_MASK_RESET_1" }, +- { 9224, "INTERRUPT_MASK_SET_1" }, +- { 9225, "INTERRUPT_VECTOR_BASE_1" }, +- { 9226, "SINGLE_STEP_EN_0_1" }, +- { 9227, "SINGLE_STEP_EN_1_1" }, +- { 9228, "SINGLE_STEP_EN_2_1" }, +- { 9229, "SINGLE_STEP_EN_3_1" }, +- { 9344, "EX_CONTEXT_1_0" }, +- { 9345, "EX_CONTEXT_1_1" }, +- { 9346, "SYSTEM_SAVE_1_0" }, +- { 9347, "SYSTEM_SAVE_1_1" }, +- { 9348, "SYSTEM_SAVE_1_2" }, +- { 9349, "SYSTEM_SAVE_1_3" }, +- { 9472, "MPL_INTCTRL_0_SET_0" }, +- { 9473, "MPL_INTCTRL_0_SET_1" }, +- { 9474, "MPL_INTCTRL_0_SET_2" }, +- { 9475, "MPL_INTCTRL_0_SET_3" }, +- { 9476, "MPL_INTCTRL_0" }, +- { 9477, "INTCTRL_0_STATUS" }, +- { 9478, "INTERRUPT_MASK_0" }, +- { 9479, "INTERRUPT_MASK_RESET_0" }, +- { 9480, "INTERRUPT_MASK_SET_0" }, +- { 9481, "INTERRUPT_VECTOR_BASE_0" }, +- { 9482, "SINGLE_STEP_EN_0_0" }, +- { 9483, "SINGLE_STEP_EN_1_0" }, +- { 9484, "SINGLE_STEP_EN_2_0" }, +- { 9485, "SINGLE_STEP_EN_3_0" }, +- { 9600, "EX_CONTEXT_0_0" }, +- { 9601, "EX_CONTEXT_0_1" }, +- { 9602, "SYSTEM_SAVE_0_0" }, +- { 9603, "SYSTEM_SAVE_0_1" }, +- { 9604, "SYSTEM_SAVE_0_2" }, +- { 9605, "SYSTEM_SAVE_0_3" }, +- { 9728, "MPL_BOOT_ACCESS_SET_0" }, +- { 9729, "MPL_BOOT_ACCESS_SET_1" }, +- { 9730, "MPL_BOOT_ACCESS_SET_2" }, +- { 9731, "MPL_BOOT_ACCESS_SET_3" }, +- { 9732, "MPL_BOOT_ACCESS" }, +- { 9733, "BIG_ENDIAN_CONFIG" }, +- { 9734, "CACHE_INVALIDATION_COMPRESSION_MODE" }, +- { 9735, "CACHE_INVALIDATION_MASK_0" }, +- { 9736, "CACHE_INVALIDATION_MASK_1" }, +- { 9737, "CACHE_INVALIDATION_MASK_2" }, +- { 9738, "CBOX_CACHEASRAM_CONFIG" }, +- { 9739, "CBOX_CACHE_CONFIG" }, +- { 9740, "CBOX_HOME_MAP_ADDR" }, +- { 9741, "CBOX_HOME_MAP_DATA" }, +- { 9742, "CBOX_MMAP_0" }, +- { 9743, "CBOX_MMAP_1" }, +- { 9744, "CBOX_MMAP_2" }, +- { 9745, "CBOX_MMAP_3" }, +- { 9746, "CBOX_MSR" }, +- { 9747, "DIAG_BCST_CTL" }, +- { 9748, "DIAG_BCST_MASK" }, +- { 9749, "DIAG_BCST_TRIGGER" }, +- { 9750, "DIAG_MUX_CTL" }, +- { 9751, "DIAG_TRACE_CTL" }, +- { 9752, "DIAG_TRACE_DATA" }, +- { 9753, "DIAG_TRACE_STS" }, +- { 9754, "IDN_DEMUX_BUF_THRESH" }, +- { 9755, "L1_I_PIN_WAY_0" }, +- { 9756, "MEM_ROUTE_ORDER" }, +- { 9757, "MEM_STRIPE_CONFIG" }, +- { 9758, "PERF_COUNT_PLS" }, +- { 9759, "PSEUDO_RANDOM_NUMBER_MODIFY" }, +- { 9760, "QUIESCE_CTL" }, +- { 9761, "RSHIM_COORD" }, +- { 9762, "SBOX_CONFIG" }, +- { 9763, "UDN_DEMUX_BUF_THRESH" }, +- { 9764, "XDN_CORE_STARVATION_COUNT" }, +- { 9765, "XDN_ROUND_ROBIN_ARB_CTL" }, +- { 9856, "CYCLE_MODIFY" }, +- { 9857, "I_AAR" }, +- { 9984, "MPL_WORLD_ACCESS_SET_0" }, +- { 9985, "MPL_WORLD_ACCESS_SET_1" }, +- { 9986, "MPL_WORLD_ACCESS_SET_2" }, +- { 9987, "MPL_WORLD_ACCESS_SET_3" }, +- { 9988, "MPL_WORLD_ACCESS" }, +- { 9989, "DONE" }, +- { 9990, "DSTREAM_PF" }, +- { 9991, "FAIL" }, +- { 9992, "INTERRUPT_CRITICAL_SECTION" }, +- { 9993, "PASS" }, +- { 9994, "PSEUDO_RANDOM_NUMBER" }, +- { 9995, "TILE_COORD" }, +- { 9996, "TILE_RTF_HWM" }, +- { 10112, "CMPEXCH_VALUE" }, +- { 10113, "CYCLE" }, +- { 10114, "EVENT_BEGIN" }, +- { 10115, "EVENT_END" }, +- { 10116, "PROC_STATUS" }, +- { 10117, "SIM_CONTROL" }, +- { 10118, "SIM_SOCKET" }, +- { 10119, "STATUS_SATURATE" }, +- { 10240, "MPL_I_ASID_SET_0" }, +- { 10241, "MPL_I_ASID_SET_1" }, +- { 10242, "MPL_I_ASID_SET_2" }, +- { 10243, "MPL_I_ASID_SET_3" }, +- { 10244, "MPL_I_ASID" }, +- { 10245, "I_ASID" }, +- { 10496, "MPL_D_ASID_SET_0" }, +- { 10497, "MPL_D_ASID_SET_1" }, +- { 10498, "MPL_D_ASID_SET_2" }, +- { 10499, "MPL_D_ASID_SET_3" }, +- { 10500, "MPL_D_ASID" }, +- { 10501, "D_ASID" }, +- { 10752, "MPL_DOUBLE_FAULT_SET_0" }, +- { 10753, "MPL_DOUBLE_FAULT_SET_1" }, +- { 10754, "MPL_DOUBLE_FAULT_SET_2" }, +- { 10755, "MPL_DOUBLE_FAULT_SET_3" }, +- { 10756, "MPL_DOUBLE_FAULT" }, +- { 10757, "LAST_INTERRUPT_REASON" }, +-}; +- +-const int tilegx_num_sprs = 441; +- +-const char * +-get_tilegx_spr_name (int num) +-{ +- void *result; +- struct tilegx_spr key; +- +- key.number = num; +- result = bsearch((const void *) &key, (const void *) tilegx_sprs, +- tilegx_num_sprs, sizeof (struct tilegx_spr), +- tilegx_spr_compare); +- +- if (result == NULL) +- { +- return (NULL); +- } +- else +- { +- struct tilegx_spr *result_ptr = (struct tilegx_spr *) result; +- return (result_ptr->name); +- } +-} +- +-int +-print_insn_tilegx (unsigned char * memaddr) +-{ +- struct tilegx_decoded_instruction +- decoded[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE]; +- unsigned char opbuf[TILEGX_BUNDLE_SIZE_IN_BYTES]; +- int i, num_instructions, num_printed; +- tilegx_mnemonic padding_mnemonic; +- +- memcpy((void *)opbuf, (void *)memaddr, TILEGX_BUNDLE_SIZE_IN_BYTES); +- +- /* Parse the instructions in the bundle. */ +- num_instructions = +- parse_insn_tilegx (*(unsigned long long *)opbuf, (unsigned long long)memaddr, decoded); +- +- /* Print the instructions in the bundle. */ +- printf("{ "); +- num_printed = 0; +- +- /* Determine which nop opcode is used for padding and should be skipped. */ +- padding_mnemonic = TILEGX_OPC_FNOP; +- for (i = 0; i < num_instructions; i++) +- { +- if (!decoded[i].opcode->can_bundle) +- { +- /* Instructions that cannot be bundled are padded out with nops, +- rather than fnops. Displaying them is always clutter. */ +- padding_mnemonic = TILEGX_OPC_NOP; +- break; +- } +- } +- +- for (i = 0; i < num_instructions; i++) +- { +- const struct tilegx_opcode *opcode = decoded[i].opcode; +- const char *name; +- int j; +- +- /* Do not print out fnops, unless everything is an fnop, in +- which case we will print out just the last one. */ +- if (opcode->mnemonic == padding_mnemonic +- && (num_printed > 0 || i + 1 < num_instructions)) +- continue; +- +- if (num_printed > 0) +- printf(" ; "); +- ++num_printed; +- +- name = opcode->name; +- if (name == NULL) +- name = ""; +- printf("%s", name); +- +- for (j = 0; j < opcode->num_operands; j++) +- { +- unsigned long long num; +- const struct tilegx_operand *op; +- const char *spr_name; +- +- if (j > 0) +- printf (","); +- printf (" "); +- +- num = decoded[i].operand_values[j]; +- +- op = decoded[i].operands[j]; +- switch (op->type) +- { +- case TILEGX_OP_TYPE_REGISTER: +- printf ("%s", tilegx_register_names[(int)num]); +- break; +- case TILEGX_OP_TYPE_SPR: +- spr_name = get_tilegx_spr_name(num); +- if (spr_name != NULL) +- printf ("%s", spr_name); +- else +- printf ("%d", (int)num); +- break; +- case TILEGX_OP_TYPE_IMMEDIATE: +- printf ("%d", (int)num); +- break; +- case TILEGX_OP_TYPE_ADDRESS: +- printf ("0x%016llx", num); +- break; +- default: +- abort (); +- } +- } +- } +- printf (" }\n"); +- +- return TILEGX_BUNDLE_SIZE_IN_BYTES; +-} +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX_64.c b/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX_64.c +deleted file mode 100644 +index d69ecd6170..0000000000 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeTILEGX_64.c ++++ /dev/null +@@ -1,2563 +0,0 @@ +-/* +- * Stack-less Just-In-Time compiler +- * +- * Copyright 2013-2013 Tilera Corporation(jiwang@tilera.com). All rights reserved. +- * Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. +- * +- * Redistribution and use in source and binary forms, with or without modification, are +- * permitted provided that the following conditions are met: +- * +- * 1. Redistributions of source code must retain the above copyright notice, this list of +- * conditions and the following disclaimer. +- * +- * 2. Redistributions in binary form must reproduce the above copyright notice, this list +- * of conditions and the following disclaimer in the documentation and/or other materials +- * provided with the distribution. +- * +- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY +- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +- * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- */ +- +-/* TileGX architecture. */ +-/* Contributed by Tilera Corporation. */ +-#include "sljitNativeTILEGX-encoder.c" +- +-#define SIMM_8BIT_MAX (0x7f) +-#define SIMM_8BIT_MIN (-0x80) +-#define SIMM_16BIT_MAX (0x7fff) +-#define SIMM_16BIT_MIN (-0x8000) +-#define SIMM_17BIT_MAX (0xffff) +-#define SIMM_17BIT_MIN (-0x10000) +-#define SIMM_32BIT_MAX (0x7fffffff) +-#define SIMM_32BIT_MIN (-0x7fffffff - 1) +-#define SIMM_48BIT_MAX (0x7fffffff0000L) +-#define SIMM_48BIT_MIN (-0x800000000000L) +-#define IMM16(imm) ((imm) & 0xffff) +- +-#define UIMM_16BIT_MAX (0xffff) +- +-#define TMP_REG1 (SLJIT_NUMBER_OF_REGISTERS + 2) +-#define TMP_REG2 (SLJIT_NUMBER_OF_REGISTERS + 3) +-#define TMP_REG3 (SLJIT_NUMBER_OF_REGISTERS + 4) +-#define ADDR_TMP (SLJIT_NUMBER_OF_REGISTERS + 5) +-#define PIC_ADDR_REG TMP_REG2 +- +-static const sljit_u8 reg_map[SLJIT_NUMBER_OF_REGISTERS + 6] = { +- 63, 0, 1, 2, 3, 4, 30, 31, 32, 33, 34, 54, 5, 16, 6, 7 +-}; +- +-#define SLJIT_LOCALS_REG_mapped 54 +-#define TMP_REG1_mapped 5 +-#define TMP_REG2_mapped 16 +-#define TMP_REG3_mapped 6 +-#define ADDR_TMP_mapped 7 +- +-/* Flags are keept in volatile registers. */ +-#define EQUAL_FLAG 8 +-/* And carry flag as well. */ +-#define ULESS_FLAG 9 +-#define UGREATER_FLAG 10 +-#define LESS_FLAG 11 +-#define GREATER_FLAG 12 +-#define OVERFLOW_FLAG 13 +- +-#define ZERO 63 +-#define RA 55 +-#define TMP_EREG1 14 +-#define TMP_EREG2 15 +- +-#define LOAD_DATA 0x01 +-#define WORD_DATA 0x00 +-#define BYTE_DATA 0x02 +-#define HALF_DATA 0x04 +-#define INT_DATA 0x06 +-#define SIGNED_DATA 0x08 +-#define DOUBLE_DATA 0x10 +- +-/* Separates integer and floating point registers */ +-#define GPR_REG 0xf +- +-#define MEM_MASK 0x1f +- +-#define WRITE_BACK 0x00020 +-#define ARG_TEST 0x00040 +-#define ALT_KEEP_CACHE 0x00080 +-#define CUMULATIVE_OP 0x00100 +-#define LOGICAL_OP 0x00200 +-#define IMM_OP 0x00400 +-#define SRC2_IMM 0x00800 +- +-#define UNUSED_DEST 0x01000 +-#define REG_DEST 0x02000 +-#define REG1_SOURCE 0x04000 +-#define REG2_SOURCE 0x08000 +-#define SLOW_SRC1 0x10000 +-#define SLOW_SRC2 0x20000 +-#define SLOW_DEST 0x40000 +- +-/* Only these flags are set. UNUSED_DEST is not set when no flags should be set. +- */ +-#define CHECK_FLAGS(list) (!(flags & UNUSED_DEST) || (op & GET_FLAGS(~(list)))) +- +-SLJIT_API_FUNC_ATTRIBUTE const char *sljit_get_platform_name(void) +-{ +- return "TileGX" SLJIT_CPUINFO; +-} +- +-/* Length of an instruction word */ +-typedef sljit_uw sljit_ins; +- +-struct jit_instr { +- const struct tilegx_opcode* opcode; +- tilegx_pipeline pipe; +- unsigned long input_registers; +- unsigned long output_registers; +- int operand_value[4]; +- int line; +-}; +- +-/* Opcode Helper Macros */ +-#define TILEGX_X_MODE 0 +- +-#define X_MODE create_Mode(TILEGX_X_MODE) +- +-#define FNOP_X0 \ +- create_Opcode_X0(RRR_0_OPCODE_X0) | \ +- create_RRROpcodeExtension_X0(UNARY_RRR_0_OPCODE_X0) | \ +- create_UnaryOpcodeExtension_X0(FNOP_UNARY_OPCODE_X0) +- +-#define FNOP_X1 \ +- create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(UNARY_RRR_0_OPCODE_X1) | \ +- create_UnaryOpcodeExtension_X1(FNOP_UNARY_OPCODE_X1) +- +-#define NOP \ +- create_Mode(TILEGX_X_MODE) | FNOP_X0 | FNOP_X1 +- +-#define ANOP_X0 \ +- create_Opcode_X0(RRR_0_OPCODE_X0) | \ +- create_RRROpcodeExtension_X0(UNARY_RRR_0_OPCODE_X0) | \ +- create_UnaryOpcodeExtension_X0(NOP_UNARY_OPCODE_X0) +- +-#define BPT create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(UNARY_RRR_0_OPCODE_X1) | \ +- create_UnaryOpcodeExtension_X1(ILL_UNARY_OPCODE_X1) | \ +- create_Dest_X1(0x1C) | create_SrcA_X1(0x25) | ANOP_X0 +- +-#define ADD_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(ADD_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define ADDI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(IMM8_OPCODE_X1) | \ +- create_Imm8OpcodeExtension_X1(ADDI_IMM8_OPCODE_X1) | FNOP_X0 +- +-#define SUB_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(SUB_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define NOR_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(NOR_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define OR_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(OR_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define AND_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(AND_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define XOR_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(XOR_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define CMOVNEZ_X0 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X0(RRR_0_OPCODE_X0) | \ +- create_RRROpcodeExtension_X0(CMOVNEZ_RRR_0_OPCODE_X0) | FNOP_X1 +- +-#define CMOVEQZ_X0 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X0(RRR_0_OPCODE_X0) | \ +- create_RRROpcodeExtension_X0(CMOVEQZ_RRR_0_OPCODE_X0) | FNOP_X1 +- +-#define ADDLI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(ADDLI_OPCODE_X1) | FNOP_X0 +- +-#define V4INT_L_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(V4INT_L_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define BFEXTU_X0 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X0(BF_OPCODE_X0) | \ +- create_BFOpcodeExtension_X0(BFEXTU_BF_OPCODE_X0) | FNOP_X1 +- +-#define BFEXTS_X0 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X0(BF_OPCODE_X0) | \ +- create_BFOpcodeExtension_X0(BFEXTS_BF_OPCODE_X0) | FNOP_X1 +- +-#define SHL16INSLI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(SHL16INSLI_OPCODE_X1) | FNOP_X0 +- +-#define ST_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(ST_RRR_0_OPCODE_X1) | create_Dest_X1(0x0) | FNOP_X0 +- +-#define LD_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(UNARY_RRR_0_OPCODE_X1) | \ +- create_UnaryOpcodeExtension_X1(LD_UNARY_OPCODE_X1) | FNOP_X0 +- +-#define JR_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(UNARY_RRR_0_OPCODE_X1) | \ +- create_UnaryOpcodeExtension_X1(JR_UNARY_OPCODE_X1) | FNOP_X0 +- +-#define JALR_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(UNARY_RRR_0_OPCODE_X1) | \ +- create_UnaryOpcodeExtension_X1(JALR_UNARY_OPCODE_X1) | FNOP_X0 +- +-#define CLZ_X0 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X0(RRR_0_OPCODE_X0) | \ +- create_RRROpcodeExtension_X0(UNARY_RRR_0_OPCODE_X0) | \ +- create_UnaryOpcodeExtension_X0(CNTLZ_UNARY_OPCODE_X0) | FNOP_X1 +- +-#define CMPLTUI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(IMM8_OPCODE_X1) | \ +- create_Imm8OpcodeExtension_X1(CMPLTUI_IMM8_OPCODE_X1) | FNOP_X0 +- +-#define CMPLTU_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(CMPLTU_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define CMPLTS_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(CMPLTS_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define XORI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(IMM8_OPCODE_X1) | \ +- create_Imm8OpcodeExtension_X1(XORI_IMM8_OPCODE_X1) | FNOP_X0 +- +-#define ORI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(IMM8_OPCODE_X1) | \ +- create_Imm8OpcodeExtension_X1(ORI_IMM8_OPCODE_X1) | FNOP_X0 +- +-#define ANDI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(IMM8_OPCODE_X1) | \ +- create_Imm8OpcodeExtension_X1(ANDI_IMM8_OPCODE_X1) | FNOP_X0 +- +-#define SHLI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(SHIFT_OPCODE_X1) | \ +- create_ShiftOpcodeExtension_X1(SHLI_SHIFT_OPCODE_X1) | FNOP_X0 +- +-#define SHL_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(SHL_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define SHRSI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(SHIFT_OPCODE_X1) | \ +- create_ShiftOpcodeExtension_X1(SHRSI_SHIFT_OPCODE_X1) | FNOP_X0 +- +-#define SHRS_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(SHRS_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define SHRUI_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(SHIFT_OPCODE_X1) | \ +- create_ShiftOpcodeExtension_X1(SHRUI_SHIFT_OPCODE_X1) | FNOP_X0 +- +-#define SHRU_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(RRR_0_OPCODE_X1) | \ +- create_RRROpcodeExtension_X1(SHRU_RRR_0_OPCODE_X1) | FNOP_X0 +- +-#define BEQZ_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(BRANCH_OPCODE_X1) | \ +- create_BrType_X1(BEQZ_BRANCH_OPCODE_X1) | FNOP_X0 +- +-#define BNEZ_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(BRANCH_OPCODE_X1) | \ +- create_BrType_X1(BNEZ_BRANCH_OPCODE_X1) | FNOP_X0 +- +-#define J_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(JUMP_OPCODE_X1) | \ +- create_JumpOpcodeExtension_X1(J_JUMP_OPCODE_X1) | FNOP_X0 +- +-#define JAL_X1 \ +- create_Mode(TILEGX_X_MODE) | create_Opcode_X1(JUMP_OPCODE_X1) | \ +- create_JumpOpcodeExtension_X1(JAL_JUMP_OPCODE_X1) | FNOP_X0 +- +-#define DEST_X0(x) create_Dest_X0(x) +-#define SRCA_X0(x) create_SrcA_X0(x) +-#define SRCB_X0(x) create_SrcB_X0(x) +-#define DEST_X1(x) create_Dest_X1(x) +-#define SRCA_X1(x) create_SrcA_X1(x) +-#define SRCB_X1(x) create_SrcB_X1(x) +-#define IMM16_X1(x) create_Imm16_X1(x) +-#define IMM8_X1(x) create_Imm8_X1(x) +-#define BFSTART_X0(x) create_BFStart_X0(x) +-#define BFEND_X0(x) create_BFEnd_X0(x) +-#define SHIFTIMM_X1(x) create_ShAmt_X1(x) +-#define JOFF_X1(x) create_JumpOff_X1(x) +-#define BOFF_X1(x) create_BrOff_X1(x) +- +-static const tilegx_mnemonic data_transfer_insts[16] = { +- /* u w s */ TILEGX_OPC_ST /* st */, +- /* u w l */ TILEGX_OPC_LD /* ld */, +- /* u b s */ TILEGX_OPC_ST1 /* st1 */, +- /* u b l */ TILEGX_OPC_LD1U /* ld1u */, +- /* u h s */ TILEGX_OPC_ST2 /* st2 */, +- /* u h l */ TILEGX_OPC_LD2U /* ld2u */, +- /* u i s */ TILEGX_OPC_ST4 /* st4 */, +- /* u i l */ TILEGX_OPC_LD4U /* ld4u */, +- /* s w s */ TILEGX_OPC_ST /* st */, +- /* s w l */ TILEGX_OPC_LD /* ld */, +- /* s b s */ TILEGX_OPC_ST1 /* st1 */, +- /* s b l */ TILEGX_OPC_LD1S /* ld1s */, +- /* s h s */ TILEGX_OPC_ST2 /* st2 */, +- /* s h l */ TILEGX_OPC_LD2S /* ld2s */, +- /* s i s */ TILEGX_OPC_ST4 /* st4 */, +- /* s i l */ TILEGX_OPC_LD4S /* ld4s */, +-}; +- +-#ifdef TILEGX_JIT_DEBUG +-static sljit_s32 push_inst_debug(struct sljit_compiler *compiler, sljit_ins ins, int line) +-{ +- sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); +- FAIL_IF(!ptr); +- *ptr = ins; +- compiler->size++; +- printf("|%04d|S0|:\t\t", line); +- print_insn_tilegx(ptr); +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_inst_nodebug(struct sljit_compiler *compiler, sljit_ins ins) +-{ +- sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); +- FAIL_IF(!ptr); +- *ptr = ins; +- compiler->size++; +- return SLJIT_SUCCESS; +-} +- +-#define push_inst(a, b) push_inst_debug(a, b, __LINE__) +-#else +-static sljit_s32 push_inst(struct sljit_compiler *compiler, sljit_ins ins) +-{ +- sljit_ins *ptr = (sljit_ins *)ensure_buf(compiler, sizeof(sljit_ins)); +- FAIL_IF(!ptr); +- *ptr = ins; +- compiler->size++; +- return SLJIT_SUCCESS; +-} +-#endif +- +-#define BUNDLE_FORMAT_MASK(p0, p1, p2) \ +- ((p0) | ((p1) << 8) | ((p2) << 16)) +- +-#define BUNDLE_FORMAT(p0, p1, p2) \ +- { \ +- { \ +- (tilegx_pipeline)(p0), \ +- (tilegx_pipeline)(p1), \ +- (tilegx_pipeline)(p2) \ +- }, \ +- BUNDLE_FORMAT_MASK(1 << (p0), 1 << (p1), (1 << (p2))) \ +- } +- +-#define NO_PIPELINE TILEGX_NUM_PIPELINE_ENCODINGS +- +-#define tilegx_is_x_pipeline(p) ((int)(p) <= (int)TILEGX_PIPELINE_X1) +- +-#define PI(encoding) \ +- push_inst(compiler, encoding) +- +-#define PB3(opcode, dst, srca, srcb) \ +- push_3_buffer(compiler, opcode, dst, srca, srcb, __LINE__) +- +-#define PB2(opcode, dst, src) \ +- push_2_buffer(compiler, opcode, dst, src, __LINE__) +- +-#define JR(reg) \ +- push_jr_buffer(compiler, TILEGX_OPC_JR, reg, __LINE__) +- +-#define ADD(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_ADD, dst, srca, srcb, __LINE__) +- +-#define SUB(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_SUB, dst, srca, srcb, __LINE__) +- +-#define MUL(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_MULX, dst, srca, srcb, __LINE__) +- +-#define NOR(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_NOR, dst, srca, srcb, __LINE__) +- +-#define OR(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_OR, dst, srca, srcb, __LINE__) +- +-#define XOR(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_XOR, dst, srca, srcb, __LINE__) +- +-#define AND(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_AND, dst, srca, srcb, __LINE__) +- +-#define CLZ(dst, src) \ +- push_2_buffer(compiler, TILEGX_OPC_CLZ, dst, src, __LINE__) +- +-#define SHLI(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_SHLI, dst, srca, srcb, __LINE__) +- +-#define SHRUI(dst, srca, imm) \ +- push_3_buffer(compiler, TILEGX_OPC_SHRUI, dst, srca, imm, __LINE__) +- +-#define XORI(dst, srca, imm) \ +- push_3_buffer(compiler, TILEGX_OPC_XORI, dst, srca, imm, __LINE__) +- +-#define ORI(dst, srca, imm) \ +- push_3_buffer(compiler, TILEGX_OPC_ORI, dst, srca, imm, __LINE__) +- +-#define CMPLTU(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_CMPLTU, dst, srca, srcb, __LINE__) +- +-#define CMPLTS(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_CMPLTS, dst, srca, srcb, __LINE__) +- +-#define CMPLTUI(dst, srca, imm) \ +- push_3_buffer(compiler, TILEGX_OPC_CMPLTUI, dst, srca, imm, __LINE__) +- +-#define CMOVNEZ(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_CMOVNEZ, dst, srca, srcb, __LINE__) +- +-#define CMOVEQZ(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_CMOVEQZ, dst, srca, srcb, __LINE__) +- +-#define ADDLI(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_ADDLI, dst, srca, srcb, __LINE__) +- +-#define SHL16INSLI(dst, srca, srcb) \ +- push_3_buffer(compiler, TILEGX_OPC_SHL16INSLI, dst, srca, srcb, __LINE__) +- +-#define LD_ADD(dst, addr, adjust) \ +- push_3_buffer(compiler, TILEGX_OPC_LD_ADD, dst, addr, adjust, __LINE__) +- +-#define ST_ADD(src, addr, adjust) \ +- push_3_buffer(compiler, TILEGX_OPC_ST_ADD, src, addr, adjust, __LINE__) +- +-#define LD(dst, addr) \ +- push_2_buffer(compiler, TILEGX_OPC_LD, dst, addr, __LINE__) +- +-#define BFEXTU(dst, src, start, end) \ +- push_4_buffer(compiler, TILEGX_OPC_BFEXTU, dst, src, start, end, __LINE__) +- +-#define BFEXTS(dst, src, start, end) \ +- push_4_buffer(compiler, TILEGX_OPC_BFEXTS, dst, src, start, end, __LINE__) +- +-#define ADD_SOLO(dest, srca, srcb) \ +- push_inst(compiler, ADD_X1 | DEST_X1(dest) | SRCA_X1(srca) | SRCB_X1(srcb)) +- +-#define ADDI_SOLO(dest, srca, imm) \ +- push_inst(compiler, ADDI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM8_X1(imm)) +- +-#define ADDLI_SOLO(dest, srca, imm) \ +- push_inst(compiler, ADDLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm)) +- +-#define SHL16INSLI_SOLO(dest, srca, imm) \ +- push_inst(compiler, SHL16INSLI_X1 | DEST_X1(dest) | SRCA_X1(srca) | IMM16_X1(imm)) +- +-#define JALR_SOLO(reg) \ +- push_inst(compiler, JALR_X1 | SRCA_X1(reg)) +- +-#define JR_SOLO(reg) \ +- push_inst(compiler, JR_X1 | SRCA_X1(reg)) +- +-struct Format { +- /* Mapping of bundle issue slot to assigned pipe. */ +- tilegx_pipeline pipe[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE]; +- +- /* Mask of pipes used by this bundle. */ +- unsigned int pipe_mask; +-}; +- +-const struct Format formats[] = +-{ +- /* In Y format we must always have something in Y2, since it has +- * no fnop, so this conveys that Y2 must always be used. */ +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y0, TILEGX_PIPELINE_Y2, NO_PIPELINE), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y1, TILEGX_PIPELINE_Y2, NO_PIPELINE), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y0, NO_PIPELINE), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y1, NO_PIPELINE), +- +- /* Y format has three instructions. */ +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y0, TILEGX_PIPELINE_Y1, TILEGX_PIPELINE_Y2), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y0, TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y1), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y1, TILEGX_PIPELINE_Y0, TILEGX_PIPELINE_Y2), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y1, TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y0), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y0, TILEGX_PIPELINE_Y1), +- BUNDLE_FORMAT(TILEGX_PIPELINE_Y2, TILEGX_PIPELINE_Y1, TILEGX_PIPELINE_Y0), +- +- /* X format has only two instructions. */ +- BUNDLE_FORMAT(TILEGX_PIPELINE_X0, TILEGX_PIPELINE_X1, NO_PIPELINE), +- BUNDLE_FORMAT(TILEGX_PIPELINE_X1, TILEGX_PIPELINE_X0, NO_PIPELINE) +-}; +- +- +-struct jit_instr inst_buf[TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE]; +-unsigned long inst_buf_index; +- +-tilegx_pipeline get_any_valid_pipe(const struct tilegx_opcode* opcode) +-{ +- /* FIXME: tile: we could pregenerate this. */ +- int pipe; +- for (pipe = 0; ((opcode->pipes & (1 << pipe)) == 0 && pipe < TILEGX_NUM_PIPELINE_ENCODINGS); pipe++) +- ; +- return (tilegx_pipeline)(pipe); +-} +- +-void insert_nop(tilegx_mnemonic opc, int line) +-{ +- const struct tilegx_opcode* opcode = NULL; +- +- memmove(&inst_buf[1], &inst_buf[0], inst_buf_index * sizeof inst_buf[0]); +- +- opcode = &tilegx_opcodes[opc]; +- inst_buf[0].opcode = opcode; +- inst_buf[0].pipe = get_any_valid_pipe(opcode); +- inst_buf[0].input_registers = 0; +- inst_buf[0].output_registers = 0; +- inst_buf[0].line = line; +- ++inst_buf_index; +-} +- +-const struct Format* compute_format() +-{ +- unsigned int compatible_pipes = BUNDLE_FORMAT_MASK( +- inst_buf[0].opcode->pipes, +- inst_buf[1].opcode->pipes, +- (inst_buf_index == 3 ? inst_buf[2].opcode->pipes : (1 << NO_PIPELINE))); +- +- const struct Format* match = NULL; +- const struct Format *b = NULL; +- unsigned int i; +- for (i = 0; i < sizeof formats / sizeof formats[0]; i++) { +- b = &formats[i]; +- if ((b->pipe_mask & compatible_pipes) == b->pipe_mask) { +- match = b; +- break; +- } +- } +- +- return match; +-} +- +-sljit_s32 assign_pipes() +-{ +- unsigned long output_registers = 0; +- unsigned int i = 0; +- +- if (inst_buf_index == 1) { +- tilegx_mnemonic opc = inst_buf[0].opcode->can_bundle +- ? TILEGX_OPC_FNOP : TILEGX_OPC_NOP; +- insert_nop(opc, __LINE__); +- } +- +- const struct Format* match = compute_format(); +- +- if (match == NULL) +- return -1; +- +- for (i = 0; i < inst_buf_index; i++) { +- +- if ((i > 0) && ((inst_buf[i].input_registers & output_registers) != 0)) +- return -1; +- +- if ((i > 0) && ((inst_buf[i].output_registers & output_registers) != 0)) +- return -1; +- +- /* Don't include Rzero in the match set, to avoid triggering +- needlessly on 'prefetch' instrs. */ +- +- output_registers |= inst_buf[i].output_registers & 0xFFFFFFFFFFFFFFL; +- +- inst_buf[i].pipe = match->pipe[i]; +- } +- +- /* If only 2 instrs, and in Y-mode, insert a nop. */ +- if (inst_buf_index == 2 && !tilegx_is_x_pipeline(match->pipe[0])) { +- insert_nop(TILEGX_OPC_FNOP, __LINE__); +- +- /* Select the yet unassigned pipe. */ +- tilegx_pipeline pipe = (tilegx_pipeline)(((TILEGX_PIPELINE_Y0 +- + TILEGX_PIPELINE_Y1 + TILEGX_PIPELINE_Y2) +- - (inst_buf[1].pipe + inst_buf[2].pipe))); +- +- inst_buf[0].pipe = pipe; +- } +- +- return 0; +-} +- +-tilegx_bundle_bits get_bundle_bit(struct jit_instr *inst) +-{ +- int i, val; +- const struct tilegx_opcode* opcode = inst->opcode; +- tilegx_bundle_bits bits = opcode->fixed_bit_values[inst->pipe]; +- +- const struct tilegx_operand* operand = NULL; +- for (i = 0; i < opcode->num_operands; i++) { +- operand = &tilegx_operands[opcode->operands[inst->pipe][i]]; +- val = inst->operand_value[i]; +- +- bits |= operand->insert(val); +- } +- +- return bits; +-} +- +-static sljit_s32 update_buffer(struct sljit_compiler *compiler) +-{ +- int i; +- int orig_index = inst_buf_index; +- struct jit_instr inst0 = inst_buf[0]; +- struct jit_instr inst1 = inst_buf[1]; +- struct jit_instr inst2 = inst_buf[2]; +- tilegx_bundle_bits bits = 0; +- +- /* If the bundle is valid as is, perform the encoding and return 1. */ +- if (assign_pipes() == 0) { +- for (i = 0; i < inst_buf_index; i++) { +- bits |= get_bundle_bit(inst_buf + i); +-#ifdef TILEGX_JIT_DEBUG +- printf("|%04d", inst_buf[i].line); +-#endif +- } +-#ifdef TILEGX_JIT_DEBUG +- if (inst_buf_index == 3) +- printf("|M0|:\t"); +- else +- printf("|M0|:\t\t"); +- print_insn_tilegx(&bits); +-#endif +- +- inst_buf_index = 0; +- +-#ifdef TILEGX_JIT_DEBUG +- return push_inst_nodebug(compiler, bits); +-#else +- return push_inst(compiler, bits); +-#endif +- } +- +- /* If the bundle is invalid, split it in two. First encode the first two +- (or possibly 1) instructions, and then the last, separately. Note that +- assign_pipes may have re-ordered the instrs (by inserting no-ops in +- lower slots) so we need to reset them. */ +- +- inst_buf_index = orig_index - 1; +- inst_buf[0] = inst0; +- inst_buf[1] = inst1; +- inst_buf[2] = inst2; +- if (assign_pipes() == 0) { +- for (i = 0; i < inst_buf_index; i++) { +- bits |= get_bundle_bit(inst_buf + i); +-#ifdef TILEGX_JIT_DEBUG +- printf("|%04d", inst_buf[i].line); +-#endif +- } +- +-#ifdef TILEGX_JIT_DEBUG +- if (inst_buf_index == 3) +- printf("|M1|:\t"); +- else +- printf("|M1|:\t\t"); +- print_insn_tilegx(&bits); +-#endif +- +- if ((orig_index - 1) == 2) { +- inst_buf[0] = inst2; +- inst_buf_index = 1; +- } else if ((orig_index - 1) == 1) { +- inst_buf[0] = inst1; +- inst_buf_index = 1; +- } else +- SLJIT_UNREACHABLE(); +- +-#ifdef TILEGX_JIT_DEBUG +- return push_inst_nodebug(compiler, bits); +-#else +- return push_inst(compiler, bits); +-#endif +- } else { +- /* We had 3 instrs of which the first 2 can't live in the same bundle. +- Split those two. Note that we don't try to then combine the second +- and third instr into a single bundle. First instruction: */ +- inst_buf_index = 1; +- inst_buf[0] = inst0; +- inst_buf[1] = inst1; +- inst_buf[2] = inst2; +- if (assign_pipes() == 0) { +- for (i = 0; i < inst_buf_index; i++) { +- bits |= get_bundle_bit(inst_buf + i); +-#ifdef TILEGX_JIT_DEBUG +- printf("|%04d", inst_buf[i].line); +-#endif +- } +- +-#ifdef TILEGX_JIT_DEBUG +- if (inst_buf_index == 3) +- printf("|M2|:\t"); +- else +- printf("|M2|:\t\t"); +- print_insn_tilegx(&bits); +-#endif +- +- inst_buf[0] = inst1; +- inst_buf[1] = inst2; +- inst_buf_index = orig_index - 1; +-#ifdef TILEGX_JIT_DEBUG +- return push_inst_nodebug(compiler, bits); +-#else +- return push_inst(compiler, bits); +-#endif +- } else +- SLJIT_UNREACHABLE(); +- } +- +- SLJIT_UNREACHABLE(); +-} +- +-static sljit_s32 flush_buffer(struct sljit_compiler *compiler) +-{ +- while (inst_buf_index != 0) { +- FAIL_IF(update_buffer(compiler)); +- } +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_4_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op1, int op2, int op3, int line) +-{ +- if (inst_buf_index == TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE) +- FAIL_IF(update_buffer(compiler)); +- +- const struct tilegx_opcode* opcode = &tilegx_opcodes[opc]; +- inst_buf[inst_buf_index].opcode = opcode; +- inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); +- inst_buf[inst_buf_index].operand_value[0] = op0; +- inst_buf[inst_buf_index].operand_value[1] = op1; +- inst_buf[inst_buf_index].operand_value[2] = op2; +- inst_buf[inst_buf_index].operand_value[3] = op3; +- inst_buf[inst_buf_index].input_registers = 1L << op1; +- inst_buf[inst_buf_index].output_registers = 1L << op0; +- inst_buf[inst_buf_index].line = line; +- inst_buf_index++; +- +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_3_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op1, int op2, int line) +-{ +- if (inst_buf_index == TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE) +- FAIL_IF(update_buffer(compiler)); +- +- const struct tilegx_opcode* opcode = &tilegx_opcodes[opc]; +- inst_buf[inst_buf_index].opcode = opcode; +- inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); +- inst_buf[inst_buf_index].operand_value[0] = op0; +- inst_buf[inst_buf_index].operand_value[1] = op1; +- inst_buf[inst_buf_index].operand_value[2] = op2; +- inst_buf[inst_buf_index].line = line; +- +- switch (opc) { +- case TILEGX_OPC_ST_ADD: +- inst_buf[inst_buf_index].input_registers = (1L << op0) | (1L << op1); +- inst_buf[inst_buf_index].output_registers = 1L << op0; +- break; +- case TILEGX_OPC_LD_ADD: +- inst_buf[inst_buf_index].input_registers = 1L << op1; +- inst_buf[inst_buf_index].output_registers = (1L << op0) | (1L << op1); +- break; +- case TILEGX_OPC_ADD: +- case TILEGX_OPC_AND: +- case TILEGX_OPC_SUB: +- case TILEGX_OPC_MULX: +- case TILEGX_OPC_OR: +- case TILEGX_OPC_XOR: +- case TILEGX_OPC_NOR: +- case TILEGX_OPC_SHL: +- case TILEGX_OPC_SHRU: +- case TILEGX_OPC_SHRS: +- case TILEGX_OPC_CMPLTU: +- case TILEGX_OPC_CMPLTS: +- case TILEGX_OPC_CMOVEQZ: +- case TILEGX_OPC_CMOVNEZ: +- inst_buf[inst_buf_index].input_registers = (1L << op1) | (1L << op2); +- inst_buf[inst_buf_index].output_registers = 1L << op0; +- break; +- case TILEGX_OPC_ADDLI: +- case TILEGX_OPC_XORI: +- case TILEGX_OPC_ORI: +- case TILEGX_OPC_SHLI: +- case TILEGX_OPC_SHRUI: +- case TILEGX_OPC_SHRSI: +- case TILEGX_OPC_SHL16INSLI: +- case TILEGX_OPC_CMPLTUI: +- case TILEGX_OPC_CMPLTSI: +- inst_buf[inst_buf_index].input_registers = 1L << op1; +- inst_buf[inst_buf_index].output_registers = 1L << op0; +- break; +- default: +- printf("unrecoginzed opc: %s\n", opcode->name); +- SLJIT_UNREACHABLE(); +- } +- +- inst_buf_index++; +- +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_2_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int op1, int line) +-{ +- if (inst_buf_index == TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE) +- FAIL_IF(update_buffer(compiler)); +- +- const struct tilegx_opcode* opcode = &tilegx_opcodes[opc]; +- inst_buf[inst_buf_index].opcode = opcode; +- inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); +- inst_buf[inst_buf_index].operand_value[0] = op0; +- inst_buf[inst_buf_index].operand_value[1] = op1; +- inst_buf[inst_buf_index].line = line; +- +- switch (opc) { +- case TILEGX_OPC_BEQZ: +- case TILEGX_OPC_BNEZ: +- inst_buf[inst_buf_index].input_registers = 1L << op0; +- break; +- case TILEGX_OPC_ST: +- case TILEGX_OPC_ST1: +- case TILEGX_OPC_ST2: +- case TILEGX_OPC_ST4: +- inst_buf[inst_buf_index].input_registers = (1L << op0) | (1L << op1); +- inst_buf[inst_buf_index].output_registers = 0; +- break; +- case TILEGX_OPC_CLZ: +- case TILEGX_OPC_LD: +- case TILEGX_OPC_LD1U: +- case TILEGX_OPC_LD1S: +- case TILEGX_OPC_LD2U: +- case TILEGX_OPC_LD2S: +- case TILEGX_OPC_LD4U: +- case TILEGX_OPC_LD4S: +- inst_buf[inst_buf_index].input_registers = 1L << op1; +- inst_buf[inst_buf_index].output_registers = 1L << op0; +- break; +- default: +- printf("unrecoginzed opc: %s\n", opcode->name); +- SLJIT_UNREACHABLE(); +- } +- +- inst_buf_index++; +- +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_0_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int line) +-{ +- if (inst_buf_index == TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE) +- FAIL_IF(update_buffer(compiler)); +- +- const struct tilegx_opcode* opcode = &tilegx_opcodes[opc]; +- inst_buf[inst_buf_index].opcode = opcode; +- inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); +- inst_buf[inst_buf_index].input_registers = 0; +- inst_buf[inst_buf_index].output_registers = 0; +- inst_buf[inst_buf_index].line = line; +- inst_buf_index++; +- +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 push_jr_buffer(struct sljit_compiler *compiler, tilegx_mnemonic opc, int op0, int line) +-{ +- if (inst_buf_index == TILEGX_MAX_INSTRUCTIONS_PER_BUNDLE) +- FAIL_IF(update_buffer(compiler)); +- +- const struct tilegx_opcode* opcode = &tilegx_opcodes[opc]; +- inst_buf[inst_buf_index].opcode = opcode; +- inst_buf[inst_buf_index].pipe = get_any_valid_pipe(opcode); +- inst_buf[inst_buf_index].operand_value[0] = op0; +- inst_buf[inst_buf_index].input_registers = 1L << op0; +- inst_buf[inst_buf_index].output_registers = 0; +- inst_buf[inst_buf_index].line = line; +- inst_buf_index++; +- +- return flush_buffer(compiler); +-} +- +-static SLJIT_INLINE sljit_ins * detect_jump_type(struct sljit_jump *jump, sljit_ins *code_ptr, sljit_ins *code) +-{ +- sljit_sw diff; +- sljit_uw target_addr; +- sljit_ins *inst; +- +- if (jump->flags & SLJIT_REWRITABLE_JUMP) +- return code_ptr; +- +- if (jump->flags & JUMP_ADDR) +- target_addr = jump->u.target; +- else { +- SLJIT_ASSERT(jump->flags & JUMP_LABEL); +- target_addr = (sljit_uw)(code + jump->u.label->size); +- } +- +- inst = (sljit_ins *)jump->addr; +- if (jump->flags & IS_COND) +- inst--; +- +- diff = ((sljit_sw) target_addr - (sljit_sw) inst) >> 3; +- if (diff <= SIMM_17BIT_MAX && diff >= SIMM_17BIT_MIN) { +- jump->flags |= PATCH_B; +- +- if (!(jump->flags & IS_COND)) { +- if (jump->flags & IS_JAL) { +- jump->flags &= ~(PATCH_B); +- jump->flags |= PATCH_J; +- inst[0] = JAL_X1; +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(inst); +-#endif +- } else { +- inst[0] = BEQZ_X1 | SRCA_X1(ZERO); +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(inst); +-#endif +- } +- +- return inst; +- } +- +- inst[0] = inst[0] ^ (0x7L << 55); +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(inst); +-#endif +- jump->addr -= sizeof(sljit_ins); +- return inst; +- } +- +- if (jump->flags & IS_COND) { +- if ((target_addr & ~0x3FFFFFFFL) == ((jump->addr + sizeof(sljit_ins)) & ~0x3FFFFFFFL)) { +- jump->flags |= PATCH_J; +- inst[0] = (inst[0] & ~(BOFF_X1(-1))) | BOFF_X1(2); +- inst[1] = J_X1; +- return inst + 1; +- } +- +- return code_ptr; +- } +- +- if ((target_addr & ~0x3FFFFFFFL) == ((jump->addr + sizeof(sljit_ins)) & ~0x3FFFFFFFL)) { +- jump->flags |= PATCH_J; +- +- if (jump->flags & IS_JAL) { +- inst[0] = JAL_X1; +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(inst); +-#endif +- +- } else { +- inst[0] = J_X1; +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(inst); +-#endif +- } +- +- return inst; +- } +- +- return code_ptr; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void * sljit_generate_code(struct sljit_compiler *compiler) +-{ +- struct sljit_memory_fragment *buf; +- sljit_ins *code; +- sljit_ins *code_ptr; +- sljit_ins *buf_ptr; +- sljit_ins *buf_end; +- sljit_uw word_count; +- sljit_uw addr; +- +- struct sljit_label *label; +- struct sljit_jump *jump; +- struct sljit_const *const_; +- +- CHECK_ERROR_PTR(); +- CHECK_PTR(check_sljit_generate_code(compiler)); +- reverse_buf(compiler); +- +- code = (sljit_ins *)SLJIT_MALLOC_EXEC(compiler->size * sizeof(sljit_ins)); +- PTR_FAIL_WITH_EXEC_IF(code); +- buf = compiler->buf; +- +- code_ptr = code; +- word_count = 0; +- label = compiler->labels; +- jump = compiler->jumps; +- const_ = compiler->consts; +- do { +- buf_ptr = (sljit_ins *)buf->memory; +- buf_end = buf_ptr + (buf->used_size >> 3); +- do { +- *code_ptr = *buf_ptr++; +- SLJIT_ASSERT(!label || label->size >= word_count); +- SLJIT_ASSERT(!jump || jump->addr >= word_count); +- SLJIT_ASSERT(!const_ || const_->addr >= word_count); +- /* These structures are ordered by their address. */ +- if (label && label->size == word_count) { +- /* Just recording the address. */ +- label->addr = (sljit_uw) code_ptr; +- label->size = code_ptr - code; +- label = label->next; +- } +- +- if (jump && jump->addr == word_count) { +- if (jump->flags & IS_JAL) +- jump->addr = (sljit_uw)(code_ptr - 4); +- else +- jump->addr = (sljit_uw)(code_ptr - 3); +- +- code_ptr = detect_jump_type(jump, code_ptr, code); +- jump = jump->next; +- } +- +- if (const_ && const_->addr == word_count) { +- /* Just recording the address. */ +- const_->addr = (sljit_uw) code_ptr; +- const_ = const_->next; +- } +- +- code_ptr++; +- word_count++; +- } while (buf_ptr < buf_end); +- +- buf = buf->next; +- } while (buf); +- +- if (label && label->size == word_count) { +- label->addr = (sljit_uw) code_ptr; +- label->size = code_ptr - code; +- label = label->next; +- } +- +- SLJIT_ASSERT(!label); +- SLJIT_ASSERT(!jump); +- SLJIT_ASSERT(!const_); +- SLJIT_ASSERT(code_ptr - code <= (sljit_sw)compiler->size); +- +- jump = compiler->jumps; +- while (jump) { +- do { +- addr = (jump->flags & JUMP_LABEL) ? jump->u.label->addr : jump->u.target; +- buf_ptr = (sljit_ins *)jump->addr; +- +- if (jump->flags & PATCH_B) { +- addr = (sljit_sw)(addr - (jump->addr)) >> 3; +- SLJIT_ASSERT((sljit_sw) addr <= SIMM_17BIT_MAX && (sljit_sw) addr >= SIMM_17BIT_MIN); +- buf_ptr[0] = (buf_ptr[0] & ~(BOFF_X1(-1))) | BOFF_X1(addr); +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(buf_ptr); +-#endif +- break; +- } +- +- if (jump->flags & PATCH_J) { +- SLJIT_ASSERT((addr & ~0x3FFFFFFFL) == ((jump->addr + sizeof(sljit_ins)) & ~0x3FFFFFFFL)); +- addr = (sljit_sw)(addr - (jump->addr)) >> 3; +- buf_ptr[0] = (buf_ptr[0] & ~(JOFF_X1(-1))) | JOFF_X1(addr); +- +-#ifdef TILEGX_JIT_DEBUG +- printf("[runtime relocate]%04d:\t", __LINE__); +- print_insn_tilegx(buf_ptr); +-#endif +- break; +- } +- +- SLJIT_ASSERT(!(jump->flags & IS_JAL)); +- +- /* Set the fields of immediate loads. */ +- buf_ptr[0] = (buf_ptr[0] & ~(0xFFFFL << 43)) | (((addr >> 32) & 0xFFFFL) << 43); +- buf_ptr[1] = (buf_ptr[1] & ~(0xFFFFL << 43)) | (((addr >> 16) & 0xFFFFL) << 43); +- buf_ptr[2] = (buf_ptr[2] & ~(0xFFFFL << 43)) | ((addr & 0xFFFFL) << 43); +- } while (0); +- +- jump = jump->next; +- } +- +- compiler->error = SLJIT_ERR_COMPILED; +- compiler->executable_size = (code_ptr - code) * sizeof(sljit_ins); +- SLJIT_CACHE_FLUSH(code, code_ptr); +- return code; +-} +- +-static sljit_s32 load_immediate(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm) +-{ +- +- if (imm <= SIMM_16BIT_MAX && imm >= SIMM_16BIT_MIN) +- return ADDLI(dst_ar, ZERO, imm); +- +- if (imm <= SIMM_32BIT_MAX && imm >= SIMM_32BIT_MIN) { +- FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 16)); +- return SHL16INSLI(dst_ar, dst_ar, imm); +- } +- +- if (imm <= SIMM_48BIT_MAX && imm >= SIMM_48BIT_MIN) { +- FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 32)); +- FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16)); +- return SHL16INSLI(dst_ar, dst_ar, imm); +- } +- +- FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 48)); +- FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 32)); +- FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16)); +- return SHL16INSLI(dst_ar, dst_ar, imm); +-} +- +-static sljit_s32 emit_const(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int flush) +-{ +- /* Should *not* be optimized as load_immediate, as pcre relocation +- mechanism will match this fixed 4-instruction pattern. */ +- if (flush) { +- FAIL_IF(ADDLI_SOLO(dst_ar, ZERO, imm >> 32)); +- FAIL_IF(SHL16INSLI_SOLO(dst_ar, dst_ar, imm >> 16)); +- return SHL16INSLI_SOLO(dst_ar, dst_ar, imm); +- } +- +- FAIL_IF(ADDLI(dst_ar, ZERO, imm >> 32)); +- FAIL_IF(SHL16INSLI(dst_ar, dst_ar, imm >> 16)); +- return SHL16INSLI(dst_ar, dst_ar, imm); +-} +- +-static sljit_s32 emit_const_64(struct sljit_compiler *compiler, sljit_s32 dst_ar, sljit_sw imm, int flush) +-{ +- /* Should *not* be optimized as load_immediate, as pcre relocation +- mechanism will match this fixed 4-instruction pattern. */ +- if (flush) { +- FAIL_IF(ADDLI_SOLO(reg_map[dst_ar], ZERO, imm >> 48)); +- FAIL_IF(SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm >> 32)); +- FAIL_IF(SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm >> 16)); +- return SHL16INSLI_SOLO(reg_map[dst_ar], reg_map[dst_ar], imm); +- } +- +- FAIL_IF(ADDLI(reg_map[dst_ar], ZERO, imm >> 48)); +- FAIL_IF(SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm >> 32)); +- FAIL_IF(SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm >> 16)); +- return SHL16INSLI(reg_map[dst_ar], reg_map[dst_ar], imm); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_enter(struct sljit_compiler *compiler, +- sljit_s32 options, sljit_s32 args, sljit_s32 scratches, sljit_s32 saveds, +- sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size) +-{ +- sljit_ins base; +- sljit_s32 i, tmp; +- +- CHECK_ERROR(); +- CHECK(check_sljit_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size)); +- set_emit_enter(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); +- +- local_size += GET_SAVED_REGISTERS_SIZE(scratches, saveds, 1); +- local_size = (local_size + 7) & ~7; +- compiler->local_size = local_size; +- +- if (local_size <= SIMM_16BIT_MAX) { +- /* Frequent case. */ +- FAIL_IF(ADDLI(SLJIT_LOCALS_REG_mapped, SLJIT_LOCALS_REG_mapped, -local_size)); +- base = SLJIT_LOCALS_REG_mapped; +- } else { +- FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); +- FAIL_IF(ADD(TMP_REG2_mapped, SLJIT_LOCALS_REG_mapped, ZERO)); +- FAIL_IF(SUB(SLJIT_LOCALS_REG_mapped, SLJIT_LOCALS_REG_mapped, TMP_REG1_mapped)); +- base = TMP_REG2_mapped; +- local_size = 0; +- } +- +- /* Save the return address. */ +- FAIL_IF(ADDLI(ADDR_TMP_mapped, base, local_size - 8)); +- FAIL_IF(ST_ADD(ADDR_TMP_mapped, RA, -8)); +- +- /* Save the S registers. */ +- tmp = saveds < SLJIT_NUMBER_OF_SAVED_REGISTERS ? (SLJIT_S0 + 1 - saveds) : SLJIT_FIRST_SAVED_REG; +- for (i = SLJIT_S0; i >= tmp; i--) { +- FAIL_IF(ST_ADD(ADDR_TMP_mapped, reg_map[i], -8)); +- } +- +- /* Save the R registers that need to be reserved. */ +- for (i = scratches; i >= SLJIT_FIRST_SAVED_REG; i--) { +- FAIL_IF(ST_ADD(ADDR_TMP_mapped, reg_map[i], -8)); +- } +- +- /* Move the arguments to S registers. */ +- for (i = 0; i < args; i++) { +- FAIL_IF(ADD(reg_map[SLJIT_S0 - i], i, ZERO)); +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_set_context(struct sljit_compiler *compiler, +- sljit_s32 options, sljit_s32 args, sljit_s32 scratches, sljit_s32 saveds, +- sljit_s32 fscratches, sljit_s32 fsaveds, sljit_s32 local_size) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size)); +- set_set_context(compiler, options, args, scratches, saveds, fscratches, fsaveds, local_size); +- +- local_size += GET_SAVED_REGISTERS_SIZE(scratches, saveds, 1); +- compiler->local_size = (local_size + 7) & ~7; +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_return(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 src, sljit_sw srcw) +-{ +- sljit_s32 local_size; +- sljit_ins base; +- sljit_s32 i, tmp; +- sljit_s32 saveds; +- +- CHECK_ERROR(); +- CHECK(check_sljit_emit_return(compiler, op, src, srcw)); +- +- FAIL_IF(emit_mov_before_return(compiler, op, src, srcw)); +- +- local_size = compiler->local_size; +- if (local_size <= SIMM_16BIT_MAX) +- base = SLJIT_LOCALS_REG_mapped; +- else { +- FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, local_size)); +- FAIL_IF(ADD(TMP_REG1_mapped, SLJIT_LOCALS_REG_mapped, TMP_REG1_mapped)); +- base = TMP_REG1_mapped; +- local_size = 0; +- } +- +- /* Restore the return address. */ +- FAIL_IF(ADDLI(ADDR_TMP_mapped, base, local_size - 8)); +- FAIL_IF(LD_ADD(RA, ADDR_TMP_mapped, -8)); +- +- /* Restore the S registers. */ +- saveds = compiler->saveds; +- tmp = saveds < SLJIT_NUMBER_OF_SAVED_REGISTERS ? (SLJIT_S0 + 1 - saveds) : SLJIT_FIRST_SAVED_REG; +- for (i = SLJIT_S0; i >= tmp; i--) { +- FAIL_IF(LD_ADD(reg_map[i], ADDR_TMP_mapped, -8)); +- } +- +- /* Restore the R registers that need to be reserved. */ +- for (i = compiler->scratches; i >= SLJIT_FIRST_SAVED_REG; i--) { +- FAIL_IF(LD_ADD(reg_map[i], ADDR_TMP_mapped, -8)); +- } +- +- if (compiler->local_size <= SIMM_16BIT_MAX) +- FAIL_IF(ADDLI(SLJIT_LOCALS_REG_mapped, SLJIT_LOCALS_REG_mapped, compiler->local_size)); +- else +- FAIL_IF(ADD(SLJIT_LOCALS_REG_mapped, TMP_REG1_mapped, ZERO)); +- +- return JR(RA); +-} +- +-/* reg_ar is an absoulute register! */ +- +-/* Can perform an operation using at most 1 instruction. */ +-static sljit_s32 getput_arg_fast(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg_ar, sljit_s32 arg, sljit_sw argw) +-{ +- SLJIT_ASSERT(arg & SLJIT_MEM); +- +- if ((!(flags & WRITE_BACK) || !(arg & REG_MASK)) +- && !(arg & OFFS_REG_MASK) && argw <= SIMM_16BIT_MAX && argw >= SIMM_16BIT_MIN) { +- /* Works for both absoulte and relative addresses. */ +- if (SLJIT_UNLIKELY(flags & ARG_TEST)) +- return 1; +- +- FAIL_IF(ADDLI(ADDR_TMP_mapped, reg_map[arg & REG_MASK], argw)); +- +- if (flags & LOAD_DATA) +- FAIL_IF(PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, ADDR_TMP_mapped)); +- else +- FAIL_IF(PB2(data_transfer_insts[flags & MEM_MASK], ADDR_TMP_mapped, reg_ar)); +- +- return -1; +- } +- +- return 0; +-} +- +-/* See getput_arg below. +- Note: can_cache is called only for binary operators. Those +- operators always uses word arguments without write back. */ +-static sljit_s32 can_cache(sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw) +-{ +- SLJIT_ASSERT((arg & SLJIT_MEM) && (next_arg & SLJIT_MEM)); +- +- /* Simple operation except for updates. */ +- if (arg & OFFS_REG_MASK) { +- argw &= 0x3; +- next_argw &= 0x3; +- if (argw && argw == next_argw +- && (arg == next_arg || (arg & OFFS_REG_MASK) == (next_arg & OFFS_REG_MASK))) +- return 1; +- return 0; +- } +- +- if (arg == next_arg) { +- if (((next_argw - argw) <= SIMM_16BIT_MAX +- && (next_argw - argw) >= SIMM_16BIT_MIN)) +- return 1; +- +- return 0; +- } +- +- return 0; +-} +- +-/* Emit the necessary instructions. See can_cache above. */ +-static sljit_s32 getput_arg(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg_ar, sljit_s32 arg, sljit_sw argw, sljit_s32 next_arg, sljit_sw next_argw) +-{ +- sljit_s32 tmp_ar, base; +- +- SLJIT_ASSERT(arg & SLJIT_MEM); +- if (!(next_arg & SLJIT_MEM)) { +- next_arg = 0; +- next_argw = 0; +- } +- +- if ((flags & MEM_MASK) <= GPR_REG && (flags & LOAD_DATA)) +- tmp_ar = reg_ar; +- else +- tmp_ar = TMP_REG1_mapped; +- +- base = arg & REG_MASK; +- +- if (SLJIT_UNLIKELY(arg & OFFS_REG_MASK)) { +- argw &= 0x3; +- +- if ((flags & WRITE_BACK) && reg_ar == reg_map[base]) { +- SLJIT_ASSERT(!(flags & LOAD_DATA) && reg_map[TMP_REG1] != reg_ar); +- FAIL_IF(ADD(TMP_REG1_mapped, reg_ar, ZERO)); +- reg_ar = TMP_REG1_mapped; +- } +- +- /* Using the cache. */ +- if (argw == compiler->cache_argw) { +- if (!(flags & WRITE_BACK)) { +- if (arg == compiler->cache_arg) { +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, TMP_REG3_mapped); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], TMP_REG3_mapped, reg_ar); +- } +- +- if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { +- if (arg == next_arg && argw == (next_argw & 0x3)) { +- compiler->cache_arg = arg; +- compiler->cache_argw = argw; +- FAIL_IF(ADD(TMP_REG3_mapped, reg_map[base], TMP_REG3_mapped)); +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, TMP_REG3_mapped); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], TMP_REG3_mapped, reg_ar); +- } +- +- FAIL_IF(ADD(tmp_ar, reg_map[base], TMP_REG3_mapped)); +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, tmp_ar); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], tmp_ar, reg_ar); +- } +- } else { +- if ((SLJIT_MEM | (arg & OFFS_REG_MASK)) == compiler->cache_arg) { +- FAIL_IF(ADD(reg_map[base], reg_map[base], TMP_REG3_mapped)); +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, reg_map[base]); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_map[base], reg_ar); +- } +- } +- } +- +- if (SLJIT_UNLIKELY(argw)) { +- compiler->cache_arg = SLJIT_MEM | (arg & OFFS_REG_MASK); +- compiler->cache_argw = argw; +- FAIL_IF(SHLI(TMP_REG3_mapped, reg_map[OFFS_REG(arg)], argw)); +- } +- +- if (!(flags & WRITE_BACK)) { +- if (arg == next_arg && argw == (next_argw & 0x3)) { +- compiler->cache_arg = arg; +- compiler->cache_argw = argw; +- FAIL_IF(ADD(TMP_REG3_mapped, reg_map[base], reg_map[!argw ? OFFS_REG(arg) : TMP_REG3])); +- tmp_ar = TMP_REG3_mapped; +- } else +- FAIL_IF(ADD(tmp_ar, reg_map[base], reg_map[!argw ? OFFS_REG(arg) : TMP_REG3])); +- +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, tmp_ar); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], tmp_ar, reg_ar); +- } +- +- FAIL_IF(ADD(reg_map[base], reg_map[base], reg_map[!argw ? OFFS_REG(arg) : TMP_REG3])); +- +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, reg_map[base]); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_map[base], reg_ar); +- } +- +- if (SLJIT_UNLIKELY(flags & WRITE_BACK) && base) { +- /* Update only applies if a base register exists. */ +- if (reg_ar == reg_map[base]) { +- SLJIT_ASSERT(!(flags & LOAD_DATA) && TMP_REG1_mapped != reg_ar); +- if (argw <= SIMM_16BIT_MAX && argw >= SIMM_16BIT_MIN) { +- FAIL_IF(ADDLI(ADDR_TMP_mapped, reg_map[base], argw)); +- if (flags & LOAD_DATA) +- FAIL_IF(PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, ADDR_TMP_mapped)); +- else +- FAIL_IF(PB2(data_transfer_insts[flags & MEM_MASK], ADDR_TMP_mapped, reg_ar)); +- +- if (argw) +- return ADDLI(reg_map[base], reg_map[base], argw); +- +- return SLJIT_SUCCESS; +- } +- +- FAIL_IF(ADD(TMP_REG1_mapped, reg_ar, ZERO)); +- reg_ar = TMP_REG1_mapped; +- } +- +- if (argw <= SIMM_16BIT_MAX && argw >= SIMM_16BIT_MIN) { +- if (argw) +- FAIL_IF(ADDLI(reg_map[base], reg_map[base], argw)); +- } else { +- if (compiler->cache_arg == SLJIT_MEM +- && argw - compiler->cache_argw <= SIMM_16BIT_MAX +- && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { +- if (argw != compiler->cache_argw) { +- FAIL_IF(ADD(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); +- compiler->cache_argw = argw; +- } +- +- FAIL_IF(ADD(reg_map[base], reg_map[base], TMP_REG3_mapped)); +- } else { +- compiler->cache_arg = SLJIT_MEM; +- compiler->cache_argw = argw; +- FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); +- FAIL_IF(ADD(reg_map[base], reg_map[base], TMP_REG3_mapped)); +- } +- } +- +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, reg_map[base]); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_map[base], reg_ar); +- } +- +- if (compiler->cache_arg == arg +- && argw - compiler->cache_argw <= SIMM_16BIT_MAX +- && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { +- if (argw != compiler->cache_argw) { +- FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); +- compiler->cache_argw = argw; +- } +- +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, TMP_REG3_mapped); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], TMP_REG3_mapped, reg_ar); +- } +- +- if (compiler->cache_arg == SLJIT_MEM +- && argw - compiler->cache_argw <= SIMM_16BIT_MAX +- && argw - compiler->cache_argw >= SIMM_16BIT_MIN) { +- if (argw != compiler->cache_argw) +- FAIL_IF(ADDLI(TMP_REG3_mapped, TMP_REG3_mapped, argw - compiler->cache_argw)); +- } else { +- compiler->cache_arg = SLJIT_MEM; +- FAIL_IF(load_immediate(compiler, TMP_REG3_mapped, argw)); +- } +- +- compiler->cache_argw = argw; +- +- if (!base) { +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, TMP_REG3_mapped); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], TMP_REG3_mapped, reg_ar); +- } +- +- if (arg == next_arg +- && next_argw - argw <= SIMM_16BIT_MAX +- && next_argw - argw >= SIMM_16BIT_MIN) { +- compiler->cache_arg = arg; +- FAIL_IF(ADD(TMP_REG3_mapped, TMP_REG3_mapped, reg_map[base])); +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, TMP_REG3_mapped); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], TMP_REG3_mapped, reg_ar); +- } +- +- FAIL_IF(ADD(tmp_ar, TMP_REG3_mapped, reg_map[base])); +- +- if (flags & LOAD_DATA) +- return PB2(data_transfer_insts[flags & MEM_MASK], reg_ar, tmp_ar); +- else +- return PB2(data_transfer_insts[flags & MEM_MASK], tmp_ar, reg_ar); +-} +- +-static SLJIT_INLINE sljit_s32 emit_op_mem(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg_ar, sljit_s32 arg, sljit_sw argw) +-{ +- if (getput_arg_fast(compiler, flags, reg_ar, arg, argw)) +- return compiler->error; +- +- compiler->cache_arg = 0; +- compiler->cache_argw = 0; +- return getput_arg(compiler, flags, reg_ar, arg, argw, 0, 0); +-} +- +-static SLJIT_INLINE sljit_s32 emit_op_mem2(struct sljit_compiler *compiler, sljit_s32 flags, sljit_s32 reg, sljit_s32 arg1, sljit_sw arg1w, sljit_s32 arg2, sljit_sw arg2w) +-{ +- if (getput_arg_fast(compiler, flags, reg, arg1, arg1w)) +- return compiler->error; +- return getput_arg(compiler, flags, reg, arg1, arg1w, arg2, arg2w); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fast_enter(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_fast_enter(compiler, dst, dstw)); +- ADJUST_LOCAL_OFFSET(dst, dstw); +- +- /* For UNUSED dst. Uncommon, but possible. */ +- if (dst == SLJIT_UNUSED) +- return SLJIT_SUCCESS; +- +- if (FAST_IS_REG(dst)) +- return ADD(reg_map[dst], RA, ZERO); +- +- /* Memory. */ +- return emit_op_mem(compiler, WORD_DATA, RA, dst, dstw); +-} +- +-static SLJIT_INLINE sljit_s32 emit_single_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, sljit_s32 dst, sljit_s32 src1, sljit_sw src2) +-{ +- sljit_s32 overflow_ra = 0; +- +- switch (GET_OPCODE(op)) { +- case SLJIT_MOV: +- case SLJIT_MOV_P: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if (dst != src2) +- return ADD(reg_map[dst], reg_map[src2], ZERO); +- return SLJIT_SUCCESS; +- +- case SLJIT_MOV_U32: +- case SLJIT_MOV_S32: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if ((flags & (REG_DEST | REG2_SOURCE)) == (REG_DEST | REG2_SOURCE)) { +- if (op == SLJIT_MOV_S32) +- return BFEXTS(reg_map[dst], reg_map[src2], 0, 31); +- +- return BFEXTU(reg_map[dst], reg_map[src2], 0, 31); +- } else if (dst != src2) { +- SLJIT_ASSERT(src2 == 0); +- return ADD(reg_map[dst], reg_map[src2], ZERO); +- } +- +- return SLJIT_SUCCESS; +- +- case SLJIT_MOV_U8: +- case SLJIT_MOV_S8: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if ((flags & (REG_DEST | REG2_SOURCE)) == (REG_DEST | REG2_SOURCE)) { +- if (op == SLJIT_MOV_S8) +- return BFEXTS(reg_map[dst], reg_map[src2], 0, 7); +- +- return BFEXTU(reg_map[dst], reg_map[src2], 0, 7); +- } else if (dst != src2) { +- SLJIT_ASSERT(src2 == 0); +- return ADD(reg_map[dst], reg_map[src2], ZERO); +- } +- +- return SLJIT_SUCCESS; +- +- case SLJIT_MOV_U16: +- case SLJIT_MOV_S16: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if ((flags & (REG_DEST | REG2_SOURCE)) == (REG_DEST | REG2_SOURCE)) { +- if (op == SLJIT_MOV_S16) +- return BFEXTS(reg_map[dst], reg_map[src2], 0, 15); +- +- return BFEXTU(reg_map[dst], reg_map[src2], 0, 15); +- } else if (dst != src2) { +- SLJIT_ASSERT(src2 == 0); +- return ADD(reg_map[dst], reg_map[src2], ZERO); +- } +- +- return SLJIT_SUCCESS; +- +- case SLJIT_NOT: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if (op & SLJIT_SET_E) +- FAIL_IF(NOR(EQUAL_FLAG, reg_map[src2], reg_map[src2])); +- if (CHECK_FLAGS(SLJIT_SET_E)) +- FAIL_IF(NOR(reg_map[dst], reg_map[src2], reg_map[src2])); +- +- return SLJIT_SUCCESS; +- +- case SLJIT_CLZ: +- SLJIT_ASSERT(src1 == TMP_REG1 && !(flags & SRC2_IMM)); +- if (op & SLJIT_SET_E) +- FAIL_IF(CLZ(EQUAL_FLAG, reg_map[src2])); +- if (CHECK_FLAGS(SLJIT_SET_E)) +- FAIL_IF(CLZ(reg_map[dst], reg_map[src2])); +- +- return SLJIT_SUCCESS; +- +- case SLJIT_ADD: +- if (flags & SRC2_IMM) { +- if (op & SLJIT_SET_O) { +- FAIL_IF(SHRUI(TMP_EREG1, reg_map[src1], 63)); +- if (src2 < 0) +- FAIL_IF(XORI(TMP_EREG1, TMP_EREG1, 1)); +- } +- +- if (op & SLJIT_SET_E) +- FAIL_IF(ADDLI(EQUAL_FLAG, reg_map[src1], src2)); +- +- if (op & SLJIT_SET_C) { +- if (src2 >= 0) +- FAIL_IF(ORI(ULESS_FLAG ,reg_map[src1], src2)); +- else { +- FAIL_IF(ADDLI(ULESS_FLAG ,ZERO, src2)); +- FAIL_IF(OR(ULESS_FLAG,reg_map[src1],ULESS_FLAG)); +- } +- } +- +- /* dst may be the same as src1 or src2. */ +- if (CHECK_FLAGS(SLJIT_SET_E)) +- FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], src2)); +- +- if (op & SLJIT_SET_O) { +- FAIL_IF(SHRUI(OVERFLOW_FLAG, reg_map[dst], 63)); +- +- if (src2 < 0) +- FAIL_IF(XORI(OVERFLOW_FLAG, OVERFLOW_FLAG, 1)); +- } +- } else { +- if (op & SLJIT_SET_O) { +- FAIL_IF(XOR(TMP_EREG1, reg_map[src1], reg_map[src2])); +- FAIL_IF(SHRUI(TMP_EREG1, TMP_EREG1, 63)); +- +- if (src1 != dst) +- overflow_ra = reg_map[src1]; +- else if (src2 != dst) +- overflow_ra = reg_map[src2]; +- else { +- /* Rare ocasion. */ +- FAIL_IF(ADD(TMP_EREG2, reg_map[src1], ZERO)); +- overflow_ra = TMP_EREG2; +- } +- } +- +- if (op & SLJIT_SET_E) +- FAIL_IF(ADD(EQUAL_FLAG ,reg_map[src1], reg_map[src2])); +- +- if (op & SLJIT_SET_C) +- FAIL_IF(OR(ULESS_FLAG,reg_map[src1], reg_map[src2])); +- +- /* dst may be the same as src1 or src2. */ +- if (CHECK_FLAGS(SLJIT_SET_E)) +- FAIL_IF(ADD(reg_map[dst],reg_map[src1], reg_map[src2])); +- +- if (op & SLJIT_SET_O) { +- FAIL_IF(XOR(OVERFLOW_FLAG,reg_map[dst], overflow_ra)); +- FAIL_IF(SHRUI(OVERFLOW_FLAG, OVERFLOW_FLAG, 63)); +- } +- } +- +- /* a + b >= a | b (otherwise, the carry should be set to 1). */ +- if (op & SLJIT_SET_C) +- FAIL_IF(CMPLTU(ULESS_FLAG ,reg_map[dst] ,ULESS_FLAG)); +- +- if (op & SLJIT_SET_O) +- return CMOVNEZ(OVERFLOW_FLAG, TMP_EREG1, ZERO); +- +- return SLJIT_SUCCESS; +- +- case SLJIT_ADDC: +- if (flags & SRC2_IMM) { +- if (op & SLJIT_SET_C) { +- if (src2 >= 0) +- FAIL_IF(ORI(TMP_EREG1, reg_map[src1], src2)); +- else { +- FAIL_IF(ADDLI(TMP_EREG1, ZERO, src2)); +- FAIL_IF(OR(TMP_EREG1, reg_map[src1], TMP_EREG1)); +- } +- } +- +- FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], src2)); +- +- } else { +- if (op & SLJIT_SET_C) +- FAIL_IF(OR(TMP_EREG1, reg_map[src1], reg_map[src2])); +- +- /* dst may be the same as src1 or src2. */ +- FAIL_IF(ADD(reg_map[dst], reg_map[src1], reg_map[src2])); +- } +- +- if (op & SLJIT_SET_C) +- FAIL_IF(CMPLTU(TMP_EREG1, reg_map[dst], TMP_EREG1)); +- +- FAIL_IF(ADD(reg_map[dst], reg_map[dst], ULESS_FLAG)); +- +- if (!(op & SLJIT_SET_C)) +- return SLJIT_SUCCESS; +- +- /* Set TMP_EREG2 (dst == 0) && (ULESS_FLAG == 1). */ +- FAIL_IF(CMPLTUI(TMP_EREG2, reg_map[dst], 1)); +- FAIL_IF(AND(TMP_EREG2, TMP_EREG2, ULESS_FLAG)); +- /* Set carry flag. */ +- return OR(ULESS_FLAG, TMP_EREG2, TMP_EREG1); +- +- case SLJIT_SUB: +- if ((flags & SRC2_IMM) && ((op & (SLJIT_SET_U | SLJIT_SET_S)) || src2 == SIMM_16BIT_MIN)) { +- FAIL_IF(ADDLI(TMP_REG2_mapped, ZERO, src2)); +- src2 = TMP_REG2; +- flags &= ~SRC2_IMM; +- } +- +- if (flags & SRC2_IMM) { +- if (op & SLJIT_SET_O) { +- FAIL_IF(SHRUI(TMP_EREG1,reg_map[src1], 63)); +- +- if (src2 < 0) +- FAIL_IF(XORI(TMP_EREG1, TMP_EREG1, 1)); +- +- if (src1 != dst) +- overflow_ra = reg_map[src1]; +- else { +- /* Rare ocasion. */ +- FAIL_IF(ADD(TMP_EREG2, reg_map[src1], ZERO)); +- overflow_ra = TMP_EREG2; +- } +- } +- +- if (op & SLJIT_SET_E) +- FAIL_IF(ADDLI(EQUAL_FLAG, reg_map[src1], -src2)); +- +- if (op & SLJIT_SET_C) { +- FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); +- FAIL_IF(CMPLTU(ULESS_FLAG, reg_map[src1], ADDR_TMP_mapped)); +- } +- +- /* dst may be the same as src1 or src2. */ +- if (CHECK_FLAGS(SLJIT_SET_E)) +- FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], -src2)); +- +- } else { +- +- if (op & SLJIT_SET_O) { +- FAIL_IF(XOR(TMP_EREG1, reg_map[src1], reg_map[src2])); +- FAIL_IF(SHRUI(TMP_EREG1, TMP_EREG1, 63)); +- +- if (src1 != dst) +- overflow_ra = reg_map[src1]; +- else { +- /* Rare ocasion. */ +- FAIL_IF(ADD(TMP_EREG2, reg_map[src1], ZERO)); +- overflow_ra = TMP_EREG2; +- } +- } +- +- if (op & SLJIT_SET_E) +- FAIL_IF(SUB(EQUAL_FLAG, reg_map[src1], reg_map[src2])); +- +- if (op & (SLJIT_SET_U | SLJIT_SET_C)) +- FAIL_IF(CMPLTU(ULESS_FLAG, reg_map[src1], reg_map[src2])); +- +- if (op & SLJIT_SET_U) +- FAIL_IF(CMPLTU(UGREATER_FLAG, reg_map[src2], reg_map[src1])); +- +- if (op & SLJIT_SET_S) { +- FAIL_IF(CMPLTS(LESS_FLAG ,reg_map[src1] ,reg_map[src2])); +- FAIL_IF(CMPLTS(GREATER_FLAG ,reg_map[src2] ,reg_map[src1])); +- } +- +- /* dst may be the same as src1 or src2. */ +- if (CHECK_FLAGS(SLJIT_SET_E | SLJIT_SET_U | SLJIT_SET_S | SLJIT_SET_C)) +- FAIL_IF(SUB(reg_map[dst], reg_map[src1], reg_map[src2])); +- } +- +- if (op & SLJIT_SET_O) { +- FAIL_IF(XOR(OVERFLOW_FLAG, reg_map[dst], overflow_ra)); +- FAIL_IF(SHRUI(OVERFLOW_FLAG, OVERFLOW_FLAG, 63)); +- return CMOVEQZ(OVERFLOW_FLAG, TMP_EREG1, ZERO); +- } +- +- return SLJIT_SUCCESS; +- +- case SLJIT_SUBC: +- if ((flags & SRC2_IMM) && src2 == SIMM_16BIT_MIN) { +- FAIL_IF(ADDLI(TMP_REG2_mapped, ZERO, src2)); +- src2 = TMP_REG2; +- flags &= ~SRC2_IMM; +- } +- +- if (flags & SRC2_IMM) { +- if (op & SLJIT_SET_C) { +- FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, -src2)); +- FAIL_IF(CMPLTU(TMP_EREG1, reg_map[src1], ADDR_TMP_mapped)); +- } +- +- /* dst may be the same as src1 or src2. */ +- FAIL_IF(ADDLI(reg_map[dst], reg_map[src1], -src2)); +- +- } else { +- if (op & SLJIT_SET_C) +- FAIL_IF(CMPLTU(TMP_EREG1, reg_map[src1], reg_map[src2])); +- /* dst may be the same as src1 or src2. */ +- FAIL_IF(SUB(reg_map[dst], reg_map[src1], reg_map[src2])); +- } +- +- if (op & SLJIT_SET_C) +- FAIL_IF(CMOVEQZ(TMP_EREG1, reg_map[dst], ULESS_FLAG)); +- +- FAIL_IF(SUB(reg_map[dst], reg_map[dst], ULESS_FLAG)); +- +- if (op & SLJIT_SET_C) +- FAIL_IF(ADD(ULESS_FLAG, TMP_EREG1, ZERO)); +- +- return SLJIT_SUCCESS; +- +- case SLJIT_MUL: +- if (flags & SRC2_IMM) { +- FAIL_IF(load_immediate(compiler, TMP_REG2_mapped, src2)); +- src2 = TMP_REG2; +- flags &= ~SRC2_IMM; +- } +- +- FAIL_IF(MUL(reg_map[dst], reg_map[src1], reg_map[src2])); +- +- return SLJIT_SUCCESS; +- +-#define EMIT_LOGICAL(op_imm, op_norm) \ +- if (flags & SRC2_IMM) { \ +- FAIL_IF(load_immediate(compiler, ADDR_TMP_mapped, src2)); \ +- if (op & SLJIT_SET_E) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ +- ADDR_TMP_mapped, __LINE__)); \ +- if (CHECK_FLAGS(SLJIT_SET_E)) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, reg_map[dst], reg_map[src1], \ +- ADDR_TMP_mapped, __LINE__)); \ +- } else { \ +- if (op & SLJIT_SET_E) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ +- reg_map[src2], __LINE__)); \ +- if (CHECK_FLAGS(SLJIT_SET_E)) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, reg_map[dst], reg_map[src1], \ +- reg_map[src2], __LINE__)); \ +- } +- +- case SLJIT_AND: +- EMIT_LOGICAL(TILEGX_OPC_ANDI, TILEGX_OPC_AND); +- return SLJIT_SUCCESS; +- +- case SLJIT_OR: +- EMIT_LOGICAL(TILEGX_OPC_ORI, TILEGX_OPC_OR); +- return SLJIT_SUCCESS; +- +- case SLJIT_XOR: +- EMIT_LOGICAL(TILEGX_OPC_XORI, TILEGX_OPC_XOR); +- return SLJIT_SUCCESS; +- +-#define EMIT_SHIFT(op_imm, op_norm) \ +- if (flags & SRC2_IMM) { \ +- if (op & SLJIT_SET_E) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_imm, EQUAL_FLAG, reg_map[src1], \ +- src2 & 0x3F, __LINE__)); \ +- if (CHECK_FLAGS(SLJIT_SET_E)) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_imm, reg_map[dst], reg_map[src1], \ +- src2 & 0x3F, __LINE__)); \ +- } else { \ +- if (op & SLJIT_SET_E) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, EQUAL_FLAG, reg_map[src1], \ +- reg_map[src2], __LINE__)); \ +- if (CHECK_FLAGS(SLJIT_SET_E)) \ +- FAIL_IF(push_3_buffer( \ +- compiler, op_norm, reg_map[dst], reg_map[src1], \ +- reg_map[src2], __LINE__)); \ +- } +- +- case SLJIT_SHL: +- EMIT_SHIFT(TILEGX_OPC_SHLI, TILEGX_OPC_SHL); +- return SLJIT_SUCCESS; +- +- case SLJIT_LSHR: +- EMIT_SHIFT(TILEGX_OPC_SHRUI, TILEGX_OPC_SHRU); +- return SLJIT_SUCCESS; +- +- case SLJIT_ASHR: +- EMIT_SHIFT(TILEGX_OPC_SHRSI, TILEGX_OPC_SHRS); +- return SLJIT_SUCCESS; +- } +- +- SLJIT_UNREACHABLE(); +- return SLJIT_SUCCESS; +-} +- +-static sljit_s32 emit_op(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 flags, sljit_s32 dst, sljit_sw dstw, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w) +-{ +- /* arg1 goes to TMP_REG1 or src reg. +- arg2 goes to TMP_REG2, imm or src reg. +- TMP_REG3 can be used for caching. +- result goes to TMP_REG2, so put result can use TMP_REG1 and TMP_REG3. */ +- sljit_s32 dst_r = TMP_REG2; +- sljit_s32 src1_r; +- sljit_sw src2_r = 0; +- sljit_s32 sugg_src2_r = TMP_REG2; +- +- if (!(flags & ALT_KEEP_CACHE)) { +- compiler->cache_arg = 0; +- compiler->cache_argw = 0; +- } +- +- if (SLJIT_UNLIKELY(dst == SLJIT_UNUSED)) { +- if (op >= SLJIT_MOV && op <= SLJIT_MOVU_S32 && !(src2 & SLJIT_MEM)) +- return SLJIT_SUCCESS; +- if (GET_FLAGS(op)) +- flags |= UNUSED_DEST; +- } else if (FAST_IS_REG(dst)) { +- dst_r = dst; +- flags |= REG_DEST; +- if (op >= SLJIT_MOV && op <= SLJIT_MOVU_S32) +- sugg_src2_r = dst_r; +- } else if ((dst & SLJIT_MEM) && !getput_arg_fast(compiler, flags | ARG_TEST, TMP_REG1_mapped, dst, dstw)) +- flags |= SLOW_DEST; +- +- if (flags & IMM_OP) { +- if ((src2 & SLJIT_IMM) && src2w) { +- if ((!(flags & LOGICAL_OP) +- && (src2w <= SIMM_16BIT_MAX && src2w >= SIMM_16BIT_MIN)) +- || ((flags & LOGICAL_OP) && !(src2w & ~UIMM_16BIT_MAX))) { +- flags |= SRC2_IMM; +- src2_r = src2w; +- } +- } +- +- if (!(flags & SRC2_IMM) && (flags & CUMULATIVE_OP) && (src1 & SLJIT_IMM) && src1w) { +- if ((!(flags & LOGICAL_OP) +- && (src1w <= SIMM_16BIT_MAX && src1w >= SIMM_16BIT_MIN)) +- || ((flags & LOGICAL_OP) && !(src1w & ~UIMM_16BIT_MAX))) { +- flags |= SRC2_IMM; +- src2_r = src1w; +- +- /* And swap arguments. */ +- src1 = src2; +- src1w = src2w; +- src2 = SLJIT_IMM; +- /* src2w = src2_r unneeded. */ +- } +- } +- } +- +- /* Source 1. */ +- if (FAST_IS_REG(src1)) { +- src1_r = src1; +- flags |= REG1_SOURCE; +- } else if (src1 & SLJIT_IMM) { +- if (src1w) { +- FAIL_IF(load_immediate(compiler, TMP_REG1_mapped, src1w)); +- src1_r = TMP_REG1; +- } else +- src1_r = 0; +- } else { +- if (getput_arg_fast(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w)) +- FAIL_IF(compiler->error); +- else +- flags |= SLOW_SRC1; +- src1_r = TMP_REG1; +- } +- +- /* Source 2. */ +- if (FAST_IS_REG(src2)) { +- src2_r = src2; +- flags |= REG2_SOURCE; +- if (!(flags & REG_DEST) && op >= SLJIT_MOV && op <= SLJIT_MOVU_S32) +- dst_r = src2_r; +- } else if (src2 & SLJIT_IMM) { +- if (!(flags & SRC2_IMM)) { +- if (src2w) { +- FAIL_IF(load_immediate(compiler, reg_map[sugg_src2_r], src2w)); +- src2_r = sugg_src2_r; +- } else { +- src2_r = 0; +- if ((op >= SLJIT_MOV && op <= SLJIT_MOVU_S32) && (dst & SLJIT_MEM)) +- dst_r = 0; +- } +- } +- } else { +- if (getput_arg_fast(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w)) +- FAIL_IF(compiler->error); +- else +- flags |= SLOW_SRC2; +- src2_r = sugg_src2_r; +- } +- +- if ((flags & (SLOW_SRC1 | SLOW_SRC2)) == (SLOW_SRC1 | SLOW_SRC2)) { +- SLJIT_ASSERT(src2_r == TMP_REG2); +- if (!can_cache(src1, src1w, src2, src2w) && can_cache(src1, src1w, dst, dstw)) { +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, src1, src1w)); +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); +- } else { +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, src2, src2w)); +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG2_mapped, src2, src2w, dst, dstw)); +- } +- } else if (flags & SLOW_SRC1) +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, TMP_REG1_mapped, src1, src1w, dst, dstw)); +- else if (flags & SLOW_SRC2) +- FAIL_IF(getput_arg(compiler, flags | LOAD_DATA, reg_map[sugg_src2_r], src2, src2w, dst, dstw)); +- +- FAIL_IF(emit_single_op(compiler, op, flags, dst_r, src1_r, src2_r)); +- +- if (dst & SLJIT_MEM) { +- if (!(flags & SLOW_DEST)) { +- getput_arg_fast(compiler, flags, reg_map[dst_r], dst, dstw); +- return compiler->error; +- } +- +- return getput_arg(compiler, flags, reg_map[dst_r], dst, dstw, 0, 0); +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_flags(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw, sljit_s32 type) +-{ +- sljit_s32 sugg_dst_ar, dst_ar; +- sljit_s32 flags = GET_ALL_FLAGS(op); +- sljit_s32 mem_type = (op & SLJIT_I32_OP) ? (INT_DATA | SIGNED_DATA) : WORD_DATA; +- +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op_flags(compiler, op, dst, dstw, src, srcw, type)); +- ADJUST_LOCAL_OFFSET(dst, dstw); +- +- op = GET_OPCODE(op); +- if (op == SLJIT_MOV_S32 || op == SLJIT_MOV_U32) +- mem_type = INT_DATA | SIGNED_DATA; +- sugg_dst_ar = reg_map[(op < SLJIT_ADD && FAST_IS_REG(dst)) ? dst : TMP_REG2]; +- +- compiler->cache_arg = 0; +- compiler->cache_argw = 0; +- if (op >= SLJIT_ADD && (src & SLJIT_MEM)) { +- ADJUST_LOCAL_OFFSET(src, srcw); +- FAIL_IF(emit_op_mem2(compiler, mem_type | LOAD_DATA, TMP_REG1_mapped, src, srcw, dst, dstw)); +- src = TMP_REG1; +- srcw = 0; +- } +- +- switch (type & 0xff) { +- case SLJIT_EQUAL: +- case SLJIT_NOT_EQUAL: +- FAIL_IF(CMPLTUI(sugg_dst_ar, EQUAL_FLAG, 1)); +- dst_ar = sugg_dst_ar; +- break; +- case SLJIT_LESS: +- case SLJIT_GREATER_EQUAL: +- dst_ar = ULESS_FLAG; +- break; +- case SLJIT_GREATER: +- case SLJIT_LESS_EQUAL: +- dst_ar = UGREATER_FLAG; +- break; +- case SLJIT_SIG_LESS: +- case SLJIT_SIG_GREATER_EQUAL: +- dst_ar = LESS_FLAG; +- break; +- case SLJIT_SIG_GREATER: +- case SLJIT_SIG_LESS_EQUAL: +- dst_ar = GREATER_FLAG; +- break; +- case SLJIT_OVERFLOW: +- case SLJIT_NOT_OVERFLOW: +- dst_ar = OVERFLOW_FLAG; +- break; +- case SLJIT_MUL_OVERFLOW: +- case SLJIT_MUL_NOT_OVERFLOW: +- FAIL_IF(CMPLTUI(sugg_dst_ar, OVERFLOW_FLAG, 1)); +- dst_ar = sugg_dst_ar; +- type ^= 0x1; /* Flip type bit for the XORI below. */ +- break; +- +- default: +- SLJIT_UNREACHABLE(); +- dst_ar = sugg_dst_ar; +- break; +- } +- +- if (type & 0x1) { +- FAIL_IF(XORI(sugg_dst_ar, dst_ar, 1)); +- dst_ar = sugg_dst_ar; +- } +- +- if (op >= SLJIT_ADD) { +- if (TMP_REG2_mapped != dst_ar) +- FAIL_IF(ADD(TMP_REG2_mapped, dst_ar, ZERO)); +- return emit_op(compiler, op | flags, mem_type | CUMULATIVE_OP | LOGICAL_OP | IMM_OP | ALT_KEEP_CACHE, dst, dstw, src, srcw, TMP_REG2, 0); +- } +- +- if (dst & SLJIT_MEM) +- return emit_op_mem(compiler, mem_type, dst_ar, dst, dstw); +- +- if (sugg_dst_ar != dst_ar) +- return ADD(sugg_dst_ar, dst_ar, ZERO); +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op0(struct sljit_compiler *compiler, sljit_s32 op) { +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op0(compiler, op)); +- +- op = GET_OPCODE(op); +- switch (op) { +- case SLJIT_NOP: +- return push_0_buffer(compiler, TILEGX_OPC_FNOP, __LINE__); +- +- case SLJIT_BREAKPOINT: +- return PI(BPT); +- +- case SLJIT_LMUL_UW: +- case SLJIT_LMUL_SW: +- case SLJIT_DIVMOD_UW: +- case SLJIT_DIVMOD_SW: +- case SLJIT_DIV_UW: +- case SLJIT_DIV_SW: +- SLJIT_UNREACHABLE(); +- case SLJIT_ENDBR: +- case SLJIT_SKIP_FRAMES_BEFORE_RETURN: +- return SLJIT_SUCCESS; +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op1(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op1(compiler, op, dst, dstw, src, srcw)); +- ADJUST_LOCAL_OFFSET(dst, dstw); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- switch (GET_OPCODE(op)) { +- case SLJIT_MOV: +- case SLJIT_MOV_P: +- return emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOV_U32: +- return emit_op(compiler, SLJIT_MOV_U32, INT_DATA, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOV_S32: +- return emit_op(compiler, SLJIT_MOV_S32, INT_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOV_U8: +- return emit_op(compiler, SLJIT_MOV_U8, BYTE_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_u8) srcw : srcw); +- +- case SLJIT_MOV_S8: +- return emit_op(compiler, SLJIT_MOV_S8, BYTE_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_s8) srcw : srcw); +- +- case SLJIT_MOV_U16: +- return emit_op(compiler, SLJIT_MOV_U16, HALF_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_u16) srcw : srcw); +- +- case SLJIT_MOV_S16: +- return emit_op(compiler, SLJIT_MOV_S16, HALF_DATA | SIGNED_DATA, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_s16) srcw : srcw); +- +- case SLJIT_MOVU: +- case SLJIT_MOVU_P: +- return emit_op(compiler, SLJIT_MOV, WORD_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOVU_U32: +- return emit_op(compiler, SLJIT_MOV_U32, INT_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOVU_S32: +- return emit_op(compiler, SLJIT_MOV_S32, INT_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_MOVU_U8: +- return emit_op(compiler, SLJIT_MOV_U8, BYTE_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_u8) srcw : srcw); +- +- case SLJIT_MOVU_S8: +- return emit_op(compiler, SLJIT_MOV_S8, BYTE_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_s8) srcw : srcw); +- +- case SLJIT_MOVU_U16: +- return emit_op(compiler, SLJIT_MOV_U16, HALF_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_u16) srcw : srcw); +- +- case SLJIT_MOVU_S16: +- return emit_op(compiler, SLJIT_MOV_S16, HALF_DATA | SIGNED_DATA | WRITE_BACK, dst, dstw, TMP_REG1, 0, src, (src & SLJIT_IMM) ? (sljit_s16) srcw : srcw); +- +- case SLJIT_NOT: +- return emit_op(compiler, op, 0, dst, dstw, TMP_REG1, 0, src, srcw); +- +- case SLJIT_NEG: +- return emit_op(compiler, SLJIT_SUB | GET_ALL_FLAGS(op), IMM_OP, dst, dstw, SLJIT_IMM, 0, src, srcw); +- +- case SLJIT_CLZ: +- return emit_op(compiler, op, (op & SLJIT_I32_OP) ? INT_DATA : WORD_DATA, dst, dstw, TMP_REG1, 0, src, srcw); +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op2(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op2(compiler, op, dst, dstw, src1, src1w, src2, src2w)); +- ADJUST_LOCAL_OFFSET(dst, dstw); +- ADJUST_LOCAL_OFFSET(src1, src1w); +- ADJUST_LOCAL_OFFSET(src2, src2w); +- +- switch (GET_OPCODE(op)) { +- case SLJIT_ADD: +- case SLJIT_ADDC: +- return emit_op(compiler, op, CUMULATIVE_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); +- +- case SLJIT_SUB: +- case SLJIT_SUBC: +- return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); +- +- case SLJIT_MUL: +- return emit_op(compiler, op, CUMULATIVE_OP, dst, dstw, src1, src1w, src2, src2w); +- +- case SLJIT_AND: +- case SLJIT_OR: +- case SLJIT_XOR: +- return emit_op(compiler, op, CUMULATIVE_OP | LOGICAL_OP | IMM_OP, dst, dstw, src1, src1w, src2, src2w); +- +- case SLJIT_SHL: +- case SLJIT_LSHR: +- case SLJIT_ASHR: +- if (src2 & SLJIT_IMM) +- src2w &= 0x3f; +- if (op & SLJIT_I32_OP) +- src2w &= 0x1f; +- +- return emit_op(compiler, op, IMM_OP, dst, dstw, src1, src1w, src2, src2w); +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_src(struct sljit_compiler *compiler, sljit_s32 op, +- sljit_s32 src, sljit_sw srcw) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op_src(compiler, op, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- switch (op) { +- case SLJIT_FAST_RETURN: +- if (FAST_IS_REG(src)) +- FAIL_IF(ADD(RA, reg_map[src], ZERO)); +- +- else +- FAIL_IF(emit_op_mem(compiler, WORD_DATA | LOAD_DATA, RA, src, srcw)); +- +- return JR(RA); +- case SLJIT_SKIP_FRAMES_BEFORE_FAST_RETURN: +- return SLJIT_SUCCESS; +- } +- +- return SLJIT_SUCCESS; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_label * sljit_emit_label(struct sljit_compiler *compiler) +-{ +- struct sljit_label *label; +- +- flush_buffer(compiler); +- +- CHECK_ERROR_PTR(); +- CHECK_PTR(check_sljit_emit_label(compiler)); +- +- if (compiler->last_label && compiler->last_label->size == compiler->size) +- return compiler->last_label; +- +- label = (struct sljit_label *)ensure_abuf(compiler, sizeof(struct sljit_label)); +- PTR_FAIL_IF(!label); +- set_label(label, compiler); +- return label; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_ijump(struct sljit_compiler *compiler, sljit_s32 type, sljit_s32 src, sljit_sw srcw) +-{ +- sljit_s32 src_r = TMP_REG2; +- struct sljit_jump *jump = NULL; +- +- flush_buffer(compiler); +- +- CHECK_ERROR(); +- CHECK(check_sljit_emit_ijump(compiler, type, src, srcw)); +- ADJUST_LOCAL_OFFSET(src, srcw); +- +- if (FAST_IS_REG(src)) { +- if (reg_map[src] != 0) +- src_r = src; +- else +- FAIL_IF(ADD_SOLO(TMP_REG2_mapped, reg_map[src], ZERO)); +- } +- +- if (type >= SLJIT_CALL0) { +- SLJIT_ASSERT(reg_map[PIC_ADDR_REG] == 16 && PIC_ADDR_REG == TMP_REG2); +- if (src & (SLJIT_IMM | SLJIT_MEM)) { +- if (src & SLJIT_IMM) +- FAIL_IF(emit_const(compiler, reg_map[PIC_ADDR_REG], srcw, 1)); +- else { +- SLJIT_ASSERT(src_r == TMP_REG2 && (src & SLJIT_MEM)); +- FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); +- } +- +- FAIL_IF(ADD_SOLO(0, reg_map[SLJIT_R0], ZERO)); +- +- FAIL_IF(ADDI_SOLO(54, 54, -16)); +- +- FAIL_IF(JALR_SOLO(reg_map[PIC_ADDR_REG])); +- +- return ADDI_SOLO(54, 54, 16); +- } +- +- /* Register input. */ +- if (type >= SLJIT_CALL1) +- FAIL_IF(ADD_SOLO(0, reg_map[SLJIT_R0], ZERO)); +- +- FAIL_IF(ADD_SOLO(reg_map[PIC_ADDR_REG], reg_map[src_r], ZERO)); +- +- FAIL_IF(ADDI_SOLO(54, 54, -16)); +- +- FAIL_IF(JALR_SOLO(reg_map[src_r])); +- +- return ADDI_SOLO(54, 54, 16); +- } +- +- if (src & SLJIT_IMM) { +- jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); +- FAIL_IF(!jump); +- set_jump(jump, compiler, JUMP_ADDR | ((type >= SLJIT_FAST_CALL) ? IS_JAL : 0)); +- jump->u.target = srcw; +- FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); +- +- if (type >= SLJIT_FAST_CALL) { +- FAIL_IF(ADD_SOLO(ZERO, ZERO, ZERO)); +- jump->addr = compiler->size; +- FAIL_IF(JR_SOLO(reg_map[src_r])); +- } else { +- jump->addr = compiler->size; +- FAIL_IF(JR_SOLO(reg_map[src_r])); +- } +- +- return SLJIT_SUCCESS; +- +- } else if (src & SLJIT_MEM) { +- FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, TMP_REG2, 0, TMP_REG1, 0, src, srcw)); +- flush_buffer(compiler); +- } +- +- FAIL_IF(JR_SOLO(reg_map[src_r])); +- +- if (jump) +- jump->addr = compiler->size; +- +- return SLJIT_SUCCESS; +-} +- +-#define BR_Z(src) \ +- inst = BEQZ_X1 | SRCA_X1(src); \ +- flags = IS_COND; +- +-#define BR_NZ(src) \ +- inst = BNEZ_X1 | SRCA_X1(src); \ +- flags = IS_COND; +- +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_jump * sljit_emit_jump(struct sljit_compiler *compiler, sljit_s32 type) +-{ +- struct sljit_jump *jump; +- sljit_ins inst; +- sljit_s32 flags = 0; +- +- flush_buffer(compiler); +- +- CHECK_ERROR_PTR(); +- CHECK_PTR(check_sljit_emit_jump(compiler, type)); +- +- jump = (struct sljit_jump *)ensure_abuf(compiler, sizeof(struct sljit_jump)); +- PTR_FAIL_IF(!jump); +- set_jump(jump, compiler, type & SLJIT_REWRITABLE_JUMP); +- type &= 0xff; +- +- switch (type) { +- case SLJIT_EQUAL: +- BR_NZ(EQUAL_FLAG); +- break; +- case SLJIT_NOT_EQUAL: +- BR_Z(EQUAL_FLAG); +- break; +- case SLJIT_LESS: +- BR_Z(ULESS_FLAG); +- break; +- case SLJIT_GREATER_EQUAL: +- BR_NZ(ULESS_FLAG); +- break; +- case SLJIT_GREATER: +- BR_Z(UGREATER_FLAG); +- break; +- case SLJIT_LESS_EQUAL: +- BR_NZ(UGREATER_FLAG); +- break; +- case SLJIT_SIG_LESS: +- BR_Z(LESS_FLAG); +- break; +- case SLJIT_SIG_GREATER_EQUAL: +- BR_NZ(LESS_FLAG); +- break; +- case SLJIT_SIG_GREATER: +- BR_Z(GREATER_FLAG); +- break; +- case SLJIT_SIG_LESS_EQUAL: +- BR_NZ(GREATER_FLAG); +- break; +- case SLJIT_OVERFLOW: +- case SLJIT_MUL_OVERFLOW: +- BR_Z(OVERFLOW_FLAG); +- break; +- case SLJIT_NOT_OVERFLOW: +- case SLJIT_MUL_NOT_OVERFLOW: +- BR_NZ(OVERFLOW_FLAG); +- break; +- default: +- /* Not conditional branch. */ +- inst = 0; +- break; +- } +- +- jump->flags |= flags; +- +- if (inst) { +- inst = inst | ((type <= SLJIT_JUMP) ? BOFF_X1(5) : BOFF_X1(6)); +- PTR_FAIL_IF(PI(inst)); +- } +- +- PTR_FAIL_IF(emit_const(compiler, TMP_REG2_mapped, 0, 1)); +- if (type <= SLJIT_JUMP) { +- jump->addr = compiler->size; +- PTR_FAIL_IF(JR_SOLO(TMP_REG2_mapped)); +- } else { +- SLJIT_ASSERT(reg_map[PIC_ADDR_REG] == 16 && PIC_ADDR_REG == TMP_REG2); +- /* Cannot be optimized out if type is >= CALL0. */ +- jump->flags |= IS_JAL | (type >= SLJIT_CALL0 ? SLJIT_REWRITABLE_JUMP : 0); +- PTR_FAIL_IF(ADD_SOLO(0, reg_map[SLJIT_R0], ZERO)); +- jump->addr = compiler->size; +- PTR_FAIL_IF(JALR_SOLO(TMP_REG2_mapped)); +- } +- +- return jump; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop1(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src, sljit_sw srcw) +-{ +- SLJIT_UNREACHABLE(); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_fop2(struct sljit_compiler *compiler, sljit_s32 op, sljit_s32 dst, sljit_sw dstw, sljit_s32 src1, sljit_sw src1w, sljit_s32 src2, sljit_sw src2w) +-{ +- SLJIT_UNREACHABLE(); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE struct sljit_const * sljit_emit_const(struct sljit_compiler *compiler, sljit_s32 dst, sljit_sw dstw, sljit_sw init_value) +-{ +- struct sljit_const *const_; +- sljit_s32 reg; +- +- flush_buffer(compiler); +- +- CHECK_ERROR_PTR(); +- CHECK_PTR(check_sljit_emit_const(compiler, dst, dstw, init_value)); +- ADJUST_LOCAL_OFFSET(dst, dstw); +- +- const_ = (struct sljit_const *)ensure_abuf(compiler, sizeof(struct sljit_const)); +- PTR_FAIL_IF(!const_); +- set_const(const_, compiler); +- +- reg = FAST_IS_REG(dst) ? dst : TMP_REG2; +- +- PTR_FAIL_IF(emit_const_64(compiler, reg, init_value, 1)); +- +- if (dst & SLJIT_MEM) +- PTR_FAIL_IF(emit_op(compiler, SLJIT_MOV, WORD_DATA, dst, dstw, TMP_REG1, 0, TMP_REG2, 0)); +- return const_; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target) +-{ +- sljit_ins *inst = (sljit_ins *)addr; +- +- inst[0] = (inst[0] & ~(0xFFFFL << 43)) | (((new_target >> 32) & 0xffff) << 43); +- inst[1] = (inst[1] & ~(0xFFFFL << 43)) | (((new_target >> 16) & 0xffff) << 43); +- inst[2] = (inst[2] & ~(0xFFFFL << 43)) | ((new_target & 0xffff) << 43); +- SLJIT_CACHE_FLUSH(inst, inst + 3); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant) +-{ +- sljit_ins *inst = (sljit_ins *)addr; +- +- inst[0] = (inst[0] & ~(0xFFFFL << 43)) | (((new_constant >> 48) & 0xFFFFL) << 43); +- inst[1] = (inst[1] & ~(0xFFFFL << 43)) | (((new_constant >> 32) & 0xFFFFL) << 43); +- inst[2] = (inst[2] & ~(0xFFFFL << 43)) | (((new_constant >> 16) & 0xFFFFL) << 43); +- inst[3] = (inst[3] & ~(0xFFFFL << 43)) | ((new_constant & 0xFFFFL) << 43); +- SLJIT_CACHE_FLUSH(inst, inst + 4); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_get_register_index(sljit_s32 reg) +-{ +- CHECK_REG_INDEX(check_sljit_get_register_index(reg)); +- return reg_map[reg]; +-} +- +-SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_emit_op_custom(struct sljit_compiler *compiler, +- void *instruction, sljit_s32 size) +-{ +- CHECK_ERROR(); +- CHECK(check_sljit_emit_op_custom(compiler, instruction, size)); +- return SLJIT_ERR_UNSUPPORTED; +-} +- +diff --git a/src/3rdparty/pcre2/src/sljit/sljitNativeX86_common.c b/src/3rdparty/pcre2/src/sljit/sljitNativeX86_common.c +index 74965e3251..ddcc5ebf76 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitNativeX86_common.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitNativeX86_common.c +@@ -506,7 +506,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + reverse_buf(compiler); + + /* Second code generation pass. */ +- code = (sljit_u8*)SLJIT_MALLOC_EXEC(compiler->size); ++ code = (sljit_u8*)SLJIT_MALLOC_EXEC(compiler->size, compiler->exec_allocator_data); + PTR_FAIL_WITH_EXEC_IF(code); + buf = compiler->buf; + +@@ -557,7 +557,7 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + SLJIT_ASSERT(put_label->label); + put_label->addr = (sljit_uw)code_ptr; + #if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) +- code_ptr = generate_put_label_code(put_label, code_ptr, (sljit_uw)(SLJIT_ADD_EXEC_OFFSET(code, executable_offset) + put_label->label->size)); ++ code_ptr = generate_put_label_code(put_label, code_ptr, (sljit_uw)SLJIT_ADD_EXEC_OFFSET(code, executable_offset) + put_label->label->size); + #endif + put_label = put_label->next; + break; +@@ -629,7 +629,11 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil + compiler->error = SLJIT_ERR_COMPILED; + compiler->executable_offset = executable_offset; + compiler->executable_size = code_ptr - code; +- return (void*)(code + executable_offset); ++ ++ code = (sljit_u8*)SLJIT_ADD_EXEC_OFFSET(code, executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS(code, (sljit_u8*)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset), 1); ++ return (void*)code; + } + + SLJIT_API_FUNC_ATTRIBUTE sljit_s32 sljit_has_cpu_feature(sljit_s32 feature_type) +@@ -725,15 +729,16 @@ static SLJIT_INLINE sljit_s32 emit_endbranch(struct sljit_compiler *compiler) + #else + *inst = 0xfa; + #endif +-#else ++#else /* !SLJIT_CONFIG_X86_CET */ + SLJIT_UNUSED_ARG(compiler); +-#endif ++#endif /* SLJIT_CONFIG_X86_CET */ + return SLJIT_SUCCESS; + } + ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) && defined (__SHSTK__) ++ + static SLJIT_INLINE sljit_s32 emit_rdssp(struct sljit_compiler *compiler, sljit_s32 reg) + { +-#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) + sljit_u8 *inst; + sljit_s32 size; + +@@ -753,16 +758,11 @@ static SLJIT_INLINE sljit_s32 emit_rdssp(struct sljit_compiler *compiler, sljit_ + *inst++ = 0x0f; + *inst++ = 0x1e; + *inst = (0x3 << 6) | (0x1 << 3) | (reg_map[reg] & 0x7); +-#else +- SLJIT_UNUSED_ARG(compiler); +- SLJIT_UNUSED_ARG(reg); +-#endif + return SLJIT_SUCCESS; + } + + static SLJIT_INLINE sljit_s32 emit_incssp(struct sljit_compiler *compiler, sljit_s32 reg) + { +-#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) + sljit_u8 *inst; + sljit_s32 size; + +@@ -782,29 +782,28 @@ static SLJIT_INLINE sljit_s32 emit_incssp(struct sljit_compiler *compiler, sljit + *inst++ = 0x0f; + *inst++ = 0xae; + *inst = (0x3 << 6) | (0x5 << 3) | (reg_map[reg] & 0x7); +-#else +- SLJIT_UNUSED_ARG(compiler); +- SLJIT_UNUSED_ARG(reg); +-#endif + return SLJIT_SUCCESS; + } + ++#endif /* SLJIT_CONFIG_X86_CET && __SHSTK__ */ ++ + static SLJIT_INLINE sljit_s32 cpu_has_shadow_stack(void) + { +-#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) && defined (__SHSTK__) + return _get_ssp() != 0; +-#else ++#else /* !SLJIT_CONFIG_X86_CET || !__SHSTK__ */ + return 0; +-#endif ++#endif /* SLJIT_CONFIG_X86_CET && __SHSTK__ */ + } + + static SLJIT_INLINE sljit_s32 adjust_shadow_stack(struct sljit_compiler *compiler, + sljit_s32 src, sljit_sw srcw, sljit_s32 base, sljit_sw disp) + { +-#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) +- sljit_u8 *inst; ++#if (defined SLJIT_CONFIG_X86_CET && SLJIT_CONFIG_X86_CET) && defined (__SHSTK__) ++ sljit_u8 *inst, *jz_after_cmp_inst; ++ sljit_uw size_jz_after_cmp_inst; + +- sljit_s32 size_before_rdssp_inst = compiler->size; ++ sljit_uw size_before_rdssp_inst = compiler->size; + + /* Generate "RDSSP TMP_REG1". */ + FAIL_IF(emit_rdssp(compiler, TMP_REG1)); +@@ -839,8 +838,8 @@ static SLJIT_INLINE sljit_s32 adjust_shadow_stack(struct sljit_compiler *compile + FAIL_IF(!inst); + INC_SIZE(2); + *inst++ = get_jump_code(SLJIT_EQUAL) - 0x10; +- sljit_uw size_jz_after_cmp_inst = compiler->size; +- sljit_u8 *jz_after_cmp_inst = inst; ++ size_jz_after_cmp_inst = compiler->size; ++ jz_after_cmp_inst = inst; + + #if (defined SLJIT_CONFIG_X86_64 && SLJIT_CONFIG_X86_64) + /* REX_W is not necessary. */ +@@ -860,13 +859,13 @@ static SLJIT_INLINE sljit_s32 adjust_shadow_stack(struct sljit_compiler *compile + *inst = size_before_rdssp_inst - compiler->size; + + *jz_after_cmp_inst = compiler->size - size_jz_after_cmp_inst; +-#else /* SLJIT_CONFIG_X86_CET */ ++#else /* !SLJIT_CONFIG_X86_CET || !__SHSTK__ */ + SLJIT_UNUSED_ARG(compiler); + SLJIT_UNUSED_ARG(src); + SLJIT_UNUSED_ARG(srcw); + SLJIT_UNUSED_ARG(base); + SLJIT_UNUSED_ARG(disp); +-#endif /* SLJIT_CONFIG_X86_CET */ ++#endif /* SLJIT_CONFIG_X86_CET && __SHSTK__ */ + return SLJIT_SUCCESS; + } + +@@ -3123,15 +3122,21 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_put_label* sljit_emit_put_label(struct slj + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_jump_addr(sljit_uw addr, sljit_uw new_target, sljit_sw executable_offset) + { + SLJIT_UNUSED_ARG(executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS((void*)addr, (void*)(addr + sizeof(sljit_uw)), 0); + #if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) + sljit_unaligned_store_sw((void*)addr, new_target - (addr + 4) - (sljit_uw)executable_offset); + #else + sljit_unaligned_store_sw((void*)addr, (sljit_sw) new_target); + #endif ++ SLJIT_UPDATE_WX_FLAGS((void*)addr, (void*)(addr + sizeof(sljit_uw)), 1); + } + + SLJIT_API_FUNC_ATTRIBUTE void sljit_set_const(sljit_uw addr, sljit_sw new_constant, sljit_sw executable_offset) + { + SLJIT_UNUSED_ARG(executable_offset); ++ ++ SLJIT_UPDATE_WX_FLAGS((void*)addr, (void*)(addr + sizeof(sljit_sw)), 0); + sljit_unaligned_store_sw((void*)addr, new_constant); ++ SLJIT_UPDATE_WX_FLAGS((void*)addr, (void*)(addr + sizeof(sljit_sw)), 1); + } +diff --git a/src/3rdparty/pcre2/src/sljit/sljitProtExecAllocator.c b/src/3rdparty/pcre2/src/sljit/sljitProtExecAllocator.c +new file mode 100644 +index 0000000000..147175afa6 +--- /dev/null ++++ b/src/3rdparty/pcre2/src/sljit/sljitProtExecAllocator.c +@@ -0,0 +1,474 @@ ++/* ++ * Stack-less Just-In-Time compiler ++ * ++ * Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without modification, are ++ * permitted provided that the following conditions are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright notice, this list of ++ * conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list ++ * of conditions and the following disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY ++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT ++ * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ++ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++/* ++ This file contains a simple executable memory allocator ++ ++ It is assumed, that executable code blocks are usually medium (or sometimes ++ large) memory blocks, and the allocator is not too frequently called (less ++ optimized than other allocators). Thus, using it as a generic allocator is ++ not suggested. ++ ++ How does it work: ++ Memory is allocated in continuous memory areas called chunks by alloc_chunk() ++ Chunk format: ++ [ block ][ block ] ... [ block ][ block terminator ] ++ ++ All blocks and the block terminator is started with block_header. The block ++ header contains the size of the previous and the next block. These sizes ++ can also contain special values. ++ Block size: ++ 0 - The block is a free_block, with a different size member. ++ 1 - The block is a block terminator. ++ n - The block is used at the moment, and the value contains its size. ++ Previous block size: ++ 0 - This is the first block of the memory chunk. ++ n - The size of the previous block. ++ ++ Using these size values we can go forward or backward on the block chain. ++ The unused blocks are stored in a chain list pointed by free_blocks. This ++ list is useful if we need to find a suitable memory area when the allocator ++ is called. ++ ++ When a block is freed, the new free block is connected to its adjacent free ++ blocks if possible. ++ ++ [ free block ][ used block ][ free block ] ++ and "used block" is freed, the three blocks are connected together: ++ [ one big free block ] ++*/ ++ ++/* --------------------------------------------------------------------- */ ++/* System (OS) functions */ ++/* --------------------------------------------------------------------- */ ++ ++/* 64 KByte. */ ++#define CHUNK_SIZE 0x10000 ++ ++struct chunk_header { ++ void *executable; ++}; ++ ++/* ++ alloc_chunk / free_chunk : ++ * allocate executable system memory chunks ++ * the size is always divisible by CHUNK_SIZE ++ SLJIT_ALLOCATOR_LOCK / SLJIT_ALLOCATOR_UNLOCK : ++ * provided as part of sljitUtils ++ * only the allocator requires this lock, sljit is fully thread safe ++ as it only uses local variables ++*/ ++ ++#ifndef __NetBSD__ ++#include ++#include ++#include ++#include ++ ++#ifndef O_NOATIME ++#define O_NOATIME 0 ++#endif ++ ++/* this is a linux extension available since kernel 3.11 */ ++#ifndef O_TMPFILE ++#define O_TMPFILE 020200000 ++#endif ++ ++#ifndef _GNU_SOURCE ++char *secure_getenv(const char *name); ++int mkostemp(char *template, int flags); ++#endif ++ ++static SLJIT_INLINE int create_tempfile(void) ++{ ++ int fd; ++ char tmp_name[256]; ++ size_t tmp_name_len = 0; ++ char *dir; ++ struct stat st; ++#if defined(SLJIT_SINGLE_THREADED) && SLJIT_SINGLE_THREADED ++ mode_t mode; ++#endif ++ ++#ifdef HAVE_MEMFD_CREATE ++ /* this is a GNU extension, make sure to use -D_GNU_SOURCE */ ++ fd = memfd_create("sljit", MFD_CLOEXEC); ++ if (fd != -1) { ++ fchmod(fd, 0); ++ return fd; ++ } ++#endif ++ ++ dir = secure_getenv("TMPDIR"); ++ ++ if (dir) { ++ tmp_name_len = strlen(dir); ++ if (tmp_name_len > 0 && tmp_name_len < sizeof(tmp_name)) { ++ if ((stat(dir, &st) == 0) && S_ISDIR(st.st_mode)) ++ strcpy(tmp_name, dir); ++ } ++ } ++ ++#ifdef P_tmpdir ++ if (!tmp_name_len) { ++ tmp_name_len = strlen(P_tmpdir); ++ if (tmp_name_len > 0 && tmp_name_len < sizeof(tmp_name)) ++ strcpy(tmp_name, P_tmpdir); ++ } ++#endif ++ if (!tmp_name_len) { ++ strcpy(tmp_name, "/tmp"); ++ tmp_name_len = 4; ++ } ++ ++ SLJIT_ASSERT(tmp_name_len > 0 && tmp_name_len < sizeof(tmp_name)); ++ ++ if (tmp_name[tmp_name_len - 1] == '/') ++ tmp_name[--tmp_name_len] = '\0'; ++ ++#ifdef __linux__ ++ /* ++ * the previous trimming might had left an empty string if TMPDIR="/" ++ * so work around the problem below ++ */ ++ fd = open(tmp_name_len ? tmp_name : "/", ++ O_TMPFILE | O_EXCL | O_RDWR | O_NOATIME | O_CLOEXEC, 0); ++ if (fd != -1) ++ return fd; ++#endif ++ ++ if (tmp_name_len + 7 >= sizeof(tmp_name)) ++ return -1; ++ ++ strcpy(tmp_name + tmp_name_len, "/XXXXXX"); ++#if defined(SLJIT_SINGLE_THREADED) && SLJIT_SINGLE_THREADED ++ mode = umask(0777); ++#endif ++ fd = mkostemp(tmp_name, O_CLOEXEC | O_NOATIME); ++#if defined(SLJIT_SINGLE_THREADED) && SLJIT_SINGLE_THREADED ++ umask(mode); ++#else ++ fchmod(fd, 0); ++#endif ++ ++ if (fd == -1) ++ return -1; ++ ++ if (unlink(tmp_name)) { ++ close(fd); ++ return -1; ++ } ++ ++ return fd; ++} ++ ++static SLJIT_INLINE struct chunk_header* alloc_chunk(sljit_uw size) ++{ ++ struct chunk_header *retval; ++ int fd; ++ ++ fd = create_tempfile(); ++ if (fd == -1) ++ return NULL; ++ ++ if (ftruncate(fd, size)) { ++ close(fd); ++ return NULL; ++ } ++ ++ retval = (struct chunk_header *)mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); ++ ++ if (retval == MAP_FAILED) { ++ close(fd); ++ return NULL; ++ } ++ ++ retval->executable = mmap(NULL, size, PROT_READ | PROT_EXEC, MAP_SHARED, fd, 0); ++ ++ if (retval->executable == MAP_FAILED) { ++ munmap((void *)retval, size); ++ close(fd); ++ return NULL; ++ } ++ ++ close(fd); ++ return retval; ++} ++#else ++/* ++ * MAP_REMAPDUP is a NetBSD extension available sinde 8.0, make sure to ++ * adjust your feature macros (ex: -D_NETBSD_SOURCE) as needed ++ */ ++static SLJIT_INLINE struct chunk_header* alloc_chunk(sljit_uw size) ++{ ++ struct chunk_header *retval; ++ ++ retval = (struct chunk_header *)mmap(NULL, size, ++ PROT_READ | PROT_WRITE | PROT_MPROTECT(PROT_EXEC), ++ MAP_ANON | MAP_SHARED, -1, 0); ++ ++ if (retval == MAP_FAILED) ++ return NULL; ++ ++ retval->executable = mremap(retval, size, NULL, size, MAP_REMAPDUP); ++ if (retval->executable == MAP_FAILED) { ++ munmap((void *)retval, size); ++ return NULL; ++ } ++ ++ if (mprotect(retval->executable, size, PROT_READ | PROT_EXEC) == -1) { ++ munmap(retval->executable, size); ++ munmap((void *)retval, size); ++ return NULL; ++ } ++ ++ return retval; ++} ++#endif /* NetBSD */ ++ ++static SLJIT_INLINE void free_chunk(void *chunk, sljit_uw size) ++{ ++ struct chunk_header *header = ((struct chunk_header *)chunk) - 1; ++ ++ munmap(header->executable, size); ++ munmap((void *)header, size); ++} ++ ++/* --------------------------------------------------------------------- */ ++/* Common functions */ ++/* --------------------------------------------------------------------- */ ++ ++#define CHUNK_MASK (~(CHUNK_SIZE - 1)) ++ ++struct block_header { ++ sljit_uw size; ++ sljit_uw prev_size; ++ sljit_sw executable_offset; ++}; ++ ++struct free_block { ++ struct block_header header; ++ struct free_block *next; ++ struct free_block *prev; ++ sljit_uw size; ++}; ++ ++#define AS_BLOCK_HEADER(base, offset) \ ++ ((struct block_header*)(((sljit_u8*)base) + offset)) ++#define AS_FREE_BLOCK(base, offset) \ ++ ((struct free_block*)(((sljit_u8*)base) + offset)) ++#define MEM_START(base) ((void*)((base) + 1)) ++#define ALIGN_SIZE(size) (((size) + sizeof(struct block_header) + 7) & ~7) ++ ++static struct free_block* free_blocks; ++static sljit_uw allocated_size; ++static sljit_uw total_size; ++ ++static SLJIT_INLINE void sljit_insert_free_block(struct free_block *free_block, sljit_uw size) ++{ ++ free_block->header.size = 0; ++ free_block->size = size; ++ ++ free_block->next = free_blocks; ++ free_block->prev = NULL; ++ if (free_blocks) ++ free_blocks->prev = free_block; ++ free_blocks = free_block; ++} ++ ++static SLJIT_INLINE void sljit_remove_free_block(struct free_block *free_block) ++{ ++ if (free_block->next) ++ free_block->next->prev = free_block->prev; ++ ++ if (free_block->prev) ++ free_block->prev->next = free_block->next; ++ else { ++ SLJIT_ASSERT(free_blocks == free_block); ++ free_blocks = free_block->next; ++ } ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) ++{ ++ struct chunk_header *chunk_header; ++ struct block_header *header; ++ struct block_header *next_header; ++ struct free_block *free_block; ++ sljit_uw chunk_size; ++ sljit_sw executable_offset; ++ ++ SLJIT_ALLOCATOR_LOCK(); ++ if (size < (64 - sizeof(struct block_header))) ++ size = (64 - sizeof(struct block_header)); ++ size = ALIGN_SIZE(size); ++ ++ free_block = free_blocks; ++ while (free_block) { ++ if (free_block->size >= size) { ++ chunk_size = free_block->size; ++ if (chunk_size > size + 64) { ++ /* We just cut a block from the end of the free block. */ ++ chunk_size -= size; ++ free_block->size = chunk_size; ++ header = AS_BLOCK_HEADER(free_block, chunk_size); ++ header->prev_size = chunk_size; ++ header->executable_offset = free_block->header.executable_offset; ++ AS_BLOCK_HEADER(header, size)->prev_size = size; ++ } ++ else { ++ sljit_remove_free_block(free_block); ++ header = (struct block_header*)free_block; ++ size = chunk_size; ++ } ++ allocated_size += size; ++ header->size = size; ++ SLJIT_ALLOCATOR_UNLOCK(); ++ return MEM_START(header); ++ } ++ free_block = free_block->next; ++ } ++ ++ chunk_size = sizeof(struct chunk_header) + sizeof(struct block_header); ++ chunk_size = (chunk_size + size + CHUNK_SIZE - 1) & CHUNK_MASK; ++ ++ chunk_header = alloc_chunk(chunk_size); ++ if (!chunk_header) { ++ SLJIT_ALLOCATOR_UNLOCK(); ++ return NULL; ++ } ++ ++ executable_offset = (sljit_sw)((sljit_u8*)chunk_header->executable - (sljit_u8*)chunk_header); ++ ++ chunk_size -= sizeof(struct chunk_header) + sizeof(struct block_header); ++ total_size += chunk_size; ++ ++ header = (struct block_header *)(chunk_header + 1); ++ ++ header->prev_size = 0; ++ header->executable_offset = executable_offset; ++ if (chunk_size > size + 64) { ++ /* Cut the allocated space into a free and a used block. */ ++ allocated_size += size; ++ header->size = size; ++ chunk_size -= size; ++ ++ free_block = AS_FREE_BLOCK(header, size); ++ free_block->header.prev_size = size; ++ free_block->header.executable_offset = executable_offset; ++ sljit_insert_free_block(free_block, chunk_size); ++ next_header = AS_BLOCK_HEADER(free_block, chunk_size); ++ } ++ else { ++ /* All space belongs to this allocation. */ ++ allocated_size += chunk_size; ++ header->size = chunk_size; ++ next_header = AS_BLOCK_HEADER(header, chunk_size); ++ } ++ next_header->size = 1; ++ next_header->prev_size = chunk_size; ++ next_header->executable_offset = executable_offset; ++ SLJIT_ALLOCATOR_UNLOCK(); ++ return MEM_START(header); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) ++{ ++ struct block_header *header; ++ struct free_block* free_block; ++ ++ SLJIT_ALLOCATOR_LOCK(); ++ header = AS_BLOCK_HEADER(ptr, -(sljit_sw)sizeof(struct block_header)); ++ header = AS_BLOCK_HEADER(header, -header->executable_offset); ++ allocated_size -= header->size; ++ ++ /* Connecting free blocks together if possible. */ ++ ++ /* If header->prev_size == 0, free_block will equal to header. ++ In this case, free_block->header.size will be > 0. */ ++ free_block = AS_FREE_BLOCK(header, -(sljit_sw)header->prev_size); ++ if (SLJIT_UNLIKELY(!free_block->header.size)) { ++ free_block->size += header->size; ++ header = AS_BLOCK_HEADER(free_block, free_block->size); ++ header->prev_size = free_block->size; ++ } ++ else { ++ free_block = (struct free_block*)header; ++ sljit_insert_free_block(free_block, header->size); ++ } ++ ++ header = AS_BLOCK_HEADER(free_block, free_block->size); ++ if (SLJIT_UNLIKELY(!header->size)) { ++ free_block->size += ((struct free_block*)header)->size; ++ sljit_remove_free_block((struct free_block*)header); ++ header = AS_BLOCK_HEADER(free_block, free_block->size); ++ header->prev_size = free_block->size; ++ } ++ ++ /* The whole chunk is free. */ ++ if (SLJIT_UNLIKELY(!free_block->header.prev_size && header->size == 1)) { ++ /* If this block is freed, we still have (allocated_size / 2) free space. */ ++ if (total_size - free_block->size > (allocated_size * 3 / 2)) { ++ total_size -= free_block->size; ++ sljit_remove_free_block(free_block); ++ free_chunk(free_block, free_block->size + ++ sizeof(struct chunk_header) + ++ sizeof(struct block_header)); ++ } ++ } ++ ++ SLJIT_ALLOCATOR_UNLOCK(); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void) ++{ ++ struct free_block* free_block; ++ struct free_block* next_free_block; ++ ++ SLJIT_ALLOCATOR_LOCK(); ++ ++ free_block = free_blocks; ++ while (free_block) { ++ next_free_block = free_block->next; ++ if (!free_block->header.prev_size && ++ AS_BLOCK_HEADER(free_block, free_block->size)->size == 1) { ++ total_size -= free_block->size; ++ sljit_remove_free_block(free_block); ++ free_chunk(free_block, free_block->size + ++ sizeof(struct chunk_header) + ++ sizeof(struct block_header)); ++ } ++ free_block = next_free_block; ++ } ++ ++ SLJIT_ASSERT((total_size && free_blocks) || (!total_size && !free_blocks)); ++ SLJIT_ALLOCATOR_UNLOCK(); ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE sljit_sw sljit_exec_offset(void* ptr) ++{ ++ return ((struct block_header *)(ptr))[-1].executable_offset; ++} +diff --git a/src/3rdparty/pcre2/src/sljit/sljitUtils.c b/src/3rdparty/pcre2/src/sljit/sljitUtils.c +index 0276fa1b8b..08ca35cf37 100644 +--- a/src/3rdparty/pcre2/src/sljit/sljitUtils.c ++++ b/src/3rdparty/pcre2/src/sljit/sljitUtils.c +@@ -28,131 +28,50 @@ + /* Locks */ + /* ------------------------------------------------------------------------ */ + +-#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) || (defined SLJIT_UTIL_GLOBAL_LOCK && SLJIT_UTIL_GLOBAL_LOCK) ++/* Executable Allocator */ + ++#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) \ ++ && !(defined SLJIT_WX_EXECUTABLE_ALLOCATOR && SLJIT_WX_EXECUTABLE_ALLOCATOR) + #if (defined SLJIT_SINGLE_THREADED && SLJIT_SINGLE_THREADED) +- +-#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) +- +-static SLJIT_INLINE void allocator_grab_lock(void) +-{ +- /* Always successful. */ +-} +- +-static SLJIT_INLINE void allocator_release_lock(void) +-{ +- /* Always successful. */ +-} +- +-#endif /* SLJIT_EXECUTABLE_ALLOCATOR */ +- +-#if (defined SLJIT_UTIL_GLOBAL_LOCK && SLJIT_UTIL_GLOBAL_LOCK) +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_grab_lock(void) +-{ +- /* Always successful. */ +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void) +-{ +- /* Always successful. */ +-} +- +-#endif /* SLJIT_UTIL_GLOBAL_LOCK */ +- +-#elif defined(_WIN32) /* SLJIT_SINGLE_THREADED */ +- +-#include "windows.h" +- +-#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) +- +-static HANDLE allocator_mutex = 0; +- +-static SLJIT_INLINE void allocator_grab_lock(void) +-{ +- /* No idea what to do if an error occures. Static mutexes should never fail... */ +- if (!allocator_mutex) +- allocator_mutex = CreateMutex(NULL, TRUE, NULL); +- else +- WaitForSingleObject(allocator_mutex, INFINITE); +-} +- +-static SLJIT_INLINE void allocator_release_lock(void) +-{ +- ReleaseMutex(allocator_mutex); +-} +- +-#endif /* SLJIT_EXECUTABLE_ALLOCATOR */ +- +-#if (defined SLJIT_UTIL_GLOBAL_LOCK && SLJIT_UTIL_GLOBAL_LOCK) +- +-static HANDLE global_mutex = 0; +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_grab_lock(void) +-{ +- /* No idea what to do if an error occures. Static mutexes should never fail... */ +- if (!global_mutex) +- global_mutex = CreateMutex(NULL, TRUE, NULL); +- else +- WaitForSingleObject(global_mutex, INFINITE); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void) +-{ +- ReleaseMutex(global_mutex); +-} +- +-#endif /* SLJIT_UTIL_GLOBAL_LOCK */ +- +-#else /* _WIN32 */ +- +-#if (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) +- ++#define SLJIT_ALLOCATOR_LOCK() ++#define SLJIT_ALLOCATOR_UNLOCK() ++#elif !(defined _WIN32) + #include + +-static pthread_mutex_t allocator_mutex = PTHREAD_MUTEX_INITIALIZER; +- +-static SLJIT_INLINE void allocator_grab_lock(void) +-{ +- pthread_mutex_lock(&allocator_mutex); +-} ++static pthread_mutex_t allocator_lock = PTHREAD_MUTEX_INITIALIZER; + +-static SLJIT_INLINE void allocator_release_lock(void) +-{ +- pthread_mutex_unlock(&allocator_mutex); +-} ++#define SLJIT_ALLOCATOR_LOCK() pthread_mutex_lock(&allocator_lock) ++#define SLJIT_ALLOCATOR_UNLOCK() pthread_mutex_unlock(&allocator_lock) ++#else /* windows */ ++static HANDLE allocator_lock; + +-#endif /* SLJIT_EXECUTABLE_ALLOCATOR */ +- +-#if (defined SLJIT_UTIL_GLOBAL_LOCK && SLJIT_UTIL_GLOBAL_LOCK) +- +-#include +- +-static pthread_mutex_t global_mutex = PTHREAD_MUTEX_INITIALIZER; +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_grab_lock(void) +-{ +- pthread_mutex_lock(&global_mutex); +-} +- +-SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void) ++static SLJIT_INLINE void allocator_grab_lock(void) + { +- pthread_mutex_unlock(&global_mutex); ++ HANDLE lock; ++ if (SLJIT_UNLIKELY(!allocator_lock)) { ++ lock = CreateMutex(NULL, FALSE, NULL); ++ if (InterlockedCompareExchangePointer(&allocator_lock, lock, NULL)) ++ CloseHandle(lock); ++ } ++ WaitForSingleObject(allocator_lock, INFINITE); + } + +-#endif /* SLJIT_UTIL_GLOBAL_LOCK */ +- +-#endif /* _WIN32 */ ++#define SLJIT_ALLOCATOR_LOCK() allocator_grab_lock() ++#define SLJIT_ALLOCATOR_UNLOCK() ReleaseMutex(allocator_lock) ++#endif /* thread implementation */ ++#endif /* SLJIT_EXECUTABLE_ALLOCATOR && !SLJIT_WX_EXECUTABLE_ALLOCATOR */ + + /* ------------------------------------------------------------------------ */ + /* Stack */ + /* ------------------------------------------------------------------------ */ + +-#if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) || (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) ++#if ((defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) \ ++ && !(defined SLJIT_UTIL_SIMPLE_STACK_ALLOCATION && SLJIT_UTIL_SIMPLE_STACK_ALLOCATION)) \ ++ || ((defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) \ ++ && !((defined SLJIT_PROT_EXECUTABLE_ALLOCATOR && SLJIT_PROT_EXECUTABLE_ALLOCATOR) \ ++ || (defined SLJIT_WX_EXECUTABLE_ALLOCATOR && SLJIT_WX_EXECUTABLE_ALLOCATOR))) + +-#ifdef _WIN32 +-#include "windows.h" +-#else /* !_WIN32 */ ++#ifndef _WIN32 + /* Provides mmap function. */ + #include + #include +@@ -163,56 +82,84 @@ SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_release_lock(void) + #endif /* MAP_ANONYMOUS */ + #endif /* !MAP_ANON */ + +-#ifndef MADV_DONTNEED +-#ifdef POSIX_MADV_DONTNEED +-#define MADV_DONTNEED POSIX_MADV_DONTNEED +-#endif /* POSIX_MADV_DONTNEED */ +-#endif /* !MADV_DONTNEED */ +- +-/* For detecting the page size. */ +-#include +- + #ifndef MAP_ANON + + #include + +-/* Some old systems does not have MAP_ANON. */ +-static sljit_s32 dev_zero = -1; ++#ifdef O_CLOEXEC ++#define SLJIT_CLOEXEC O_CLOEXEC ++#else /* !O_CLOEXEC */ ++#define SLJIT_CLOEXEC 0 ++#endif /* O_CLOEXEC */ ++ ++/* Some old systems do not have MAP_ANON. */ ++static int dev_zero = -1; + + #if (defined SLJIT_SINGLE_THREADED && SLJIT_SINGLE_THREADED) + +-static SLJIT_INLINE sljit_s32 open_dev_zero(void) ++static SLJIT_INLINE int open_dev_zero(void) + { +- dev_zero = open("/dev/zero", O_RDWR); ++ dev_zero = open("/dev/zero", O_RDWR | SLJIT_CLOEXEC); ++ + return dev_zero < 0; + } + +-#else /* SLJIT_SINGLE_THREADED */ ++#else /* !SLJIT_SINGLE_THREADED */ + + #include + + static pthread_mutex_t dev_zero_mutex = PTHREAD_MUTEX_INITIALIZER; + +-static SLJIT_INLINE sljit_s32 open_dev_zero(void) ++static SLJIT_INLINE int open_dev_zero(void) + { + pthread_mutex_lock(&dev_zero_mutex); +- /* The dev_zero might be initialized by another thread during the waiting. */ +- if (dev_zero < 0) { +- dev_zero = open("/dev/zero", O_RDWR); +- } ++ if (SLJIT_UNLIKELY(dev_zero < 0)) ++ dev_zero = open("/dev/zero", O_RDWR | SLJIT_CLOEXEC); ++ + pthread_mutex_unlock(&dev_zero_mutex); + return dev_zero < 0; + } + + #endif /* SLJIT_SINGLE_THREADED */ +- ++#undef SLJIT_CLOEXEC + #endif /* !MAP_ANON */ ++#endif /* !_WIN32 */ ++#endif /* open_dev_zero */ + +-#endif /* _WIN32 */ ++#if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) \ ++ || (defined SLJIT_EXECUTABLE_ALLOCATOR && SLJIT_EXECUTABLE_ALLOCATOR) + +-#endif /* SLJIT_UTIL_STACK || SLJIT_EXECUTABLE_ALLOCATOR */ ++#ifdef _WIN32 + +-#endif /* SLJIT_EXECUTABLE_ALLOCATOR || SLJIT_UTIL_GLOBAL_LOCK */ ++static SLJIT_INLINE sljit_sw get_page_alignment(void) { ++ SYSTEM_INFO si; ++ static sljit_sw sljit_page_align; ++ if (!sljit_page_align) { ++ GetSystemInfo(&si); ++ sljit_page_align = si.dwPageSize - 1; ++ } ++ return sljit_page_align; ++} ++ ++#else ++ ++#include ++ ++static SLJIT_INLINE sljit_sw get_page_alignment(void) { ++ static sljit_sw sljit_page_align; ++ if (!sljit_page_align) { ++ sljit_page_align = sysconf(_SC_PAGESIZE); ++ /* Should never happen. */ ++ if (sljit_page_align < 0) ++ sljit_page_align = 4096; ++ sljit_page_align--; ++ } ++ return sljit_page_align; ++} ++ ++#endif /* _WIN32 */ ++ ++#endif /* get_page_alignment() */ + + #if (defined SLJIT_UTIL_STACK && SLJIT_UTIL_STACK) + +@@ -264,16 +211,6 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_st + + #ifdef _WIN32 + +-SLJIT_INLINE static sljit_sw get_page_alignment(void) { +- SYSTEM_INFO si; +- static sljit_sw sljit_page_align; +- if (!sljit_page_align) { +- GetSystemInfo(&si); +- sljit_page_align = si.dwPageSize - 1; +- } +- return sljit_page_align; +-} +- + SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) + { + SLJIT_UNUSED_ARG(allocator_data); +@@ -281,19 +218,7 @@ SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *st + SLJIT_FREE(stack, allocator_data); + } + +-#else /* ! defined _WIN32 */ +- +-SLJIT_INLINE static sljit_sw get_page_alignment(void) { +- static sljit_sw sljit_page_align; +- if (!sljit_page_align) { +- sljit_page_align = sysconf(_SC_PAGESIZE); +- /* Should never happen. */ +- if (sljit_page_align < 0) +- sljit_page_align = 4096; +- sljit_page_align--; +- } +- return sljit_page_align; +-} ++#else /* !_WIN32 */ + + SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *stack, void *allocator_data) + { +@@ -302,7 +227,7 @@ SLJIT_API_FUNC_ATTRIBUTE void SLJIT_FUNC sljit_free_stack(struct sljit_stack *st + SLJIT_FREE(stack, allocator_data); + } + +-#endif /* defined _WIN32 */ ++#endif /* _WIN32 */ + + SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(sljit_uw start_size, sljit_uw max_size, void *allocator_data) + { +@@ -342,11 +267,9 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(slj + #ifdef MAP_ANON + ptr = mmap(NULL, max_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); + #else /* !MAP_ANON */ +- if (dev_zero < 0) { +- if (open_dev_zero() != 0) { +- SLJIT_FREE(stack, allocator_data); +- return NULL; +- } ++ if (SLJIT_UNLIKELY((dev_zero < 0) && open_dev_zero())) { ++ SLJIT_FREE(stack, allocator_data); ++ return NULL; + } + ptr = mmap(NULL, max_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, dev_zero, 0); + #endif /* MAP_ANON */ +@@ -365,7 +288,7 @@ SLJIT_API_FUNC_ATTRIBUTE struct sljit_stack* SLJIT_FUNC sljit_allocate_stack(slj + + SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_stack *stack, sljit_u8 *new_start) + { +-#if defined _WIN32 || defined(MADV_DONTNEED) ++#if defined _WIN32 || defined(POSIX_MADV_DONTNEED) + sljit_uw aligned_old_start; + sljit_uw aligned_new_start; + sljit_sw page_align; +@@ -389,15 +312,19 @@ SLJIT_API_FUNC_ATTRIBUTE sljit_u8 *SLJIT_FUNC sljit_stack_resize(struct sljit_st + return NULL; + } + } +-#elif defined(MADV_DONTNEED) ++#elif defined(POSIX_MADV_DONTNEED) + if (stack->start < new_start) { + page_align = get_page_alignment(); + + aligned_new_start = (sljit_uw)new_start & ~page_align; + aligned_old_start = ((sljit_uw)stack->start) & ~page_align; +- /* If madvise is available, we release the unnecessary space. */ +- if (aligned_new_start > aligned_old_start) +- madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, MADV_DONTNEED); ++ ++ if (aligned_new_start > aligned_old_start) { ++ posix_madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, POSIX_MADV_DONTNEED); ++#ifdef MADV_FREE ++ madvise((void*)aligned_old_start, aligned_new_start - aligned_old_start, MADV_FREE); ++#endif /* MADV_FREE */ ++ } + } + #endif /* _WIN32 */ + +diff --git a/src/3rdparty/pcre2/src/sljit/sljitWXExecAllocator.c b/src/3rdparty/pcre2/src/sljit/sljitWXExecAllocator.c +new file mode 100644 +index 0000000000..6ef71f7d83 +--- /dev/null ++++ b/src/3rdparty/pcre2/src/sljit/sljitWXExecAllocator.c +@@ -0,0 +1,225 @@ ++/* ++ * Stack-less Just-In-Time compiler ++ * ++ * Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without modification, are ++ * permitted provided that the following conditions are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright notice, this list of ++ * conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list ++ * of conditions and the following disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS ``AS IS'' AND ANY ++ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES ++ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT ++ * SHALL THE COPYRIGHT HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, ++ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED ++ * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR ++ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ++ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ++ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++/* ++ This file contains a simple W^X executable memory allocator for POSIX ++ like systems and Windows ++ ++ In *NIX, MAP_ANON is required (that is considered a feature) so make ++ sure to set the right availability macros for your system or the code ++ will fail to build. ++ ++ If your system doesn't support mapping of anonymous pages (ex: IRIX) it ++ is also likely that it doesn't need this allocator and should be using ++ the standard one instead. ++ ++ It allocates a separate map for each code block and may waste a lot of ++ memory, because whatever was requested, will be rounded up to the page ++ size (minimum 4KB, but could be even bigger). ++ ++ It changes the page permissions (RW <-> RX) as needed and therefore, if you ++ will be updating the code after it has been generated, need to make sure to ++ block any concurrent execution, or could result in a SIGBUS, that could ++ even manifest itself at a different address than the one that was being ++ modified. ++ ++ Only use if you are unable to use the regular allocator because of security ++ restrictions and adding exceptions to your application or the system are ++ not possible. ++*/ ++ ++#define SLJIT_UPDATE_WX_FLAGS(from, to, enable_exec) \ ++ sljit_update_wx_flags((from), (to), (enable_exec)) ++ ++#ifndef _WIN32 ++#include ++#include ++ ++#ifdef __NetBSD__ ++#if defined(PROT_MPROTECT) ++#define check_se_protected(ptr, size) (0) ++#define SLJIT_PROT_WX PROT_MPROTECT(PROT_EXEC) ++#else /* !PROT_MPROTECT */ ++#ifdef _NETBSD_SOURCE ++#include ++#else /* !_NETBSD_SOURCE */ ++typedef unsigned int u_int; ++#define devmajor_t sljit_s32 ++#endif /* _NETBSD_SOURCE */ ++#include ++#include ++ ++#define check_se_protected(ptr, size) netbsd_se_protected() ++ ++static SLJIT_INLINE int netbsd_se_protected(void) ++{ ++ int mib[3]; ++ int paxflags; ++ size_t len = sizeof(paxflags); ++ ++ mib[0] = CTL_PROC; ++ mib[1] = getpid(); ++ mib[2] = PROC_PID_PAXFLAGS; ++ ++ if (SLJIT_UNLIKELY(sysctl(mib, 3, &paxflags, &len, NULL, 0) < 0)) ++ return -1; ++ ++ return (paxflags & CTL_PROC_PAXFLAGS_MPROTECT) ? -1 : 0; ++} ++#endif /* PROT_MPROTECT */ ++#else /* POSIX */ ++#define check_se_protected(ptr, size) generic_se_protected(ptr, size) ++ ++static SLJIT_INLINE int generic_se_protected(void *ptr, sljit_uw size) ++{ ++ if (SLJIT_LIKELY(!mprotect(ptr, size, PROT_EXEC))) ++ return mprotect(ptr, size, PROT_READ | PROT_WRITE); ++ ++ return -1; ++} ++#endif /* NetBSD */ ++ ++#if defined SLJIT_SINGLE_THREADED && SLJIT_SINGLE_THREADED ++#define SLJIT_SE_LOCK() ++#define SLJIT_SE_UNLOCK() ++#else /* !SLJIT_SINGLE_THREADED */ ++#include ++#define SLJIT_SE_LOCK() pthread_mutex_lock(&se_lock) ++#define SLJIT_SE_UNLOCK() pthread_mutex_unlock(&se_lock) ++#endif /* SLJIT_SINGLE_THREADED */ ++ ++#ifndef SLJIT_PROT_WX ++#define SLJIT_PROT_WX 0 ++#endif /* !SLJIT_PROT_WX */ ++ ++SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) ++{ ++#if !(defined SLJIT_SINGLE_THREADED && SLJIT_SINGLE_THREADED) ++ static pthread_mutex_t se_lock = PTHREAD_MUTEX_INITIALIZER; ++#endif ++ static int se_protected = !SLJIT_PROT_WX; ++ sljit_uw* ptr; ++ ++ if (SLJIT_UNLIKELY(se_protected < 0)) ++ return NULL; ++ ++ size += sizeof(sljit_uw); ++ ptr = (sljit_uw*)mmap(NULL, size, PROT_READ | PROT_WRITE | SLJIT_PROT_WX, ++ MAP_PRIVATE | MAP_ANON, -1, 0); ++ ++ if (ptr == MAP_FAILED) ++ return NULL; ++ ++ if (SLJIT_UNLIKELY(se_protected > 0)) { ++ SLJIT_SE_LOCK(); ++ se_protected = check_se_protected(ptr, size); ++ SLJIT_SE_UNLOCK(); ++ if (SLJIT_UNLIKELY(se_protected < 0)) { ++ munmap((void *)ptr, size); ++ return NULL; ++ } ++ } ++ ++ *ptr++ = size; ++ return ptr; ++} ++ ++#undef SLJIT_PROT_WX ++#undef SLJIT_SE_UNLOCK ++#undef SLJIT_SE_LOCK ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) ++{ ++ sljit_uw *start_ptr = ((sljit_uw*)ptr) - 1; ++ munmap((void*)start_ptr, *start_ptr); ++} ++ ++static void sljit_update_wx_flags(void *from, void *to, sljit_s32 enable_exec) ++{ ++ sljit_uw page_mask = (sljit_uw)get_page_alignment(); ++ sljit_uw start = (sljit_uw)from; ++ sljit_uw end = (sljit_uw)to; ++ int prot = PROT_READ | (enable_exec ? PROT_EXEC : PROT_WRITE); ++ ++ SLJIT_ASSERT(start < end); ++ ++ start &= ~page_mask; ++ end = (end + page_mask) & ~page_mask; ++ ++ mprotect((void*)start, end - start, prot); ++} ++ ++#else /* windows */ ++ ++SLJIT_API_FUNC_ATTRIBUTE void* sljit_malloc_exec(sljit_uw size) ++{ ++ sljit_uw *ptr; ++ ++ size += sizeof(sljit_uw); ++ ptr = (sljit_uw*)VirtualAlloc(NULL, size, ++ MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE); ++ ++ if (!ptr) ++ return NULL; ++ ++ *ptr++ = size; ++ ++ return ptr; ++} ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_exec(void* ptr) ++{ ++ sljit_uw start = (sljit_uw)ptr - sizeof(sljit_uw); ++#if defined(SLJIT_DEBUG) && SLJIT_DEBUG ++ sljit_uw page_mask = (sljit_uw)get_page_alignment(); ++ ++ SLJIT_ASSERT(!(start & page_mask)); ++#endif ++ VirtualFree((void*)start, 0, MEM_RELEASE); ++} ++ ++static void sljit_update_wx_flags(void *from, void *to, sljit_s32 enable_exec) ++{ ++ DWORD oldprot; ++ sljit_uw page_mask = (sljit_uw)get_page_alignment(); ++ sljit_uw start = (sljit_uw)from; ++ sljit_uw end = (sljit_uw)to; ++ DWORD prot = enable_exec ? PAGE_EXECUTE : PAGE_READWRITE; ++ ++ SLJIT_ASSERT(start < end); ++ ++ start &= ~page_mask; ++ end = (end + page_mask) & ~page_mask; ++ ++ VirtualProtect((void*)start, end - start, prot, &oldprot); ++} ++ ++#endif /* !windows */ ++ ++SLJIT_API_FUNC_ATTRIBUTE void sljit_free_unused_memory_exec(void) ++{ ++ /* This allocator does not keep unused memory for future allocations. */ ++} +diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java +index 742505c39a..b06ccc5ec6 100644 +--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java ++++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java +@@ -231,6 +231,8 @@ public class QtActivityDelegate + public static final int ApplicationInactive = 0x2; + public static final int ApplicationActive = 0x4; + ++ private QtAccessibilityDelegate m_accessibilityDelegate = null; ++ + + public boolean setKeyboardVisibility(boolean visibility, long timeStamp) + { +@@ -859,10 +861,30 @@ public class QtActivityDelegate + m_splashScreen.startAnimation(fadeOut); + } + ++ public void notifyAccessibilityLocationChange() ++ { ++ if (m_accessibilityDelegate == null) ++ return; ++ m_accessibilityDelegate.notifyLocationChange(); ++ } ++ ++ public void notifyObjectHide(int viewId) ++ { ++ if (m_accessibilityDelegate == null) ++ return; ++ m_accessibilityDelegate.notifyObjectHide(viewId); ++ } ++ ++ public void notifyObjectFocus(int viewId) ++ { ++ if (m_accessibilityDelegate == null) ++ return; ++ m_accessibilityDelegate.notifyObjectFocus(viewId); ++ } + + public void initializeAccessibility() + { +- new QtAccessibilityDelegate(m_activity, m_layout, this); ++ m_accessibilityDelegate = new QtAccessibilityDelegate(m_activity, m_layout, this); + } + + public void onWindowFocusChanged(boolean hasFocus) { +diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +index 563fc7bce6..39f1220722 100644 +--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java ++++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java +@@ -43,6 +43,7 @@ package org.qtproject.qt5.android; + import java.io.File; + import java.io.FileNotFoundException; + import java.util.ArrayList; ++import java.util.Objects; + import java.util.concurrent.Semaphore; + import java.io.IOException; + import java.util.HashMap; +@@ -111,7 +112,6 @@ public class QtNative + private static Boolean m_tabletEventSupported = null; + private static boolean m_usePrimaryClip = false; + public static QtThread m_qtThread = new QtThread(); +- private static Method m_addItemMethod = null; + private static HashMap m_cachedUris = new HashMap(); + private static ArrayList m_knownDirs = new ArrayList(); + +@@ -270,8 +270,8 @@ public class QtNative + if (uri == null) { + Log.e(QtTAG, "getSize(): No permissions to open Uri"); + return size; +- } else { +- m_cachedUris.putIfAbsent(contentUrl, uri); ++ } else if (!m_cachedUris.containsKey(contentUrl)) { ++ m_cachedUris.put(contentUrl, uri); + } + + try { +@@ -709,7 +709,7 @@ public class QtNative + } + if (action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_POINTER_DOWN && index == event.getActionIndex()) { + return 0; +- } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_POINTER_UP && index == event.getActionIndex()) { ++ } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_POINTER_UP && index == event.getActionIndex()) { + return 3; + } + return 2; +@@ -929,6 +929,42 @@ public class QtNative + }); + } + ++ private static void notifyAccessibilityLocationChange() ++ { ++ runAction(new Runnable() { ++ @Override ++ public void run() { ++ if (m_activityDelegate != null) { ++ m_activityDelegate.notifyAccessibilityLocationChange(); ++ } ++ } ++ }); ++ } ++ ++ private static void notifyObjectHide(final int viewId) ++ { ++ runAction(new Runnable() { ++ @Override ++ public void run() { ++ if (m_activityDelegate != null) { ++ m_activityDelegate.notifyObjectHide(viewId); ++ } ++ } ++ }); ++ } ++ ++ private static void notifyObjectFocus(final int viewId) ++ { ++ runAction(new Runnable() { ++ @Override ++ public void run() { ++ if (m_activityDelegate != null) { ++ m_activityDelegate.notifyObjectFocus(viewId); ++ } ++ } ++ }); ++ } ++ + private static void registerClipboardManager() + { + if (m_service == null || m_activity != null) { // Avoid freezing if only service +@@ -958,9 +994,8 @@ public class QtNative + + private static void clearClipData() + { +- if (Build.VERSION.SDK_INT >= 28 && m_clipboardManager != null && m_usePrimaryClip) ++ if (Build.VERSION.SDK_INT >= 28 && m_clipboardManager != null) + m_clipboardManager.clearPrimaryClip(); +- m_usePrimaryClip = false; + } + private static void setClipboardText(String text) + { +@@ -1006,25 +1041,9 @@ public class QtNative + if (m_usePrimaryClip) { + ClipData clip = m_clipboardManager.getPrimaryClip(); + if (Build.VERSION.SDK_INT >= 26) { +- if (m_addItemMethod == null) { +- Class[] cArg = new Class[2]; +- cArg[0] = ContentResolver.class; +- cArg[1] = ClipData.Item.class; +- try { +- m_addItemMethod = m_clipboardManager.getClass().getMethod("addItem", cArg); +- } catch (Exception e) { +- e.printStackTrace(); +- } +- } +- } +- if (m_addItemMethod != null) { +- try { +- m_addItemMethod.invoke(m_activity.getContentResolver(), clipData.getItemAt(0)); +- } catch (Exception e) { +- e.printStackTrace(); +- } ++ Objects.requireNonNull(clip).addItem(m_activity.getContentResolver(), clipData.getItemAt(0)); + } else { +- clip.addItem(clipData.getItemAt(0)); ++ Objects.requireNonNull(clip).addItem(clipData.getItemAt(0)); + } + m_clipboardManager.setPrimaryClip(clip); + } else { +@@ -1049,7 +1068,7 @@ public class QtNative + try { + if (m_clipboardManager != null && m_clipboardManager.hasPrimaryClip()) { + ClipData primaryClip = m_clipboardManager.getPrimaryClip(); +- for (int i = 0; i < primaryClip.getItemCount(); ++i) ++ for (int i = 0; i < Objects.requireNonNull(primaryClip).getItemCount(); ++i) + if (primaryClip.getItemAt(i).getHtmlText() != null) + return true; + } +diff --git a/src/android/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java +index 79caaf318e..a607eccc85 100644 +--- a/src/android/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java ++++ b/src/android/jar/src/org/qtproject/qt5/android/accessibility/QtAccessibilityDelegate.java +@@ -191,6 +191,23 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate + return true; + } + ++ public void notifyLocationChange() ++ { ++ invalidateVirtualViewId(m_focusedVirtualViewId); ++ } ++ ++ public void notifyObjectHide(int viewId) ++ { ++ invalidateVirtualViewId(viewId); ++ } ++ ++ public void notifyObjectFocus(int viewId) ++ { ++ m_view.invalidate(); ++ sendEventForVirtualViewId(viewId, ++ AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED); ++ } ++ + public boolean sendEventForVirtualViewId(int virtualViewId, int eventType) + { + if ((virtualViewId == INVALID_ID) || !m_manager.isEnabled()) { +@@ -211,7 +228,8 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate + + public void invalidateVirtualViewId(int virtualViewId) + { +- sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED); ++ if (virtualViewId != INVALID_ID) ++ sendEventForVirtualViewId(virtualViewId, AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED); + } + + private void setHoveredVirtualViewId(int virtualViewId) +@@ -336,9 +354,6 @@ public class QtAccessibilityDelegate extends View.AccessibilityDelegate + node.addAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS); + } + +- int[] ids = QtNativeAccessibility.childIdListForAccessibleObject(virtualViewId); +- for (int i = 0; i < ids.length; ++i) +- node.addChild(m_view, ids[i]); + return node; + } + +diff --git a/src/android/java/java.pro b/src/android/java/java.pro +index 7f0dfa8a1b..e8967a82db 100644 +--- a/src/android/java/java.pro ++++ b/src/android/java/java.pro +@@ -1,5 +1,7 @@ +-CONFIG += single_arch ++TEMPLATE = aux ++TARGET = dummy + ++CONFIG += single_arch + CONFIG -= qt android_install + + javaresources.files = \ +@@ -11,6 +13,8 @@ javaresources.path = $$[QT_INSTALL_PREFIX]/src/android/java + INSTALLS += javaresources + + !prefix_build:!equals(OUT_PWD, $$PWD) { ++ COPIES += javaresources ++ + RETURN = $$escape_expand(\\n\\t) + equals(QMAKE_HOST.os, Windows) { + RETURN = $$escape_expand(\\r\\n\\t) +diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +index 9d8c46fc26..b257a16567 100644 +--- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java ++++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +@@ -1121,4 +1121,19 @@ public class QtActivity extends Activity + { + QtNative.activityDelegate().setFullScreen(enterFullScreen); + } ++ ++ public void notifyAccessibilityLocationChange() ++ { ++ QtNative.activityDelegate().notifyAccessibilityLocationChange(); ++ } ++ ++ public void notifyObjectHide(int viewId) ++ { ++ QtNative.activityDelegate().notifyObjectHide(viewId); ++ } ++ ++ public void notifyObjectFocus(int viewId) ++ { ++ QtNative.activityDelegate().notifyObjectFocus(viewId); ++ } + } +diff --git a/src/android/templates/templates.pro b/src/android/templates/templates.pro +index 9a64251ee3..35a63498f8 100644 +--- a/src/android/templates/templates.pro ++++ b/src/android/templates/templates.pro +@@ -1,17 +1,23 @@ +-CONFIG += single_arch ++TEMPLATE = aux ++TARGET = dummy + ++CONFIG += single_arch + CONFIG -= qt android_install + + templates.files = \ + $$PWD/AndroidManifest.xml \ +- $$PWD/build.gradle \ +- $$PWD/res ++ $$PWD/build.gradle ++ ++templates_dirs.files += $$PWD/res + + templates.path = $$[QT_INSTALL_PREFIX]/src/android/templates ++templates_dirs.path = $${templates.path} + +-INSTALLS += templates ++INSTALLS += templates templates_dirs + + !prefix_build:!equals(OUT_PWD, $$PWD) { ++ COPIES += templates templates_dirs ++ + RETURN = $$escape_expand(\\n\\t) + equals(QMAKE_HOST.os, Windows) { + RETURN = $$escape_expand(\\r\\n\\t) +diff --git a/src/corelib/Qt5AndroidSupport.cmake b/src/corelib/Qt5AndroidSupport.cmake +index 5a616faa4c..5512635f97 100644 +--- a/src/corelib/Qt5AndroidSupport.cmake ++++ b/src/corelib/Qt5AndroidSupport.cmake +@@ -19,7 +19,7 @@ if (NOT ${PROJECT_NAME}-MultiAbiBuild) + endif() + endforeach() + option(ANDROID_MIN_SDK_VERSION "Android minimum SDK version" "21") +- option(ANDROID_TARGET_SDK_VERSION "Android target SDK version" "28") ++ option(ANDROID_TARGET_SDK_VERSION "Android target SDK version" "29") + + # Make sure to delete the "android-build" directory, which contains all the + # build artefacts, and also the androiddeployqt/gradle artefacts +diff --git a/src/corelib/configure.json b/src/corelib/configure.json +index c5e0423273..9b5d19d41b 100644 +--- a/src/corelib/configure.json ++++ b/src/corelib/configure.json +@@ -727,8 +727,8 @@ + }, + "pcre2": { + "label": "PCRE2", +- "disable": "input.pcre == 'no' || input.pcre == 'system'", +- "enable": "input.pcre == 'qt'", ++ "disable": "input.pcre == 'no'", ++ "enable": "input.pcre == 'qt' || features.system-pcre2", + "output": [ "privateConfig" ] + }, + "system-pcre2": { +diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qstring.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qstring.cpp +index 4e79d1e27a..fade47cfc6 100644 +--- a/src/corelib/doc/snippets/code/src_corelib_tools_qstring.cpp ++++ b/src/corelib/doc/snippets/code/src_corelib_tools_qstring.cpp +@@ -48,12 +48,6 @@ + ** + ****************************************************************************/ + +-//! [0] +-DEFINES += QT_NO_CAST_FROM_ASCII \ +- QT_NO_CAST_TO_ASCII +-//! [0] +- +- + //! [1] + QString url = QLatin1String("http://www.unicode.org/"); + //! [1] +diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h +index 257efbbdbe..339f53abb6 100644 +--- a/src/corelib/global/qendian.h ++++ b/src/corelib/global/qendian.h +@@ -1,7 +1,7 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. +-** Copyright (C) 2016 Intel Corporation. ++** Copyright (C) 2021 The Qt Company Ltd. ++** Copyright (C) 2021 Intel Corporation. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -44,6 +44,8 @@ + #include + #include + ++#include ++ + // include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems + #include + #include +diff --git a/src/corelib/global/qfloat16.h b/src/corelib/global/qfloat16.h +index c7a9c87af3..5302be072e 100644 +--- a/src/corelib/global/qfloat16.h ++++ b/src/corelib/global/qfloat16.h +@@ -43,6 +43,7 @@ + + #include + #include ++#include + #include + + #if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__) +diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp +index 559ef4314c..0efcf6ba53 100644 +--- a/src/corelib/global/qglobal.cpp ++++ b/src/corelib/global/qglobal.cpp +@@ -4224,9 +4224,8 @@ bool qunsetenv(const char *varName) + + \list + \li \c Q_PRIMITIVE_TYPE specifies that \a Type is a POD (plain old +- data) type with no constructor or destructor, or else a type where +- every bit pattern is a valid object and memcpy() creates a valid +- independent copy of the object. ++ data) type with no constructor or destructor, and for which memcpy()ing ++ creates a valid independent copy of the object. + \li \c Q_MOVABLE_TYPE specifies that \a Type has a constructor + and/or a destructor but can be moved in memory using \c + memcpy(). Note: despite the name, this has nothing to do with move +diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h +index 501c542157..12ac48f3cb 100644 +--- a/src/corelib/global/qglobal.h ++++ b/src/corelib/global/qglobal.h +@@ -378,11 +378,19 @@ typedef double qreal; + # define QT_DEPRECATED_VERSION_5_15 + #endif + ++#if QT_DEPRECATED_WARNINGS_SINCE >= QT_VERSION_CHECK(6, 0, 0) ++# define QT_DEPRECATED_VERSION_X_6_0(text) QT_DEPRECATED_X(text) ++# define QT_DEPRECATED_VERSION_6_0 QT_DEPRECATED ++#else ++# define QT_DEPRECATED_VERSION_X_6_0(text) ++# define QT_DEPRECATED_VERSION_6_0 ++#endif ++ + #define QT_DEPRECATED_VERSION_X_5(minor, text) QT_DEPRECATED_VERSION_X_5_##minor(text) +-#define QT_DEPRECATED_VERSION_X(major, minor, text) QT_DEPRECATED_VERSION_X_##major(minor, text) ++#define QT_DEPRECATED_VERSION_X(major, minor, text) QT_DEPRECATED_VERSION_X_##major##_##minor(text) + + #define QT_DEPRECATED_VERSION_5(minor) QT_DEPRECATED_VERSION_5_##minor +-#define QT_DEPRECATED_VERSION(major, minor) QT_DEPRECATED_VERSION_##major(minor) ++#define QT_DEPRECATED_VERSION(major, minor) QT_DEPRECATED_VERSION_##major##_##minor + + #ifdef __cplusplus + // A tag to help mark stuff deprecated (cf. QStringViewLiteral) +@@ -632,7 +640,7 @@ using qsizetype = QIntegerForSizeof::Signed; + //defines the type for the WNDPROC on windows + //the alignment needs to be forced for sse2 to not crash with mingw + #if defined(Q_OS_WIN) +-# if defined(Q_CC_MINGW) && !defined(Q_OS_WIN64) ++# if defined(Q_CC_MINGW) && defined(Q_PROCESSOR_X86_32) + # define QT_ENSURE_STACK_ALIGNED_FOR_SSE __attribute__ ((force_align_arg_pointer)) + # else + # define QT_ENSURE_STACK_ALIGNED_FOR_SSE +@@ -1180,19 +1188,6 @@ Q_CORE_EXPORT QString qtTrId(const char *id, int n = -1); + + #endif // QT_NO_TRANSLATION + +-/* +- When RTTI is not available, define this macro to force any uses of +- dynamic_cast to cause a compile failure. +-*/ +- +-#if defined(QT_NO_DYNAMIC_CAST) && !defined(dynamic_cast) +-# define dynamic_cast QT_PREPEND_NAMESPACE(qt_dynamic_cast_check) +- +- template +- T qt_dynamic_cast_check(X, T* = 0) +- { return T::dynamic_cast_will_always_fail_because_rtti_is_disabled; } +-#endif +- + + #ifdef Q_QDOC + +diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp +index 7411eab68b..c58dde8bfd 100644 +--- a/src/corelib/io/qdiriterator.cpp ++++ b/src/corelib/io/qdiriterator.cpp +@@ -125,7 +125,7 @@ class QDirIteratorPrivate + { + public: + QDirIteratorPrivate(const QFileSystemEntry &entry, const QStringList &nameFilters, +- QDir::Filters filters, QDirIterator::IteratorFlags flags, bool resolveEngine = true); ++ QDir::Filters _filters, QDirIterator::IteratorFlags flags, bool resolveEngine = true); + + void advance(); + +@@ -164,10 +164,10 @@ public: + \internal + */ + QDirIteratorPrivate::QDirIteratorPrivate(const QFileSystemEntry &entry, const QStringList &nameFilters, +- QDir::Filters filters, QDirIterator::IteratorFlags flags, bool resolveEngine) ++ QDir::Filters _filters, QDirIterator::IteratorFlags flags, bool resolveEngine) + : dirEntry(entry) + , nameFilters(nameFilters.contains(QLatin1String("*")) ? QStringList() : nameFilters) +- , filters(QDir::NoFilter == filters ? QDir::AllEntries : filters) ++ , filters(QDir::NoFilter == _filters ? QDir::AllEntries : _filters) + , iteratorFlags(flags) + { + #if defined(QT_BOOTSTRAPPED) +diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp +index cc1d110252..0f11c2e805 100644 +--- a/src/corelib/io/qiodevice.cpp ++++ b/src/corelib/io/qiodevice.cpp +@@ -1480,10 +1480,12 @@ QByteArray QIODevice::readLine(qint64 maxSize) + } else + readBytes = readLine(result.data(), result.size()); + +- if (readBytes <= 0) ++ if (readBytes <= 0) { + result.clear(); +- else ++ } else { + result.resize(readBytes); ++ result.squeeze(); ++ } + + return result; + } +diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp +index e0c437e16b..8f2361c8fc 100644 +--- a/src/corelib/io/qsettings.cpp ++++ b/src/corelib/io/qsettings.cpp +@@ -2245,7 +2245,7 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile, + \endlist + \note If XDG_CONFIG_DIRS is unset, the default value of \c{/etc/xdg} is used. + +- On \macos versions 10.2 and 10.3, these files are used by ++ On \macos and iOS, if the file format is NativeFormat, these files are used by + default: + + \list 1 +diff --git a/src/corelib/io/qstandardpaths_android.cpp b/src/corelib/io/qstandardpaths_android.cpp +index 1f4e0de1e7..dd7101ad52 100644 +--- a/src/corelib/io/qstandardpaths_android.cpp ++++ b/src/corelib/io/qstandardpaths_android.cpp +@@ -85,51 +85,6 @@ static inline QString getAbsolutePath(const QJNIObjectPrivate &file) + return path.toString(); + } + +-/* +- * The root of the external storage +- * +- */ +-static QString getExternalStorageDirectory() +-{ +- QString &path = (*androidDirCache)[QStringLiteral("EXT_ROOT")]; +- if (!path.isEmpty()) +- return path; +- +- QJNIObjectPrivate file = QJNIObjectPrivate::callStaticObjectMethod("android/os/Environment", +- "getExternalStorageDirectory", +- "()Ljava/io/File;"); +- if (!file.isValid()) +- return QString(); +- +- return (path = getAbsolutePath(file)); +-} +- +-/* +- * Locations where applications can place user files (public). +- * E.g., /storage/Music +- */ +-static QString getExternalStoragePublicDirectory(const char *directoryField) +-{ +- QString &path = (*androidDirCache)[QLatin1String(directoryField)]; +- if (!path.isEmpty()) +- return path; +- +- QJNIObjectPrivate dirField = QJNIObjectPrivate::getStaticObjectField("android/os/Environment", +- directoryField, +- "Ljava/lang/String;"); +- if (!dirField.isValid()) +- return QString(); +- +- QJNIObjectPrivate file = QJNIObjectPrivate::callStaticObjectMethod("android/os/Environment", +- "getExternalStoragePublicDirectory", +- "(Ljava/lang/String;)Ljava/io/File;", +- dirField.object()); +- if (!file.isValid()) +- return QString(); +- +- return (path = getAbsolutePath(file)); +-} +- + /* + * Locations where applications can place persistent files it owns. + * E.g., /storage/org.app/Music +@@ -145,7 +100,7 @@ static QString getExternalFilesDir(const char *directoryField = 0) + return QString(); + + QJNIObjectPrivate dirField = QJNIObjectPrivate::fromString(QLatin1String("")); +- if (directoryField) { ++ if (directoryField && strlen(directoryField) > 0) { + dirField = QJNIObjectPrivate::getStaticObjectField("android/os/Environment", + directoryField, + "Ljava/lang/String;"); +@@ -233,21 +188,21 @@ QString QStandardPaths::writableLocation(StandardLocation type) + { + switch (type) { + case QStandardPaths::MusicLocation: +- return getExternalStoragePublicDirectory("DIRECTORY_MUSIC"); ++ return getExternalFilesDir("DIRECTORY_MUSIC"); + case QStandardPaths::MoviesLocation: +- return getExternalStoragePublicDirectory("DIRECTORY_MOVIES"); ++ return getExternalFilesDir("DIRECTORY_MOVIES"); + case QStandardPaths::PicturesLocation: +- return getExternalStoragePublicDirectory("DIRECTORY_PICTURES"); ++ return getExternalFilesDir("DIRECTORY_PICTURES"); + case QStandardPaths::DocumentsLocation: +- return getExternalStoragePublicDirectory("DIRECTORY_DOCUMENTS"); ++ return getExternalFilesDir("DIRECTORY_DOCUMENTS"); + case QStandardPaths::DownloadLocation: +- return getExternalStoragePublicDirectory("DIRECTORY_DOWNLOADS"); ++ return getExternalFilesDir("DIRECTORY_DOWNLOADS"); + case QStandardPaths::GenericConfigLocation: + case QStandardPaths::ConfigLocation: + case QStandardPaths::AppConfigLocation: + return getFilesDir() + testDir() + QLatin1String("/settings"); + case QStandardPaths::GenericDataLocation: +- return getExternalStorageDirectory() + testDir(); ++ return getExternalFilesDir() + testDir(); + case QStandardPaths::AppDataLocation: + case QStandardPaths::AppLocalDataLocation: + return getFilesDir() + testDir(); +@@ -273,11 +228,8 @@ QStringList QStandardPaths::standardLocations(StandardLocation type) + if (type == MusicLocation) { + return QStringList() << writableLocation(type) + << getExternalFilesDir("DIRECTORY_MUSIC") +- << getExternalStoragePublicDirectory("DIRECTORY_PODCASTS") + << getExternalFilesDir("DIRECTORY_PODCASTS") +- << getExternalStoragePublicDirectory("DIRECTORY_NOTIFICATIONS") + << getExternalFilesDir("DIRECTORY_NOTIFICATIONS") +- << getExternalStoragePublicDirectory("DIRECTORY_ALARMS") + << getExternalFilesDir("DIRECTORY_ALARMS"); + } + +diff --git a/src/corelib/io/qstandardpaths_unix.cpp b/src/corelib/io/qstandardpaths_unix.cpp +index 2e779bef66..4ebeefcedb 100644 +--- a/src/corelib/io/qstandardpaths_unix.cpp ++++ b/src/corelib/io/qstandardpaths_unix.cpp +@@ -94,6 +94,30 @@ static QLatin1String xdg_key_name(QStandardPaths::StandardLocation type) + } + #endif + ++static QByteArray unixPermissionsText(QFile::Permissions permissions) ++{ ++ mode_t perms = 0; ++ if (permissions & QFile::ReadOwner) ++ perms |= S_IRUSR; ++ if (permissions & QFile::WriteOwner) ++ perms |= S_IWUSR; ++ if (permissions & QFile::ExeOwner) ++ perms |= S_IXUSR; ++ if (permissions & QFile::ReadGroup) ++ perms |= S_IRGRP; ++ if (permissions & QFile::WriteGroup) ++ perms |= S_IWGRP; ++ if (permissions & QFile::ExeGroup) ++ perms |= S_IXGRP; ++ if (permissions & QFile::ReadOther) ++ perms |= S_IROTH; ++ if (permissions & QFile::WriteOther) ++ perms |= S_IWOTH; ++ if (permissions & QFile::ExeOther) ++ perms |= S_IXOTH; ++ return '0' + QByteArray::number(perms, 8); ++} ++ + static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) + { + auto describeMetaData = [](const QFileSystemMetaData &metaData) -> QByteArray { +@@ -113,27 +137,7 @@ static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) + else + description += "a block device"; + +- // convert QFileSystemMetaData permissions back to Unix +- mode_t perms = 0; +- if (metaData.permissions() & QFile::ReadOwner) +- perms |= S_IRUSR; +- if (metaData.permissions() & QFile::WriteOwner) +- perms |= S_IWUSR; +- if (metaData.permissions() & QFile::ExeOwner) +- perms |= S_IXUSR; +- if (metaData.permissions() & QFile::ReadGroup) +- perms |= S_IRGRP; +- if (metaData.permissions() & QFile::WriteGroup) +- perms |= S_IWGRP; +- if (metaData.permissions() & QFile::ExeGroup) +- perms |= S_IXGRP; +- if (metaData.permissions() & QFile::ReadOther) +- perms |= S_IROTH; +- if (metaData.permissions() & QFile::WriteOther) +- perms |= S_IWOTH; +- if (metaData.permissions() & QFile::ExeOther) +- perms |= S_IXOTH; +- description += " permissions 0" + QByteArray::number(perms, 8); ++ description += " permissions " + unixPermissionsText(metaData.permissions()); + + return description + + " owned by UID " + QByteArray::number(metaData.userId()) +@@ -186,14 +190,11 @@ static bool checkXdgRuntimeDir(const QString &xdgRuntimeDir) + + // "and he MUST be the only one having read and write access to it. Its Unix access mode MUST be 0700." + if (metaData.permissions() != wantedPerms) { +- // attempt to correct: +- QSystemError error; +- if (!QFileSystemEngine::setPermissions(entry, wantedPerms, error)) { +- qErrnoWarning("QStandardPaths: could not set correct permissions on runtime directory " +- "'%ls', which is %s", qUtf16Printable(xdgRuntimeDir), +- describeMetaData(metaData).constData()); +- return false; +- } ++ qWarning("QStandardPaths: wrong permissions on runtime directory %ls, %s instead of %s", ++ qUtf16Printable(xdgRuntimeDir), ++ unixPermissionsText(metaData.permissions()).constData(), ++ unixPermissionsText(wantedPerms).constData()); ++ return false; + } + + return true; +diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp +index f7269798a3..31bb23b7a7 100644 +--- a/src/corelib/io/qurl.cpp ++++ b/src/corelib/io/qurl.cpp +@@ -1267,10 +1267,16 @@ static const QChar *parseIp6(QString &host, const QChar *begin, const QChar *end + zoneId = decoded.mid(zoneIdPosition + zoneIdIdentifier.size()); + endBeforeZoneId = decoded.constBegin() + zoneIdPosition; + ++ // was there anything after the zone ID separator? + if (zoneId.isEmpty()) + return end; + } + ++ // did the address become empty after removing the zone ID? ++ // (it might have always been empty) ++ if (decoded.constBegin() == endBeforeZoneId) ++ return end; ++ + const QChar *ret = QIPAddressUtils::parseIp6(address, decoded.constBegin(), endBeforeZoneId); + if (ret) + return begin + (ret - decoded.constBegin()); +diff --git a/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp b/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp +index 0e29714677..efddc14603 100644 +--- a/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp ++++ b/src/corelib/itemmodels/qconcatenatetablesproxymodel.cpp +@@ -313,8 +313,8 @@ QModelIndex QConcatenateTablesProxyModel::parent(const QModelIndex &index) const + int QConcatenateTablesProxyModel::rowCount(const QModelIndex &parent) const + { + Q_D(const QConcatenateTablesProxyModel); +- Q_ASSERT(checkIndex(parent, QAbstractItemModel::CheckIndexOption::ParentIsInvalid)); // flat model +- Q_UNUSED(parent); ++ if (parent.isValid()) ++ return 0; // flat model + return d->m_rowCount; + } + +@@ -622,9 +622,14 @@ void QConcatenateTablesProxyModelPrivate::_q_slotDataChanged(const QModelIndex & + Q_Q(QConcatenateTablesProxyModel); + Q_ASSERT(from.isValid()); + Q_ASSERT(to.isValid()); ++ if (from.column() >= m_columnCount) ++ return; ++ QModelIndex adjustedTo = to; ++ if (to.column() >= m_columnCount) ++ adjustedTo = to.siblingAtColumn(m_columnCount - 1); + const QModelIndex myFrom = q->mapFromSource(from); + Q_ASSERT(q->checkIndex(myFrom, QAbstractItemModel::CheckIndexOption::IndexIsValid)); +- const QModelIndex myTo = q->mapFromSource(to); ++ const QModelIndex myTo = q->mapFromSource(adjustedTo); + Q_ASSERT(q->checkIndex(myTo, QAbstractItemModel::CheckIndexOption::IndexIsValid)); + emit q->dataChanged(myFrom, myTo, roles); + } +diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp +index bd4c7e93c5..3b07c7b9cf 100644 +--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp ++++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp +@@ -1489,15 +1489,19 @@ void QSortFilterProxyModelPrivate::_q_sourceDataChanged(const QModelIndex &sourc + while (source_left_column < source_bottom_right.column() + && m->proxy_columns.at(source_left_column) == -1) + ++source_left_column; +- const QModelIndex proxy_top_left = create_index( +- proxy_start_row, m->proxy_columns.at(source_left_column), it); +- int source_right_column = source_bottom_right.column(); +- while (source_right_column > source_top_left.column() +- && m->proxy_columns.at(source_right_column) == -1) +- --source_right_column; +- const QModelIndex proxy_bottom_right = create_index( +- proxy_end_row, m->proxy_columns.at(source_right_column), it); +- emit q->dataChanged(proxy_top_left, proxy_bottom_right, roles); ++ if (m->proxy_columns.at(source_left_column) != -1) { ++ const QModelIndex proxy_top_left = create_index( ++ proxy_start_row, m->proxy_columns.at(source_left_column), it); ++ int source_right_column = source_bottom_right.column(); ++ while (source_right_column > source_top_left.column() ++ && m->proxy_columns.at(source_right_column) == -1) ++ --source_right_column; ++ if (m->proxy_columns.at(source_right_column) != -1) { ++ const QModelIndex proxy_bottom_right = create_index( ++ proxy_end_row, m->proxy_columns.at(source_right_column), it); ++ emit q->dataChanged(proxy_top_left, proxy_bottom_right, roles); ++ } ++ } + } + } + +@@ -1564,6 +1568,7 @@ void QSortFilterProxyModelPrivate::_q_sourceReset() + _q_clearMapping(); + // All internal structures are deleted in clear() + q->endResetModel(); ++ create_mapping(QModelIndex()); + update_source_sort_column(); + if (dynamic_sortfilter && update_source_sort_column()) + sort(); +@@ -1797,7 +1802,10 @@ void QSortFilterProxyModelPrivate::_q_sourceColumnsRemoved( + source_sort_column = -1; + } + +- proxy_sort_column = q->mapFromSource(model->index(0,source_sort_column, source_parent)).column(); ++ if (source_sort_column >= 0) ++ proxy_sort_column = q->mapFromSource(model->index(0,source_sort_column, source_parent)).column(); ++ else ++ proxy_sort_column = -1; + } + + void QSortFilterProxyModelPrivate::_q_sourceColumnsAboutToBeMoved( +@@ -2141,6 +2149,7 @@ void QSortFilterProxyModel::setSourceModel(QAbstractItemModel *sourceModel) + connect(d->model, SIGNAL(modelReset()), this, SLOT(_q_sourceReset())); + + endResetModel(); ++ d->create_mapping(QModelIndex()); + if (d->update_source_sort_column() && d->dynamic_sortfilter) + d->sort(); + } +@@ -3080,8 +3089,9 @@ bool QSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex & + + if (d->filter_data.isEmpty()) + return true; ++ ++ int column_count = d->model->columnCount(source_parent); + if (d->filter_column == -1) { +- int column_count = d->model->columnCount(source_parent); + for (int column = 0; column < column_count; ++column) { + QModelIndex source_index = d->model->index(source_row, column, source_parent); + QString key = d->model->data(source_index, d->filter_role).toString(); +@@ -3090,9 +3100,10 @@ bool QSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex & + } + return false; + } +- QModelIndex source_index = d->model->index(source_row, d->filter_column, source_parent); +- if (!source_index.isValid()) // the column may not exist ++ ++ if (d->filter_column >= column_count) // the column may not exist + return true; ++ QModelIndex source_index = d->model->index(source_row, d->filter_column, source_parent); + QString key = d->model->data(source_index, d->filter_role).toString(); + return d->filter_data.hasMatch(key); + } +diff --git a/src/corelib/kernel/qcore_mac.mm b/src/corelib/kernel/qcore_mac.mm +index 33c64bc474..4e13ba5262 100644 +--- a/src/corelib/kernel/qcore_mac.mm ++++ b/src/corelib/kernel/qcore_mac.mm +@@ -654,7 +654,7 @@ void QMacKeyValueObserver::removeObserver() { + KeyValueObserver *QMacKeyValueObserver::observer = [[KeyValueObserver alloc] init]; + + QT_END_NAMESPACE +-@implementation KeyValueObserver ++@implementation QT_MANGLE_NAMESPACE(KeyValueObserver) + - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object + change:(NSDictionary *)change context:(void *)context + { +diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp +index a97b68f372..55316a79de 100644 +--- a/src/corelib/kernel/qcoreapplication.cpp ++++ b/src/corelib/kernel/qcoreapplication.cpp +@@ -398,10 +398,11 @@ static bool quitLockRefEnabled = true; + #endif + + #if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) +-// Check whether the command line arguments match those passed to main() +-// by comparing to the global __argv/__argc (MS extension). +-// Deep comparison is required since argv/argc is rebuilt by WinMain for +-// GUI apps or when using MinGW due to its globbing. ++// Check whether the command line arguments passed to QCoreApplication ++// match those passed into main(), to see if the user has modified them ++// before passing them on to us. We do this by comparing to the global ++// __argv/__argc (MS extension). Deep comparison is required since ++// argv/argc is rebuilt by our WinMain entrypoint. + static inline bool isArgvModified(int argc, char **argv) + { + if (__argc != argc || !__argv /* wmain() */) +@@ -1251,8 +1252,8 @@ bool QCoreApplication::closingDown() + + + /*! +- Processes all pending events for the calling thread according to +- the specified \a flags until there are no more events to process. ++ Processes some pending events for the calling thread according to ++ the specified \a flags. + + You can call this function occasionally when your program is busy + performing a long operation (e.g. copying a file). +@@ -1299,6 +1300,9 @@ void QCoreApplication::processEvents(QEventLoop::ProcessEventsFlags flags) + \note Unlike the \l{QCoreApplication::processEvents(QEventLoop::ProcessEventsFlags flags)}{processEvents()} + overload, this function also processes events that are posted while the function runs. + ++ \note All events that were queued before the timeout will be processed, ++ however long it takes. ++ + \threadsafe + + \sa exec(), QTimer, QEventLoop::processEvents() +@@ -2430,32 +2434,46 @@ QStringList QCoreApplication::arguments() + qWarning("QCoreApplication::arguments: Please instantiate the QApplication object first"); + return list; + } +- const int ac = self->d_func()->argc; +- char ** const av = self->d_func()->argv; +- list.reserve(ac); +- +-#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) +- // On Windows, it is possible to pass Unicode arguments on +- // the command line. To restore those, we split the command line +- // and filter out arguments that were deleted by derived application +- // classes by index. +- QString cmdline = QString::fromWCharArray(GetCommandLine()); + + const QCoreApplicationPrivate *d = self->d_func(); +- if (d->origArgv) { +- const QStringList allArguments = qWinCmdArgs(cmdline); +- Q_ASSERT(allArguments.size() == d->origArgc); +- for (int i = 0; i < d->origArgc; ++i) { +- if (contains(ac, av, d->origArgv[i])) +- list.append(allArguments.at(i)); ++ ++ const int argc = d->argc; ++ char ** const argv = d->argv; ++ list.reserve(argc); ++ ++#if defined(Q_OS_WIN) && !defined(Q_OS_WINRT) ++ const bool argsModifiedByUser = d->origArgv == nullptr; ++ if (!argsModifiedByUser) { ++ // On Windows, it is possible to pass Unicode arguments on ++ // the command line, but we don't implement any of the wide ++ // entry-points (wmain/wWinMain), so get the arguments from ++ // the Windows API instead of using argv. Note that we only ++ // do this when argv were not modified by the user in main(). ++ QString cmdline = QString::fromWCharArray(GetCommandLine()); ++ QStringList commandLineArguments = qWinCmdArgs(cmdline); ++ ++ // Even if the user didn't modify argv before passing them ++ // on to QCoreApplication, derived QApplications might have. ++ // If that's the case argc will differ from origArgc. ++ if (argc != d->origArgc) { ++ // Note: On MingGW the arguments from GetCommandLine are ++ // not wildcard expanded (if wildcard expansion is enabled), ++ // as opposed to the arguments in argv. This means we can't ++ // compare commandLineArguments to argv/origArgc, but ++ // must remove elements by value, based on whether they ++ // were filtered out from argc. ++ for (int i = 0; i < d->origArgc; ++i) { ++ if (!contains(argc, argv, d->origArgv[i])) ++ commandLineArguments.removeAll(QString::fromLocal8Bit(d->origArgv[i])); ++ } + } +- return list; ++ ++ return commandLineArguments; + } // Fall back to rebuilding from argv/argc when a modified argv was passed. + #endif // defined(Q_OS_WIN) && !defined(Q_OS_WINRT) + +- for (int a = 0; a < ac; ++a) { +- list << QString::fromLocal8Bit(av[a]); +- } ++ for (int a = 0; a < argc; ++a) ++ list << QString::fromLocal8Bit(argv[a]); + + return list; + } +diff --git a/src/corelib/kernel/qelapsedtimer_generic.cpp b/src/corelib/kernel/qelapsedtimer_generic.cpp +index fe959e3c94..5a93735c49 100644 +--- a/src/corelib/kernel/qelapsedtimer_generic.cpp ++++ b/src/corelib/kernel/qelapsedtimer_generic.cpp +@@ -81,7 +81,8 @@ void QElapsedTimer::start() noexcept + } + + /*! +- Restarts the timer and returns the time elapsed since the previous start. ++ Restarts the timer and returns the number of milliseconds elapsed since ++ the previous start. + This function is equivalent to obtaining the elapsed time with elapsed() + and then starting the timer again with start(), but it does so in one + single operation, avoiding the need to obtain the clock value twice. +diff --git a/src/corelib/kernel/qeventdispatcher_cf.mm b/src/corelib/kernel/qeventdispatcher_cf.mm +index b482269df2..5812442c91 100644 +--- a/src/corelib/kernel/qeventdispatcher_cf.mm ++++ b/src/corelib/kernel/qeventdispatcher_cf.mm +@@ -89,7 +89,7 @@ QT_USE_NAMESPACE + + QT_NAMESPACE_ALIAS_OBJC_CLASS(RunLoopModeTracker); + +-@implementation RunLoopModeTracker { ++@implementation QT_MANGLE_NAMESPACE(RunLoopModeTracker) { + QStack m_runLoopModes; + } + +diff --git a/src/corelib/kernel/qeventloop.cpp b/src/corelib/kernel/qeventloop.cpp +index 5a5dfb06aa..dc53af7018 100644 +--- a/src/corelib/kernel/qeventloop.cpp ++++ b/src/corelib/kernel/qeventloop.cpp +@@ -118,8 +118,8 @@ QEventLoop::~QEventLoop() + + + /*! +- Processes pending events that match \a flags until there are no +- more events to process. Returns \c true if pending events were handled; ++ Processes some pending events that match \a flags. ++ Returns \c true if pending events were handled; + otherwise returns \c false. + + This function is especially useful if you have a long running +diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h +index d743d5a5c7..50e5654221 100644 +--- a/src/corelib/kernel/qmetatype_p.h ++++ b/src/corelib/kernel/qmetatype_p.h +@@ -108,6 +108,11 @@ public: \ + #define QT_DECLARE_WIDGETS_MODULE_TYPES_ITER(TypeName, TypeId, Name) \ + QT_ASSIGN_TYPE_TO_MODULE(Name, QModulesPrivate::Widgets); + ++QT_WARNING_PUSH ++#if defined(Q_CC_CLANG) && Q_CC_CLANG >= 900 ++QT_WARNING_DISABLE_CLANG("-Wconstant-logical-operand") ++#endif ++ + QT_FOR_EACH_STATIC_PRIMITIVE_TYPE(QT_DECLARE_CORE_MODULE_TYPES_ITER) + QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(QT_DECLARE_CORE_MODULE_TYPES_ITER) + QT_FOR_EACH_STATIC_CORE_CLASS(QT_DECLARE_CORE_MODULE_TYPES_ITER) +@@ -115,6 +120,8 @@ QT_FOR_EACH_STATIC_CORE_POINTER(QT_DECLARE_CORE_MODULE_TYPES_ITER) + QT_FOR_EACH_STATIC_CORE_TEMPLATE(QT_DECLARE_CORE_MODULE_TYPES_ITER) + QT_FOR_EACH_STATIC_GUI_CLASS(QT_DECLARE_GUI_MODULE_TYPES_ITER) + QT_FOR_EACH_STATIC_WIDGETS_CLASS(QT_DECLARE_WIDGETS_MODULE_TYPES_ITER) ++ ++QT_WARNING_POP + } // namespace QModulesPrivate + + #undef QT_DECLARE_CORE_MODULE_TYPES_ITER +diff --git a/src/corelib/kernel/qtranslator.cpp b/src/corelib/kernel/qtranslator.cpp +index d7d670b5bc..36d9ea4998 100644 +--- a/src/corelib/kernel/qtranslator.cpp ++++ b/src/corelib/kernel/qtranslator.cpp +@@ -647,7 +647,6 @@ static QString find_translation(const QLocale & locale, + QString realname; + realname += path + filename + prefix; // using += in the hope for some reserve capacity + const int realNameBaseSize = realname.size(); +- QStringList fuzzyLocales; + + // see http://www.unicode.org/reports/tr35/#LanguageMatching for inspiration + +@@ -661,32 +660,12 @@ static QString find_translation(const QLocale & locale, + } + #endif + +- // try explicit locales names first + for (QString localeName : qAsConst(languages)) { + localeName.replace(QLatin1Char('-'), QLatin1Char('_')); + +- realname += localeName + suffixOrDotQM; +- if (is_readable_file(realname)) +- return realname; +- +- realname.truncate(realNameBaseSize + localeName.size()); +- if (is_readable_file(realname)) +- return realname; +- +- realname.truncate(realNameBaseSize); +- fuzzyLocales.append(localeName); +- } +- +- // start guessing +- for (const QString &fuzzyLocale : qAsConst(fuzzyLocales)) { +- QStringRef localeName(&fuzzyLocale); ++ // try the complete locale name first and progressively truncate from ++ // the end until a matching language tag is found (with or without suffix) + for (;;) { +- int rightmost = localeName.lastIndexOf(QLatin1Char('_')); +- // no truncations? fail +- if (rightmost <= 0) +- break; +- localeName.truncate(rightmost); +- + realname += localeName + suffixOrDotQM; + if (is_readable_file(realname)) + return realname; +@@ -696,6 +675,11 @@ static QString find_translation(const QLocale & locale, + return realname; + + realname.truncate(realNameBaseSize); ++ ++ int rightmost = localeName.lastIndexOf(QLatin1Char('_')); ++ if (rightmost <= 0) ++ break; // no truncations anymore, break ++ localeName.truncate(rightmost); + } + } + +@@ -754,10 +738,10 @@ static QString find_translation(const QLocale & locale, + \li \c /opt/foolib/foo.es + \li \c /opt/foolib/foo.fr_CA.qm + \li \c /opt/foolib/foo.fr_CA +- \li \c /opt/foolib/foo.de.qm +- \li \c /opt/foolib/foo.de + \li \c /opt/foolib/foo.fr.qm + \li \c /opt/foolib/foo.fr ++ \li \c /opt/foolib/foo.de.qm ++ \li \c /opt/foolib/foo.de + \li \c /opt/foolib/foo.qm + \li \c /opt/foolib/foo. + \li \c /opt/foolib/foo +diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp +index a5c72f81d9..5cd21b67a4 100644 +--- a/src/corelib/plugin/qlibrary_unix.cpp ++++ b/src/corelib/plugin/qlibrary_unix.cpp +@@ -243,10 +243,10 @@ bool QLibraryPrivate::load_sys() + } + if (hnd) { + using JniOnLoadPtr = jint (*)(JavaVM *vm, void *reserved); +- JniOnLoadPtr jniOnLoad = reinterpret_cast(dlsym(pHnd, "JNI_OnLoad")); ++ JniOnLoadPtr jniOnLoad = reinterpret_cast(dlsym(hnd, "JNI_OnLoad")); + if (jniOnLoad && jniOnLoad(QtAndroidPrivate::javaVM(), nullptr) == JNI_ERR) { + dlclose(hnd); +- pHnd = nullptr; ++ hnd = nullptr; + } + } + #endif +diff --git a/src/corelib/serialization/qcborarray.h b/src/corelib/serialization/qcborarray.h +index ac4897a39a..0724694f2b 100644 +--- a/src/corelib/serialization/qcborarray.h ++++ b/src/corelib/serialization/qcborarray.h +@@ -276,6 +276,7 @@ private: + friend QCborValue; + friend QCborValueRef; + friend class QJsonPrivate::Variant; ++ friend class QCborContainerPrivate; + explicit QCborArray(QCborContainerPrivate &dd) noexcept; + QExplicitlySharedDataPointer d; + }; +diff --git a/src/corelib/serialization/qcbormap.h b/src/corelib/serialization/qcbormap.h +index d27ca45e5f..6f89b836dd 100644 +--- a/src/corelib/serialization/qcbormap.h ++++ b/src/corelib/serialization/qcbormap.h +@@ -330,6 +330,7 @@ private: + friend class QCborValue; + friend class QCborValueRef; + friend class QJsonPrivate::Variant; ++ friend class QCborContainerPrivate; + void detach(qsizetype reserve = 0); + + explicit QCborMap(QCborContainerPrivate &dd) noexcept; +diff --git a/src/corelib/serialization/qcborstreamreader.cpp b/src/corelib/serialization/qcborstreamreader.cpp +index ec385e0629..993a05a337 100644 +--- a/src/corelib/serialization/qcborstreamreader.cpp ++++ b/src/corelib/serialization/qcborstreamreader.cpp +@@ -667,6 +667,7 @@ public: + } + + bool ensureStringIteration(); ++ QCborStreamReader::StringResult readStringChunk(char *ptr, qsizetype maxlen); + }; + + void qt_cbor_stream_set_error(QCborStreamReaderPrivate *d, QCborError error) +@@ -1459,29 +1460,38 @@ qsizetype QCborStreamReader::_currentStringChunkSize() const + */ + QCborStreamReader::StringResult + QCborStreamReader::readStringChunk(char *ptr, qsizetype maxlen) ++{ ++ auto r = d->readStringChunk(ptr, maxlen); ++ if (r.status == EndOfString && lastError() == QCborError::NoError) ++ preparse(); ++ return r; ++} ++ ++QCborStreamReader::StringResult ++QCborStreamReaderPrivate::readStringChunk(char *ptr, qsizetype maxlen) + { + CborError err; + size_t len; + const void *content = nullptr; + QCborStreamReader::StringResult result; + result.data = 0; +- result.status = Error; ++ result.status = QCborStreamReader::Error; + +- d->lastError = {}; +- if (!d->ensureStringIteration()) ++ lastError = {}; ++ if (!ensureStringIteration()) + return result; + + #if 1 + // Using internal TinyCBOR API! +- err = _cbor_value_get_string_chunk(&d->currentElement, &content, &len, &d->currentElement); ++ err = _cbor_value_get_string_chunk(¤tElement, &content, &len, ¤tElement); + #else + // the above is effectively the same as: + if (cbor_value_is_byte_string(¤tElement)) +- err = cbor_value_get_byte_string_chunk(&d->currentElement, reinterpret_cast(&content), +- &len, &d->currentElement); ++ err = cbor_value_get_byte_string_chunk(¤tElement, reinterpret_cast(&content), ++ &len, ¤tElement); + else +- err = cbor_value_get_text_string_chunk(&d->currentElement, reinterpret_cast(&content), +- &len, &d->currentElement); ++ err = cbor_value_get_text_string_chunk(¤tElement, reinterpret_cast(&content), ++ &len, ¤tElement); + #endif + + // Range check: using implementation-defined behavior in converting an +@@ -1493,14 +1503,13 @@ QCborStreamReader::readStringChunk(char *ptr, qsizetype maxlen) + + if (err) { + if (err == CborErrorNoMoreStringChunks) { +- d->preread(); +- err = cbor_value_finish_string_iteration(&d->currentElement); +- result.status = EndOfString; ++ preread(); ++ err = cbor_value_finish_string_iteration(¤tElement); ++ result.status = QCborStreamReader::EndOfString; + } + if (err) +- d->handleError(err); +- else +- preparse(); ++ handleError(err); ++ // caller musts call preparse() + return result; + } + +@@ -1514,34 +1523,34 @@ QCborStreamReader::readStringChunk(char *ptr, qsizetype maxlen) + else + toRead = maxlen; // buffer smaller than string + +- if (d->device) { ++ if (device) { + // This first skip can't fail because we've already read this many bytes. +- d->device->skip(d->bufferStart + qptrdiff(content)); +- actuallyRead = d->device->read(ptr, toRead); ++ device->skip(bufferStart + qptrdiff(content)); ++ actuallyRead = device->read(ptr, toRead); + + if (actuallyRead != toRead) { + actuallyRead = -1; + } else if (left) { +- qint64 skipped = d->device->skip(left); ++ qint64 skipped = device->skip(left); + if (skipped != left) + actuallyRead = -1; + } + + if (actuallyRead < 0) { +- d->handleError(CborErrorIO); ++ handleError(CborErrorIO); + return result; + } + +- d->updateBufferAfterString(offset, len); ++ updateBufferAfterString(offset, len); + } else { + actuallyRead = toRead; +- memcpy(ptr, d->buffer.constData() + d->bufferStart + offset, toRead); +- d->bufferStart += QByteArray::size_type(offset + len); ++ memcpy(ptr, buffer.constData() + bufferStart + offset, toRead); ++ bufferStart += QByteArray::size_type(offset + len); + } + +- d->preread(); ++ preread(); + result.data = actuallyRead; +- result.status = Ok; ++ result.status = QCborStreamReader::Ok; + return result; + } + +diff --git a/src/corelib/serialization/qcborvalue_p.h b/src/corelib/serialization/qcborvalue_p.h +index 041a20e746..66d5799290 100644 +--- a/src/corelib/serialization/qcborvalue_p.h ++++ b/src/corelib/serialization/qcborvalue_p.h +@@ -128,6 +128,7 @@ class QCborContainerPrivate : public QSharedData + + public: + enum ContainerDisposition { CopyContainer, MoveContainer }; ++ enum class ConversionMode { FromRaw, FromVariantToJson }; + + QByteArray::size_type usedData = 0; + QByteArray data; +@@ -139,6 +140,12 @@ public: + static QCborContainerPrivate *detach(QCborContainerPrivate *d, qsizetype reserved); + static QCborContainerPrivate *grow(QCborContainerPrivate *d, qsizetype index); + ++ static QCborMap fromVariantMap(const QVariantMap &map, ++ ConversionMode mode = ConversionMode::FromRaw); ++ ++ static QCborArray fromVariantList(const QVariantList &list, ++ ConversionMode mode = ConversionMode::FromRaw); ++ + qptrdiff addByteData(const char *block, qsizetype len) + { + // This function does not do overflow checking, since the len parameter +diff --git a/src/corelib/serialization/qjsoncbor.cpp b/src/corelib/serialization/qjsoncbor.cpp +index 2ae02cd239..285ae6a8ec 100644 +--- a/src/corelib/serialization/qjsoncbor.cpp ++++ b/src/corelib/serialization/qjsoncbor.cpp +@@ -54,8 +54,7 @@ + QT_BEGIN_NAMESPACE + + using namespace QtCbor; +- +-enum class ConversionMode { FromRaw, FromVariantToJson }; ++using ConversionMode = QCborContainerPrivate::ConversionMode; + + static QJsonValue fpToJson(double v) + { +@@ -450,7 +449,8 @@ QJsonArray QCborArray::toJsonArray() const + + QJsonArray QJsonPrivate::Variant::toJsonArray(const QVariantList &list) + { +- const auto cborArray = QCborArray::fromVariantList(list); ++ const auto cborArray = ++ QCborContainerPrivate::fromVariantList(list, ConversionMode::FromVariantToJson); + return convertToJsonArray(cborArray.d.data(), ConversionMode::FromVariantToJson); + } + +@@ -498,7 +498,8 @@ QJsonObject QCborMap::toJsonObject() const + + QJsonObject QJsonPrivate::Variant::toJsonObject(const QVariantMap &map) + { +- const auto cborMap = QCborMap::fromVariantMap(map); ++ const auto cborMap = ++ QCborContainerPrivate::fromVariantMap(map, ConversionMode::FromVariantToJson); + return convertToJsonObject(cborMap.d.data(), ConversionMode::FromVariantToJson); + } + +@@ -661,77 +662,8 @@ QCborValue QCborValue::fromJsonValue(const QJsonValue &v) + return QCborValue(); + } + +-static void appendVariant(QCborContainerPrivate *d, const QVariant &variant) +-{ +- // Handle strings and byte arrays directly, to avoid creating a temporary +- // dummy container to hold their data. +- int type = variant.userType(); +- if (type == QMetaType::QString) { +- d->append(variant.toString()); +- } else if (type == QMetaType::QByteArray) { +- QByteArray ba = variant.toByteArray(); +- d->appendByteData(ba.constData(), ba.size(), QCborValue::ByteArray); +- } else { +- // For everything else, use the function below. +- d->append(QCborValue::fromVariant(variant)); +- } +-} +- +-/*! +- Converts the QVariant \a variant into QCborValue and returns it. +- +- QVariants may contain a large list of different meta types, many of which +- have no corresponding representation in CBOR. That includes all +- user-defined meta types. When preparing transmission using CBOR, it is +- suggested to encode carefully each value to prevent loss of representation. +- +- The following table lists the conversion this function will apply: +- +- \table +- \header \li Qt (C++) type \li CBOR type +- \row \li invalid (QVariant()) \li Undefined +- \row \li \c bool \li Bool +- \row \li \c std::nullptr_t \li Null +- \row \li \c short, \c ushort, \c int, \c uint, \l qint64 \li Integer +- \row \li \l quint64 \li Integer, but they are cast to \c qint64 first so +- values higher than 2\sup{63}-1 (\c INT64_MAX) will +- be wrapped to negative +- \row \li \c float, \c double \li Double +- \row \li \l QByteArray \li ByteArray +- \row \li \l QDateTime \li DateTime +- \row \li \l QCborSimpleType \li Simple type +- \row \li \l QJsonArray \li Array, converted using QCborArray::formJsonArray() +- \row \li \l QJsonDocument \li Array or Map +- \row \li \l QJsonObject \li Map, converted using QCborMap::fromJsonObject() +- \row \li \l QJsonValue \li converted using fromJsonValue() +- \row \li \l QRegularExpression \li RegularExpression +- \row \li \l QString \li String +- \row \li \l QStringList \li Array +- \row \li \l QVariantHash \li Map +- \row \li \l QVariantList \li Array +- \row \li \l QVariantMap \li Map +- \row \li \l QUrl \li Url +- \row \li \l QUuid \li Uuid +- \endtable +- +- If QVariant::isNull() returns true, a null QCborValue is returned or +- inserted into the list or object, regardless of the type carried by +- QVariant. Note the behavior change in Qt 6.0 affecting QVariant::isNull() +- also affects this function. +- +- For other types not listed above, a conversion to string will be attempted, +- usually but not always by calling QVariant::toString(). If the conversion +- fails the value is replaced by an Undefined CBOR value. Note that +- QVariant::toString() is also lossy for the majority of types. +- +- Please note that the conversions via QVariant::toString() are subject to +- change at any time. Both QVariant and QCborValue may be extended in the +- future to support more types, which will result in a change in how this +- function performs conversions. +- +- \sa toVariant(), fromJsonValue(), QCborArray::toVariantList(), QCborMap::toVariantMap(), QJsonValue::fromVariant() +- */ +-QCborValue QCborValue::fromVariant(const QVariant &variant) ++static QCborValue fromVariantImpl(const QVariant &variant, ++ ConversionMode mode = ConversionMode::FromRaw) + { + switch (variant.userType()) { + case QMetaType::UnknownType: +@@ -744,9 +676,12 @@ QCborValue QCborValue::fromVariant(const QVariant &variant) + case QMetaType::UShort: + case QMetaType::Int: + case QMetaType::LongLong: +- case QMetaType::ULongLong: + case QMetaType::UInt: + return variant.toLongLong(); ++ case QMetaType::ULongLong: ++ if (mode != ConversionMode::FromVariantToJson ) ++ return variant.toLongLong(); ++ Q_FALLTHROUGH(); + case QMetaType::Float: + case QMetaType::Double: + return variant.toDouble(); +@@ -765,9 +700,9 @@ QCborValue QCborValue::fromVariant(const QVariant &variant) + case QMetaType::QUuid: + return QCborValue(variant.toUuid()); + case QMetaType::QVariantList: +- return QCborArray::fromVariantList(variant.toList()); ++ return QCborContainerPrivate::fromVariantList(variant.toList(), mode); + case QMetaType::QVariantMap: +- return QCborMap::fromVariantMap(variant.toMap()); ++ return QCborContainerPrivate::fromVariantMap(variant.toMap(), mode); + case QMetaType::QVariantHash: + return QCborMap::fromVariantHash(variant.toHash()); + #ifndef QT_BOOTSTRAPPED +@@ -776,7 +711,7 @@ QCborValue QCborValue::fromVariant(const QVariant &variant) + return QCborValue(variant.toRegularExpression()); + #endif + case QMetaType::QJsonValue: +- return fromJsonValue(variant.toJsonValue()); ++ return QCborValue::fromJsonValue(variant.toJsonValue()); + case QMetaType::QJsonObject: + return QCborMap::fromJsonObject(variant.toJsonObject()); + case QMetaType::QJsonArray: +@@ -809,6 +744,106 @@ QCborValue QCborValue::fromVariant(const QVariant &variant) + return string; + } + ++static void appendVariant(QCborContainerPrivate *d, const QVariant &variant, ++ ConversionMode mode = ConversionMode::FromRaw) ++{ ++ // Handle strings and byte arrays directly, to avoid creating a temporary ++ // dummy container to hold their data. ++ int type = variant.userType(); ++ if (type == QMetaType::QString) { ++ d->append(variant.toString()); ++ } else if (type == QMetaType::QByteArray) { ++ QByteArray ba = variant.toByteArray(); ++ d->appendByteData(ba.constData(), ba.size(), QCborValue::ByteArray); ++ } else { ++ // For everything else, use the function below. ++ d->append(fromVariantImpl(variant, mode)); ++ } ++} ++ ++QCborMap QCborContainerPrivate::fromVariantMap(const QVariantMap &map, ConversionMode mode) ++{ ++ QCborMap m; ++ m.detach(map.size()); ++ QCborContainerPrivate *d = m.d.data(); ++ ++ auto it = map.begin(); ++ auto end = map.end(); ++ for ( ; it != end; ++it) { ++ d->append(it.key()); ++ appendVariant(d, it.value(), mode); ++ } ++ return m; ++} ++ ++QCborArray QCborContainerPrivate::fromVariantList(const QVariantList &list, ConversionMode mode) ++{ ++ QCborArray a; ++ a.detach(list.size()); ++ for (const QVariant &v : list) ++ appendVariant(a.d.data(), v, mode); ++ return a; ++} ++ ++/*! ++ Converts the QVariant \a variant into QCborValue and returns it. ++ ++ QVariants may contain a large list of different meta types, many of which ++ have no corresponding representation in CBOR. That includes all ++ user-defined meta types. When preparing transmission using CBOR, it is ++ suggested to encode carefully each value to prevent loss of representation. ++ ++ The following table lists the conversion this function will apply: ++ ++ \table ++ \header \li Qt (C++) type \li CBOR type ++ \row \li invalid (QVariant()) \li Undefined ++ \row \li \c bool \li Bool ++ \row \li \c std::nullptr_t \li Null ++ \row \li \c short, \c ushort, \c int, \c uint, \l qint64 \li Integer ++ \row \li \l quint64 \li Integer, but they are cast to \c qint64 first so ++ values higher than 2\sup{63}-1 (\c INT64_MAX) will ++ be wrapped to negative ++ \row \li \c float, \c double \li Double ++ \row \li \l QByteArray \li ByteArray ++ \row \li \l QDateTime \li DateTime ++ \row \li \l QCborSimpleType \li Simple type ++ \row \li \l QJsonArray \li Array, converted using QCborArray::formJsonArray() ++ \row \li \l QJsonDocument \li Array or Map ++ \row \li \l QJsonObject \li Map, converted using QCborMap::fromJsonObject() ++ \row \li \l QJsonValue \li converted using fromJsonValue() ++ \row \li \l QRegularExpression \li RegularExpression ++ \row \li \l QString \li String ++ \row \li \l QStringList \li Array ++ \row \li \l QVariantHash \li Map ++ \row \li \l QVariantList \li Array ++ \row \li \l QVariantMap \li Map ++ \row \li \l QUrl \li Url ++ \row \li \l QUuid \li Uuid ++ \endtable ++ ++ If QVariant::isNull() returns true, a null QCborValue is returned or ++ inserted into the list or object, regardless of the type carried by ++ QVariant. Note the behavior change in Qt 6.0 affecting QVariant::isNull() ++ also affects this function. ++ ++ For other types not listed above, a conversion to string will be attempted, ++ usually but not always by calling QVariant::toString(). If the conversion ++ fails the value is replaced by an Undefined CBOR value. Note that ++ QVariant::toString() is also lossy for the majority of types. ++ ++ Please note that the conversions via QVariant::toString() are subject to ++ change at any time. Both QVariant and QCborValue may be extended in the ++ future to support more types, which will result in a change in how this ++ function performs conversions. ++ ++ \sa toVariant(), fromJsonValue(), QCborArray::toVariantList(), QCborMap::toVariantMap(), QJsonValue::fromVariant() ++ */ ++QCborValue QCborValue::fromVariant(const QVariant &variant) ++{ ++ return fromVariantImpl(variant); ++} ++ + /*! + Recursively converts each \l QCborValue in this array using + QCborValue::toVariant() and returns the QVariantList composed of the +@@ -854,11 +889,7 @@ QCborArray QCborArray::fromStringList(const QStringList &list) + */ + QCborArray QCborArray::fromVariantList(const QVariantList &list) + { +- QCborArray a; +- a.detach(list.size()); +- for (const QVariant &v : list) +- appendVariant(a.d.data(), v); +- return a; ++ return QCborContainerPrivate::fromVariantList(list); + } + + /*! +@@ -939,17 +970,7 @@ QVariantHash QCborMap::toVariantHash() const + */ + QCborMap QCborMap::fromVariantMap(const QVariantMap &map) + { +- QCborMap m; +- m.detach(map.size()); +- QCborContainerPrivate *d = m.d.data(); +- +- auto it = map.begin(); +- auto end = map.end(); +- for ( ; it != end; ++it) { +- d->append(it.key()); +- appendVariant(d, it.value()); +- } +- return m; ++ return QCborContainerPrivate::fromVariantMap(map); + } + + /*! +diff --git a/src/corelib/serialization/qjsonvalue.cpp b/src/corelib/serialization/qjsonvalue.cpp +index 27a2f0e227..29c29184c1 100644 +--- a/src/corelib/serialization/qjsonvalue.cpp ++++ b/src/corelib/serialization/qjsonvalue.cpp +@@ -449,11 +449,8 @@ void QJsonValue::swap(QJsonValue &other) noexcept + also affects this function. + + A floating point value that is either an infinity or NaN will be converted +- to a null JSON value. Since Qt 6.0, QJsonValue can store the full precision +- of any 64-bit signed integer without loss, but in previous versions values +- outside the range of ±2^53 may lose precision. Unsigned 64-bit values +- greater than or equal to 2^63 will either lose precision or alias to +- negative values, so QMetaType::ULongLong should be avoided. ++ to a null JSON value. The values outside the range of ±2^53 may lose precision, ++ because they are converted to a double QJsonValue. + + For other types not listed above, a conversion to string will be attempted, + usually but not always by calling QVariant::toString(). If the conversion +diff --git a/src/corelib/text/UNICODE_LICENSE.txt b/src/corelib/text/UNICODE_LICENSE.txt +index 567fda24dd..500dbd5463 100644 +--- a/src/corelib/text/UNICODE_LICENSE.txt ++++ b/src/corelib/text/UNICODE_LICENSE.txt +@@ -13,7 +13,7 @@ THE DATA FILES OR SOFTWARE. + + COPYRIGHT AND PERMISSION NOTICE + +-Copyright © 1991-2019 Unicode, Inc. All rights reserved. ++Copyright © 1991-2020 Unicode, Inc. All rights reserved. + Distributed under the Terms of Use in https://www.unicode.org/copyright.html. + + Permission is hereby granted, free of charge, to any person obtaining +diff --git a/src/corelib/text/qbytearraymatcher.h b/src/corelib/text/qbytearraymatcher.h +index 0eedfc1d20..f5f9bef7b8 100644 +--- a/src/corelib/text/qbytearraymatcher.h ++++ b/src/corelib/text/qbytearraymatcher.h +@@ -42,6 +42,8 @@ + + #include + ++#include ++ + QT_BEGIN_NAMESPACE + + +diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp +index bfd7b15e6b..67b06f42f4 100644 +--- a/src/corelib/text/qlocale.cpp ++++ b/src/corelib/text/qlocale.cpp +@@ -2042,27 +2042,62 @@ QString QLocale::toString(const QDate &date, const QString &format) const + #endif + + /*! +- \since 5.10 ++ \since 5.14 + + Returns a localized string representation of the given \a date in the +- specified \a format. ++ specified \a format, optionally for a specified calendar \a cal. + If \a format is an empty string, an empty string is returned. + + \sa QDate::toString() + */ ++QString QLocale::toString(const QDate &date, QStringView format, QCalendar cal) const ++{ ++ return cal.dateTimeToString(format, QDateTime(), date, QTime(), *this); ++} ++ ++/*! ++ \since 5.10 ++ \overload ++*/ + QString QLocale::toString(const QDate &date, QStringView format) const + { + return QCalendar().dateTimeToString(format, QDateTime(), date, QTime(), *this); + } + + /*! ++ \since 5.14 ++ + Returns a localized string representation of the given \a date according +- to the specified \a format (see dateFormat()). ++ to the specified \a format (see dateFormat()), optionally for a specified ++ calendar \a cal. + + \note Some locales may use formats that limit the range of years they can + represent. + */ ++QString QLocale::toString(const QDate &date, FormatType format, QCalendar cal) const ++{ ++ if (!date.isValid()) ++ return QString(); + ++#ifndef QT_NO_SYSTEMLOCALE ++ if (cal.isGregorian() && d->m_data == systemData()) { ++ QVariant res = systemLocale()->query(format == LongFormat ++ ? QSystemLocale::DateToStringLong ++ : QSystemLocale::DateToStringShort, ++ date); ++ if (!res.isNull()) ++ return res.toString(); ++ } ++#endif ++ ++ QString format_str = dateFormat(format); ++ return toString(date, format_str, cal); ++} ++ ++/*! ++ \since 4.5 ++ \overload ++*/ + QString QLocale::toString(const QDate &date, FormatType format) const + { + if (!date.isValid()) +@@ -2115,7 +2150,7 @@ QString QLocale::toString(const QTime &time, const QString &format) const + #endif + + /*! +- \since 5.10 ++ \since 4.5 + + Returns a localized string representation of the given \a time according + to the specified \a format. +@@ -2146,46 +2181,39 @@ QString QLocale::toString(const QDateTime &dateTime, const QString &format) cons + #endif + + /*! +- \since 5.10 ++ \since 5.14 + + Returns a localized string representation of the given \a dateTime according +- to the specified \a format. ++ to the specified \a format, optionally for a specified calendar \a cal. + If \a format is an empty string, an empty string is returned. + + \sa QDateTime::toString(), QDate::toString(), QTime::toString() + */ +-QString QLocale::toString(const QDateTime &dateTime, QStringView format) const ++QString QLocale::toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const + { +- return QCalendar().dateTimeToString(format, dateTime, QDate(), QTime(), *this); ++ return cal.dateTimeToString(format, dateTime, QDate(), QTime(), *this); + } + +-QString QLocale::toString(const QDate &date, QStringView format, QCalendar cal) const ++/*! ++ \since 5.10 ++ \overload ++*/ ++QString QLocale::toString(const QDateTime &dateTime, QStringView format) const + { +- return cal.dateTimeToString(format, QDateTime(), date, QTime(), *this); ++ return QCalendar().dateTimeToString(format, dateTime, QDate(), QTime(), *this); + } + +-QString QLocale::toString(const QDate &date, QLocale::FormatType format, QCalendar cal) const +-{ +- if (!date.isValid()) +- return QString(); +- +-#ifndef QT_NO_SYSTEMLOCALE +- if (cal.isGregorian() && d->m_data == systemData()) { +- QVariant res = systemLocale()->query(format == LongFormat +- ? QSystemLocale::DateToStringLong +- : QSystemLocale::DateToStringShort, +- date); +- if (!res.isNull()) +- return res.toString(); +- } +-#endif ++/*! ++ \since 5.14 + +- QString format_str = dateFormat(format); +- return toString(date, format_str, cal); +-} ++ Returns a localized string representation of the given \a dateTime according ++ to the specified \a format (see dateTimeFormat()), optionally for a ++ specified calendar \a cal. + +-QString QLocale::toString(const QDateTime &dateTime, QLocale::FormatType format, +- QCalendar cal) const ++ \note Some locales may use formats that limit the range of years they can ++ represent. ++*/ ++QString QLocale::toString(const QDateTime &dateTime, FormatType format, QCalendar cal) const + { + if (!dateTime.isValid()) + return QString(); +@@ -2205,21 +2233,10 @@ QString QLocale::toString(const QDateTime &dateTime, QLocale::FormatType format, + return toString(dateTime, format_str, cal); + } + +-QString QLocale::toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const +-{ +- return cal.dateTimeToString(format, dateTime, QDate(), QTime(), *this); +-} +- + /*! + \since 4.4 +- +- Returns a localized string representation of the given \a dateTime according +- to the specified \a format (see dateTimeFormat()). +- +- \note Some locales may use formats that limit the range of years they can +- represent. ++ \overload + */ +- + QString QLocale::toString(const QDateTime &dateTime, FormatType format) const + { + if (!dateTime.isValid()) +@@ -2551,7 +2568,12 @@ QDate QLocale::toDate(const QString &string, const QString &format, QCalendar ca + \note The month and day names used must be given in the user's local + language. + +- If the string could not be parsed, returns an invalid QDateTime. ++ If the string could not be parsed, returns an invalid QDateTime. If the ++ string can be parsed and represents an invalid date-time (e.g. in a gap ++ skipped by a time-zone transition), an invalid QDateTime is returned, whose ++ toMSecsSinceEpoch() represents a near-by date-time that is valid. Passing ++ that to fromMSecsSinceEpoch() will produce a valid date-time that isn't ++ faithfully represented by the string parsed. + + \sa dateTimeFormat(), toTime(), toDate(), QDateTime::fromString() + */ +@@ -2571,7 +2593,7 @@ QDateTime QLocale::toDateTime(const QString &string, const QString &format, QCal + + QDateTimeParser dt(QMetaType::QDateTime, QDateTimeParser::FromString, cal); + dt.setDefaultLocale(*this); +- if (dt.parseFormat(format) && dt.fromString(string, &datetime)) ++ if (dt.parseFormat(format) && (dt.fromString(string, &datetime) || !datetime.isValid())) + return datetime; + #else + Q_UNUSED(string); +diff --git a/src/corelib/text/qlocale.h b/src/corelib/text/qlocale.h +index 036f064419..19b4c3e7d6 100644 +--- a/src/corelib/text/qlocale.h ++++ b/src/corelib/text/qlocale.h +@@ -1070,9 +1070,10 @@ public: + QString toString(const QDate &date, FormatType format = LongFormat) const; + QString toString(const QTime &time, FormatType format = LongFormat) const; + QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const; +- /* Removing default value for `format' is done intentionally, +- * after all tests we will remove non-calendar-aware version of these functions, +- * and add a default value for both calendar instance, and format ++ /* We can't pass a default for QCalendar (its declaration mentions ++ * QLocale::FormatType, so it has to #include this header, which thus can't ++ * #include its, so we can't instantiate QCalendar() as default). This ++ * precludes any default for format, too. + */ + QString toString(const QDate &date, QStringView formatStr, QCalendar cal) const; + QString toString(const QDate &date, FormatType format, QCalendar cal) const; +diff --git a/src/corelib/text/qlocale.qdoc b/src/corelib/text/qlocale.qdoc +index f4b9f5b67d..67fa0f4b62 100644 +--- a/src/corelib/text/qlocale.qdoc ++++ b/src/corelib/text/qlocale.qdoc +@@ -92,7 +92,7 @@ + \note For the current keyboard input locale take a look at + QInputMethod::locale(). + +- QLocale's data is based on Common Locale Data Repository v37. ++ QLocale's data is based on Common Locale Data Repository v38. + + \sa QString::arg(), QString::toInt(), QString::toDouble(), + QInputMethod::locale() +diff --git a/src/corelib/text/qlocale_data_p.h b/src/corelib/text/qlocale_data_p.h +index f076ea06a7..c960eaeef4 100644 +--- a/src/corelib/text/qlocale_data_p.h ++++ b/src/corelib/text/qlocale_data_p.h +@@ -77,8 +77,8 @@ static const int ImperialMeasurementSystemsCount = + // GENERATED PART STARTS HERE + + /* +- This part of the file was generated on 2020-10-27 from the +- Common Locale Data Repository v37 ++ This part of the file was generated on 2020-11-09 from the ++ Common Locale Data Repository v38 + + http://www.unicode.org/cldr/ + +@@ -162,7 +162,7 @@ static const QLocaleId likely_subtags[] = { + { 176, 0, 0 }, { 176, 7, 111 }, // dav -> dav_Latn_KE + { 42, 0, 0 }, { 42, 7, 82 }, // de -> de_Latn_DE + { 239, 0, 0 }, { 239, 7, 156 }, // dje -> dje_Latn_NE +- { 275, 0, 0 }, { 275, 1, 100 }, // doi -> doi_Arab_IN ++ { 275, 0, 0 }, { 275, 13, 100 }, // doi -> doi_Deva_IN + { 317, 0, 0 }, { 317, 7, 82 }, // dsb -> dsb_Latn_DE + { 240, 0, 0 }, { 240, 7, 37 }, // dua -> dua_Latn_CM + { 143, 0, 0 }, { 143, 29, 131 }, // dv -> dv_Thaa_MV +@@ -210,7 +210,6 @@ static const QLocaleId likely_subtags[] = { + { 163, 0, 0 }, { 163, 7, 225 }, // haw -> haw_Latn_US + { 48, 0, 0 }, { 48, 18, 105 }, // he -> he_Hebr_IL + { 49, 0, 0 }, { 49, 13, 100 }, // hi -> hi_Deva_IN +- { 49, 7, 0 }, { 49, 7, 100 }, // hi_Latn -> hi_Latn_IN + { 344, 0, 0 }, { 344, 129, 217 }, // hlu -> hlu_Hluw_TR + { 282, 0, 0 }, { 282, 86, 44 }, // hmd -> hmd_Plrd_CN + { 333, 0, 0 }, { 333, 110, 117 }, // hnj -> hnj_Hmng_LA +@@ -268,7 +267,6 @@ static const QLocaleId likely_subtags[] = { + { 169, 0, 0 }, { 169, 7, 121 }, // kpe -> kpe_Latn_LR + { 225, 0, 0 }, { 225, 7, 0 }, // kr -> kr_Latn + { 62, 0, 0 }, { 62, 1, 100 }, // ks -> ks_Arab_IN +- { 62, 13, 0 }, { 62, 13, 100 }, // ks_Deva -> ks_Deva_IN + { 214, 0, 0 }, { 214, 7, 210 }, // ksb -> ksb_Latn_TZ + { 243, 0, 0 }, { 243, 7, 37 }, // ksf -> ksf_Latn_CM + { 201, 0, 0 }, { 201, 7, 82 }, // ksh -> ksh_Latn_DE +@@ -328,7 +326,6 @@ static const QLocaleId likely_subtags[] = { + { 347, 0, 0 }, { 347, 117, 18 }, // mro -> mro_Mroo_BD + { 76, 0, 0 }, { 76, 7, 130 }, // ms -> ms_Latn_MY + { 76, 0, 46 }, { 76, 1, 46 }, // ms_CC -> ms_Arab_CC +- { 76, 0, 101 }, { 76, 7, 101 }, // ms_ID -> ms_Latn_ID + { 78, 0, 0 }, { 78, 7, 133 }, // mt -> mt_Latn_MT + { 245, 0, 0 }, { 245, 7, 37 }, // mua -> mua_Latn_CM + { 368, 0, 0 }, { 368, 7, 225 }, // mus -> mus_Latn_US +@@ -510,7 +507,6 @@ static const QLocaleId likely_subtags[] = { + { 25, 0, 97 }, { 25, 6, 97 }, // zh_HK -> zh_Hant_HK + { 25, 0, 101 }, { 25, 6, 101 }, // zh_ID -> zh_Hant_ID + { 25, 0, 126 }, { 25, 6, 126 }, // zh_MO -> zh_Hant_MO +- { 25, 0, 130 }, { 25, 6, 130 }, // zh_MY -> zh_Hant_MY + { 25, 0, 166 }, { 25, 6, 166 }, // zh_PA -> zh_Hant_PA + { 25, 0, 77 }, { 25, 6, 77 }, // zh_PF -> zh_Hant_PF + { 25, 0, 170 }, { 25, 6, 170 }, // zh_PH -> zh_Hant_PH +@@ -583,7 +579,7 @@ static const QLocaleId likely_subtags[] = { + { 0, 0, 67 }, { 122, 14, 67 }, // und_ER -> ti_Ethi_ER + { 0, 0, 197 }, { 111, 7, 197 }, // und_ES -> es_Latn_ES + { 0, 0, 69 }, { 7, 14, 69 }, // und_ET -> am_Ethi_ET +- { 0, 0, 258 }, { 31, 7, 224 }, // und_EU -> en_Latn_GB ++ { 0, 0, 258 }, { 31, 7, 104 }, // und_EU -> en_Latn_IE + { 0, 0, 73 }, { 36, 7, 73 }, // und_FI -> fi_Latn_FI + { 0, 0, 71 }, { 34, 7, 71 }, // und_FO -> fo_Latn_FO + { 0, 0, 74 }, { 37, 7, 74 }, // und_FR -> fr_Latn_FR +@@ -760,7 +756,7 @@ static const QLocaleId likely_subtags[] = { + { 0, 2, 0 }, { 96, 2, 178 }, // und_Cyrl -> ru_Cyrl_RU + { 0, 2, 2 }, { 74, 2, 2 }, // und_Cyrl_AL -> mk_Cyrl_AL + { 0, 2, 27 }, { 100, 2, 27 }, // und_Cyrl_BA -> sr_Cyrl_BA +- { 0, 2, 81 }, { 2, 2, 81 }, // und_Cyrl_GE -> ab_Cyrl_GE ++ { 0, 2, 81 }, { 101, 2, 81 }, // und_Cyrl_GE -> os_Cyrl_GE + { 0, 2, 85 }, { 74, 2, 85 }, // und_Cyrl_GR -> mk_Cyrl_GR + { 0, 2, 141 }, { 129, 2, 141 }, // und_Cyrl_MD -> uk_Cyrl_MD + { 0, 2, 177 }, { 20, 2, 177 }, // und_Cyrl_RO -> bg_Cyrl_RO +@@ -976,157 +972,157 @@ static const quint16 locale_index[] = { + 279, // Kurdish + 280, // Rundi + 281, // Lao +- 0, // Latin +- 282, // Latvian +- 283, // Lingala +- 287, // Lithuanian +- 288, // Macedonian +- 289, // Malagasy +- 290, // Malay +- 295, // Malayalam +- 296, // Maltese +- 297, // Maori +- 298, // Marathi ++ 282, // Latin ++ 283, // Latvian ++ 284, // Lingala ++ 288, // Lithuanian ++ 289, // Macedonian ++ 290, // Malagasy ++ 291, // Malay ++ 296, // Malayalam ++ 297, // Maltese ++ 298, // Maori ++ 299, // Marathi + 0, // Marshallese +- 299, // Mongolian ++ 300, // Mongolian + 0, // Nauru +- 301, // Nepali +- 303, // Norwegian Bokmal +- 305, // Occitan +- 306, // Oriya +- 307, // Pashto +- 309, // Persian +- 311, // Polish +- 312, // Portuguese +- 324, // Punjabi +- 326, // Quechua +- 329, // Romansh +- 330, // Romanian +- 332, // Russian ++ 302, // Nepali ++ 304, // Norwegian Bokmal ++ 306, // Occitan ++ 307, // Oriya ++ 308, // Pashto ++ 310, // Persian ++ 312, // Polish ++ 313, // Portuguese ++ 325, // Punjabi ++ 327, // Quechua ++ 330, // Romansh ++ 331, // Romanian ++ 333, // Russian + 0, // Samoan +- 338, // Sango +- 339, // Sanskrit +- 340, // Serbian +- 348, // Ossetic +- 350, // Southern Sotho +- 351, // Tswana +- 352, // Shona +- 353, // Sindhi +- 355, // Sinhala +- 356, // Swati +- 357, // Slovak +- 358, // Slovenian +- 359, // Somali +- 363, // Spanish +- 391, // Sundanese +- 392, // Swahili +- 396, // Swedish +- 399, // Sardinian +- 400, // Tajik +- 401, // Tamil +- 405, // Tatar +- 406, // Telugu +- 407, // Thai +- 408, // Tibetan +- 410, // Tigrinya +- 412, // Tongan +- 413, // Tsonga +- 414, // Turkish +- 416, // Turkmen ++ 339, // Sango ++ 340, // Sanskrit ++ 341, // Serbian ++ 349, // Ossetic ++ 351, // Southern Sotho ++ 352, // Tswana ++ 353, // Shona ++ 354, // Sindhi ++ 356, // Sinhala ++ 357, // Swati ++ 358, // Slovak ++ 359, // Slovenian ++ 360, // Somali ++ 364, // Spanish ++ 392, // Sundanese ++ 393, // Swahili ++ 397, // Swedish ++ 400, // Sardinian ++ 401, // Tajik ++ 402, // Tamil ++ 406, // Tatar ++ 407, // Telugu ++ 408, // Thai ++ 409, // Tibetan ++ 411, // Tigrinya ++ 413, // Tongan ++ 414, // Tsonga ++ 415, // Turkish ++ 417, // Turkmen + 0, // Tahitian +- 417, // Uighur +- 418, // Ukrainian +- 419, // Urdu +- 421, // Uzbek +- 424, // Vietnamese +- 425, // Volapuk +- 426, // Welsh +- 427, // Wolof +- 428, // Xhosa +- 429, // Yiddish +- 430, // Yoruba ++ 418, // Uighur ++ 419, // Ukrainian ++ 420, // Urdu ++ 422, // Uzbek ++ 425, // Vietnamese ++ 426, // Volapuk ++ 427, // Welsh ++ 428, // Wolof ++ 429, // Xhosa ++ 430, // Yiddish ++ 431, // Yoruba + 0, // Zhuang +- 432, // Zulu +- 433, // Norwegian Nynorsk +- 434, // Bosnian +- 436, // Divehi +- 437, // Manx +- 438, // Cornish +- 439, // Akan +- 440, // Konkani +- 441, // Ga +- 442, // Igbo +- 443, // Kamba +- 444, // Syriac +- 445, // Blin +- 446, // Geez ++ 433, // Zulu ++ 434, // Norwegian Nynorsk ++ 435, // Bosnian ++ 437, // Divehi ++ 438, // Manx ++ 439, // Cornish ++ 440, // Akan ++ 441, // Konkani ++ 442, // Ga ++ 443, // Igbo ++ 444, // Kamba ++ 445, // Syriac ++ 446, // Blin ++ 447, // Geez + 0, // Koro +- 447, // Sidamo +- 448, // Atsam +- 449, // Tigre +- 450, // Jju +- 451, // Friulian +- 452, // Venda +- 453, // Ewe +- 455, // Walamo +- 456, // Hawaiian +- 457, // Tyap +- 458, // Nyanja +- 459, // Filipino +- 460, // Swiss German +- 463, // Sichuan Yi +- 464, // Kpelle +- 465, // Low German +- 467, // South Ndebele +- 468, // Northern Sotho +- 469, // Northern Sami +- 472, // Taroko +- 473, // Gusii +- 474, // Taita +- 475, // Fulah +- 487, // Kikuyu +- 488, // Samburu +- 489, // Sena +- 490, // North Ndebele +- 491, // Rombo +- 492, // Tachelhit +- 494, // Kabyle +- 495, // Nyankole +- 496, // Bena +- 497, // Vunjo +- 498, // Bambara +- 500, // Embu +- 501, // Cherokee +- 502, // Morisyen +- 503, // Makonde +- 504, // Langi +- 505, // Ganda +- 506, // Bemba +- 507, // Kabuverdianu +- 508, // Meru +- 509, // Kalenjin +- 510, // Nama +- 511, // Machame +- 512, // Colognian +- 513, // Masai +- 515, // Soga +- 516, // Luyia +- 517, // Asu +- 518, // Teso +- 520, // Saho +- 521, // Koyra Chiini +- 522, // Rwa +- 523, // Luo +- 524, // Chiga +- 525, // Central Morocco Tamazight +- 526, // Koyraboro Senni +- 527, // Shambala +- 528, // Bodo ++ 448, // Sidamo ++ 449, // Atsam ++ 450, // Tigre ++ 451, // Jju ++ 452, // Friulian ++ 453, // Venda ++ 454, // Ewe ++ 456, // Walamo ++ 457, // Hawaiian ++ 458, // Tyap ++ 459, // Nyanja ++ 460, // Filipino ++ 461, // Swiss German ++ 464, // Sichuan Yi ++ 465, // Kpelle ++ 466, // Low German ++ 468, // South Ndebele ++ 469, // Northern Sotho ++ 470, // Northern Sami ++ 473, // Taroko ++ 474, // Gusii ++ 475, // Taita ++ 476, // Fulah ++ 488, // Kikuyu ++ 489, // Samburu ++ 490, // Sena ++ 491, // North Ndebele ++ 492, // Rombo ++ 493, // Tachelhit ++ 495, // Kabyle ++ 496, // Nyankole ++ 497, // Bena ++ 498, // Vunjo ++ 499, // Bambara ++ 501, // Embu ++ 502, // Cherokee ++ 503, // Morisyen ++ 504, // Makonde ++ 505, // Langi ++ 506, // Ganda ++ 507, // Bemba ++ 508, // Kabuverdianu ++ 509, // Meru ++ 510, // Kalenjin ++ 511, // Nama ++ 512, // Machame ++ 513, // Colognian ++ 514, // Masai ++ 516, // Soga ++ 517, // Luyia ++ 518, // Asu ++ 519, // Teso ++ 521, // Saho ++ 522, // Koyra Chiini ++ 523, // Rwa ++ 524, // Luo ++ 525, // Chiga ++ 526, // Central Morocco Tamazight ++ 527, // Koyraboro Senni ++ 528, // Shambala ++ 529, // Bodo + 0, // Avaric + 0, // Chamorro +- 529, // Chechen +- 530, // Church +- 531, // Chuvash ++ 530, // Chechen ++ 531, // Church ++ 532, // Chuvash + 0, // Cree + 0, // Haitian + 0, // Herero +@@ -1136,38 +1132,38 @@ static const quint16 locale_index[] = { + 0, // Kongo + 0, // Kwanyama + 0, // Limburgish +- 532, // Luba Katanga +- 533, // Luxembourgish +- 0, // Navaho ++ 533, // Luba Katanga ++ 534, // Luxembourgish ++ 535, // Navaho + 0, // Ndonga + 0, // Ojibwa + 0, // Pali +- 534, // Walloon +- 535, // Aghem +- 536, // Basaa +- 537, // Zarma +- 538, // Duala +- 539, // Jola Fonyi +- 540, // Ewondo +- 541, // Bafia +- 542, // Makhuwa Meetto +- 543, // Mundang +- 544, // Kwasio +- 545, // Nuer +- 546, // Sakha +- 547, // Sangu ++ 536, // Walloon ++ 537, // Aghem ++ 538, // Basaa ++ 539, // Zarma ++ 540, // Duala ++ 541, // Jola Fonyi ++ 542, // Ewondo ++ 543, // Bafia ++ 544, // Makhuwa Meetto ++ 545, // Mundang ++ 546, // Kwasio ++ 547, // Nuer ++ 548, // Sakha ++ 549, // Sangu + 0, // Congo Swahili +- 548, // Tasawaq +- 549, // Vai +- 551, // Walser +- 552, // Yangben ++ 550, // Tasawaq ++ 551, // Vai ++ 553, // Walser ++ 554, // Yangben + 0, // Avestan +- 553, // Asturian +- 554, // Ngomba +- 555, // Kako +- 556, // Meta +- 557, // Ngiemboon +- 558, // Aragonese ++ 555, // Asturian ++ 556, // Ngomba ++ 557, // Kako ++ 558, // Meta ++ 559, // Ngiemboon ++ 560, // Aragonese + 0, // Akkadian + 0, // Ancient Egyptian + 0, // Ancient Greek +@@ -1181,7 +1177,7 @@ static const quint16 locale_index[] = { + 0, // Chakma + 0, // Classical Mandaic + 0, // Coptic +- 0, // Dogri ++ 561, // Dogri + 0, // Eastern Cham + 0, // Eastern Kayah + 0, // Etruscan +@@ -1196,7 +1192,7 @@ static const quint16 locale_index[] = { + 0, // Lycian + 0, // Lydian + 0, // Mandingo +- 559, // Manipuri ++ 562, // Manipuri + 0, // Meroitic + 0, // Northern Thai + 0, // Old Irish +@@ -1210,31 +1206,31 @@ static const quint16 locale_index[] = { + 0, // Rejang + 0, // Sabaean + 0, // Samaritan +- 561, // Santali ++ 564, // Santali + 0, // Saurashtra + 0, // Sora + 0, // Sylheti + 0, // Tagbanwa +- 563, // Tai Dam ++ 566, // Tai Dam + 0, // Tai Nua + 0, // Ugaritic +- 564, // Akoose +- 565, // Lakota +- 566, // Standard Moroccan Tamazight +- 567, // Mapuche +- 568, // Central Kurdish +- 570, // Lower Sorbian +- 571, // Upper Sorbian +- 572, // Kenyang +- 573, // Mohawk +- 574, // Nko +- 575, // Prussian +- 576, // Kiche +- 577, // Southern Sami +- 578, // Lule Sami +- 579, // Inari Sami +- 580, // Skolt Sami +- 581, // Warlpiri ++ 567, // Akoose ++ 568, // Lakota ++ 569, // Standard Moroccan Tamazight ++ 570, // Mapuche ++ 571, // Central Kurdish ++ 573, // Lower Sorbian ++ 574, // Upper Sorbian ++ 575, // Kenyang ++ 576, // Mohawk ++ 577, // Nko ++ 578, // Prussian ++ 579, // Kiche ++ 580, // Southern Sami ++ 581, // Lule Sami ++ 582, // Inari Sami ++ 583, // Skolt Sami ++ 584, // Warlpiri + 0, // Manichaean Middle Persian + 0, // Mende + 0, // Ancient North Arabian +@@ -1245,17 +1241,17 @@ static const quint16 locale_index[] = { + 0, // Bassa + 0, // Mono + 0, // Tedim Chin +- 582, // Maithili ++ 585, // Maithili + 0, // Ahom + 0, // American Sign Language + 0, // Ardhamagadhi Prakrit + 0, // Bhojpuri + 0, // Hieroglyphic Luwian + 0, // Literary Chinese +- 583, // Mazanderani ++ 586, // Mazanderani + 0, // Mru + 0, // Newari +- 584, // Northern Luri ++ 587, // Northern Luri + 0, // Palauan + 0, // Papiamento + 0, // Saraiki +@@ -1263,20 +1259,20 @@ static const quint16 locale_index[] = { + 0, // Tok Pisin + 0, // Tuvalu + 0, // Uncoded Languages +- 586, // Cantonese +- 588, // Osage ++ 589, // Cantonese ++ 591, // Osage + 0, // Tangut +- 589, // Ido +- 590, // Lojban +- 591, // Sicilian +- 592, // Southern Kurdish +- 593, // Western Balochi +- 594, // Cebuano +- 595, // Erzya +- 596, // Chickasaw +- 597, // Muscogee +- 598, // Silesian +- 599, // Nigerian Pidgin ++ 592, // Ido ++ 593, // Lojban ++ 594, // Sicilian ++ 595, // Southern Kurdish ++ 596, // Western Balochi ++ 597, // Cebuano ++ 598, // Erzya ++ 599, // Chickasaw ++ 600, // Muscogee ++ 601, // Silesian ++ 602, // Nigerian Pidgin + 0 // trailing 0 + }; + +@@ -1331,401 +1327,402 @@ static const QLocaleData locale_data[] = { + { 15, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 85,9 , 85,9 , 269,6 , 192,18 , 18,7 , 25,12 , 1107,37 , 1144,58 , 1202,18 , 1107,37 , 1144,58 , 1202,18 , 0,2 , 0,2 , 158,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 2814,43 , 0,4 , 31,6 , 435,5 , 448,4 , 2, 1, 7, 7, 7 }, // Bengali/Bengali/India + { 16, 31, 25, 46, 44, 59, 37, 3872, 45, 43, 101, 8220, 8221, 8216, 8217, 94,9 , 94,9 , 94,9 , 94,9 , 53,10 , 275,30 , 99,22 , 121,27 , 1220,34 , 1254,79 , 1333,27 , 1220,34 , 1254,79 , 1333,27 , 33,5 , 31,6 , 45,4 , 5,17 , 22,23 , {66,84,78}, 125,3 , 2857,15 , 4,4 , 4,0 , 452,6 , 458,5 , 2, 1, 7, 6, 7 }, // Dzongkha/Tibetan/Bhutan + { 19, 7, 74, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 103,8 , 103,8 , 119,10 , 97,16 , 37,5 , 8,10 , 1360,33 , 1393,43 , 1436,18 , 1360,33 , 1393,43 , 1436,18 , 38,4 , 37,4 , 210,7 , 217,17 , 234,23 , {69,85,82}, 14,1 , 2872,36 , 19,5 , 4,0 , 463,9 , 472,5 , 2, 1, 1, 6, 7 }, // Breton/Latin/France +- { 20, 2, 33, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 305,12 , 317,22 , 55,4 , 59,9 , 1454,21 , 1475,55 , 1530,14 , 1454,21 , 1475,55 , 1530,14 , 42,6 , 41,6 , 257,7 , 5,17 , 22,23 , {66,71,78}, 128,3 , 2908,47 , 19,5 , 24,7 , 477,9 , 486,8 , 2, 1, 1, 6, 7 }, // Bulgarian/Cyrillic/Bulgaria +- { 21, 25, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 8220, 8221, 8216, 8217, 118,5 , 118,5 , 123,10 , 123,10 , 339,8 , 347,18 , 148,6 , 154,10 , 1544,54 , 1544,54 , 1598,14 , 1544,54 , 1544,54 , 1598,14 , 48,5 , 47,3 , 264,5 , 5,17 , 22,23 , {77,77,75}, 131,1 , 2955,29 , 8,5 , 4,0 , 494,6 , 494,6 , 0, 0, 7, 6, 7 }, // Burmese/Myanmar/Myanmar +- { 22, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 133,7 , 133,7 , 365,7 , 317,22 , 37,5 , 164,11 , 1612,21 , 1633,56 , 1689,14 , 1612,21 , 1633,56 , 1689,14 , 0,2 , 0,2 , 269,5 , 274,17 , 22,23 , {66,89,78}, 0,2 , 2984,89 , 19,5 , 4,0 , 500,10 , 510,8 , 2, 0, 1, 6, 7 }, // Belarusian/Cyrillic/Belarus +- { 23, 20, 36, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 140,9 , 149,9 , 269,6 , 97,16 , 18,7 , 25,12 , 1703,40 , 1743,46 , 1789,14 , 1703,40 , 1803,47 , 1789,14 , 0,2 , 0,2 , 291,2 , 5,17 , 22,23 , {75,72,82}, 132,1 , 3073,29 , 0,4 , 31,6 , 518,5 , 523,7 , 2, 1, 7, 6, 7 }, // Khmer/Khmer/Cambodia +- { 24, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 158,7 , 158,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 536,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Spain +- { 24, 7, 5, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 158,7 , 158,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 543,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Andorra +- { 24, 7, 74, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 158,7 , 158,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 550,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/France +- { 24, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 158,7 , 158,7 , 269,6 , 372,22 , 55,4 , 59,9 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 556,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Italy +- { 25, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 165,5 , 165,5 , 170,5 , 170,5 , 394,8 , 402,13 , 175,6 , 181,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 295,21 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 13,6 , 562,4 , 566,2 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/China +- { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 165,5 , 165,5 , 170,5 , 170,5 , 269,6 , 402,13 , 175,6 , 181,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 295,21 , 22,23 , {72,75,68}, 134,3 , 3135,11 , 4,4 , 13,6 , 562,4 , 568,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Hong Kong +- { 25, 5, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 165,5 , 165,5 , 170,5 , 170,5 , 269,6 , 402,13 , 175,6 , 181,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 295,21 , 22,23 , {77,79,80}, 137,4 , 3146,13 , 4,4 , 13,6 , 562,4 , 577,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Macau +- { 25, 5, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 165,5 , 165,5 , 170,5 , 170,5 , 27,8 , 402,13 , 175,6 , 181,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 295,21 , 22,23 , {83,71,68}, 6,1 , 3159,15 , 4,4 , 13,6 , 562,4 , 586,3 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Singapore +- { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 165,5 , 165,5 , 175,5 , 175,5 , 415,8 , 402,13 , 175,6 , 192,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 316,3 , 5,17 , 22,23 , {72,75,68}, 134,3 , 3135,11 , 4,4 , 13,6 , 589,4 , 593,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Hong Kong +- { 25, 6, 126, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 165,5 , 165,5 , 175,5 , 175,5 , 415,8 , 402,13 , 175,6 , 192,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 316,3 , 5,17 , 22,23 , {77,79,80}, 137,4 , 3174,13 , 4,4 , 13,6 , 589,4 , 602,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Macau +- { 25, 6, 208, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 165,5 , 165,5 , 170,5 , 170,5 , 394,8 , 423,14 , 175,6 , 192,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 6,1 , 3187,13 , 4,4 , 13,6 , 589,4 , 611,2 , 2, 0, 7, 6, 7 }, // Chinese/Traditional Han/Taiwan ++ { 20, 2, 33, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 305,12 , 317,22 , 148,9 , 157,14 , 1454,21 , 1475,55 , 1530,14 , 1454,21 , 1475,55 , 1530,14 , 42,6 , 41,6 , 257,7 , 5,17 , 22,23 , {66,71,78}, 128,3 , 2908,47 , 19,5 , 24,7 , 477,9 , 486,8 , 2, 1, 1, 6, 7 }, // Bulgarian/Cyrillic/Bulgaria ++ { 21, 25, 147, 46, 44, 4170, 37, 4160, 45, 43, 101, 8220, 8221, 8216, 8217, 118,6 , 118,6 , 124,10 , 124,10 , 339,8 , 347,18 , 171,6 , 177,10 , 1544,54 , 1544,54 , 1598,14 , 1544,54 , 1544,54 , 1598,14 , 48,5 , 47,3 , 264,5 , 5,17 , 22,23 , {77,77,75}, 131,1 , 2955,29 , 8,5 , 4,0 , 494,6 , 494,6 , 0, 0, 7, 6, 7 }, // Burmese/Myanmar/Myanmar ++ { 22, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 134,7 , 134,7 , 365,7 , 317,22 , 37,5 , 187,11 , 1612,21 , 1633,56 , 1689,14 , 1612,21 , 1633,56 , 1689,14 , 0,2 , 0,2 , 269,5 , 274,17 , 22,23 , {66,89,78}, 0,2 , 2984,89 , 19,5 , 4,0 , 500,10 , 510,8 , 2, 0, 1, 6, 7 }, // Belarusian/Cyrillic/Belarus ++ { 23, 20, 36, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 141,9 , 150,9 , 269,6 , 97,16 , 18,7 , 25,12 , 1703,40 , 1743,46 , 1789,14 , 1703,40 , 1803,47 , 1789,14 , 0,2 , 0,2 , 291,2 , 5,17 , 22,23 , {75,72,82}, 132,1 , 3073,29 , 0,4 , 31,6 , 518,5 , 523,7 , 2, 1, 7, 6, 7 }, // Khmer/Khmer/Cambodia ++ { 24, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 159,7 , 159,7 , 269,6 , 372,22 , 55,4 , 198,11 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 536,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Spain ++ { 24, 7, 5, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 159,7 , 159,7 , 269,6 , 372,22 , 55,4 , 198,11 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 543,7 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Andorra ++ { 24, 7, 74, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 159,7 , 159,7 , 269,6 , 372,22 , 55,4 , 198,11 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 550,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/France ++ { 24, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 159,7 , 159,7 , 269,6 , 372,22 , 55,4 , 198,11 , 1850,28 , 1878,60 , 1938,21 , 1850,28 , 1878,60 , 1938,21 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 530,6 , 556,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Italy ++ { 25, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 166,5 , 166,5 , 171,5 , 171,5 , 394,8 , 402,13 , 209,6 , 215,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 5,17 , 22,23 , {67,78,89}, 133,1 , 3122,13 , 4,4 , 13,6 , 562,4 , 566,2 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/China ++ { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 166,5 , 166,5 , 171,5 , 171,5 , 269,6 , 402,13 , 209,6 , 215,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 5,17 , 22,23 , {72,75,68}, 134,3 , 3135,11 , 4,4 , 13,6 , 562,4 , 568,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Hong Kong ++ { 25, 5, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 166,5 , 166,5 , 171,5 , 171,5 , 269,6 , 402,13 , 209,6 , 215,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 5,17 , 22,23 , {77,79,80}, 137,4 , 3146,13 , 4,4 , 13,6 , 562,4 , 577,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Macau ++ { 25, 5, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 166,5 , 166,5 , 171,5 , 171,5 , 27,8 , 402,13 , 209,6 , 215,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 293,2 , 5,17 , 22,23 , {83,71,68}, 6,1 , 3159,15 , 4,4 , 13,6 , 562,4 , 586,3 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Singapore ++ { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 166,5 , 166,5 , 176,5 , 176,5 , 415,8 , 402,13 , 209,6 , 226,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 295,3 , 5,17 , 22,23 , {72,75,68}, 134,3 , 3135,11 , 4,4 , 13,6 , 589,4 , 593,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Hong Kong ++ { 25, 6, 126, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 166,5 , 166,5 , 176,5 , 176,5 , 415,8 , 402,13 , 209,6 , 226,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 295,3 , 5,17 , 22,23 , {77,79,80}, 137,4 , 3174,13 , 4,4 , 13,6 , 589,4 , 602,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Macau ++ { 25, 6, 208, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 166,5 , 166,5 , 171,5 , 171,5 , 394,8 , 423,14 , 209,6 , 226,13 , 2022,21 , 1980,28 , 2008,14 , 2022,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 6,1 , 3187,13 , 4,4 , 13,6 , 589,4 , 611,2 , 2, 0, 7, 6, 7 }, // Chinese/Traditional Han/Taiwan + { 26, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Corsican/Latin/France +- { 27, 7, 54, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 437,13 , 450,19 , 37,5 , 87,12 , 2043,28 , 2071,58 , 2129,14 , 2043,28 , 2071,58 , 2143,14 , 0,2 , 0,2 , 319,7 , 5,17 , 22,23 , {72,82,75}, 141,3 , 3200,60 , 19,5 , 4,0 , 613,8 , 621,8 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Croatia +- { 27, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 469,9 , 450,19 , 37,5 , 87,12 , 2043,28 , 2071,58 , 2143,14 , 2043,28 , 2071,58 , 2143,14 , 0,2 , 0,2 , 319,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 3260,85 , 19,5 , 4,0 , 613,8 , 629,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Bosnia And Herzegowina +- { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 180,7 , 180,7 , 156,8 , 478,17 , 55,4 , 59,9 , 2157,21 , 2178,49 , 2227,14 , 2157,21 , 2178,49 , 2227,14 , 60,4 , 57,4 , 326,5 , 5,17 , 22,23 , {67,90,75}, 146,2 , 3345,68 , 19,5 , 4,0 , 648,7 , 655,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/Czech Republic +- { 29, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 495,10 , 505,23 , 205,5 , 210,10 , 2241,28 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 3413,42 , 19,5 , 4,0 , 660,5 , 665,7 , 2, 0, 1, 6, 7 }, // Danish/Latin/Denmark +- { 29, 7, 86, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 495,10 , 505,23 , 205,5 , 210,10 , 2241,28 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 3413,42 , 19,5 , 4,0 , 660,5 , 672,8 , 2, 0, 1, 6, 7 }, // Danish/Latin/Greenland +- { 30, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 680,10 , 690,9 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Netherlands +- { 30, 7, 12, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,87,71}, 151,4 , 3474,55 , 8,5 , 37,7 , 680,10 , 699,5 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Aruba +- { 30, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 538,9 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 680,10 , 704,6 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Belgium +- { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 155,4 , 3529,97 , 8,5 , 37,7 , 680,10 , 710,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Cura Sao +- { 30, 7, 202, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {83,82,68}, 6,1 , 3626,58 , 8,5 , 37,7 , 680,10 , 717,8 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Suriname +- { 30, 7, 255, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3684,61 , 8,5 , 37,7 , 680,10 , 725,19 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Bonaire +- { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 155,4 , 3529,97 , 8,5 , 37,7 , 680,10 , 744,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Sint Maarten +- { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 756,16 , 772,13 , 2, 1, 7, 6, 7 }, // English/Latin/United States ++ { 27, 7, 54, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 437,13 , 450,19 , 37,5 , 87,12 , 2043,28 , 2071,58 , 2129,14 , 2043,28 , 2071,58 , 2143,14 , 0,2 , 0,2 , 298,7 , 5,17 , 22,23 , {72,82,75}, 141,3 , 3200,60 , 19,5 , 4,0 , 613,8 , 621,8 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Croatia ++ { 27, 7, 27, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 469,9 , 450,19 , 37,5 , 87,12 , 2043,28 , 2071,58 , 2143,14 , 2043,28 , 2071,58 , 2143,14 , 0,2 , 0,2 , 298,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 3260,85 , 19,5 , 4,0 , 613,8 , 629,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Bosnia And Herzegowina ++ { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 181,7 , 181,7 , 156,8 , 478,17 , 55,4 , 59,9 , 2157,21 , 2178,49 , 2227,14 , 2157,21 , 2178,49 , 2227,14 , 60,4 , 57,4 , 305,5 , 5,17 , 22,23 , {67,90,75}, 146,2 , 3345,68 , 19,5 , 4,0 , 648,7 , 655,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/Czech Republic ++ { 29, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 495,10 , 505,23 , 239,5 , 244,10 , 2241,28 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 3413,42 , 19,5 , 4,0 , 660,5 , 665,7 , 2, 0, 1, 6, 7 }, // Danish/Latin/Denmark ++ { 29, 7, 86, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 495,10 , 505,23 , 239,5 , 244,10 , 2241,28 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 3413,42 , 19,5 , 4,0 , 660,5 , 672,8 , 2, 0, 1, 6, 7 }, // Danish/Latin/Greenland ++ { 30, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 680,10 , 690,9 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Netherlands ++ { 30, 7, 12, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,87,71}, 151,4 , 3474,55 , 8,5 , 37,7 , 680,10 , 699,5 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Aruba ++ { 30, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 538,9 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 680,10 , 704,6 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Belgium ++ { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 155,4 , 3529,97 , 8,5 , 37,7 , 680,10 , 710,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Cura Sao ++ { 30, 7, 202, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {83,82,68}, 6,1 , 3626,58 , 8,5 , 37,7 , 680,10 , 717,8 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Suriname ++ { 30, 7, 255, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3684,61 , 8,5 , 37,7 , 680,10 , 725,19 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Bonaire ++ { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 528,10 , 97,16 , 37,5 , 8,10 , 2369,21 , 2390,59 , 2449,14 , 2369,21 , 2390,59 , 2449,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 155,4 , 3529,97 , 8,5 , 37,7 , 680,10 , 744,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Sint Maarten ++ { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 756,16 , 772,13 , 2, 1, 7, 6, 7 }, // English/Latin/United States + { 31, 3, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // English/Deseret/United States +- { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 792,14 , 2, 1, 7, 6, 7 }, // English/Latin/American Samoa +- { 31, 7, 7, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 806,8 , 2, 1, 1, 6, 7 }, // English/Latin/Anguilla +- { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 814,17 , 2, 1, 7, 6, 7 }, // English/Latin/Antigua And Barbuda +- { 31, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 2463,25 , 0,28 , 28,57 , 2463,25 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 831,18 , 849,9 , 2, 1, 7, 6, 7 }, // English/Latin/Australia +- { 31, 7, 14, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 4,0 , 785,7 , 858,7 , 2, 1, 1, 6, 7 }, // English/Latin/Austria +- { 31, 7, 16, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,83,68}, 6,1 , 3930,53 , 4,4 , 13,6 , 785,7 , 865,7 , 2, 1, 7, 6, 7 }, // English/Latin/Bahamas +- { 31, 7, 19, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,66,68}, 6,1 , 3983,56 , 4,4 , 13,6 , 785,7 , 872,8 , 2, 1, 1, 6, 7 }, // English/Latin/Barbados +- { 31, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 27,8 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 880,7 , 2, 1, 1, 6, 7 }, // English/Latin/Belgium +- { 31, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 4039,47 , 4,4 , 13,6 , 785,7 , 887,6 , 2, 1, 7, 6, 7 }, // English/Latin/Belize +- { 31, 7, 24, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,77,68}, 6,1 , 4086,53 , 4,4 , 13,6 , 785,7 , 893,7 , 2, 1, 1, 6, 7 }, // English/Latin/Bermuda +- { 31, 7, 28, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,87,80}, 162,1 , 4139,50 , 4,4 , 13,6 , 785,7 , 900,8 , 2, 1, 7, 6, 7 }, // English/Latin/Botswana +- { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 908,30 , 2, 1, 1, 6, 7 }, // English/Latin/British Indian Ocean Territory +- { 31, 7, 35, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,73,70}, 163,3 , 4189,53 , 4,4 , 13,6 , 785,7 , 938,7 , 0, 0, 1, 6, 7 }, // English/Latin/Burundi +- { 31, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 4242,83 , 4,4 , 13,6 , 785,7 , 945,8 , 0, 0, 1, 6, 7 }, // English/Latin/Cameroon +- { 31, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 53,10 , 35,18 , 18,7 , 25,12 , 2488,35 , 28,57 , 85,14 , 2488,35 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,65,68}, 6,1 , 4325,53 , 4,4 , 13,6 , 953,16 , 969,6 , 2, 0, 7, 6, 7 }, // English/Latin/Canada +- { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4378,71 , 4,4 , 13,6 , 785,7 , 975,14 , 2, 1, 1, 6, 7 }, // English/Latin/Cayman Islands +- { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 989,16 , 2, 1, 1, 6, 7 }, // English/Latin/Christmas Island +- { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1005,23 , 2, 1, 1, 6, 7 }, // English/Latin/Cocos Islands +- { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 13,6 , 785,7 , 1028,12 , 2, 1, 1, 6, 7 }, // English/Latin/Cook Islands +- { 31, 7, 56, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1040,6 , 2, 1, 1, 6, 7 }, // English/Latin/Cyprus +- { 31, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 205,5 , 210,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 4511,44 , 19,5 , 4,0 , 785,7 , 1046,7 , 2, 0, 1, 6, 7 }, // English/Latin/Denmark +- { 31, 7, 60, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1053,8 , 2, 1, 7, 6, 7 }, // English/Latin/Dominica +- { 31, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,82,78}, 41,3 , 4555,50 , 4,4 , 13,6 , 785,7 , 1061,7 , 2, 1, 1, 6, 7 }, // English/Latin/Eritrea +- { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 119,1 , 4605,74 , 4,4 , 13,6 , 785,7 , 1068,16 , 2, 1, 1, 6, 7 }, // English/Latin/Falkland Islands +- { 31, 7, 72, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,74,68}, 6,1 , 4679,47 , 4,4 , 13,6 , 785,7 , 1084,4 , 2, 1, 1, 6, 7 }, // English/Latin/Fiji +- { 31, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 220,4 , 224,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 1088,7 , 2, 1, 1, 6, 7 }, // English/Latin/Finland +- { 31, 7, 75, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 13,6 , 785,7 , 1095,8 , 2, 1, 1, 6, 7 }, // English/Latin/Guernsey +- { 31, 7, 80, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,77,68}, 166,1 , 4758,50 , 4,4 , 13,6 , 785,7 , 1103,6 , 2, 1, 1, 6, 7 }, // English/Latin/Gambia +- { 31, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 1109,7 , 2, 1, 1, 6, 7 }, // English/Latin/Germany +- { 31, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,72,83}, 167,3 , 4808,47 , 4,4 , 13,6 , 785,7 , 1116,5 , 2, 1, 1, 6, 7 }, // English/Latin/Ghana +- { 31, 7, 84, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,73,80}, 119,1 , 4855,53 , 4,4 , 13,6 , 785,7 , 1121,9 , 2, 1, 1, 6, 7 }, // English/Latin/Gibraltar +- { 31, 7, 87, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1130,7 , 2, 1, 1, 6, 7 }, // English/Latin/Grenada +- { 31, 7, 89, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1137,4 , 2, 1, 7, 6, 7 }, // English/Latin/Guam +- { 31, 7, 93, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,89,68}, 6,1 , 4908,56 , 4,4 , 13,6 , 785,7 , 1141,6 , 2, 0, 1, 6, 7 }, // English/Latin/Guyana +- { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 415,8 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 134,3 , 4964,56 , 4,4 , 13,6 , 785,7 , 1147,19 , 2, 1, 7, 6, 7 }, // English/Latin/Hong Kong +- { 31, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 27,8 , 192,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 5020,44 , 4,4 , 13,6 , 785,7 , 1166,5 , 2, 1, 7, 7, 7 }, // English/Latin/India +- { 31, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 97,16 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1171,7 , 2, 1, 1, 6, 7 }, // English/Latin/Ireland +- { 31, 7, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 55,4 , 59,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,76,83}, 49,1 , 5064,62 , 4,4 , 13,6 , 785,7 , 1178,6 , 2, 1, 7, 5, 6 }, // English/Latin/Israel +- { 31, 7, 107, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {74,77,68}, 6,1 , 5126,53 , 4,4 , 13,6 , 785,7 , 1184,7 , 2, 1, 7, 6, 7 }, // English/Latin/Jamaica +- { 31, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,69,83}, 2,3 , 5179,53 , 4,4 , 13,6 , 785,7 , 1191,5 , 2, 1, 7, 6, 7 }, // English/Latin/Kenya +- { 31, 7, 112, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1196,8 , 2, 1, 1, 6, 7 }, // English/Latin/Kiribati +- { 31, 7, 120, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 13,6 , 785,7 , 1204,7 , 2, 1, 1, 6, 7 }, // English/Latin/Lesotho +- { 31, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {76,82,68}, 6,1 , 5293,53 , 4,4 , 13,6 , 785,7 , 1211,7 , 2, 1, 1, 6, 7 }, // English/Latin/Liberia +- { 31, 7, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,79,80}, 137,4 , 5346,53 , 4,4 , 13,6 , 785,7 , 1218,15 , 2, 1, 7, 6, 7 }, // English/Latin/Macau +- { 31, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,71,65}, 170,2 , 5399,54 , 4,4 , 13,6 , 785,7 , 1233,10 , 0, 0, 1, 6, 7 }, // English/Latin/Madagascar +- { 31, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,87,75}, 172,2 , 5453,53 , 4,4 , 13,6 , 785,7 , 1243,6 , 2, 1, 1, 6, 7 }, // English/Latin/Malawi +- { 31, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,89,82}, 174,2 , 5506,59 , 4,4 , 13,6 , 785,7 , 1249,8 , 2, 1, 1, 6, 7 }, // English/Latin/Malaysia +- { 31, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1257,5 , 2, 1, 7, 6, 7 }, // English/Latin/Malta +- { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1262,16 , 2, 1, 7, 6, 7 }, // English/Latin/Marshall Islands +- { 31, 7, 137, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,85,82}, 176,2 , 5565,53 , 4,4 , 13,6 , 785,7 , 1278,9 , 2, 0, 1, 6, 7 }, // English/Latin/Mauritius +- { 31, 7, 140, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1287,10 , 2, 1, 1, 6, 7 }, // English/Latin/Micronesia +- { 31, 7, 144, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1297,10 , 2, 1, 1, 6, 7 }, // English/Latin/Montserrat +- { 31, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 5618,53 , 4,4 , 13,6 , 785,7 , 1307,7 , 2, 1, 1, 6, 7 }, // English/Latin/Namibia +- { 31, 7, 149, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1314,5 , 2, 1, 1, 6, 7 }, // English/Latin/Nauru +- { 31, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 37,7 , 785,7 , 1319,11 , 2, 1, 1, 6, 7 }, // English/Latin/Netherlands +- { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 571,7 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 13,6 , 785,7 , 1330,11 , 2, 1, 1, 6, 7 }, // English/Latin/New Zealand +- { 31, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,71,78}, 178,1 , 5671,50 , 4,4 , 13,6 , 785,7 , 1341,7 , 2, 1, 1, 6, 7 }, // English/Latin/Nigeria +- { 31, 7, 158, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 13,6 , 785,7 , 1348,4 , 2, 1, 1, 6, 7 }, // English/Latin/Niue +- { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1352,14 , 2, 1, 1, 6, 7 }, // English/Latin/Norfolk Island +- { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1366,24 , 2, 1, 1, 6, 7 }, // English/Latin/Northern Mariana Islands +- { 31, 7, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,75,82}, 176,2 , 5721,53 , 4,4 , 13,6 , 785,7 , 1390,8 , 2, 0, 7, 6, 7 }, // English/Latin/Pakistan +- { 31, 7, 164, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1398,5 , 2, 1, 1, 6, 7 }, // English/Latin/Palau +- { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 131,1 , 5774,73 , 4,4 , 13,6 , 785,7 , 1403,16 , 2, 1, 1, 6, 7 }, // English/Latin/Papua New Guinea +- { 31, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 5847,53 , 4,4 , 13,6 , 785,7 , 1419,11 , 2, 1, 7, 6, 7 }, // English/Latin/Philippines +- { 31, 7, 171, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 13,6 , 785,7 , 1430,16 , 2, 1, 1, 6, 7 }, // English/Latin/Pitcairn +- { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1446,11 , 2, 1, 7, 6, 7 }, // English/Latin/Puerto Rico +- { 31, 7, 179, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {82,87,70}, 180,2 , 5900,47 , 4,4 , 13,6 , 785,7 , 1457,6 , 0, 0, 1, 6, 7 }, // English/Latin/Rwanda +- { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1463,16 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Kitts And Nevis +- { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1479,8 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Lucia +- { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1487,23 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Vincent And The Grenadines +- { 31, 7, 183, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {87,83,84}, 182,3 , 5947,40 , 4,4 , 13,6 , 785,7 , 1510,5 , 2, 1, 7, 6, 7 }, // English/Latin/Samoa +- { 31, 7, 188, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,67,82}, 185,2 , 5987,59 , 4,4 , 13,6 , 785,7 , 1515,10 , 2, 1, 1, 6, 7 }, // English/Latin/Seychelles +- { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 187,2 , 6046,68 , 4,4 , 13,6 , 785,7 , 1525,12 , 0, 0, 1, 6, 7 }, // English/Latin/Sierra Leone +- { 31, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,71,68}, 6,1 , 6114,56 , 4,4 , 13,6 , 785,7 , 1537,9 , 2, 1, 7, 6, 7 }, // English/Latin/Singapore +- { 31, 7, 192, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 24,7 , 785,7 , 1546,8 , 2, 1, 1, 6, 7 }, // English/Latin/Slovenia +- { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6170,74 , 4,4 , 13,6 , 785,7 , 1554,15 , 2, 1, 1, 6, 7 }, // English/Latin/Solomon Islands +- { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 578,10 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 13,6 , 785,7 , 1569,12 , 2, 1, 7, 6, 7 }, // English/Latin/South Africa +- { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 119,1 , 6244,53 , 4,4 , 13,6 , 785,7 , 1581,9 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Helena +- { 31, 7, 201, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,68,71}, 0,0 , 6297,50 , 4,4 , 13,6 , 785,7 , 1590,5 , 2, 1, 6, 5, 6 }, // English/Latin/Sudan +- { 31, 7, 204, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,90,76}, 189,1 , 6347,53 , 4,4 , 13,6 , 785,7 , 1595,8 , 2, 1, 1, 6, 7 }, // English/Latin/Swaziland +- { 31, 7, 205, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 53,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,69,75}, 190,2 , 6400,47 , 19,5 , 4,0 , 785,7 , 1603,6 , 2, 0, 1, 6, 7 }, // English/Latin/Sweden +- { 31, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 6447,41 , 8,5 , 44,5 , 785,7 , 1609,11 , 2, 0, 1, 6, 7 }, // English/Latin/Switzerland +- { 31, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,90,83}, 192,3 , 6488,62 , 4,4 , 13,6 , 785,7 , 1620,8 , 2, 0, 1, 6, 7 }, // English/Latin/Tanzania +- { 31, 7, 213, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 13,6 , 785,7 , 1628,7 , 2, 1, 1, 6, 7 }, // English/Latin/Tokelau +- { 31, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,79,80}, 195,2 , 6550,49 , 4,4 , 13,6 , 785,7 , 1635,5 , 2, 1, 1, 6, 7 }, // English/Latin/Tonga +- { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6599,80 , 4,4 , 13,6 , 785,7 , 1640,17 , 2, 1, 7, 6, 7 }, // English/Latin/Trinidad And Tobago +- { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1657,22 , 2, 1, 1, 6, 7 }, // English/Latin/Turks And Caicos Islands +- { 31, 7, 220, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1679,6 , 2, 1, 1, 6, 7 }, // English/Latin/Tuvalu +- { 31, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,71,88}, 197,3 , 6679,56 , 4,4 , 13,6 , 785,7 , 1685,6 , 0, 0, 1, 7, 7 }, // English/Latin/Uganda +- { 31, 7, 223, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,69,68}, 200,3 , 6735,55 , 4,4 , 13,6 , 785,7 , 1691,20 , 2, 1, 6, 5, 6 }, // English/Latin/United Arab Emirates +- { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 6790,47 , 4,4 , 13,6 , 1711,15 , 1726,14 , 2, 1, 1, 6, 7 }, // English/Latin/United Kingdom +- { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1740,21 , 2, 1, 7, 6, 7 }, // English/Latin/United States Minor Outlying Islands +- { 31, 7, 229, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {86,85,86}, 203,2 , 6837,44 , 4,4 , 13,6 , 785,7 , 1761,7 , 0, 0, 1, 6, 7 }, // English/Latin/Vanuatu +- { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1768,22 , 2, 1, 1, 6, 7 }, // English/Latin/British Virgin Islands +- { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 195,10 , 205,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1790,19 , 2, 1, 7, 6, 7 }, // English/Latin/United States Virgin Islands +- { 31, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,77,87}, 131,1 , 6881,50 , 4,4 , 13,6 , 785,7 , 1809,6 , 2, 1, 1, 6, 7 }, // English/Latin/Zambia +- { 31, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 415,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1815,8 , 2, 1, 7, 6, 7 }, // English/Latin/Zimbabwe +- { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1823,12 , 2, 1, 1, 6, 7 }, // English/Latin/Diego Garcia +- { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 13,6 , 785,7 , 1835,11 , 2, 1, 1, 6, 7 }, // English/Latin/Isle Of Man +- { 31, 7, 252, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4726,32 , 4,4 , 13,6 , 785,7 , 1846,6 , 2, 1, 1, 6, 7 }, // English/Latin/Jersey +- { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 119,1 , 6931,68 , 4,4 , 13,6 , 785,7 , 1852,11 , 2, 1, 1, 6, 7 }, // English/Latin/South Sudan +- { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 155,4 , 6999,95 , 4,4 , 13,6 , 785,7 , 1863,12 , 2, 1, 1, 6, 7 }, // English/Latin/Sint Maarten +- { 31, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 13,6 , 785,7 , 1875,5 , 2, 1, 1, 6, 7 }, // English/Latin/World +- { 31, 7, 261, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 205,9 , 205,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 19,5 , 4,0 , 785,7 , 1880,6 , 2, 1, 1, 6, 7 }, // English/Latin/Europe +- { 32, 7, 260, 44, 160, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 214,9 , 214,9 , 588,8 , 596,26 , 37,5 , 233,25 , 2523,21 , 2544,51 , 2595,14 , 2523,21 , 2544,51 , 2595,14 , 70,3 , 67,3 , 331,6 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 1886,9 , 1895,5 , 2, 1, 1, 6, 7 }, // Esperanto/Latin/World +- { 33, 7, 68, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 223,8 , 223,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2609,14 , 2623,63 , 2609,14 , 2609,14 , 2623,63 , 2609,14 , 0,2 , 0,2 , 337,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 7094,20 , 19,5 , 24,7 , 1900,5 , 1905,5 , 2, 1, 1, 6, 7 }, // Estonian/Latin/Estonia +- { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2686,28 , 2714,74 , 2788,14 , 2802,35 , 2714,74 , 2788,14 , 0,2 , 0,2 , 343,3 , 5,17 , 22,23 , {68,75,75}, 190,2 , 7114,43 , 19,5 , 24,7 , 1910,8 , 1918,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Faroe Islands +- { 34, 7, 58, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2686,28 , 2714,74 , 2788,14 , 2802,35 , 2714,74 , 2788,14 , 0,2 , 0,2 , 343,3 , 5,17 , 22,23 , {68,75,75}, 148,3 , 7114,43 , 19,5 , 24,7 , 1910,8 , 665,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Denmark +- { 36, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 223,8 , 223,8 , 640,8 , 478,17 , 220,4 , 224,9 , 2837,21 , 2858,67 , 2925,14 , 2837,21 , 2939,81 , 2925,14 , 73,3 , 70,3 , 346,5 , 351,17 , 368,23 , {69,85,82}, 14,1 , 7157,20 , 19,5 , 4,0 , 1925,5 , 1930,5 , 2, 1, 1, 6, 7 }, // Finnish/Latin/Finland +- { 37, 7, 74, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 1943,6 , 2, 1, 1, 6, 7 }, // French/Latin/France +- { 37, 7, 3, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {68,90,68}, 205,2 , 7177,51 , 19,5 , 24,7 , 1935,8 , 1949,7 , 2, 1, 6, 5, 6 }, // French/Latin/Algeria +- { 37, 7, 21, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 571,7 , 97,16 , 37,5 , 258,23 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 1956,8 , 2, 1, 1, 6, 7 }, // French/Latin/Belgium +- { 37, 7, 23, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 1964,5 , 0, 0, 1, 6, 7 }, // French/Latin/Benin +- { 37, 7, 34, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 1969,12 , 0, 0, 1, 6, 7 }, // French/Latin/Burkina Faso +- { 37, 7, 35, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {66,73,70}, 163,3 , 7287,53 , 19,5 , 24,7 , 1935,8 , 938,7 , 0, 0, 1, 6, 7 }, // French/Latin/Burundi +- { 37, 7, 37, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 76,5 , 73,4 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 1981,8 , 0, 0, 1, 6, 7 }, // French/Latin/Cameroon +- { 37, 7, 38, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8221, 8220, 0,6 , 0,6 , 231,8 , 231,8 , 53,10 , 97,16 , 281,9 , 290,24 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 64,4 , 61,4 , 391,6 , 217,17 , 234,23 , {67,65,68}, 6,1 , 7396,54 , 19,5 , 24,7 , 1989,17 , 969,6 , 2, 0, 7, 6, 7 }, // French/Latin/Canada +- { 37, 7, 41, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 2006,25 , 0, 0, 1, 6, 7 }, // French/Latin/Central African Republic +- { 37, 7, 42, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 2031,5 , 0, 0, 1, 6, 7 }, // French/Latin/Chad +- { 37, 7, 48, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {75,77,70}, 36,2 , 7450,51 , 19,5 , 24,7 , 1935,8 , 2036,7 , 0, 0, 1, 6, 7 }, // French/Latin/Comoros +- { 37, 7, 49, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {67,68,70}, 210,2 , 7501,53 , 19,5 , 24,7 , 1935,8 , 2043,14 , 2, 1, 1, 6, 7 }, // French/Latin/Congo Kinshasa +- { 37, 7, 50, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 2057,17 , 0, 0, 1, 6, 7 }, // French/Latin/Congo Brazzaville +- { 37, 7, 53, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 2074,13 , 0, 0, 1, 6, 7 }, // French/Latin/Ivory Coast +- { 37, 7, 59, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {68,74,70}, 38,3 , 7554,57 , 19,5 , 24,7 , 1935,8 , 2087,8 , 0, 0, 6, 6, 7 }, // French/Latin/Djibouti +- { 37, 7, 66, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 2095,18 , 0, 0, 1, 6, 7 }, // French/Latin/Equatorial Guinea +- { 37, 7, 76, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2113,16 , 2, 1, 1, 6, 7 }, // French/Latin/French Guiana +- { 37, 7, 77, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,80,70}, 212,4 , 7611,35 , 19,5 , 24,7 , 1935,8 , 2129,19 , 0, 0, 1, 6, 7 }, // French/Latin/French Polynesia +- { 37, 7, 79, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1935,8 , 2148,5 , 0, 0, 1, 6, 7 }, // French/Latin/Gabon +- { 37, 7, 88, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2153,10 , 2, 1, 1, 6, 7 }, // French/Latin/Guadeloupe +- { 37, 7, 91, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {71,78,70}, 216,2 , 7646,48 , 19,5 , 24,7 , 1935,8 , 2163,6 , 0, 0, 1, 6, 7 }, // French/Latin/Guinea +- { 37, 7, 94, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {72,84,71}, 218,1 , 7694,57 , 19,5 , 24,7 , 1935,8 , 2169,5 , 2, 1, 1, 6, 7 }, // French/Latin/Haiti +- { 37, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2174,10 , 2, 1, 1, 6, 7 }, // French/Latin/Luxembourg +- { 37, 7, 128, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {77,71,65}, 170,2 , 7751,54 , 19,5 , 24,7 , 1935,8 , 1233,10 , 0, 0, 1, 6, 7 }, // French/Latin/Madagascar +- { 37, 7, 132, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 2184,4 , 0, 0, 1, 6, 7 }, // French/Latin/Mali +- { 37, 7, 135, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2188,10 , 2, 1, 1, 6, 7 }, // French/Latin/Martinique +- { 37, 7, 136, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {77,82,85}, 219,2 , 7805,66 , 19,5 , 24,7 , 1935,8 , 2198,10 , 2, 1, 1, 6, 7 }, // French/Latin/Mauritania +- { 37, 7, 137, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {77,85,82}, 176,2 , 7871,63 , 19,5 , 24,7 , 1935,8 , 2208,7 , 2, 0, 1, 6, 7 }, // French/Latin/Mauritius +- { 37, 7, 138, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2215,7 , 2, 1, 1, 6, 7 }, // French/Latin/Mayotte +- { 37, 7, 142, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2222,6 , 2, 1, 1, 6, 7 }, // French/Latin/Monaco +- { 37, 7, 145, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 64,4 , 61,4 , 391,6 , 217,17 , 234,23 , {77,65,68}, 221,3 , 7934,54 , 19,5 , 24,7 , 1935,8 , 2228,5 , 2, 1, 1, 6, 7 }, // French/Latin/Morocco +- { 37, 7, 153, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,80,70}, 212,4 , 7611,35 , 19,5 , 24,7 , 1935,8 , 2233,18 , 0, 0, 1, 6, 7 }, // French/Latin/New Caledonia +- { 37, 7, 156, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 2251,5 , 0, 0, 1, 6, 7 }, // French/Latin/Niger +- { 37, 7, 176, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2256,10 , 2, 1, 1, 6, 7 }, // French/Latin/Reunion +- { 37, 7, 179, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {82,87,70}, 180,2 , 7988,50 , 19,5 , 24,7 , 1935,8 , 1457,6 , 0, 0, 1, 6, 7 }, // French/Latin/Rwanda +- { 37, 7, 187, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 2266,7 , 0, 0, 1, 6, 7 }, // French/Latin/Senegal +- { 37, 7, 188, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {83,67,82}, 185,2 , 8038,71 , 19,5 , 24,7 , 1935,8 , 1515,10 , 2, 1, 1, 6, 7 }, // French/Latin/Seychelles +- { 37, 7, 200, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2273,24 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Pierre And Miquelon +- { 37, 7, 206, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 231,8 , 231,8 , 156,8 , 10,17 , 37,5 , 314,14 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {67,72,70}, 224,3 , 8109,45 , 19,5 , 24,7 , 2297,15 , 2312,6 , 2, 0, 1, 6, 7 }, // French/Latin/Switzerland +- { 37, 7, 207, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {83,89,80}, 227,2 , 8154,51 , 19,5 , 24,7 , 1935,8 , 2318,5 , 0, 0, 6, 5, 6 }, // French/Latin/Syria +- { 37, 7, 212, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1935,8 , 2323,4 , 0, 0, 1, 6, 7 }, // French/Latin/Togo +- { 37, 7, 216, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {84,78,68}, 229,2 , 8205,51 , 19,5 , 24,7 , 1935,8 , 2327,7 , 3, 0, 1, 6, 7 }, // French/Latin/Tunisia +- { 37, 7, 229, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {86,85,86}, 203,2 , 8256,51 , 19,5 , 24,7 , 1935,8 , 1761,7 , 0, 0, 1, 6, 7 }, // French/Latin/Vanuatu +- { 37, 7, 235, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {88,80,70}, 212,4 , 7611,35 , 19,5 , 24,7 , 1935,8 , 2334,16 , 0, 0, 1, 6, 7 }, // French/Latin/Wallis And Futuna Islands +- { 37, 7, 244, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2350,16 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Barthelemy +- { 37, 7, 245, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 231,8 , 231,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 391,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1935,8 , 2366,12 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Martin +- { 38, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 339,8 , 97,16 , 37,5 , 8,10 , 3121,21 , 3142,54 , 85,14 , 3121,21 , 3142,54 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 2378,5 , 2383,8 , 2, 1, 1, 6, 7 }, // Western Frisian/Latin/Netherlands +- { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 239,10 , 239,10 , 119,10 , 648,21 , 37,5 , 8,10 , 3196,28 , 3224,69 , 3293,14 , 3196,28 , 3224,69 , 3293,14 , 81,1 , 77,1 , 397,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 8307,86 , 4,4 , 13,6 , 2391,8 , 2399,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/United Kingdom +- { 40, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 3307,35 , 3342,49 , 3391,14 , 3405,35 , 3440,49 , 3489,21 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 2421,6 , 2427,6 , 2, 1, 1, 6, 7 }, // Galician/Latin/Spain +- { 41, 15, 81, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 171, 187, 0,6 , 0,6 , 256,8 , 256,8 , 156,8 , 696,19 , 37,5 , 8,10 , 3510,28 , 3538,62 , 3600,14 , 3510,28 , 3538,62 , 3600,14 , 0,2 , 0,2 , 403,5 , 408,37 , 22,23 , {71,69,76}, 231,1 , 8393,43 , 19,5 , 4,0 , 2433,7 , 2440,10 , 2, 1, 1, 6, 7 }, // Georgian/Georgian/Georgia +- { 42, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2450,7 , 2457,11 , 2, 1, 1, 6, 7 }, // German/Latin/Germany +- { 42, 7, 14, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2468,24 , 2492,10 , 2, 1, 1, 6, 7 }, // German/Latin/Austria +- { 42, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2450,7 , 2502,7 , 2, 1, 1, 6, 7 }, // German/Latin/Belgium +- { 42, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2450,7 , 2509,7 , 2, 1, 1, 6, 7 }, // German/Latin/Italy +- { 42, 7, 123, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {67,72,70}, 224,3 , 8455,58 , 19,5 , 4,0 , 2450,7 , 2516,13 , 2, 0, 1, 6, 7 }, // German/Latin/Liechtenstein +- { 42, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2450,7 , 2529,9 , 2, 1, 1, 6, 7 }, // German/Latin/Luxembourg +- { 42, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 445,5 , 5,17 , 22,23 , {67,72,70}, 224,3 , 8455,58 , 19,5 , 4,0 , 2538,21 , 2559,7 , 2, 0, 1, 6, 7 }, // German/Latin/Switzerland +- { 43, 16, 85, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 273,9 , 273,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3737,28 , 3765,55 , 3820,14 , 3737,28 , 3765,55 , 3820,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8513,19 , 19,5 , 4,0 , 2566,8 , 2574,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Greece +- { 43, 16, 56, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 273,9 , 273,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3737,28 , 3765,55 , 3820,14 , 3737,28 , 3765,55 , 3820,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8513,19 , 19,5 , 4,0 , 2566,8 , 2580,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Cyprus +- { 44, 7, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 282,11 , 282,11 , 53,10 , 80,17 , 205,5 , 210,10 , 3834,28 , 3862,98 , 3960,14 , 3834,28 , 3862,98 , 3960,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 148,3 , 8532,62 , 4,4 , 49,5 , 2586,11 , 2597,16 , 2, 0, 1, 6, 7 }, // Greenlandic/Latin/Greenland +- { 45, 7, 168, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,89,71}, 232,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 7, 6, 7 }, // Guarani/Latin/Paraguay +- { 46, 17, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 293,9 , 293,9 , 269,6 , 192,18 , 328,8 , 336,13 , 3974,32 , 4006,53 , 4059,19 , 3974,32 , 4006,53 , 4059,19 , 0,2 , 0,2 , 450,4 , 454,19 , 22,23 , {73,78,82}, 121,1 , 8594,46 , 4,4 , 13,6 , 2613,7 , 2620,4 , 2, 1, 7, 7, 7 }, // Gujarati/Gujarati/India +- { 47, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 302,8 , 302,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 8640,54 , 8,5 , 4,0 , 2624,5 , 2629,8 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Nigeria ++ { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 792,14 , 2, 1, 7, 6, 7 }, // English/Latin/American Samoa ++ { 31, 7, 7, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 806,8 , 2, 1, 1, 6, 7 }, // English/Latin/Anguilla ++ { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 814,17 , 2, 1, 7, 6, 7 }, // English/Latin/Antigua And Barbuda ++ { 31, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 2463,25 , 0,28 , 28,57 , 2463,25 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 831,18 , 849,9 , 2, 1, 7, 6, 7 }, // English/Latin/Australia ++ { 31, 7, 14, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 4,0 , 785,7 , 858,7 , 2, 1, 1, 6, 7 }, // English/Latin/Austria ++ { 31, 7, 16, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,83,68}, 6,1 , 3930,53 , 4,4 , 13,6 , 785,7 , 865,7 , 2, 1, 7, 6, 7 }, // English/Latin/Bahamas ++ { 31, 7, 19, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,66,68}, 6,1 , 3983,56 , 4,4 , 13,6 , 785,7 , 872,8 , 2, 1, 1, 6, 7 }, // English/Latin/Barbados ++ { 31, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 27,8 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 880,7 , 2, 1, 1, 6, 7 }, // English/Latin/Belgium ++ { 31, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 4039,47 , 4,4 , 13,6 , 785,7 , 887,6 , 2, 1, 7, 6, 7 }, // English/Latin/Belize ++ { 31, 7, 24, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,77,68}, 6,1 , 4086,56 , 4,4 , 13,6 , 785,7 , 893,7 , 2, 1, 1, 6, 7 }, // English/Latin/Bermuda ++ { 31, 7, 28, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 27,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {66,87,80}, 162,1 , 4142,50 , 4,4 , 13,6 , 785,7 , 900,8 , 2, 1, 7, 6, 7 }, // English/Latin/Botswana ++ { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 908,30 , 2, 1, 1, 6, 7 }, // English/Latin/British Indian Ocean Territory ++ { 31, 7, 35, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,73,70}, 163,3 , 4192,53 , 4,4 , 13,6 , 785,7 , 938,7 , 0, 0, 1, 6, 7 }, // English/Latin/Burundi ++ { 31, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 4245,83 , 4,4 , 13,6 , 785,7 , 945,8 , 0, 0, 1, 6, 7 }, // English/Latin/Cameroon ++ { 31, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 53,10 , 35,18 , 18,7 , 25,12 , 2488,35 , 28,57 , 85,14 , 2488,35 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,65,68}, 6,1 , 4328,53 , 4,4 , 13,6 , 953,16 , 969,6 , 2, 0, 7, 6, 7 }, // English/Latin/Canada ++ { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4381,71 , 4,4 , 13,6 , 785,7 , 975,14 , 2, 1, 1, 6, 7 }, // English/Latin/Cayman Islands ++ { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 989,16 , 2, 1, 1, 6, 7 }, // English/Latin/Christmas Island ++ { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1005,23 , 2, 1, 1, 6, 7 }, // English/Latin/Cocos Islands ++ { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4452,62 , 4,4 , 13,6 , 785,7 , 1028,12 , 2, 1, 1, 6, 7 }, // English/Latin/Cook Islands ++ { 31, 7, 56, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1040,6 , 2, 1, 1, 6, 7 }, // English/Latin/Cyprus ++ { 31, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 239,5 , 244,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 148,3 , 4514,44 , 19,5 , 4,0 , 785,7 , 1046,7 , 2, 0, 1, 6, 7 }, // English/Latin/Denmark ++ { 31, 7, 60, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1053,8 , 2, 1, 7, 6, 7 }, // English/Latin/Dominica ++ { 31, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,82,78}, 41,3 , 4558,50 , 4,4 , 13,6 , 785,7 , 1061,7 , 2, 1, 1, 6, 7 }, // English/Latin/Eritrea ++ { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 119,1 , 4608,74 , 4,4 , 13,6 , 785,7 , 1068,16 , 2, 1, 1, 6, 7 }, // English/Latin/Falkland Islands ++ { 31, 7, 72, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {70,74,68}, 6,1 , 4682,47 , 4,4 , 13,6 , 785,7 , 1084,4 , 2, 1, 1, 6, 7 }, // English/Latin/Fiji ++ { 31, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 254,4 , 258,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 1088,7 , 2, 1, 1, 6, 7 }, // English/Latin/Finland ++ { 31, 7, 75, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4729,32 , 4,4 , 13,6 , 785,7 , 1095,8 , 2, 1, 1, 6, 7 }, // English/Latin/Guernsey ++ { 31, 7, 80, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,77,68}, 166,1 , 4761,50 , 4,4 , 13,6 , 785,7 , 1103,6 , 2, 1, 1, 6, 7 }, // English/Latin/Gambia ++ { 31, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 4,0 , 785,7 , 1109,7 , 2, 1, 1, 6, 7 }, // English/Latin/Germany ++ { 31, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,72,83}, 167,3 , 4811,47 , 4,4 , 13,6 , 785,7 , 1116,5 , 2, 1, 1, 6, 7 }, // English/Latin/Ghana ++ { 31, 7, 84, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,73,80}, 119,1 , 4858,53 , 4,4 , 13,6 , 785,7 , 1121,9 , 2, 1, 1, 6, 7 }, // English/Latin/Gibraltar ++ { 31, 7, 87, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1130,7 , 2, 1, 1, 6, 7 }, // English/Latin/Grenada ++ { 31, 7, 89, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1137,4 , 2, 1, 7, 6, 7 }, // English/Latin/Guam ++ { 31, 7, 93, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,89,68}, 6,1 , 4911,56 , 4,4 , 13,6 , 785,7 , 1141,6 , 2, 0, 1, 6, 7 }, // English/Latin/Guyana ++ { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 415,8 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 134,3 , 4967,56 , 4,4 , 13,6 , 785,7 , 1147,19 , 2, 1, 7, 6, 7 }, // English/Latin/Hong Kong ++ { 31, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 27,8 , 192,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 5023,44 , 4,4 , 13,6 , 785,7 , 1166,5 , 2, 1, 7, 7, 7 }, // English/Latin/India ++ { 31, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 97,16 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1171,7 , 2, 1, 1, 6, 7 }, // English/Latin/Ireland ++ { 31, 7, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 55,4 , 59,9 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {73,76,83}, 49,1 , 5067,62 , 4,4 , 13,6 , 785,7 , 1178,6 , 2, 1, 7, 5, 6 }, // English/Latin/Israel ++ { 31, 7, 107, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {74,77,68}, 6,1 , 5129,53 , 4,4 , 13,6 , 785,7 , 1184,7 , 2, 1, 7, 6, 7 }, // English/Latin/Jamaica ++ { 31, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {75,69,83}, 2,3 , 5182,53 , 4,4 , 13,6 , 785,7 , 1191,5 , 2, 1, 7, 6, 7 }, // English/Latin/Kenya ++ { 31, 7, 112, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1196,8 , 2, 1, 1, 6, 7 }, // English/Latin/Kiribati ++ { 31, 7, 120, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5235,61 , 4,4 , 13,6 , 785,7 , 1204,7 , 2, 1, 1, 6, 7 }, // English/Latin/Lesotho ++ { 31, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {76,82,68}, 6,1 , 5296,53 , 4,4 , 13,6 , 785,7 , 1211,7 , 2, 1, 1, 6, 7 }, // English/Latin/Liberia ++ { 31, 7, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,79,80}, 137,4 , 5349,53 , 4,4 , 13,6 , 785,7 , 1218,15 , 2, 1, 7, 6, 7 }, // English/Latin/Macau ++ { 31, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,71,65}, 170,2 , 5402,52 , 4,4 , 13,6 , 785,7 , 1233,10 , 0, 0, 1, 6, 7 }, // English/Latin/Madagascar ++ { 31, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,87,75}, 172,2 , 5454,53 , 4,4 , 13,6 , 785,7 , 1243,6 , 2, 1, 1, 6, 7 }, // English/Latin/Malawi ++ { 31, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,89,82}, 174,2 , 5507,59 , 4,4 , 13,6 , 785,7 , 1249,8 , 2, 1, 1, 6, 7 }, // English/Latin/Malaysia ++ { 31, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 13,6 , 785,7 , 1257,5 , 2, 1, 7, 6, 7 }, // English/Latin/Malta ++ { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1262,16 , 2, 1, 7, 6, 7 }, // English/Latin/Marshall Islands ++ { 31, 7, 137, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {77,85,82}, 176,2 , 5566,53 , 4,4 , 13,6 , 785,7 , 1278,9 , 2, 0, 1, 6, 7 }, // English/Latin/Mauritius ++ { 31, 7, 140, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1287,10 , 2, 1, 1, 6, 7 }, // English/Latin/Micronesia ++ { 31, 7, 144, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1297,10 , 2, 1, 1, 6, 7 }, // English/Latin/Montserrat ++ { 31, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 5619,53 , 4,4 , 13,6 , 785,7 , 1307,7 , 2, 1, 1, 6, 7 }, // English/Latin/Namibia ++ { 31, 7, 149, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1314,5 , 2, 1, 1, 6, 7 }, // English/Latin/Nauru ++ { 31, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 37,7 , 785,7 , 1319,11 , 2, 1, 1, 6, 7 }, // English/Latin/Netherlands ++ { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 571,7 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4452,62 , 4,4 , 13,6 , 785,7 , 1330,11 , 2, 1, 1, 6, 7 }, // English/Latin/New Zealand ++ { 31, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,71,78}, 178,1 , 5672,50 , 4,4 , 13,6 , 785,7 , 1341,7 , 2, 1, 1, 6, 7 }, // English/Latin/Nigeria ++ { 31, 7, 158, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4452,62 , 4,4 , 13,6 , 785,7 , 1348,4 , 2, 1, 1, 6, 7 }, // English/Latin/Niue ++ { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1352,14 , 2, 1, 1, 6, 7 }, // English/Latin/Norfolk Island ++ { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1366,24 , 2, 1, 1, 6, 7 }, // English/Latin/Northern Mariana Islands ++ { 31, 7, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,75,82}, 176,2 , 5722,53 , 4,4 , 13,6 , 785,7 , 1390,8 , 2, 0, 7, 6, 7 }, // English/Latin/Pakistan ++ { 31, 7, 164, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1398,5 , 2, 1, 1, 6, 7 }, // English/Latin/Palau ++ { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 131,1 , 5775,73 , 4,4 , 13,6 , 785,7 , 1403,16 , 2, 1, 1, 6, 7 }, // English/Latin/Papua New Guinea ++ { 31, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 5848,53 , 4,4 , 13,6 , 785,7 , 1419,11 , 2, 1, 7, 6, 7 }, // English/Latin/Philippines ++ { 31, 7, 171, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4452,62 , 4,4 , 13,6 , 785,7 , 1430,16 , 2, 1, 1, 6, 7 }, // English/Latin/Pitcairn ++ { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1446,11 , 2, 1, 7, 6, 7 }, // English/Latin/Puerto Rico ++ { 31, 7, 179, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {82,87,70}, 180,2 , 5901,47 , 4,4 , 13,6 , 785,7 , 1457,6 , 0, 0, 1, 6, 7 }, // English/Latin/Rwanda ++ { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1463,17 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Kitts And Nevis ++ { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1480,9 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Lucia ++ { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 13,6 , 785,7 , 1489,24 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Vincent And The Grenadines ++ { 31, 7, 183, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {87,83,84}, 182,3 , 5948,40 , 4,4 , 13,6 , 785,7 , 1513,5 , 2, 1, 7, 6, 7 }, // English/Latin/Samoa ++ { 31, 7, 188, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,67,82}, 185,2 , 5988,59 , 4,4 , 13,6 , 785,7 , 1518,10 , 2, 1, 1, 6, 7 }, // English/Latin/Seychelles ++ { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 187,2 , 6047,68 , 4,4 , 13,6 , 785,7 , 1528,12 , 0, 0, 1, 6, 7 }, // English/Latin/Sierra Leone ++ { 31, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 269,6 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,71,68}, 6,1 , 6115,56 , 4,4 , 13,6 , 785,7 , 1540,9 , 2, 1, 7, 6, 7 }, // English/Latin/Singapore ++ { 31, 7, 192, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 19,5 , 24,7 , 785,7 , 1549,8 , 2, 1, 1, 6, 7 }, // English/Latin/Slovenia ++ { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6171,74 , 4,4 , 13,6 , 785,7 , 1557,15 , 2, 1, 1, 6, 7 }, // English/Latin/Solomon Islands ++ { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 578,10 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5235,61 , 4,4 , 13,6 , 785,7 , 1572,12 , 2, 1, 7, 6, 7 }, // English/Latin/South Africa ++ { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 119,1 , 6245,53 , 4,4 , 13,6 , 785,7 , 1584,10 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Helena ++ { 31, 7, 201, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,68,71}, 0,0 , 6298,50 , 4,4 , 13,6 , 785,7 , 1594,5 , 2, 1, 6, 5, 6 }, // English/Latin/Sudan ++ { 31, 7, 204, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,90,76}, 189,1 , 6348,53 , 4,4 , 13,6 , 785,7 , 1599,8 , 2, 1, 1, 6, 7 }, // English/Latin/Swaziland ++ { 31, 7, 205, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 53,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,69,75}, 190,2 , 6401,47 , 19,5 , 4,0 , 785,7 , 1607,6 , 2, 0, 1, 6, 7 }, // English/Latin/Sweden ++ { 31, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {67,72,70}, 0,0 , 6448,41 , 8,5 , 44,5 , 785,7 , 1613,11 , 2, 0, 1, 6, 7 }, // English/Latin/Switzerland ++ { 31, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,90,83}, 192,3 , 6489,62 , 4,4 , 13,6 , 785,7 , 1624,8 , 2, 0, 1, 6, 7 }, // English/Latin/Tanzania ++ { 31, 7, 213, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4452,62 , 4,4 , 13,6 , 785,7 , 1632,7 , 2, 1, 1, 6, 7 }, // English/Latin/Tokelau ++ { 31, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,79,80}, 195,2 , 6551,49 , 4,4 , 13,6 , 785,7 , 1639,5 , 2, 1, 1, 6, 7 }, // English/Latin/Tonga ++ { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6600,80 , 4,4 , 13,6 , 785,7 , 1644,17 , 2, 1, 7, 6, 7 }, // English/Latin/Trinidad And Tobago ++ { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1661,22 , 2, 1, 1, 6, 7 }, // English/Latin/Turks And Caicos Islands ++ { 31, 7, 220, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 13,6 , 785,7 , 1683,6 , 2, 1, 1, 6, 7 }, // English/Latin/Tuvalu ++ { 31, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,71,88}, 197,3 , 6680,56 , 4,4 , 13,6 , 785,7 , 1689,6 , 0, 0, 1, 7, 7 }, // English/Latin/Uganda ++ { 31, 7, 223, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,69,68}, 200,3 , 6736,55 , 4,4 , 13,6 , 785,7 , 1695,20 , 2, 1, 6, 5, 6 }, // English/Latin/United Arab Emirates ++ { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 6791,47 , 4,4 , 13,6 , 1715,15 , 1730,14 , 2, 1, 1, 6, 7 }, // English/Latin/United Kingdom ++ { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1744,21 , 2, 1, 7, 6, 7 }, // English/Latin/United States Minor Outlying Islands ++ { 31, 7, 229, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {86,85,86}, 203,2 , 6838,43 , 4,4 , 13,6 , 785,7 , 1765,7 , 0, 0, 1, 6, 7 }, // English/Latin/Vanuatu ++ { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1772,22 , 2, 1, 1, 6, 7 }, // English/Latin/British Virgin Islands ++ { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 196,10 , 206,9 , 547,6 , 35,18 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 13,6 , 785,7 , 1794,19 , 2, 1, 7, 6, 7 }, // English/Latin/United States Virgin Islands ++ { 31, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {90,77,87}, 131,1 , 6881,50 , 4,4 , 13,6 , 785,7 , 1813,6 , 2, 1, 1, 6, 7 }, // English/Latin/Zambia ++ { 31, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 415,8 , 553,18 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1819,8 , 2, 1, 7, 6, 7 }, // English/Latin/Zimbabwe ++ { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 3745,35 , 4,4 , 13,6 , 785,7 , 1827,12 , 2, 1, 1, 6, 7 }, // English/Latin/Diego Garcia ++ { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4729,32 , 4,4 , 13,6 , 785,7 , 1839,11 , 2, 1, 1, 6, 7 }, // English/Latin/Isle Of Man ++ { 31, 7, 252, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 119,1 , 4729,32 , 4,4 , 13,6 , 785,7 , 1850,6 , 2, 1, 1, 6, 7 }, // English/Latin/Jersey ++ { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 119,1 , 6931,68 , 4,4 , 13,6 , 785,7 , 1856,11 , 2, 1, 1, 6, 7 }, // English/Latin/South Sudan ++ { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 155,4 , 6999,95 , 4,4 , 13,6 , 785,7 , 1867,12 , 2, 1, 1, 6, 7 }, // English/Latin/Sint Maarten ++ { 31, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 18,7 , 25,12 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 13,6 , 785,7 , 1879,5 , 2, 1, 1, 6, 7 }, // English/Latin/World ++ { 31, 7, 261, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 206,9 , 206,9 , 119,10 , 10,17 , 37,5 , 8,10 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 68,2 , 65,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 19,5 , 4,0 , 785,7 , 1884,6 , 2, 1, 1, 6, 7 }, // English/Latin/Europe ++ { 32, 7, 260, 44, 160, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 215,9 , 215,9 , 588,8 , 596,26 , 37,5 , 267,25 , 2523,21 , 2544,51 , 2595,14 , 2523,21 , 2544,51 , 2595,14 , 70,3 , 67,3 , 310,6 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 1890,9 , 1899,5 , 2, 1, 1, 6, 7 }, // Esperanto/Latin/World ++ { 33, 7, 68, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 224,8 , 224,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2609,14 , 2623,63 , 2609,14 , 2609,14 , 2623,63 , 2609,14 , 0,2 , 0,2 , 316,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 7094,20 , 19,5 , 24,7 , 1904,5 , 1909,5 , 2, 1, 1, 6, 7 }, // Estonian/Latin/Estonia ++ { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2686,28 , 2714,74 , 2788,14 , 2802,35 , 2714,74 , 2788,14 , 0,2 , 0,2 , 322,3 , 5,17 , 22,23 , {68,75,75}, 190,2 , 7114,43 , 19,5 , 24,7 , 1914,8 , 1922,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Faroe Islands ++ { 34, 7, 58, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 156,8 , 622,18 , 37,5 , 8,10 , 2686,28 , 2714,74 , 2788,14 , 2802,35 , 2714,74 , 2788,14 , 0,2 , 0,2 , 322,3 , 5,17 , 22,23 , {68,75,75}, 148,3 , 7114,43 , 19,5 , 24,7 , 1914,8 , 665,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Denmark ++ { 36, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 224,8 , 224,8 , 640,8 , 478,17 , 254,4 , 258,9 , 2837,21 , 2858,67 , 2925,14 , 2837,21 , 2939,81 , 2925,14 , 73,3 , 70,3 , 325,5 , 330,17 , 347,23 , {69,85,82}, 14,1 , 7157,20 , 19,5 , 4,0 , 1929,5 , 1934,5 , 2, 1, 1, 6, 7 }, // Finnish/Latin/Finland ++ { 37, 7, 74, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 1947,6 , 2, 1, 1, 6, 7 }, // French/Latin/France ++ { 37, 7, 3, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {68,90,68}, 205,2 , 7177,51 , 19,5 , 24,7 , 1939,8 , 1953,7 , 2, 1, 6, 5, 6 }, // French/Latin/Algeria ++ { 37, 7, 21, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 571,7 , 97,16 , 37,5 , 292,23 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 1960,8 , 2, 1, 1, 6, 7 }, // French/Latin/Belgium ++ { 37, 7, 23, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 1968,5 , 0, 0, 1, 6, 7 }, // French/Latin/Benin ++ { 37, 7, 34, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 1973,12 , 0, 0, 1, 6, 7 }, // French/Latin/Burkina Faso ++ { 37, 7, 35, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {66,73,70}, 163,3 , 7287,53 , 19,5 , 24,7 , 1939,8 , 938,7 , 0, 0, 1, 6, 7 }, // French/Latin/Burundi ++ { 37, 7, 37, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 76,5 , 73,4 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 1985,8 , 0, 0, 1, 6, 7 }, // French/Latin/Cameroon ++ { 37, 7, 38, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8221, 8220, 0,6 , 0,6 , 232,8 , 232,8 , 53,10 , 97,16 , 315,9 , 324,24 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 64,4 , 61,4 , 370,6 , 217,17 , 234,23 , {67,65,68}, 210,4 , 7396,54 , 19,5 , 24,7 , 1993,17 , 969,6 , 2, 0, 7, 6, 7 }, // French/Latin/Canada ++ { 37, 7, 41, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 2010,25 , 0, 0, 1, 6, 7 }, // French/Latin/Central African Republic ++ { 37, 7, 42, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 2035,5 , 0, 0, 1, 6, 7 }, // French/Latin/Chad ++ { 37, 7, 48, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {75,77,70}, 36,2 , 7450,51 , 19,5 , 24,7 , 1939,8 , 2040,7 , 0, 0, 1, 6, 7 }, // French/Latin/Comoros ++ { 37, 7, 49, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {67,68,70}, 214,2 , 7501,53 , 19,5 , 24,7 , 1939,8 , 2047,14 , 2, 1, 1, 6, 7 }, // French/Latin/Congo Kinshasa ++ { 37, 7, 50, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 2061,17 , 0, 0, 1, 6, 7 }, // French/Latin/Congo Brazzaville ++ { 37, 7, 53, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 2078,13 , 0, 0, 1, 6, 7 }, // French/Latin/Ivory Coast ++ { 37, 7, 59, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {68,74,70}, 38,3 , 7554,57 , 19,5 , 24,7 , 1939,8 , 2091,8 , 0, 0, 6, 6, 7 }, // French/Latin/Djibouti ++ { 37, 7, 66, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 2099,18 , 0, 0, 1, 6, 7 }, // French/Latin/Equatorial Guinea ++ { 37, 7, 76, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2117,16 , 2, 1, 1, 6, 7 }, // French/Latin/French Guiana ++ { 37, 7, 77, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,80,70}, 216,4 , 7611,35 , 19,5 , 24,7 , 1939,8 , 2133,19 , 0, 0, 1, 6, 7 }, // French/Latin/French Polynesia ++ { 37, 7, 79, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,65,70}, 32,4 , 7340,56 , 19,5 , 24,7 , 1939,8 , 2152,5 , 0, 0, 1, 6, 7 }, // French/Latin/Gabon ++ { 37, 7, 88, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2157,10 , 2, 1, 1, 6, 7 }, // French/Latin/Guadeloupe ++ { 37, 7, 91, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {71,78,70}, 220,2 , 7646,48 , 19,5 , 24,7 , 1939,8 , 2167,6 , 0, 0, 1, 6, 7 }, // French/Latin/Guinea ++ { 37, 7, 94, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {72,84,71}, 222,1 , 7694,57 , 19,5 , 24,7 , 1939,8 , 2173,5 , 2, 1, 1, 6, 7 }, // French/Latin/Haiti ++ { 37, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2178,10 , 2, 1, 1, 6, 7 }, // French/Latin/Luxembourg ++ { 37, 7, 128, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {77,71,65}, 170,2 , 7751,54 , 19,5 , 24,7 , 1939,8 , 1233,10 , 0, 0, 1, 6, 7 }, // French/Latin/Madagascar ++ { 37, 7, 132, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 2188,4 , 0, 0, 1, 6, 7 }, // French/Latin/Mali ++ { 37, 7, 135, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2192,10 , 2, 1, 1, 6, 7 }, // French/Latin/Martinique ++ { 37, 7, 136, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {77,82,85}, 223,2 , 7805,66 , 19,5 , 24,7 , 1939,8 , 2202,10 , 2, 1, 1, 6, 7 }, // French/Latin/Mauritania ++ { 37, 7, 137, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {77,85,82}, 176,2 , 7871,63 , 19,5 , 24,7 , 1939,8 , 2212,7 , 2, 0, 1, 6, 7 }, // French/Latin/Mauritius ++ { 37, 7, 138, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2219,7 , 2, 1, 1, 6, 7 }, // French/Latin/Mayotte ++ { 37, 7, 142, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2226,6 , 2, 1, 1, 6, 7 }, // French/Latin/Monaco ++ { 37, 7, 145, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 64,4 , 61,4 , 370,6 , 217,17 , 234,23 , {77,65,68}, 225,3 , 7934,54 , 19,5 , 24,7 , 1939,8 , 2232,5 , 2, 1, 1, 6, 7 }, // French/Latin/Morocco ++ { 37, 7, 153, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,80,70}, 216,4 , 7611,35 , 19,5 , 24,7 , 1939,8 , 2237,18 , 0, 0, 1, 6, 7 }, // French/Latin/New Caledonia ++ { 37, 7, 156, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 2255,5 , 0, 0, 1, 6, 7 }, // French/Latin/Niger ++ { 37, 7, 176, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2260,10 , 2, 1, 1, 6, 7 }, // French/Latin/Reunion ++ { 37, 7, 179, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {82,87,70}, 180,2 , 7988,50 , 19,5 , 24,7 , 1939,8 , 1457,6 , 0, 0, 1, 6, 7 }, // French/Latin/Rwanda ++ { 37, 7, 187, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 2270,7 , 0, 0, 1, 6, 7 }, // French/Latin/Senegal ++ { 37, 7, 188, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {83,67,82}, 185,2 , 8038,71 , 19,5 , 24,7 , 1939,8 , 1518,10 , 2, 1, 1, 6, 7 }, // French/Latin/Seychelles ++ { 37, 7, 200, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2277,24 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Pierre And Miquelon ++ { 37, 7, 206, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 232,8 , 232,8 , 156,8 , 10,17 , 37,5 , 348,14 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {67,72,70}, 228,3 , 8109,45 , 19,5 , 24,7 , 2301,15 , 2316,6 , 2, 0, 1, 6, 7 }, // French/Latin/Switzerland ++ { 37, 7, 207, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {83,89,80}, 231,2 , 8154,51 , 19,5 , 24,7 , 1939,8 , 2322,5 , 0, 0, 6, 5, 6 }, // French/Latin/Syria ++ { 37, 7, 212, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,79,70}, 207,3 , 7228,59 , 19,5 , 24,7 , 1939,8 , 2327,4 , 0, 0, 1, 6, 7 }, // French/Latin/Togo ++ { 37, 7, 216, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {84,78,68}, 233,2 , 8205,51 , 19,5 , 24,7 , 1939,8 , 2331,7 , 3, 0, 1, 6, 7 }, // French/Latin/Tunisia ++ { 37, 7, 229, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 18,7 , 25,12 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {86,85,86}, 203,2 , 8256,51 , 19,5 , 24,7 , 1939,8 , 1765,7 , 0, 0, 1, 6, 7 }, // French/Latin/Vanuatu ++ { 37, 7, 235, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {88,80,70}, 216,4 , 7611,35 , 19,5 , 24,7 , 1939,8 , 2338,16 , 0, 0, 1, 6, 7 }, // French/Latin/Wallis And Futuna Islands ++ { 37, 7, 244, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2354,16 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Barthelemy ++ { 37, 7, 245, 44, 8239, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 232,8 , 232,8 , 119,10 , 97,16 , 37,5 , 8,10 , 3020,35 , 3055,52 , 3107,14 , 3020,35 , 3055,52 , 3107,14 , 0,2 , 0,2 , 370,6 , 217,17 , 234,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 1939,8 , 2370,12 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Martin ++ { 38, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 339,8 , 97,16 , 37,5 , 8,10 , 3121,21 , 3142,54 , 85,14 , 3121,21 , 3142,54 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 37,7 , 2382,5 , 2387,8 , 2, 1, 1, 6, 7 }, // Western Frisian/Latin/Netherlands ++ { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 240,10 , 240,10 , 119,10 , 648,21 , 37,5 , 8,10 , 3196,28 , 3224,69 , 3293,14 , 3196,28 , 3224,69 , 3293,14 , 81,1 , 77,1 , 376,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 8307,86 , 4,4 , 13,6 , 2395,8 , 2403,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/United Kingdom ++ { 40, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 3307,35 , 3342,49 , 3391,14 , 3405,35 , 3440,49 , 3489,21 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 2425,6 , 2431,6 , 2, 1, 1, 6, 7 }, // Galician/Latin/Spain ++ { 41, 15, 81, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 171, 187, 0,6 , 0,6 , 257,8 , 257,8 , 156,8 , 696,19 , 37,5 , 8,10 , 3510,28 , 3538,62 , 3600,14 , 3510,28 , 3538,62 , 3600,14 , 0,2 , 0,2 , 382,5 , 387,37 , 22,23 , {71,69,76}, 235,1 , 8393,43 , 19,5 , 4,0 , 2437,7 , 2444,10 , 2, 1, 1, 6, 7 }, // Georgian/Georgian/Georgia ++ { 42, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2454,7 , 2461,11 , 2, 1, 1, 6, 7 }, // German/Latin/Germany ++ { 42, 7, 14, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2472,24 , 2496,10 , 2, 1, 1, 6, 7 }, // German/Latin/Austria ++ { 42, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2454,7 , 2506,7 , 2, 1, 1, 6, 7 }, // German/Latin/Belgium ++ { 42, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2454,7 , 2513,7 , 2, 1, 1, 6, 7 }, // German/Latin/Italy ++ { 42, 7, 123, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {67,72,70}, 228,3 , 8455,58 , 19,5 , 4,0 , 2454,7 , 2520,13 , 2, 0, 1, 6, 7 }, // German/Latin/Liechtenstein ++ { 42, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 2454,7 , 2533,9 , 2, 1, 1, 6, 7 }, // German/Latin/Luxembourg ++ { 42, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 3614,21 , 3635,60 , 3695,14 , 3709,28 , 3635,60 , 3695,14 , 0,2 , 0,2 , 424,5 , 5,17 , 22,23 , {67,72,70}, 228,3 , 8455,58 , 19,5 , 4,0 , 2542,21 , 2563,7 , 2, 0, 1, 6, 7 }, // German/Latin/Switzerland ++ { 43, 16, 85, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 274,9 , 274,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3737,28 , 3765,55 , 3820,14 , 3737,28 , 3765,55 , 3820,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8513,19 , 19,5 , 4,0 , 2570,8 , 2578,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Greece ++ { 43, 16, 56, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 274,9 , 274,9 , 269,6 , 10,17 , 18,7 , 25,12 , 3737,28 , 3765,55 , 3820,14 , 3737,28 , 3765,55 , 3820,14 , 82,4 , 78,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8513,19 , 19,5 , 4,0 , 2570,8 , 2584,6 , 2, 1, 1, 6, 7 }, // Greek/Greek/Cyprus ++ { 44, 7, 86, 44, 46, 59, 37, 48, 8722, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 283,11 , 283,11 , 53,10 , 80,17 , 239,5 , 244,10 , 3834,28 , 3862,98 , 3960,14 , 3834,28 , 3862,98 , 3960,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 148,3 , 8532,62 , 4,4 , 49,5 , 2590,11 , 2601,16 , 2, 0, 1, 6, 7 }, // Greenlandic/Latin/Greenland ++ { 45, 7, 168, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,89,71}, 236,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 7, 6, 7 }, // Guarani/Latin/Paraguay ++ { 46, 17, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 294,9 , 294,9 , 269,6 , 192,18 , 362,8 , 370,13 , 3974,32 , 4006,53 , 4059,19 , 3974,32 , 4006,53 , 4059,19 , 0,2 , 0,2 , 429,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 8594,46 , 4,4 , 13,6 , 2617,7 , 2624,4 , 2, 1, 7, 7, 7 }, // Gujarati/Gujarati/India ++ { 47, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 303,9 , 312,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 0,5 , 433,41 , 474,47 , {78,71,78}, 178,1 , 8640,52 , 8,5 , 4,0 , 2628,5 , 2633,8 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Nigeria + { 47, 1, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Hausa/Arabic/Nigeria +- { 47, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 302,8 , 302,8 , 269,6 , 715,17 , 18,7 , 25,12 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 8694,45 , 8,5 , 4,0 , 2624,5 , 2637,4 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Ghana +- { 47, 7, 156, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 302,8 , 302,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 8739,36 , 8,5 , 4,0 , 2624,5 , 2641,5 , 0, 0, 1, 6, 7 }, // Hausa/Latin/Niger +- { 48, 18, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 310,6 , 310,6 , 640,8 , 732,18 , 55,4 , 59,9 , 4172,46 , 4218,65 , 4283,21 , 4172,46 , 4218,65 , 4283,21 , 92,6 , 87,5 , 473,4 , 5,17 , 22,23 , {73,76,83}, 49,1 , 8775,54 , 19,5 , 4,0 , 2646,5 , 2651,5 , 2, 1, 7, 5, 6 }, // Hebrew/Hebrew/Israel +- { 49, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 316,9 , 325,8 , 269,6 , 10,17 , 18,7 , 25,12 , 4304,32 , 4336,53 , 4389,19 , 4304,32 , 4336,53 , 4389,19 , 68,2 , 65,2 , 477,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 8829,42 , 4,4 , 4,0 , 2656,6 , 2662,4 , 2, 1, 7, 7, 7 }, // Hindi/Devanagari/India ++ { 47, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 303,9 , 312,8 , 269,6 , 715,17 , 18,7 , 25,12 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 0,5 , 433,41 , 474,47 , {71,72,83}, 167,3 , 8692,46 , 8,5 , 4,0 , 2628,5 , 2641,4 , 2, 1, 1, 6, 7 }, // Hausa/Latin/Ghana ++ { 47, 7, 156, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 303,9 , 312,8 , 269,6 , 715,17 , 37,5 , 8,10 , 4078,28 , 4106,52 , 4158,14 , 4078,28 , 4106,52 , 4158,14 , 86,6 , 82,5 , 0,5 , 433,41 , 474,47 , {88,79,70}, 207,3 , 8738,36 , 8,5 , 4,0 , 2628,5 , 2645,5 , 0, 0, 1, 6, 7 }, // Hausa/Latin/Niger ++ { 48, 18, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 320,6 , 320,6 , 640,8 , 732,18 , 55,4 , 59,9 , 4172,46 , 4218,65 , 4283,21 , 4172,46 , 4218,65 , 4283,21 , 92,6 , 87,5 , 521,4 , 5,17 , 22,23 , {73,76,83}, 49,1 , 8774,54 , 19,5 , 4,0 , 2650,5 , 2655,5 , 2, 1, 7, 5, 6 }, // Hebrew/Hebrew/Israel ++ { 49, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 326,9 , 335,8 , 269,6 , 10,17 , 18,7 , 25,12 , 4304,32 , 4336,53 , 4389,19 , 4304,32 , 4336,53 , 4389,19 , 68,2 , 65,2 , 525,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 8828,42 , 4,4 , 4,0 , 2660,6 , 2666,4 , 2, 1, 7, 7, 7 }, // Hindi/Devanagari/India + { 49, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Hindi/Latin/India +- { 50, 7, 98, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 187, 171, 0,6 , 0,6 , 333,8 , 333,8 , 750,13 , 763,19 , 55,4 , 59,9 , 4408,19 , 4427,52 , 4479,17 , 4408,19 , 4427,52 , 4479,17 , 98,3 , 92,3 , 481,4 , 5,17 , 22,23 , {72,85,70}, 233,2 , 8871,46 , 19,5 , 4,0 , 2666,6 , 2672,12 , 2, 0, 1, 6, 7 }, // Hungarian/Latin/Hungary +- { 51, 7, 99, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 187,8 , 187,8 , 640,8 , 622,18 , 37,5 , 8,10 , 4496,35 , 4531,81 , 4612,14 , 4496,35 , 4531,81 , 4612,14 , 101,4 , 95,4 , 485,4 , 5,17 , 22,23 , {73,83,75}, 235,3 , 8917,49 , 19,5 , 4,0 , 2684,8 , 2692,6 , 0, 0, 1, 6, 7 }, // Icelandic/Latin/Iceland +- { 52, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 341,10 , 351,9 , 27,8 , 553,18 , 205,5 , 210,10 , 4626,28 , 4654,43 , 4697,14 , 4626,28 , 4654,43 , 4697,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 238,2 , 8966,39 , 4,4 , 4,0 , 2698,9 , 2698,9 , 2, 0, 7, 6, 7 }, // Indonesian/Latin/Indonesia +- { 53, 7, 260, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 528,10 , 782,26 , 37,5 , 8,10 , 4711,28 , 4739,57 , 4796,14 , 4711,28 , 4739,57 , 4796,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 37,7 , 2707,11 , 2718,5 , 2, 1, 1, 6, 7 }, // Interlingua/Latin/World +- { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 240,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Canadian Aboriginal/Canada +- { 55, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 240,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Latin/Canada +- { 57, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 360,11 , 239,10 , 119,10 , 97,16 , 37,5 , 8,10 , 4810,37 , 4847,75 , 4922,14 , 4810,37 , 4847,75 , 4922,14 , 105,4 , 99,4 , 489,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9005,31 , 4,4 , 13,6 , 2723,7 , 2730,4 , 2, 1, 1, 6, 7 }, // Irish/Latin/Ireland +- { 57, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 360,11 , 239,10 , 119,10 , 97,16 , 37,5 , 8,10 , 4810,37 , 4847,75 , 4922,14 , 4810,37 , 4847,75 , 4922,14 , 105,4 , 99,4 , 489,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 9036,95 , 4,4 , 13,6 , 2723,7 , 2734,19 , 2, 1, 1, 6, 7 }, // Irish/Latin/United Kingdom +- { 58, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9131,19 , 19,5 , 4,0 , 2753,8 , 2761,6 , 2, 1, 1, 6, 7 }, // Italian/Latin/Italy +- { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9131,19 , 19,5 , 4,0 , 2753,8 , 2767,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/San Marino +- { 58, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 249,7 , 249,7 , 156,8 , 10,17 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 9150,53 , 19,5 , 4,0 , 2753,8 , 2777,8 , 2, 0, 1, 6, 7 }, // Italian/Latin/Switzerland +- { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9131,19 , 19,5 , 4,0 , 2753,8 , 2785,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/Vatican City State +- { 59, 19, 108, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 165,5 , 165,5 , 165,5 , 165,5 , 578,10 , 402,13 , 55,4 , 349,10 , 5035,14 , 5049,28 , 5035,14 , 5035,14 , 5049,28 , 5035,14 , 109,2 , 103,2 , 495,3 , 498,17 , 22,23 , {74,80,89}, 243,1 , 9203,11 , 4,4 , 13,6 , 2803,3 , 2806,2 , 0, 0, 7, 6, 7 }, // Japanese/Japanese/Japan +- { 60, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 371,10 , 381,9 , 528,10 , 10,17 , 37,5 , 8,10 , 5077,29 , 5106,41 , 5147,14 , 5077,29 , 5106,41 , 5147,14 , 111,4 , 105,5 , 515,4 , 5,17 , 22,23 , {73,68,82}, 238,2 , 8966,39 , 8,5 , 4,0 , 2808,4 , 2812,9 , 2, 0, 7, 6, 7 }, // Javanese/Latin/Indonesia +- { 61, 21, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 390,12 , 402,11 , 269,6 , 35,18 , 328,8 , 336,13 , 5161,33 , 5194,54 , 5248,20 , 5161,33 , 5194,54 , 5248,20 , 115,9 , 110,7 , 519,8 , 527,35 , 22,23 , {73,78,82}, 121,1 , 9214,49 , 4,4 , 13,6 , 2821,5 , 2826,4 , 2, 1, 7, 7, 7 }, // Kannada/Kannada/India +- { 62, 1, 100, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 5268,50 , 5318,52 , 5370,14 , 5268,50 , 5318,52 , 5370,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9263,23 , 8,5 , 4,0 , 2830,5 , 2835,9 , 2, 1, 7, 7, 7 }, // Kashmiri/Arabic/India ++ { 50, 7, 98, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 187, 171, 0,6 , 0,6 , 343,8 , 343,8 , 750,13 , 763,19 , 55,4 , 59,9 , 4408,19 , 4427,52 , 4479,17 , 4408,19 , 4427,52 , 4479,17 , 98,3 , 92,3 , 529,4 , 5,17 , 22,23 , {72,85,70}, 237,2 , 8870,46 , 19,5 , 4,0 , 2670,6 , 2676,12 , 2, 0, 1, 6, 7 }, // Hungarian/Latin/Hungary ++ { 51, 7, 99, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 188,8 , 188,8 , 640,8 , 622,18 , 37,5 , 8,10 , 4496,35 , 4531,81 , 4612,14 , 4496,35 , 4531,81 , 4612,14 , 101,4 , 95,4 , 533,4 , 5,17 , 22,23 , {73,83,75}, 239,3 , 8916,49 , 19,5 , 4,0 , 2688,8 , 2696,6 , 0, 0, 1, 6, 7 }, // Icelandic/Latin/Iceland ++ { 52, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 351,10 , 361,9 , 27,8 , 553,18 , 239,5 , 244,10 , 4626,28 , 4654,43 , 4697,14 , 4626,28 , 4654,43 , 4697,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 242,2 , 8965,39 , 4,4 , 4,0 , 2702,9 , 2702,9 , 2, 0, 7, 6, 7 }, // Indonesian/Latin/Indonesia ++ { 53, 7, 260, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 528,10 , 782,26 , 37,5 , 8,10 , 4711,28 , 4739,57 , 4796,14 , 4711,28 , 4739,57 , 4796,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 37,7 , 2711,11 , 2722,5 , 2, 1, 1, 6, 7 }, // Interlingua/Latin/World ++ { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 244,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Canadian Aboriginal/Canada ++ { 55, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 244,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Latin/Canada ++ { 57, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 240,10 , 240,10 , 119,10 , 97,16 , 37,5 , 8,10 , 4810,37 , 4847,75 , 4922,14 , 4810,37 , 4847,75 , 4922,14 , 105,4 , 99,4 , 537,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9004,31 , 4,4 , 13,6 , 2727,7 , 2734,4 , 2, 1, 1, 6, 7 }, // Irish/Latin/Ireland ++ { 57, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 240,10 , 240,10 , 119,10 , 97,16 , 37,5 , 8,10 , 4810,37 , 4847,75 , 4922,14 , 4810,37 , 4847,75 , 4922,14 , 105,4 , 99,4 , 537,6 , 5,17 , 22,23 , {71,66,80}, 119,1 , 9035,95 , 4,4 , 13,6 , 2727,7 , 2738,19 , 2, 1, 1, 6, 7 }, // Irish/Latin/United Kingdom ++ { 58, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9130,19 , 19,5 , 4,0 , 2757,8 , 2765,6 , 2, 1, 1, 6, 7 }, // Italian/Latin/Italy ++ { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9130,19 , 19,5 , 4,0 , 2757,8 , 2771,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/San Marino ++ { 58, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 250,7 , 250,7 , 156,8 , 10,17 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 9149,53 , 19,5 , 4,0 , 2757,8 , 2781,8 , 2, 0, 1, 6, 7 }, // Italian/Latin/Switzerland ++ { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 97,16 , 37,5 , 8,10 , 4936,28 , 4964,57 , 5021,14 , 4936,28 , 4964,57 , 5021,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9130,19 , 19,5 , 4,0 , 2757,8 , 2789,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/Vatican City State ++ { 59, 19, 108, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 166,5 , 166,5 , 166,5 , 166,5 , 578,10 , 402,13 , 55,4 , 383,10 , 5035,14 , 5049,28 , 5035,14 , 5035,14 , 5049,28 , 5035,14 , 109,2 , 103,2 , 543,3 , 546,17 , 22,23 , {74,80,89}, 247,1 , 9202,11 , 4,4 , 13,6 , 2807,3 , 2810,2 , 0, 0, 7, 6, 7 }, // Japanese/Japanese/Japan ++ { 60, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 370,10 , 380,9 , 528,10 , 10,17 , 37,5 , 8,10 , 5077,29 , 5106,41 , 5147,14 , 5077,29 , 5106,41 , 5147,14 , 111,4 , 105,5 , 563,4 , 5,17 , 22,23 , {73,68,82}, 242,2 , 8965,39 , 8,5 , 4,0 , 2812,4 , 2816,9 , 2, 0, 7, 6, 7 }, // Javanese/Latin/Indonesia ++ { 61, 21, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 389,12 , 401,11 , 269,6 , 35,18 , 362,8 , 370,13 , 5161,33 , 5194,54 , 5248,20 , 5161,33 , 5194,54 , 5248,20 , 115,9 , 110,7 , 567,8 , 575,35 , 22,23 , {73,78,82}, 121,1 , 9213,49 , 4,4 , 13,6 , 2825,5 , 2830,4 , 2, 1, 7, 7, 7 }, // Kannada/Kannada/India ++ { 62, 1, 100, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 5268,50 , 5318,52 , 5370,14 , 5268,50 , 5318,52 , 5370,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9262,23 , 8,5 , 4,0 , 2834,5 , 2839,9 , 2, 1, 7, 7, 7 }, // Kashmiri/Arabic/India + { 62, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Kashmiri/Devanagari/India +- { 63, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 413,10 , 156,8 , 808,22 , 37,5 , 8,10 , 5384,21 , 5405,56 , 5461,14 , 5384,21 , 5405,56 , 5461,14 , 0,2 , 0,2 , 562,4 , 566,17 , 583,23 , {75,90,84}, 244,1 , 9286,58 , 19,5 , 4,0 , 2844,10 , 2854,9 , 2, 1, 1, 6, 7 }, // Kazakh/Cyrillic/Kazakhstan +- { 64, 7, 179, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 5475,35 , 5510,84 , 85,14 , 5475,35 , 5510,84 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,87,70}, 180,2 , 0,7 , 8,5 , 4,0 , 2863,11 , 2874,8 , 0, 0, 1, 6, 7 }, // Kinyarwanda/Latin/Rwanda +- { 65, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 423,10 , 423,10 , 269,6 , 830,23 , 37,5 , 8,10 , 5594,38 , 5632,57 , 5689,14 , 5594,38 , 5632,57 , 5689,14 , 124,5 , 117,14 , 562,4 , 606,18 , 22,23 , {75,71,83}, 245,3 , 9344,52 , 19,5 , 4,0 , 2882,8 , 2890,10 , 2, 1, 1, 6, 7 }, // Kirghiz/Cyrillic/Kyrgyzstan +- { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 433,7 , 433,7 , 853,9 , 862,16 , 359,7 , 366,13 , 5703,14 , 5717,28 , 5703,14 , 5703,14 , 5717,28 , 5703,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,82,87}, 248,1 , 9396,19 , 4,4 , 13,6 , 2900,3 , 2903,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/South Korea +- { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 433,7 , 433,7 , 853,9 , 862,16 , 359,7 , 366,13 , 5703,14 , 5717,28 , 5703,14 , 5703,14 , 5717,28 , 5703,14 , 129,2 , 131,2 , 624,3 , 5,17 , 22,23 , {75,80,87}, 249,3 , 9415,39 , 4,4 , 13,6 , 2900,3 , 2907,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/North Korea +- { 67, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 440,7 , 440,7 , 53,10 , 63,17 , 37,5 , 8,10 , 5745,20 , 5765,42 , 5807,14 , 5745,20 , 5765,42 , 5807,14 , 131,2 , 133,2 , 45,4 , 5,17 , 22,23 , {84,82,89}, 252,1 , 0,7 , 19,5 , 24,7 , 2918,5 , 2923,7 , 2, 1, 1, 6, 7 }, // Kurdish/Latin/Turkey +- { 68, 7, 35, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 5821,34 , 5855,89 , 85,14 , 5821,34 , 5855,89 , 85,14 , 133,5 , 135,5 , 45,4 , 5,17 , 22,23 , {66,73,70}, 163,3 , 9454,27 , 0,4 , 4,0 , 2930,8 , 2938,8 , 0, 0, 1, 6, 7 }, // Rundi/Latin/Burundi +- { 69, 23, 117, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 447,9 , 415,8 , 878,19 , 55,4 , 379,24 , 5944,36 , 5980,57 , 6037,17 , 5944,36 , 5980,57 , 6037,17 , 138,8 , 140,8 , 45,4 , 5,17 , 22,23 , {76,65,75}, 253,1 , 9481,21 , 4,4 , 44,5 , 2946,3 , 2946,3 , 0, 0, 7, 6, 7 }, // Lao/Lao/Laos +- { 71, 7, 118, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 456,8 , 456,8 , 156,8 , 897,26 , 37,5 , 8,10 , 6054,51 , 6105,72 , 6177,14 , 6191,51 , 6242,72 , 6177,14 , 146,14 , 148,11 , 627,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9502,23 , 19,5 , 4,0 , 2949,8 , 2957,7 , 2, 1, 1, 6, 7 }, // Latvian/Latin/Latvia +- { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 464,9 , 464,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 210,2 , 9525,23 , 19,5 , 4,0 , 2964,7 , 2971,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Congo Kinshasa +- { 72, 7, 6, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 464,9 , 464,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {65,79,65}, 254,2 , 9548,23 , 19,5 , 4,0 , 2964,7 , 3001,6 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Angola +- { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 464,9 , 464,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9571,23 , 19,5 , 4,0 , 2964,7 , 3007,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Central African Republic +- { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 464,9 , 464,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9571,23 , 19,5 , 4,0 , 2964,7 , 3033,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Congo Brazzaville +- { 73, 7, 124, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 473,8 , 473,8 , 53,10 , 923,27 , 37,5 , 8,10 , 6456,21 , 6477,89 , 6566,14 , 6456,21 , 6477,89 , 6566,14 , 168,9 , 165,6 , 632,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9594,30 , 19,5 , 4,0 , 3038,8 , 3046,7 , 2, 1, 1, 6, 7 }, // Lithuanian/Latin/Lithuania +- { 74, 2, 127, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 113,6 , 10,17 , 37,5 , 8,10 , 6580,35 , 6615,54 , 1530,14 , 6669,34 , 6615,54 , 1530,14 , 177,10 , 171,8 , 638,5 , 5,17 , 22,23 , {77,75,68}, 256,4 , 9624,56 , 19,5 , 4,0 , 3053,10 , 3063,18 , 2, 1, 1, 6, 7 }, // Macedonian/Cyrillic/Macedonia +- { 75, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 97,16 , 37,5 , 8,10 , 6703,34 , 6737,60 , 6797,14 , 6703,34 , 6737,60 , 6797,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,71,65}, 170,2 , 9680,13 , 4,4 , 4,0 , 3081,8 , 3089,12 , 0, 0, 1, 6, 7 }, // Malagasy/Latin/Madagascar +- { 76, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 351,9 , 351,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 643,4 , 5,17 , 22,23 , {77,89,82}, 174,2 , 9693,39 , 4,4 , 13,6 , 3101,6 , 1249,8 , 2, 1, 1, 6, 7 }, // Malay/Latin/Malaysia ++ { 63, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 412,10 , 156,8 , 808,22 , 37,5 , 8,10 , 5384,21 , 5405,56 , 5461,14 , 5384,21 , 5405,56 , 5461,14 , 0,2 , 0,2 , 610,4 , 614,17 , 631,23 , {75,90,84}, 248,1 , 9285,58 , 19,5 , 4,0 , 2848,10 , 2858,9 , 2, 1, 1, 6, 7 }, // Kazakh/Cyrillic/Kazakhstan ++ { 64, 7, 179, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 5475,35 , 5510,84 , 85,14 , 5475,35 , 5510,84 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,87,70}, 180,2 , 0,7 , 8,5 , 4,0 , 2867,11 , 2878,8 , 0, 0, 1, 6, 7 }, // Kinyarwanda/Latin/Rwanda ++ { 65, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 422,10 , 422,10 , 269,6 , 830,23 , 37,5 , 8,10 , 5594,38 , 5632,57 , 5689,14 , 5594,38 , 5632,57 , 5689,14 , 124,5 , 117,14 , 610,4 , 654,18 , 22,23 , {75,71,83}, 249,3 , 9343,52 , 19,5 , 4,0 , 2886,8 , 2894,10 , 2, 1, 1, 6, 7 }, // Kirghiz/Cyrillic/Kyrgyzstan ++ { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 432,7 , 432,7 , 853,9 , 862,16 , 393,7 , 400,13 , 5703,14 , 5717,28 , 5703,14 , 5703,14 , 5717,28 , 5703,14 , 129,2 , 131,2 , 672,3 , 5,17 , 22,23 , {75,82,87}, 252,1 , 9395,19 , 4,4 , 13,6 , 2904,3 , 2907,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/South Korea ++ { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 432,7 , 432,7 , 853,9 , 862,16 , 393,7 , 400,13 , 5703,14 , 5717,28 , 5703,14 , 5703,14 , 5717,28 , 5703,14 , 129,2 , 131,2 , 672,3 , 5,17 , 22,23 , {75,80,87}, 253,3 , 9414,39 , 4,4 , 13,6 , 2904,3 , 2911,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/North Korea ++ { 67, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 439,7 , 439,7 , 53,10 , 63,17 , 37,5 , 8,10 , 5745,20 , 5765,42 , 5807,14 , 5745,20 , 5765,42 , 5807,14 , 131,2 , 133,2 , 45,4 , 5,17 , 22,23 , {84,82,89}, 256,1 , 0,7 , 19,5 , 24,7 , 2922,5 , 2927,7 , 2, 1, 1, 6, 7 }, // Kurdish/Latin/Turkey ++ { 68, 7, 35, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 5821,34 , 5855,89 , 85,14 , 5821,34 , 5855,89 , 85,14 , 133,5 , 135,5 , 45,4 , 5,17 , 22,23 , {66,73,70}, 163,3 , 9453,27 , 0,4 , 4,0 , 2934,8 , 2942,8 , 0, 0, 1, 6, 7 }, // Rundi/Latin/Burundi ++ { 69, 23, 117, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 446,9 , 415,8 , 878,19 , 55,4 , 413,24 , 5944,36 , 5980,57 , 6037,17 , 5944,36 , 5980,57 , 6037,17 , 138,8 , 140,8 , 45,4 , 5,17 , 22,23 , {76,65,75}, 257,1 , 9480,21 , 4,4 , 44,5 , 2950,3 , 2950,3 , 0, 0, 7, 6, 7 }, // Lao/Lao/Laos ++ { 70, 7, 230, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Latin/Latin/Vatican City State ++ { 71, 7, 118, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 455,8 , 455,8 , 156,8 , 897,26 , 37,5 , 8,10 , 6054,51 , 6105,72 , 6177,14 , 6191,51 , 6242,72 , 6177,14 , 146,14 , 148,11 , 675,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9501,23 , 19,5 , 4,0 , 2953,8 , 2961,7 , 2, 1, 1, 6, 7 }, // Latvian/Latin/Latvia ++ { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 463,9 , 463,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 214,2 , 9524,23 , 19,5 , 4,0 , 2968,7 , 2975,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Congo Kinshasa ++ { 72, 7, 6, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 463,9 , 463,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {65,79,65}, 258,2 , 9547,23 , 19,5 , 4,0 , 2968,7 , 3005,6 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Angola ++ { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 463,9 , 463,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9570,23 , 19,5 , 4,0 , 2968,7 , 3011,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Central African Republic ++ { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 463,9 , 463,9 , 415,8 , 97,16 , 37,5 , 8,10 , 6314,28 , 6342,100 , 6442,14 , 6314,28 , 6342,100 , 6442,14 , 160,8 , 159,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9570,23 , 19,5 , 4,0 , 2968,7 , 3037,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Congo Brazzaville ++ { 73, 7, 124, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 472,8 , 472,8 , 53,10 , 923,27 , 37,5 , 8,10 , 6456,21 , 6477,89 , 6566,14 , 6456,21 , 6477,89 , 6566,14 , 168,9 , 165,6 , 680,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9593,30 , 19,5 , 4,0 , 3042,8 , 3050,7 , 2, 1, 1, 6, 7 }, // Lithuanian/Latin/Lithuania ++ { 74, 2, 127, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 113,6 , 10,17 , 37,5 , 8,10 , 6580,35 , 6615,54 , 1530,14 , 6669,34 , 6615,54 , 1530,14 , 177,10 , 171,8 , 686,5 , 5,17 , 22,23 , {77,75,68}, 260,4 , 9623,56 , 19,5 , 4,0 , 3057,10 , 3067,18 , 2, 1, 1, 6, 7 }, // Macedonian/Cyrillic/Macedonia ++ { 75, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 97,16 , 37,5 , 8,10 , 6703,34 , 6737,60 , 6797,14 , 6703,34 , 6737,60 , 6797,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,71,65}, 170,2 , 9679,13 , 4,4 , 4,0 , 3085,8 , 3093,12 , 0, 0, 1, 6, 7 }, // Malagasy/Latin/Madagascar ++ { 76, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 361,9 , 361,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 691,4 , 5,17 , 22,23 , {77,89,82}, 174,2 , 9692,39 , 4,4 , 13,6 , 3105,6 , 1249,8 , 2, 1, 1, 6, 7 }, // Malay/Latin/Malaysia + { 76, 1, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,89,82}, 174,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Malay/Arabic/Malaysia +- { 76, 7, 32, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 351,9 , 351,9 , 571,7 , 950,12 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 643,4 , 5,17 , 22,23 , {66,78,68}, 6,1 , 9732,31 , 4,4 , 13,6 , 3101,6 , 3107,6 , 2, 1, 1, 6, 7 }, // Malay/Latin/Brunei +- { 76, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 351,9 , 351,9 , 27,8 , 553,18 , 205,5 , 210,10 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 643,4 , 5,17 , 22,23 , {73,68,82}, 238,2 , 8966,39 , 4,4 , 4,0 , 3101,6 , 2698,9 , 2, 0, 7, 6, 7 }, // Malay/Latin/Indonesia +- { 76, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 351,9 , 351,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 643,4 , 5,17 , 22,23 , {83,71,68}, 6,1 , 9763,37 , 4,4 , 13,6 , 3101,6 , 3113,9 , 2, 1, 7, 6, 7 }, // Malay/Latin/Singapore +- { 77, 24, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 481,13 , 494,12 , 269,6 , 962,18 , 18,7 , 25,12 , 6896,41 , 6937,77 , 7014,22 , 6896,41 , 7036,76 , 7112,21 , 0,2 , 0,2 , 647,6 , 653,27 , 22,23 , {73,78,82}, 121,1 , 9800,40 , 4,4 , 13,6 , 3122,6 , 3128,6 , 2, 1, 7, 7, 7 }, // Malayalam/Malayalam/India +- { 78, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 506,8 , 514,7 , 119,10 , 980,23 , 37,5 , 8,10 , 7133,28 , 7161,63 , 7224,21 , 7133,28 , 7161,63 , 7245,20 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9840,27 , 4,4 , 4,0 , 3134,5 , 1257,5 , 2, 1, 7, 6, 7 }, // Maltese/Latin/Malta +- { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 10,17 , 18,7 , 25,12 , 7265,27 , 7292,47 , 7339,14 , 7265,27 , 7292,47 , 7339,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 6,1 , 9867,37 , 8,5 , 4,0 , 3139,5 , 3144,8 , 2, 1, 1, 6, 7 }, // Maori/Latin/New Zealand +- { 80, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 521,9 , 521,9 , 269,6 , 192,18 , 18,7 , 25,12 , 7353,32 , 7385,53 , 4389,19 , 7353,32 , 7385,53 , 4389,19 , 189,5 , 182,4 , 477,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9904,43 , 4,4 , 13,6 , 3152,5 , 2662,4 , 2, 1, 7, 7, 7 }, // Marathi/Devanagari/India +- { 82, 2, 143, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1003,10 , 1013,35 , 37,5 , 87,12 , 7438,21 , 7459,43 , 7438,21 , 7438,21 , 7502,43 , 7438,21 , 194,4 , 186,4 , 562,4 , 680,17 , 22,23 , {77,78,84}, 260,1 , 9947,46 , 8,5 , 4,0 , 3157,6 , 3163,6 , 2, 0, 1, 6, 7 }, // Mongolian/Cyrillic/Mongolia +- { 82, 8, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 261,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Mongolian/Mongolian/China +- { 84, 13, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 530,5 , 0,6 , 535,7 , 535,7 , 227,6 , 63,17 , 37,5 , 8,10 , 7545,33 , 7578,54 , 7632,18 , 7545,33 , 7578,54 , 7632,18 , 198,9 , 190,7 , 477,4 , 697,19 , 22,23 , {78,80,82}, 264,4 , 9993,49 , 8,5 , 4,0 , 3169,6 , 3175,5 , 2, 1, 7, 6, 7 }, // Nepali/Devanagari/Nepal +- { 84, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 530,5 , 0,6 , 535,7 , 535,7 , 227,6 , 63,17 , 18,7 , 25,12 , 7545,33 , 7578,54 , 7632,18 , 7545,33 , 7578,54 , 7632,18 , 198,9 , 190,7 , 477,4 , 697,19 , 22,23 , {73,78,82}, 121,1 , 10042,49 , 8,5 , 4,0 , 3169,6 , 2662,4 , 2, 1, 7, 7, 7 }, // Nepali/Devanagari/India +- { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 495,10 , 478,17 , 37,5 , 8,10 , 2334,35 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10091,44 , 8,5 , 4,0 , 3180,12 , 3192,5 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Norway +- { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 495,10 , 478,17 , 37,5 , 8,10 , 2334,35 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10091,44 , 8,5 , 4,0 , 3180,12 , 3197,21 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands ++ { 76, 7, 32, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 361,9 , 361,9 , 571,7 , 950,12 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 691,4 , 5,17 , 22,23 , {66,78,68}, 6,1 , 9731,31 , 4,4 , 13,6 , 3105,6 , 3111,6 , 2, 1, 1, 6, 7 }, // Malay/Latin/Brunei ++ { 76, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 361,9 , 361,9 , 27,8 , 553,18 , 239,5 , 244,10 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 691,4 , 5,17 , 22,23 , {73,68,82}, 242,2 , 8965,39 , 4,4 , 4,0 , 3105,6 , 2702,9 , 2, 0, 7, 6, 7 }, // Malay/Latin/Indonesia ++ { 76, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 361,9 , 361,9 , 571,7 , 10,17 , 18,7 , 25,12 , 6811,28 , 6839,43 , 6882,14 , 6811,28 , 6839,43 , 6882,14 , 187,2 , 179,3 , 691,4 , 5,17 , 22,23 , {83,71,68}, 6,1 , 9762,37 , 4,4 , 13,6 , 3105,6 , 3117,9 , 2, 1, 7, 6, 7 }, // Malay/Latin/Singapore ++ { 77, 24, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 480,13 , 493,12 , 269,6 , 962,18 , 18,7 , 25,12 , 6896,41 , 6937,77 , 7014,22 , 6896,41 , 7036,76 , 7112,21 , 0,2 , 0,2 , 695,6 , 701,27 , 22,23 , {73,78,82}, 121,1 , 9799,40 , 4,4 , 13,6 , 3126,6 , 3132,6 , 2, 1, 7, 7, 7 }, // Malayalam/Malayalam/India ++ { 78, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 505,8 , 513,7 , 119,10 , 980,23 , 37,5 , 8,10 , 7133,28 , 7161,63 , 7224,21 , 7133,28 , 7161,63 , 7245,20 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9839,27 , 4,4 , 4,0 , 3138,5 , 1257,5 , 2, 1, 7, 6, 7 }, // Maltese/Latin/Malta ++ { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 10,17 , 18,7 , 25,12 , 7265,27 , 7292,47 , 7339,14 , 7265,27 , 7292,47 , 7339,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 6,1 , 9866,37 , 8,5 , 4,0 , 3143,12 , 3155,8 , 2, 1, 1, 6, 7 }, // Maori/Latin/New Zealand ++ { 80, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 520,9 , 520,9 , 269,6 , 192,18 , 18,7 , 25,12 , 7353,32 , 7385,53 , 4389,19 , 7353,32 , 7385,53 , 4389,19 , 0,2 , 0,2 , 525,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 9903,43 , 4,4 , 13,6 , 3163,5 , 2666,4 , 2, 1, 7, 7, 7 }, // Marathi/Devanagari/India ++ { 82, 2, 143, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1003,10 , 1013,35 , 37,5 , 87,12 , 7438,21 , 7459,43 , 7438,21 , 7438,21 , 7502,43 , 7438,21 , 189,4 , 182,4 , 610,4 , 728,17 , 22,23 , {77,78,84}, 264,1 , 9946,46 , 8,5 , 4,0 , 3168,6 , 3174,6 , 2, 0, 1, 6, 7 }, // Mongolian/Cyrillic/Mongolia ++ { 82, 8, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 265,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Mongolian/Mongolian/China ++ { 84, 13, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 529,5 , 0,6 , 534,7 , 534,7 , 227,6 , 63,17 , 37,5 , 8,10 , 7545,33 , 7578,54 , 7632,18 , 7545,33 , 7578,54 , 7632,18 , 193,9 , 186,7 , 525,4 , 745,19 , 22,23 , {78,80,82}, 268,4 , 9992,49 , 8,5 , 4,0 , 3180,6 , 3186,5 , 2, 1, 7, 6, 7 }, // Nepali/Devanagari/Nepal ++ { 84, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 529,5 , 0,6 , 534,7 , 534,7 , 227,6 , 63,17 , 18,7 , 25,12 , 7545,33 , 7578,54 , 7632,18 , 7545,33 , 7578,54 , 7632,18 , 193,9 , 186,7 , 525,4 , 745,19 , 22,23 , {73,78,82}, 121,1 , 10041,49 , 8,5 , 4,0 , 3180,6 , 2666,4 , 2, 1, 7, 7, 7 }, // Nepali/Devanagari/India ++ { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 495,10 , 478,17 , 37,5 , 8,10 , 2334,35 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10090,44 , 8,5 , 4,0 , 3191,12 , 3203,5 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Norway ++ { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 495,10 , 478,17 , 37,5 , 8,10 , 2334,35 , 2269,51 , 2320,14 , 2334,35 , 2269,51 , 2320,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10090,44 , 8,5 , 4,0 , 3191,12 , 3208,21 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands + { 86, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Occitan/Latin/France +- { 87, 26, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 542,8 , 550,7 , 547,6 , 35,18 , 18,7 , 25,12 , 7650,33 , 7683,54 , 7737,18 , 7650,33 , 7683,54 , 7737,18 , 0,2 , 0,2 , 716,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 10135,43 , 4,4 , 13,6 , 3218,5 , 3223,4 , 2, 1, 7, 7, 7 }, // Oriya/Oriya/India +- { 88, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 557,6 , 557,6 , 563,9 , 572,8 , 394,8 , 1048,20 , 55,4 , 403,11 , 7755,39 , 7755,39 , 85,14 , 7755,39 , 7755,39 , 85,14 , 207,4 , 197,4 , 721,5 , 5,17 , 22,23 , {65,70,78}, 268,1 , 10178,25 , 4,4 , 13,6 , 3227,4 , 3231,9 , 0, 0, 6, 4, 5 }, // Pashto/Arabic/Afghanistan +- { 88, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 557,6 , 557,6 , 563,9 , 572,8 , 394,8 , 1048,20 , 18,7 , 25,12 , 7755,39 , 7755,39 , 85,14 , 7755,39 , 7755,39 , 85,14 , 207,4 , 197,4 , 721,5 , 5,17 , 22,23 , {80,75,82}, 176,2 , 10203,52 , 4,4 , 13,6 , 3227,4 , 3240,7 , 2, 0, 7, 6, 7 }, // Pashto/Arabic/Pakistan +- { 89, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 580,7 , 580,7 , 587,8 , 595,7 , 394,8 , 97,16 , 55,4 , 403,11 , 7794,49 , 7794,49 , 7843,14 , 7794,49 , 7794,49 , 7843,14 , 211,9 , 201,8 , 726,4 , 730,44 , 22,23 , {73,82,82}, 269,4 , 10255,37 , 54,6 , 60,8 , 3247,5 , 3252,5 , 0, 0, 6, 5, 5 }, // Persian/Arabic/Iran +- { 89, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 580,7 , 580,7 , 587,8 , 595,7 , 394,8 , 97,16 , 55,4 , 403,11 , 7794,49 , 7794,49 , 7843,14 , 7794,49 , 7794,49 , 7843,14 , 211,9 , 201,8 , 726,4 , 730,44 , 22,23 , {65,70,78}, 268,1 , 10292,55 , 8,5 , 60,8 , 3257,3 , 3231,9 , 0, 0, 6, 4, 5 }, // Persian/Arabic/Afghanistan +- { 90, 7, 172, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 158,7 , 158,7 , 495,10 , 10,17 , 37,5 , 8,10 , 7857,34 , 7891,59 , 7950,14 , 7857,34 , 7891,59 , 7964,14 , 0,2 , 0,2 , 326,5 , 5,17 , 22,23 , {80,76,78}, 273,2 , 10347,77 , 19,5 , 24,7 , 3260,6 , 3266,6 , 2, 1, 1, 6, 7 }, // Polish/Latin/Poland +- { 91, 7, 30, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 249,7 , 249,7 , 119,10 , 669,27 , 37,5 , 8,10 , 7978,35 , 8013,79 , 8092,14 , 7978,35 , 8013,79 , 8092,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,82,76}, 275,2 , 10424,54 , 8,5 , 4,0 , 3272,9 , 3281,6 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Brazil +- { 91, 7, 6, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {65,79,65}, 254,2 , 10478,54 , 19,5 , 24,7 , 3272,9 , 3287,6 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Angola +- { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 277,1 , 10532,69 , 19,5 , 24,7 , 3272,9 , 3293,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Cape Verde +- { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 10601,81 , 19,5 , 24,7 , 3272,9 , 3303,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/East Timor +- { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10682,59 , 19,5 , 24,7 , 3272,9 , 3314,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Equatorial Guinea +- { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 207,3 , 10741,62 , 19,5 , 24,7 , 3272,9 , 3330,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Guinea Bissau +- { 91, 7, 125, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 3272,9 , 3342,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Luxembourg +- { 91, 7, 126, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 18,7 , 25,12 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {77,79,80}, 137,4 , 10803,54 , 19,5 , 24,7 , 3272,9 , 3352,19 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Macau +- { 91, 7, 146, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {77,90,78}, 278,3 , 10857,66 , 19,5 , 24,7 , 3272,9 , 3371,10 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Mozambique +- { 91, 7, 173, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 3381,17 , 3398,8 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Portugal +- { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 281,2 , 10923,92 , 19,5 , 24,7 , 3272,9 , 3406,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Sao Tome And Principe +- { 91, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 220,8 , 209,8 , 0,5 , 5,17 , 22,23 , {67,72,70}, 224,3 , 11015,45 , 19,5 , 24,7 , 3272,9 , 3425,5 , 2, 0, 1, 6, 7 }, // Portuguese/Latin/Switzerland +- { 92, 4, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 602,9 , 602,9 , 269,6 , 10,17 , 18,7 , 25,12 , 8155,36 , 8191,57 , 8248,23 , 8155,36 , 8191,57 , 8248,23 , 228,6 , 217,6 , 774,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 11060,39 , 8,5 , 4,0 , 3430,6 , 3436,4 , 2, 1, 7, 7, 7 }, // Punjabi/Gurmukhi/India +- { 92, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 553,18 , 18,7 , 25,12 , 8271,37 , 8271,37 , 85,14 , 8271,37 , 8271,37 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 283,1 , 11099,13 , 8,5 , 4,0 , 3440,6 , 3240,7 , 2, 0, 7, 6, 7 }, // Punjabi/Arabic/Pakistan +- { 93, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {80,69,78}, 284,2 , 11112,29 , 8,5 , 4,0 , 3446,8 , 3454,4 , 2, 1, 7, 6, 7 }, // Quechua/Latin/Peru +- { 93, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {66,79,66}, 286,2 , 11141,25 , 8,5 , 4,0 , 3446,8 , 3458,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Bolivia +- { 93, 7, 63, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 11166,37 , 8,5 , 4,0 , 3446,8 , 3465,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Ecuador +- { 94, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 339,8 , 1068,23 , 37,5 , 8,10 , 8403,23 , 8426,56 , 8482,14 , 8403,23 , 8426,56 , 8482,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 224,3 , 11203,46 , 19,5 , 4,0 , 3472,9 , 3481,6 , 2, 0, 1, 6, 7 }, // Romansh/Latin/Switzerland +- { 95, 7, 177, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 611,8 , 611,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8496,34 , 8530,48 , 3107,14 , 8496,34 , 8530,48 , 3107,14 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {82,79,78}, 288,3 , 11249,57 , 19,5 , 24,7 , 3487,6 , 3493,7 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Romania +- { 95, 7, 141, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 611,8 , 611,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8578,28 , 8530,48 , 8606,16 , 8578,28 , 8530,48 , 8606,16 , 64,4 , 61,4 , 778,4 , 5,17 , 22,23 , {77,68,76}, 291,1 , 11306,69 , 19,5 , 24,7 , 3487,6 , 3500,17 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Moldova +- { 96, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {82,85,66}, 123,1 , 11375,89 , 19,5 , 4,0 , 3517,7 , 3524,6 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Russia +- { 96, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {66,89,78}, 0,2 , 11464,94 , 19,5 , 4,0 , 3517,7 , 510,8 , 2, 0, 1, 6, 7 }, // Russian/Cyrillic/Belarus +- { 96, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {75,90,84}, 244,1 , 11558,83 , 19,5 , 4,0 , 3517,7 , 3530,9 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kazakhstan +- { 96, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {75,71,83}, 245,3 , 11641,82 , 19,5 , 4,0 , 3517,7 , 3539,8 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kyrgyzstan +- { 96, 2, 141, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {77,68,76}, 291,1 , 11723,79 , 19,5 , 4,0 , 3517,7 , 3547,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Moldova +- { 96, 2, 222, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 680,17 , 22,23 , {85,65,72}, 292,1 , 11802,92 , 19,5 , 4,0 , 3517,7 , 3554,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Ukraine +- { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 8719,28 , 8747,66 , 8813,14 , 8719,28 , 8747,66 , 8813,14 , 234,2 , 223,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11894,25 , 4,4 , 44,5 , 3561,5 , 3566,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/Central African Republic +- { 99, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Sanskrit/Devanagari/India +- { 100, 2, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8827,28 , 8855,52 , 8907,14 , 8827,28 , 8855,52 , 8907,14 , 236,9 , 225,8 , 782,7 , 5,17 , 22,23 , {82,83,68}, 293,3 , 11919,58 , 19,5 , 24,7 , 3588,6 , 3594,6 , 0, 0, 1, 6, 7 }, // Serbian/Cyrillic/Serbia +- { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8921,26 , 8947,57 , 2129,14 , 8921,26 , 8947,57 , 2129,14 , 245,11 , 233,8 , 319,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 11977,174 , 19,5 , 24,7 , 3600,6 , 629,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Bosnia And Herzegowina +- { 100, 7, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9004,28 , 8947,57 , 2129,14 , 9004,28 , 8947,57 , 2129,14 , 245,11 , 233,8 , 319,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12151,23 , 19,5 , 24,7 , 3600,6 , 3606,9 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Montenegro +- { 100, 7, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9004,28 , 9032,54 , 2129,14 , 9004,28 , 9032,54 , 2129,14 , 256,9 , 233,8 , 319,7 , 5,17 , 22,23 , {82,83,68}, 293,3 , 12174,58 , 19,5 , 24,7 , 3600,6 , 3615,6 , 0, 0, 1, 6, 7 }, // Serbian/Latin/Serbia +- { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9086,26 , 9112,55 , 8907,14 , 9086,26 , 9112,55 , 8907,14 , 265,11 , 225,8 , 782,7 , 5,17 , 22,23 , {66,65,77}, 296,2 , 12232,174 , 19,5 , 24,7 , 3588,6 , 3621,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Bosnia And Herzegowina +- { 100, 2, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8827,28 , 9112,55 , 8907,14 , 8827,28 , 9112,55 , 8907,14 , 265,11 , 225,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12406,23 , 19,5 , 24,7 , 3588,6 , 3640,9 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Montenegro +- { 100, 2, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8827,28 , 8855,52 , 8907,14 , 8827,28 , 8855,52 , 8907,14 , 236,9 , 225,8 , 782,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12406,23 , 19,5 , 24,7 , 3588,6 , 3649,6 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Kosovo +- { 100, 7, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 158,7 , 158,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9004,28 , 9032,54 , 2129,14 , 9004,28 , 9032,54 , 2129,14 , 256,9 , 233,8 , 319,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12151,23 , 19,5 , 24,7 , 3600,6 , 3655,6 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Kosovo +- { 101, 2, 81, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 619,9 , 619,9 , 156,8 , 1118,23 , 37,5 , 8,10 , 9167,28 , 9195,61 , 9256,14 , 9270,28 , 9298,61 , 9256,14 , 276,15 , 241,15 , 45,4 , 5,17 , 22,23 , {71,69,76}, 231,1 , 12429,17 , 8,5 , 4,0 , 3661,4 , 3665,11 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Georgia +- { 101, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 619,9 , 619,9 , 156,8 , 1118,23 , 37,5 , 8,10 , 9167,28 , 9195,61 , 9256,14 , 9270,28 , 9298,61 , 9256,14 , 276,15 , 241,15 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 12446,17 , 8,5 , 4,0 , 3661,4 , 3676,6 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Russia ++ { 87, 26, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 541,8 , 549,7 , 547,6 , 35,18 , 18,7 , 25,12 , 7650,33 , 7683,54 , 7737,18 , 7650,33 , 7683,54 , 7737,18 , 0,2 , 0,2 , 764,5 , 5,17 , 22,23 , {73,78,82}, 121,1 , 10134,43 , 4,4 , 13,6 , 3229,5 , 3234,4 , 2, 1, 7, 7, 7 }, // Oriya/Oriya/India ++ { 88, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 556,6 , 556,6 , 562,9 , 571,8 , 394,8 , 1048,20 , 55,4 , 198,11 , 7755,39 , 7755,39 , 85,14 , 7755,39 , 7755,39 , 85,14 , 202,4 , 193,4 , 769,5 , 5,17 , 22,23 , {65,70,78}, 272,1 , 10177,25 , 4,4 , 13,6 , 3238,4 , 3242,9 , 0, 0, 6, 4, 5 }, // Pashto/Arabic/Afghanistan ++ { 88, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 556,6 , 556,6 , 562,9 , 571,8 , 394,8 , 1048,20 , 18,7 , 25,12 , 7755,39 , 7755,39 , 85,14 , 7755,39 , 7755,39 , 85,14 , 202,4 , 193,4 , 769,5 , 5,17 , 22,23 , {80,75,82}, 176,2 , 10202,52 , 4,4 , 13,6 , 3238,4 , 3251,7 , 2, 0, 7, 6, 7 }, // Pashto/Arabic/Pakistan ++ { 89, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 198,11 , 7794,49 , 7794,49 , 7843,14 , 7794,49 , 7794,49 , 7843,14 , 206,9 , 197,8 , 774,4 , 778,42 , 22,23 , {73,82,82}, 273,4 , 10254,37 , 54,6 , 60,8 , 3258,5 , 3263,5 , 0, 0, 6, 5, 5 }, // Persian/Arabic/Iran ++ { 89, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 579,7 , 579,7 , 586,8 , 594,7 , 394,8 , 97,16 , 55,4 , 198,11 , 7794,49 , 7794,49 , 7843,14 , 7794,49 , 7794,49 , 7843,14 , 206,9 , 197,8 , 774,4 , 778,42 , 22,23 , {65,70,78}, 272,1 , 10291,55 , 8,5 , 60,8 , 3268,3 , 3242,9 , 0, 0, 6, 4, 5 }, // Persian/Arabic/Afghanistan ++ { 90, 7, 172, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 159,7 , 159,7 , 495,10 , 10,17 , 37,5 , 8,10 , 7857,34 , 7891,59 , 7950,14 , 7857,34 , 7891,59 , 7964,14 , 0,2 , 0,2 , 305,5 , 5,17 , 22,23 , {80,76,78}, 277,2 , 10346,77 , 19,5 , 24,7 , 3271,6 , 3277,6 , 2, 1, 1, 6, 7 }, // Polish/Latin/Poland ++ { 91, 7, 30, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 250,7 , 250,7 , 119,10 , 669,27 , 37,5 , 8,10 , 7978,35 , 8013,79 , 8092,14 , 7978,35 , 8013,79 , 8092,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,82,76}, 279,2 , 10423,54 , 8,5 , 4,0 , 3283,9 , 3292,6 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Brazil ++ { 91, 7, 6, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {65,79,65}, 258,2 , 10477,54 , 19,5 , 24,7 , 3283,9 , 3298,6 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Angola ++ { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 281,1 , 10531,69 , 19,5 , 24,7 , 3283,9 , 3304,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Cape Verde ++ { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 159,3 , 10600,81 , 19,5 , 24,7 , 3283,9 , 3314,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/East Timor ++ { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10681,59 , 19,5 , 24,7 , 3283,9 , 3325,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Equatorial Guinea ++ { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 207,3 , 10740,62 , 19,5 , 24,7 , 3283,9 , 3341,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Guinea Bissau ++ { 91, 7, 125, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 3283,9 , 3353,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Luxembourg ++ { 91, 7, 126, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 18,7 , 25,12 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {77,79,80}, 137,4 , 10802,54 , 19,5 , 24,7 , 3283,9 , 3363,19 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Macau ++ { 91, 7, 146, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {77,90,78}, 282,3 , 10856,66 , 19,5 , 24,7 , 3283,9 , 3382,10 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Mozambique ++ { 91, 7, 173, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 24,7 , 3392,17 , 3409,8 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Portugal ++ { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 285,2 , 10922,92 , 19,5 , 24,7 , 3283,9 , 3417,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Sao Tome And Principe ++ { 91, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 669,27 , 37,5 , 8,10 , 8106,49 , 8013,79 , 8092,14 , 8106,49 , 8013,79 , 8092,14 , 215,8 , 205,8 , 0,5 , 5,17 , 22,23 , {67,72,70}, 228,3 , 11014,45 , 19,5 , 24,7 , 3283,9 , 3436,5 , 2, 0, 1, 6, 7 }, // Portuguese/Latin/Switzerland ++ { 92, 4, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 601,9 , 601,9 , 269,6 , 10,17 , 18,7 , 25,12 , 8155,36 , 8191,57 , 8248,23 , 8155,36 , 8191,57 , 8248,23 , 223,6 , 213,6 , 820,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 11059,39 , 8,5 , 4,0 , 3441,6 , 3447,4 , 2, 1, 7, 7, 7 }, // Punjabi/Gurmukhi/India ++ { 92, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 553,18 , 18,7 , 25,12 , 8271,37 , 8271,37 , 85,14 , 8271,37 , 8271,37 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 287,1 , 11098,13 , 8,5 , 4,0 , 3451,6 , 3251,7 , 2, 0, 7, 6, 7 }, // Punjabi/Arabic/Pakistan ++ { 93, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {80,69,78}, 288,2 , 11111,29 , 8,5 , 4,0 , 3457,8 , 3465,4 , 2, 1, 7, 6, 7 }, // Quechua/Latin/Peru ++ { 93, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {66,79,66}, 290,2 , 11140,25 , 8,5 , 4,0 , 3457,8 , 3469,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Bolivia ++ { 93, 7, 63, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 192,18 , 37,5 , 8,10 , 8308,28 , 8336,53 , 8389,14 , 8308,28 , 8336,53 , 8389,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 11165,37 , 8,5 , 4,0 , 3457,8 , 3476,7 , 2, 1, 1, 6, 7 }, // Quechua/Latin/Ecuador ++ { 94, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 250,7 , 250,7 , 339,8 , 1068,23 , 37,5 , 8,10 , 8403,23 , 8426,56 , 8482,14 , 8403,23 , 8426,56 , 8482,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {67,72,70}, 228,3 , 11202,48 , 19,5 , 4,0 , 3483,9 , 3492,6 , 2, 0, 1, 6, 7 }, // Romansh/Latin/Switzerland ++ { 95, 7, 177, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8496,34 , 8530,48 , 3107,14 , 8496,34 , 8530,48 , 3107,14 , 64,4 , 61,4 , 824,4 , 5,17 , 22,23 , {82,79,78}, 292,3 , 11250,57 , 19,5 , 24,7 , 3498,6 , 3504,7 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Romania ++ { 95, 7, 141, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 610,8 , 610,8 , 495,10 , 10,17 , 37,5 , 8,10 , 8578,28 , 8530,48 , 8606,16 , 8578,28 , 8530,48 , 8606,16 , 64,4 , 61,4 , 824,4 , 5,17 , 22,23 , {77,68,76}, 295,1 , 11307,69 , 19,5 , 24,7 , 3498,6 , 3511,17 , 2, 1, 1, 6, 7 }, // Romanian/Latin/Moldova ++ { 96, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {82,85,66}, 123,1 , 11376,89 , 19,5 , 4,0 , 3528,7 , 3535,6 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Russia ++ { 96, 2, 20, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {66,89,78}, 0,2 , 11465,94 , 19,5 , 4,0 , 3528,7 , 510,8 , 2, 0, 1, 6, 7 }, // Russian/Cyrillic/Belarus ++ { 96, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {75,90,84}, 248,1 , 11559,83 , 19,5 , 4,0 , 3528,7 , 3541,9 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kazakhstan ++ { 96, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {75,71,83}, 249,3 , 11642,82 , 19,5 , 4,0 , 3528,7 , 3550,8 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kyrgyzstan ++ { 96, 2, 141, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {77,68,76}, 295,1 , 11724,79 , 19,5 , 4,0 , 3528,7 , 3558,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Moldova ++ { 96, 2, 222, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 111,7 , 111,7 , 495,10 , 317,22 , 37,5 , 8,10 , 8622,21 , 8643,62 , 8705,14 , 8622,21 , 8643,62 , 8622,21 , 0,2 , 0,2 , 269,5 , 728,17 , 22,23 , {85,65,72}, 296,1 , 11803,92 , 19,5 , 4,0 , 3528,7 , 3565,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Ukraine ++ { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 8719,28 , 8747,66 , 8813,14 , 8719,28 , 8747,66 , 8813,14 , 229,2 , 219,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11895,25 , 4,4 , 44,5 , 3572,5 , 3577,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/Central African Republic ++ { 99, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 618,10 , 628,9 , 269,6 , 10,17 , 18,7 , 25,12 , 4304,32 , 8827,67 , 4389,19 , 4304,32 , 8827,67 , 4389,19 , 193,9 , 186,7 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 11920,37 , 8,5 , 4,0 , 3599,12 , 3611,5 , 2, 1, 7, 7, 7 }, // Sanskrit/Devanagari/India ++ { 100, 2, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8894,28 , 8922,52 , 8974,14 , 8894,28 , 8922,52 , 8974,14 , 231,9 , 221,8 , 828,7 , 5,17 , 22,23 , {82,83,68}, 297,3 , 11957,58 , 19,5 , 24,7 , 3616,6 , 3622,6 , 0, 0, 1, 6, 7 }, // Serbian/Cyrillic/Serbia ++ { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 2043,28 , 2071,58 , 2129,14 , 8988,28 , 2071,58 , 2129,14 , 240,11 , 229,8 , 298,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 12015,170 , 19,5 , 24,7 , 3628,6 , 629,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Bosnia And Herzegowina ++ { 100, 7, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8988,28 , 9016,57 , 2129,14 , 8988,28 , 9016,57 , 2129,14 , 240,11 , 229,8 , 298,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12185,23 , 19,5 , 24,7 , 3628,6 , 3634,9 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Montenegro ++ { 100, 7, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8988,28 , 9073,54 , 2129,14 , 8988,28 , 9073,54 , 2129,14 , 251,9 , 229,8 , 298,7 , 5,17 , 22,23 , {82,83,68}, 297,3 , 12208,58 , 19,5 , 24,7 , 3628,6 , 3643,6 , 0, 0, 1, 6, 7 }, // Serbian/Latin/Serbia ++ { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9127,28 , 9155,56 , 8974,14 , 8894,28 , 9155,56 , 8974,14 , 260,11 , 221,8 , 828,7 , 5,17 , 22,23 , {66,65,77}, 300,2 , 12266,170 , 19,5 , 24,7 , 3616,6 , 3649,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Bosnia And Herzegowina ++ { 100, 2, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8894,28 , 9211,55 , 8974,14 , 8894,28 , 9211,55 , 8974,14 , 260,11 , 221,8 , 828,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12436,23 , 19,5 , 24,7 , 3616,6 , 3668,9 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Montenegro ++ { 100, 2, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8894,28 , 8922,52 , 8974,14 , 8894,28 , 8922,52 , 8974,14 , 231,9 , 221,8 , 828,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12436,23 , 19,5 , 24,7 , 3616,6 , 3677,6 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Kosovo ++ { 100, 7, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 159,7 , 159,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 8988,28 , 9073,54 , 2129,14 , 8988,28 , 9073,54 , 2129,14 , 251,9 , 229,8 , 298,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12185,23 , 19,5 , 24,7 , 3628,6 , 3683,6 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Kosovo ++ { 101, 2, 81, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 637,9 , 637,9 , 156,8 , 1118,23 , 37,5 , 8,10 , 9266,28 , 9294,61 , 9355,14 , 9369,28 , 9397,61 , 9355,14 , 271,15 , 237,15 , 45,4 , 5,17 , 22,23 , {71,69,76}, 235,1 , 12459,17 , 8,5 , 4,0 , 3689,4 , 3693,11 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Georgia ++ { 101, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 637,9 , 637,9 , 156,8 , 1118,23 , 37,5 , 8,10 , 9266,28 , 9294,61 , 9355,14 , 9369,28 , 9397,61 , 9355,14 , 271,15 , 237,15 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 12476,17 , 8,5 , 4,0 , 3689,4 , 3704,6 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Russia + { 102, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Southern Sotho/Latin/South Africa + { 103, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tswana/Latin/South Africa +- { 104, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 9359,28 , 9387,55 , 9442,14 , 9359,28 , 9387,55 , 9442,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 12463,22 , 4,4 , 13,6 , 3682,8 , 1815,8 , 2, 1, 7, 6, 7 }, // Shona/Latin/Zimbabwe +- { 105, 1, 163, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 628,8 , 636,7 , 53,10 , 63,17 , 18,7 , 25,12 , 9456,35 , 9456,35 , 9491,31 , 9456,35 , 9456,35 , 9491,31 , 291,11 , 256,11 , 789,6 , 795,61 , 22,23 , {80,75,82}, 176,2 , 12485,43 , 19,5 , 4,0 , 3690,4 , 3694,7 , 2, 0, 7, 6, 7 }, // Sindhi/Arabic/Pakistan +- { 105, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 359,7 , 414,12 , 9522,25 , 9547,27 , 9574,20 , 9594,28 , 9622,41 , 9663,19 , 302,16 , 267,13 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 12528,24 , 8,5 , 4,0 , 3701,6 , 2662,4 , 2, 1, 7, 7, 7 }, // Sindhi/Devanagari/India +- { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 643,9 , 652,8 , 53,10 , 63,17 , 205,5 , 210,10 , 9682,39 , 9721,62 , 9783,19 , 9682,39 , 9721,62 , 9783,19 , 318,5 , 280,4 , 856,5 , 861,42 , 22,23 , {76,75,82}, 298,3 , 12552,58 , 4,4 , 13,6 , 3707,5 , 3712,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/Sri Lanka ++ { 104, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 9458,28 , 9486,55 , 9541,14 , 9458,28 , 9486,55 , 9541,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 12493,22 , 4,4 , 13,6 , 3710,8 , 1819,8 , 2, 1, 7, 6, 7 }, // Shona/Latin/Zimbabwe ++ { 105, 1, 163, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 646,8 , 654,7 , 53,10 , 63,17 , 18,7 , 25,12 , 9555,35 , 9555,35 , 9590,31 , 9555,35 , 9555,35 , 9590,31 , 286,11 , 252,11 , 835,6 , 841,25 , 22,23 , {80,75,82}, 176,2 , 12515,43 , 19,5 , 4,0 , 3718,4 , 3722,7 , 2, 0, 7, 6, 7 }, // Sindhi/Arabic/Pakistan ++ { 105, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 393,7 , 437,12 , 9621,25 , 9646,27 , 9673,20 , 9693,28 , 9721,41 , 9762,19 , 297,16 , 263,13 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 12558,24 , 8,5 , 4,0 , 3729,6 , 2666,4 , 2, 1, 7, 7, 7 }, // Sindhi/Devanagari/India ++ { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 661,9 , 670,8 , 53,10 , 63,17 , 239,5 , 244,10 , 9781,39 , 9820,62 , 9882,19 , 9781,39 , 9820,62 , 9882,19 , 313,5 , 276,4 , 866,5 , 871,42 , 22,23 , {76,75,82}, 302,3 , 12582,58 , 4,4 , 13,6 , 3735,5 , 3740,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/Sri Lanka + { 107, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Swati/Latin/South Africa +- { 108, 7, 191, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 180,7 , 660,7 , 1141,10 , 478,17 , 55,4 , 59,9 , 9802,21 , 9823,52 , 9875,14 , 9802,21 , 9823,52 , 9875,14 , 0,2 , 0,2 , 326,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12610,26 , 19,5 , 24,7 , 3723,10 , 3733,9 , 2, 1, 1, 6, 7 }, // Slovak/Latin/Slovakia +- { 109, 7, 192, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 667,8 , 667,8 , 1151,9 , 1160,19 , 37,5 , 8,10 , 9889,35 , 9924,52 , 9976,14 , 9889,35 , 9924,52 , 9976,14 , 60,4 , 284,4 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12636,28 , 19,5 , 24,7 , 3742,11 , 3753,9 , 2, 1, 1, 6, 7 }, // Slovenian/Latin/Slovenia +- { 110, 7, 194, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 675,9 , 675,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 9990,32 , 10022,47 , 10069,15 , 9990,32 , 10022,47 , 10069,15 , 323,2 , 288,2 , 903,6 , 909,17 , 22,23 , {83,79,83}, 94,1 , 12664,27 , 4,4 , 13,6 , 3762,8 , 3770,10 , 0, 0, 1, 6, 7 }, // Somali/Latin/Somalia +- { 110, 7, 59, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 675,9 , 675,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 9990,32 , 10022,47 , 10069,15 , 9990,32 , 10022,47 , 10069,15 , 323,2 , 288,2 , 903,6 , 909,17 , 22,23 , {68,74,70}, 38,3 , 12691,50 , 4,4 , 13,6 , 3762,8 , 3780,7 , 0, 0, 6, 6, 7 }, // Somali/Latin/Djibouti +- { 110, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 675,9 , 675,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 9990,32 , 10022,47 , 10069,15 , 9990,32 , 10022,47 , 10069,15 , 323,2 , 288,2 , 903,6 , 909,17 , 22,23 , {69,84,66}, 0,2 , 12741,52 , 4,4 , 13,6 , 3762,8 , 3787,8 , 2, 1, 7, 6, 7 }, // Somali/Latin/Ethiopia +- { 110, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 675,9 , 675,9 , 27,8 , 1179,19 , 37,5 , 8,10 , 9990,32 , 10022,47 , 10069,15 , 9990,32 , 10022,47 , 10069,15 , 323,2 , 288,2 , 903,6 , 909,17 , 22,23 , {75,69,83}, 2,3 , 12793,52 , 4,4 , 13,6 , 3762,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Somali/Latin/Kenya +- { 111, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 55,4 , 403,11 , 10084,35 , 10119,53 , 8389,14 , 10084,35 , 10119,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3795,17 , 2427,6 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Spain +- { 111, 7, 10, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {65,82,83}, 6,1 , 12845,51 , 8,5 , 37,7 , 3812,7 , 3819,9 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Argentina +- { 111, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 12896,52 , 4,4 , 4,0 , 3812,7 , 3828,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Belize +- { 111, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,79,66}, 286,2 , 12948,35 , 4,4 , 4,0 , 3812,7 , 3458,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Bolivia +- { 111, 7, 30, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {66,82,76}, 275,2 , 12983,52 , 4,4 , 4,0 , 3812,7 , 3281,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Brazil +- { 111, 7, 43, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 339,8 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,76,80}, 6,1 , 13035,45 , 4,4 , 4,0 , 3812,7 , 3834,5 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Chile +- { 111, 7, 47, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 571,7 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 4796,14 , 10084,35 , 10119,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,79,80}, 6,1 , 13080,54 , 4,4 , 4,0 , 3812,7 , 3839,8 , 2, 0, 7, 6, 7 }, // Spanish/Latin/Colombia +- { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 301,1 , 13134,67 , 4,4 , 4,0 , 3812,7 , 3847,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/Costa Rica +- { 111, 7, 55, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {67,85,80}, 6,1 , 13201,42 , 4,4 , 4,0 , 3812,7 , 3857,4 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Cuba +- { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 302,3 , 13243,54 , 4,4 , 13,6 , 3812,7 , 3861,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Dominican Republic +- { 111, 7, 63, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13297,70 , 4,4 , 4,0 , 3812,7 , 3465,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ecuador +- { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13297,70 , 4,4 , 4,0 , 3812,7 , 3881,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/El Salvador +- { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 55,4 , 403,11 , 10084,35 , 10119,53 , 8389,14 , 10084,35 , 10119,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 13367,92 , 19,5 , 4,0 , 3812,7 , 3892,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Equatorial Guinea +- { 111, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 571,7 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {71,84,81}, 305,1 , 13459,30 , 4,4 , 4,0 , 3812,7 , 3909,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Guatemala +- { 111, 7, 96, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 1198,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {72,78,76}, 291,1 , 13489,60 , 4,4 , 4,0 , 3812,7 , 3918,8 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Honduras +- { 111, 7, 139, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 27,8 , 669,27 , 55,4 , 59,9 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {77,88,78}, 6,1 , 13549,48 , 4,4 , 4,0 , 3926,17 , 3943,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Mexico +- { 111, 7, 155, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {78,73,79}, 306,2 , 13597,69 , 4,4 , 4,0 , 3812,7 , 3949,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Nicaragua +- { 111, 7, 166, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 1225,8 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,65,66}, 308,3 , 13666,54 , 4,4 , 4,0 , 3812,7 , 3958,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Panama +- { 111, 7, 168, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,89,71}, 311,3 , 13720,61 , 4,4 , 4,0 , 3812,7 , 3964,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Paraguay +- { 111, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 571,7 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,69,78}, 284,2 , 13781,43 , 4,4 , 4,0 , 3812,7 , 3454,4 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Peru +- { 111, 7, 170, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 8389,14 , 10084,35 , 10119,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 13824,48 , 19,5 , 4,0 , 3812,7 , 3972,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Philippines +- { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 1225,8 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13297,70 , 4,4 , 4,0 , 3812,7 , 1446,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Puerto Rico +- { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 415,8 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13297,70 , 4,4 , 4,0 , 3812,7 , 3981,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/United States +- { 111, 7, 227, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,89,85}, 6,1 , 13872,48 , 8,5 , 37,7 , 3812,7 , 3995,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Uruguay +- { 111, 7, 231, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {86,69,83}, 314,4 , 13920,58 , 4,4 , 4,0 , 3812,7 , 4002,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Venezuela +- { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 55,4 , 403,11 , 10084,35 , 10119,53 , 8389,14 , 10084,35 , 10119,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3812,7 , 4011,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Canary Islands +- { 111, 7, 246, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10084,35 , 10119,53 , 3107,14 , 10084,35 , 10119,53 , 4796,14 , 64,4 , 61,4 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 4019,23 , 4042,13 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Latin America +- { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 669,27 , 55,4 , 403,11 , 10084,35 , 10119,53 , 8389,14 , 10084,35 , 10119,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3812,7 , 4055,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ceuta And Melilla +- { 112, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 691,13 , 704,12 , 269,6 , 10,17 , 220,4 , 224,9 , 10172,28 , 10200,44 , 4697,14 , 10172,28 , 10200,44 , 4697,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 238,2 , 13978,37 , 8,5 , 4,0 , 4070,10 , 0,0 , 2, 0, 7, 6, 7 }, // Sundanese/Latin/Indonesia +- { 113, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 716,8 , 716,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10244,60 , 10244,60 , 85,14 , 10244,60 , 10244,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {84,90,83}, 192,3 , 14015,67 , 8,5 , 4,0 , 4080,9 , 1620,8 , 2, 0, 1, 6, 7 }, // Swahili/Latin/Tanzania +- { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 716,8 , 716,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10244,60 , 10244,60 , 85,14 , 10244,60 , 10244,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {67,68,70}, 210,2 , 14082,55 , 8,5 , 4,0 , 4080,9 , 4089,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/Congo Kinshasa +- { 113, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 716,8 , 716,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10244,60 , 10244,60 , 85,14 , 10244,60 , 10244,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {75,69,83}, 2,3 , 14137,58 , 8,5 , 4,0 , 4080,9 , 1191,5 , 2, 1, 7, 6, 7 }, // Swahili/Latin/Kenya +- { 113, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 716,8 , 716,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10244,60 , 10244,60 , 85,14 , 10244,60 , 10244,60 , 85,14 , 0,2 , 0,2 , 627,5 , 926,51 , 22,23 , {85,71,88}, 197,3 , 14195,61 , 8,5 , 4,0 , 4080,9 , 1685,6 , 0, 0, 1, 7, 7 }, // Swahili/Latin/Uganda +- { 114, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 724,9 , 724,9 , 53,10 , 97,16 , 37,5 , 426,16 , 10304,29 , 10333,50 , 2320,14 , 10304,29 , 10333,50 , 2320,14 , 325,2 , 290,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 14256,45 , 19,5 , 4,0 , 4121,7 , 4128,7 , 2, 0, 1, 6, 7 }, // Swedish/Latin/Sweden +- { 114, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 724,9 , 724,9 , 53,10 , 97,16 , 37,5 , 426,16 , 10304,29 , 10333,50 , 2320,14 , 10304,29 , 10333,50 , 2320,14 , 325,2 , 290,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9131,19 , 19,5 , 4,0 , 4121,7 , 1088,7 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Finland +- { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 724,9 , 724,9 , 53,10 , 97,16 , 37,5 , 426,16 , 10304,29 , 10333,50 , 2320,14 , 10304,29 , 10333,50 , 2320,14 , 325,2 , 290,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9131,19 , 19,5 , 4,0 , 4121,7 , 4135,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Aland Islands ++ { 108, 7, 191, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 181,7 , 678,7 , 1141,10 , 478,17 , 55,4 , 59,9 , 9901,21 , 9922,52 , 9974,14 , 9901,21 , 9922,52 , 9974,14 , 0,2 , 0,2 , 305,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12640,26 , 19,5 , 24,7 , 3751,10 , 3761,9 , 2, 1, 1, 6, 7 }, // Slovak/Latin/Slovakia ++ { 109, 7, 192, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 685,8 , 685,8 , 1151,9 , 1160,19 , 37,5 , 8,10 , 9988,35 , 10023,52 , 10075,14 , 9988,35 , 10023,52 , 10075,14 , 60,4 , 280,4 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12666,28 , 19,5 , 24,7 , 3770,11 , 3781,9 , 2, 1, 1, 6, 7 }, // Slovenian/Latin/Slovenia ++ { 110, 7, 194, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 693,9 , 693,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 10089,32 , 10121,47 , 10168,15 , 10089,32 , 10121,47 , 10168,15 , 318,2 , 284,2 , 913,6 , 919,17 , 22,23 , {83,79,83}, 94,1 , 12694,27 , 4,4 , 13,6 , 3790,8 , 3798,10 , 0, 0, 1, 6, 7 }, // Somali/Latin/Somalia ++ { 110, 7, 59, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 693,9 , 693,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 10089,32 , 10121,47 , 10168,15 , 10089,32 , 10121,47 , 10168,15 , 318,2 , 284,2 , 913,6 , 919,17 , 22,23 , {68,74,70}, 38,3 , 12721,50 , 4,4 , 13,6 , 3790,8 , 3808,7 , 0, 0, 6, 6, 7 }, // Somali/Latin/Djibouti ++ { 110, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 693,9 , 693,9 , 27,8 , 1179,19 , 18,7 , 25,12 , 10089,32 , 10121,47 , 10168,15 , 10089,32 , 10121,47 , 10168,15 , 318,2 , 284,2 , 913,6 , 919,17 , 22,23 , {69,84,66}, 0,2 , 12771,52 , 4,4 , 13,6 , 3790,8 , 3815,8 , 2, 1, 7, 6, 7 }, // Somali/Latin/Ethiopia ++ { 110, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 693,9 , 693,9 , 27,8 , 1179,19 , 37,5 , 8,10 , 10089,32 , 10121,47 , 10168,15 , 10089,32 , 10121,47 , 10168,15 , 318,2 , 284,2 , 913,6 , 919,17 , 22,23 , {75,69,83}, 2,3 , 12823,52 , 4,4 , 13,6 , 3790,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Somali/Latin/Kenya ++ { 111, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 55,4 , 198,11 , 10183,28 , 10211,53 , 8389,14 , 10183,28 , 10211,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3823,17 , 2431,6 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Spain ++ { 111, 7, 10, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {65,82,83}, 6,1 , 12875,51 , 8,5 , 37,7 , 3840,7 , 3847,9 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Argentina ++ { 111, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 12926,52 , 4,4 , 4,0 , 3840,7 , 3856,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Belize ++ { 111, 7, 26, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,79,66}, 290,2 , 12978,35 , 4,4 , 4,0 , 3840,7 , 3469,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Bolivia ++ { 111, 7, 30, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {66,82,76}, 279,2 , 13013,52 , 4,4 , 4,0 , 3840,7 , 3292,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Brazil ++ { 111, 7, 43, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 339,8 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,76,80}, 6,1 , 13065,45 , 4,4 , 4,0 , 3840,7 , 3862,5 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Chile ++ { 111, 7, 47, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 571,7 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 4796,14 , 10183,28 , 10211,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,79,80}, 6,1 , 13110,54 , 4,4 , 4,0 , 3840,7 , 3867,8 , 2, 0, 7, 6, 7 }, // Spanish/Latin/Colombia ++ { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 305,1 , 13164,67 , 4,4 , 4,0 , 3840,7 , 3875,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/Costa Rica ++ { 111, 7, 55, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {67,85,80}, 6,1 , 13231,42 , 4,4 , 4,0 , 3840,7 , 3885,4 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Cuba ++ { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 306,3 , 13273,54 , 4,4 , 13,6 , 3840,7 , 3889,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Dominican Republic ++ { 111, 7, 63, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13327,70 , 4,4 , 4,0 , 3840,7 , 3476,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ecuador ++ { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13327,70 , 4,4 , 4,0 , 3840,7 , 3909,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/El Salvador ++ { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 55,4 , 198,11 , 10183,28 , 10211,53 , 8389,14 , 10183,28 , 10211,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 13397,92 , 19,5 , 4,0 , 3840,7 , 3920,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Equatorial Guinea ++ { 111, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 571,7 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {71,84,81}, 309,1 , 13489,30 , 4,4 , 4,0 , 3840,7 , 3937,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Guatemala ++ { 111, 7, 96, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 1198,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {72,78,76}, 295,1 , 13519,60 , 4,4 , 4,0 , 3840,7 , 3946,8 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Honduras ++ { 111, 7, 139, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 27,8 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {77,88,78}, 6,1 , 13579,48 , 4,4 , 4,0 , 3954,17 , 3971,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Mexico ++ { 111, 7, 155, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {78,73,79}, 310,2 , 13627,69 , 4,4 , 4,0 , 3840,7 , 3977,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Nicaragua ++ { 111, 7, 166, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 1225,8 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,65,66}, 312,3 , 13696,54 , 4,4 , 4,0 , 3840,7 , 3986,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Panama ++ { 111, 7, 168, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,89,71}, 315,3 , 13750,61 , 4,4 , 4,0 , 3840,7 , 3992,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Paraguay ++ { 111, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 571,7 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,69,78}, 288,2 , 13811,43 , 4,4 , 4,0 , 3840,7 , 3465,4 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Peru ++ { 111, 7, 170, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10183,28 , 10211,53 , 8389,14 , 10183,28 , 10211,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 13854,48 , 19,5 , 4,0 , 3840,7 , 4000,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Philippines ++ { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 1225,8 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13327,70 , 4,4 , 4,0 , 3840,7 , 1446,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Puerto Rico ++ { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 415,8 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 3107,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 13327,70 , 4,4 , 4,0 , 3840,7 , 4009,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/United States ++ { 111, 7, 227, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {85,89,85}, 6,1 , 13902,48 , 8,5 , 37,7 , 3840,7 , 4023,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Uruguay ++ { 111, 7, 231, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 18,7 , 25,12 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {86,69,83}, 318,4 , 13950,58 , 4,4 , 4,0 , 3840,7 , 4030,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Venezuela ++ { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 55,4 , 198,11 , 10183,28 , 10211,53 , 8389,14 , 10183,28 , 10211,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3840,7 , 4039,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Canary Islands ++ { 111, 7, 246, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 37,5 , 8,10 , 10264,35 , 10211,53 , 3107,14 , 10183,28 , 10211,53 , 4796,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 4047,23 , 4070,13 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Latin America ++ { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 669,27 , 55,4 , 198,11 , 10183,28 , 10211,53 , 8389,14 , 10183,28 , 10211,53 , 8389,14 , 53,5 , 50,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 3840,7 , 4083,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ceuta And Melilla ++ { 112, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 709,13 , 722,12 , 269,6 , 10,17 , 254,4 , 258,9 , 10299,28 , 10327,44 , 4697,14 , 10299,28 , 10327,44 , 4697,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 242,2 , 14008,37 , 4,4 , 4,0 , 4098,10 , 0,0 , 2, 0, 7, 6, 7 }, // Sundanese/Latin/Indonesia ++ { 113, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 734,8 , 734,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10371,60 , 10371,60 , 85,14 , 10371,60 , 10371,60 , 85,14 , 0,2 , 0,2 , 675,5 , 936,51 , 22,23 , {84,90,83}, 192,3 , 14045,67 , 8,5 , 4,0 , 4108,9 , 1624,8 , 2, 0, 1, 6, 7 }, // Swahili/Latin/Tanzania ++ { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 734,8 , 734,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10371,60 , 10371,60 , 85,14 , 10371,60 , 10371,60 , 85,14 , 0,2 , 0,2 , 675,5 , 936,51 , 22,23 , {67,68,70}, 214,2 , 14112,55 , 8,5 , 4,0 , 4108,9 , 4117,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/Congo Kinshasa ++ { 113, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 734,8 , 734,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10371,60 , 10371,60 , 85,14 , 10371,60 , 10371,60 , 85,14 , 0,2 , 0,2 , 675,5 , 936,51 , 22,23 , {75,69,83}, 2,3 , 14167,58 , 8,5 , 4,0 , 4108,9 , 1191,5 , 2, 1, 7, 6, 7 }, // Swahili/Latin/Kenya ++ { 113, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 734,8 , 734,8 , 119,10 , 10,17 , 37,5 , 8,10 , 10371,60 , 10371,60 , 85,14 , 10371,60 , 10371,60 , 85,14 , 0,2 , 0,2 , 675,5 , 936,51 , 22,23 , {85,71,88}, 197,3 , 14225,61 , 8,5 , 4,0 , 4108,9 , 1689,6 , 0, 0, 1, 7, 7 }, // Swahili/Latin/Uganda ++ { 114, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 742,9 , 742,9 , 53,10 , 97,16 , 37,5 , 8,10 , 10431,29 , 10460,50 , 2320,14 , 10431,29 , 10460,50 , 2320,14 , 320,2 , 286,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 14286,45 , 19,5 , 4,0 , 4149,7 , 4156,7 , 2, 0, 1, 6, 7 }, // Swedish/Latin/Sweden ++ { 114, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 742,9 , 742,9 , 53,10 , 97,16 , 37,5 , 8,10 , 10431,29 , 10460,50 , 2320,14 , 10431,29 , 10460,50 , 2320,14 , 320,2 , 286,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9130,19 , 19,5 , 4,0 , 4149,7 , 1088,7 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Finland ++ { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 742,9 , 742,9 , 53,10 , 97,16 , 37,5 , 8,10 , 10431,29 , 10460,50 , 2320,14 , 10431,29 , 10460,50 , 2320,14 , 320,2 , 286,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9130,19 , 19,5 , 4,0 , 4149,7 , 4163,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Aland Islands + { 115, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sardinian/Latin/Italy +- { 116, 2, 209, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 553,18 , 37,5 , 8,10 , 10383,28 , 10411,55 , 10466,14 , 10383,28 , 10411,55 , 10466,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,74,83}, 318,4 , 14301,19 , 19,5 , 4,0 , 4140,6 , 4146,10 , 2, 1, 1, 6, 7 }, // Tajik/Cyrillic/Tajikistan +- { 117, 27, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 733,13 , 733,13 , 269,6 , 192,18 , 359,7 , 414,12 , 10480,39 , 10519,49 , 10568,20 , 10480,39 , 10519,49 , 10568,20 , 327,8 , 292,8 , 977,7 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14320,49 , 4,4 , 13,6 , 4156,5 , 4161,7 , 2, 1, 7, 7, 7 }, // Tamil/Tamil/India +- { 117, 27, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 733,13 , 733,13 , 269,6 , 192,18 , 359,7 , 414,12 , 10480,39 , 10519,49 , 10568,20 , 10480,39 , 10519,49 , 10568,20 , 327,8 , 292,8 , 977,7 , 5,17 , 22,23 , {77,89,82}, 174,2 , 14369,61 , 4,4 , 13,6 , 4156,5 , 4168,7 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Malaysia +- { 117, 27, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 733,13 , 733,13 , 269,6 , 192,18 , 359,7 , 414,12 , 10480,39 , 10519,49 , 10568,20 , 10480,39 , 10519,49 , 10568,20 , 327,8 , 292,8 , 977,7 , 5,17 , 22,23 , {83,71,68}, 6,1 , 14430,61 , 4,4 , 13,6 , 4156,5 , 4175,11 , 2, 1, 7, 6, 7 }, // Tamil/Tamil/Singapore +- { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 733,13 , 733,13 , 269,6 , 192,18 , 37,5 , 8,10 , 10480,39 , 10519,49 , 10568,20 , 10480,39 , 10519,49 , 10568,20 , 327,8 , 292,8 , 977,7 , 5,17 , 22,23 , {76,75,82}, 322,3 , 14491,49 , 4,4 , 13,6 , 4156,5 , 4186,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Sri Lanka +- { 118, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 746,9 , 746,9 , 495,10 , 1233,23 , 55,4 , 59,9 , 10588,36 , 10624,56 , 10680,14 , 10588,36 , 10624,56 , 10680,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 14540,21 , 19,5 , 4,0 , 4192,5 , 3524,6 , 2, 1, 1, 6, 7 }, // Tatar/Cyrillic/Russia +- { 119, 28, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 755,11 , 755,11 , 339,8 , 1256,18 , 18,7 , 25,12 , 10694,32 , 10726,60 , 10786,18 , 10694,32 , 10726,60 , 10786,18 , 0,2 , 0,2 , 984,7 , 991,29 , 22,23 , {73,78,82}, 121,1 , 14561,26 , 4,4 , 13,6 , 4197,6 , 4203,8 , 2, 1, 7, 7, 7 }, // Telugu/Telugu/India +- { 120, 30, 211, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 118,5 , 118,5 , 766,8 , 774,7 , 269,6 , 1274,19 , 37,5 , 442,28 , 10804,23 , 10827,68 , 10895,16 , 10804,23 , 10827,68 , 10895,16 , 335,10 , 300,10 , 1020,4 , 5,17 , 22,23 , {84,72,66}, 325,1 , 14587,16 , 4,4 , 13,6 , 4211,3 , 4211,3 , 2, 1, 7, 6, 7 }, // Thai/Thai/Thailand +- { 121, 31, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1293,23 , 18,7 , 25,12 , 10911,51 , 10962,79 , 11041,27 , 10911,51 , 10962,79 , 11041,27 , 345,7 , 310,8 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 14603,13 , 8,5 , 4,0 , 4214,8 , 4222,6 , 2, 1, 7, 6, 7 }, // Tibetan/Tibetan/China +- { 121, 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1293,23 , 18,7 , 25,12 , 10911,51 , 10962,79 , 11041,27 , 10911,51 , 10962,79 , 11041,27 , 345,7 , 310,8 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14616,19 , 8,5 , 4,0 , 4214,8 , 4228,7 , 2, 1, 7, 7, 7 }, // Tibetan/Tibetan/India +- { 122, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1316,23 , 18,7 , 25,12 , 11068,21 , 11089,29 , 11118,14 , 11068,21 , 11089,29 , 11132,14 , 352,7 , 318,7 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 14635,16 , 4,4 , 4,0 , 4235,4 , 92,5 , 2, 1, 7, 6, 7 }, // Tigrinya/Ethiopic/Ethiopia +- { 122, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1316,23 , 18,7 , 25,12 , 11068,21 , 11089,29 , 11132,14 , 11068,21 , 11089,29 , 11132,14 , 352,7 , 318,7 , 45,4 , 5,17 , 22,23 , {69,82,78}, 41,3 , 0,7 , 4,4 , 4,0 , 4235,4 , 4239,4 , 2, 1, 1, 6, 7 }, // Tigrinya/Ethiopic/Eritrea +- { 123, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 781,8 , 781,8 , 781,8 , 781,8 , 269,6 , 97,16 , 18,7 , 25,12 , 11146,29 , 11175,60 , 11235,14 , 11146,29 , 11175,60 , 11235,14 , 359,10 , 325,6 , 1024,5 , 1029,59 , 1088,65 , {84,79,80}, 195,2 , 14651,41 , 8,5 , 4,0 , 4243,13 , 1635,5 , 2, 1, 1, 6, 7 }, // Tongan/Latin/Tonga ++ { 116, 2, 209, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 553,18 , 37,5 , 8,10 , 10510,28 , 10538,55 , 10593,14 , 10510,28 , 10538,55 , 10593,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,74,83}, 322,4 , 14331,19 , 19,5 , 4,0 , 4168,6 , 4174,10 , 2, 1, 1, 6, 7 }, // Tajik/Cyrillic/Tajikistan ++ { 117, 27, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 751,13 , 751,13 , 269,6 , 192,18 , 393,7 , 437,12 , 10607,39 , 10646,49 , 10695,20 , 10607,39 , 10646,49 , 10695,20 , 322,8 , 288,8 , 987,7 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14350,49 , 4,4 , 13,6 , 4184,5 , 4189,7 , 2, 1, 7, 7, 7 }, // Tamil/Tamil/India ++ { 117, 27, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 751,13 , 751,13 , 269,6 , 192,18 , 393,7 , 437,12 , 10607,39 , 10646,49 , 10695,20 , 10607,39 , 10646,49 , 10695,20 , 322,8 , 288,8 , 987,7 , 5,17 , 22,23 , {77,89,82}, 174,2 , 14399,61 , 4,4 , 13,6 , 4184,5 , 4196,7 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Malaysia ++ { 117, 27, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 751,13 , 751,13 , 269,6 , 192,18 , 393,7 , 437,12 , 10607,39 , 10646,49 , 10695,20 , 10607,39 , 10646,49 , 10695,20 , 322,8 , 288,8 , 987,7 , 5,17 , 22,23 , {83,71,68}, 6,1 , 14460,61 , 4,4 , 13,6 , 4184,5 , 4203,11 , 2, 1, 7, 6, 7 }, // Tamil/Tamil/Singapore ++ { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 751,13 , 751,13 , 269,6 , 192,18 , 37,5 , 8,10 , 10607,39 , 10646,49 , 10695,20 , 10607,39 , 10646,49 , 10695,20 , 322,8 , 288,8 , 987,7 , 5,17 , 22,23 , {76,75,82}, 326,3 , 14521,49 , 4,4 , 13,6 , 4184,5 , 4214,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Sri Lanka ++ { 118, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 764,9 , 764,9 , 495,10 , 1233,23 , 55,4 , 59,9 , 10715,36 , 10751,56 , 10807,14 , 10715,36 , 10751,56 , 10807,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 14570,21 , 19,5 , 4,0 , 4220,5 , 3535,6 , 2, 1, 1, 6, 7 }, // Tatar/Cyrillic/Russia ++ { 119, 28, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 773,11 , 773,11 , 339,8 , 1256,18 , 18,7 , 25,12 , 10821,32 , 10853,60 , 10913,18 , 10821,32 , 10853,60 , 10913,18 , 0,2 , 0,2 , 994,7 , 1001,29 , 22,23 , {73,78,82}, 121,1 , 14591,26 , 4,4 , 13,6 , 4225,6 , 4231,8 , 2, 1, 7, 7, 7 }, // Telugu/Telugu/India ++ { 120, 30, 211, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 784,5 , 784,5 , 789,8 , 797,7 , 269,6 , 1274,19 , 37,5 , 449,28 , 10931,23 , 10954,68 , 11022,16 , 10931,23 , 10954,68 , 11022,16 , 330,10 , 296,10 , 1030,4 , 5,17 , 22,23 , {84,72,66}, 329,1 , 14617,16 , 4,4 , 13,6 , 4239,3 , 4239,3 , 2, 1, 7, 6, 7 }, // Thai/Thai/Thailand ++ { 121, 31, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1293,23 , 18,7 , 25,12 , 11038,51 , 11089,79 , 11168,27 , 11038,51 , 11089,79 , 11168,27 , 340,7 , 306,8 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 14633,13 , 8,5 , 4,0 , 4242,8 , 4250,6 , 2, 1, 7, 6, 7 }, // Tibetan/Tibetan/China ++ { 121, 31, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1293,23 , 18,7 , 25,12 , 11038,51 , 11089,79 , 11168,27 , 11038,51 , 11089,79 , 11168,27 , 340,7 , 306,8 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 14646,19 , 8,5 , 4,0 , 4242,8 , 4256,7 , 2, 1, 7, 7, 7 }, // Tibetan/Tibetan/India ++ { 122, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1316,23 , 18,7 , 25,12 , 11195,21 , 11216,29 , 11245,14 , 11195,21 , 11216,29 , 11259,14 , 347,12 , 314,12 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 14665,16 , 4,4 , 4,0 , 4263,3 , 92,5 , 2, 1, 7, 6, 7 }, // Tigrinya/Ethiopic/Ethiopia ++ { 122, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1316,23 , 18,7 , 25,12 , 11195,21 , 11216,29 , 11259,14 , 11195,21 , 11216,29 , 11259,14 , 347,12 , 314,12 , 45,4 , 5,17 , 22,23 , {69,82,78}, 41,3 , 0,7 , 4,4 , 4,0 , 4263,3 , 4266,4 , 2, 1, 1, 6, 7 }, // Tigrinya/Ethiopic/Eritrea ++ { 123, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 804,8 , 804,8 , 804,8 , 804,8 , 269,6 , 97,16 , 18,7 , 25,12 , 11273,29 , 11302,60 , 11362,14 , 11273,29 , 11302,60 , 11362,14 , 359,10 , 326,6 , 1034,5 , 1039,59 , 1098,65 , {84,79,80}, 195,2 , 14681,41 , 8,5 , 4,0 , 4270,13 , 1639,5 , 2, 1, 1, 6, 7 }, // Tongan/Latin/Tonga + { 124, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tsonga/Latin/South Africa +- { 125, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 789,8 , 789,8 , 1339,9 , 1348,16 , 37,5 , 8,10 , 11249,28 , 11277,54 , 11331,14 , 11249,28 , 11277,54 , 11331,14 , 369,2 , 331,2 , 199,4 , 5,17 , 22,23 , {84,82,89}, 252,1 , 14692,40 , 4,4 , 13,6 , 4256,6 , 4262,7 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Turkey +- { 125, 7, 56, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 789,8 , 789,8 , 1339,9 , 1348,16 , 18,7 , 25,12 , 11249,28 , 11277,54 , 11331,14 , 11249,28 , 11277,54 , 11331,14 , 369,2 , 331,2 , 199,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 4,4 , 13,6 , 4256,6 , 4269,6 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Cyprus +- { 126, 7, 218, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 797,8 , 797,8 , 495,10 , 1348,16 , 37,5 , 8,10 , 11345,28 , 11373,54 , 11427,14 , 11441,28 , 11469,54 , 11427,14 , 371,13 , 333,14 , 1153,4 , 5,17 , 22,23 , {84,77,84}, 326,3 , 14732,49 , 19,5 , 4,0 , 4275,12 , 4287,12 , 2, 1, 1, 6, 7 }, // Turkmen/Latin/Turkmenistan +- { 128, 1, 44, 46, 44, 59, 37, 48, 45, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 195,10 , 205,9 , 53,10 , 1364,17 , 18,7 , 25,12 , 11523,21 , 11544,55 , 11599,14 , 11523,21 , 11544,55 , 11599,14 , 384,12 , 347,12 , 45,4 , 5,17 , 22,23 , {67,78,89}, 243,1 , 14781,40 , 4,4 , 13,6 , 4299,8 , 4307,5 , 2, 1, 7, 6, 7 }, // Uighur/Arabic/China +- { 129, 2, 222, 44, 160, 59, 37, 48, 45, 43, 1077, 171, 187, 8222, 8220, 0,6 , 0,6 , 133,7 , 133,7 , 156,8 , 1381,22 , 37,5 , 8,10 , 1454,21 , 11613,56 , 11669,14 , 1454,21 , 11613,56 , 11669,14 , 396,2 , 359,2 , 1157,5 , 680,17 , 22,23 , {85,65,72}, 292,1 , 14821,49 , 19,5 , 4,0 , 4312,10 , 4322,7 , 2, 1, 1, 6, 7 }, // Ukrainian/Cyrillic/Ukraine +- { 130, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 557,6 , 557,6 , 805,10 , 815,9 , 269,6 , 1403,18 , 18,7 , 25,12 , 11683,36 , 11683,36 , 85,14 , 11683,36 , 11683,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {80,75,82}, 176,2 , 14870,49 , 4,4 , 13,6 , 4329,4 , 3240,7 , 2, 0, 7, 6, 7 }, // Urdu/Arabic/Pakistan +- { 130, 1, 100, 1643, 1644, 59, 37, 1776, 45, 43, 101, 8221, 8220, 8217, 8216, 557,6 , 557,6 , 805,10 , 815,9 , 269,6 , 1403,18 , 18,7 , 25,12 , 11683,36 , 11683,36 , 85,14 , 11683,36 , 11683,36 , 85,14 , 0,2 , 0,2 , 1162,4 , 1166,20 , 22,23 , {73,78,82}, 121,1 , 14919,42 , 4,4 , 13,6 , 4329,4 , 4333,5 , 2, 1, 7, 7, 7 }, // Urdu/Arabic/India +- { 131, 7, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8217, 8216, 0,6 , 0,6 , 824,8 , 824,8 , 27,8 , 1421,18 , 37,5 , 403,11 , 11719,32 , 11751,61 , 11812,14 , 11719,32 , 11751,61 , 11812,14 , 398,2 , 361,2 , 199,4 , 5,17 , 22,23 , {85,90,83}, 329,4 , 14961,58 , 19,5 , 4,0 , 4338,6 , 4344,11 , 2, 0, 1, 6, 7 }, // Uzbek/Latin/Uzbekistan +- { 131, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 394,8 , 1439,33 , 55,4 , 403,11 , 11826,21 , 7794,49 , 85,14 , 11826,21 , 7794,49 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,70,78}, 268,1 , 15019,13 , 19,5 , 4,0 , 4355,6 , 3231,9 , 0, 0, 6, 4, 5 }, // Uzbek/Arabic/Afghanistan +- { 131, 2, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 696,19 , 37,5 , 87,12 , 11847,28 , 11875,53 , 11928,14 , 11847,28 , 11875,53 , 11928,14 , 400,2 , 363,2 , 45,4 , 5,17 , 22,23 , {85,90,83}, 333,3 , 15032,49 , 19,5 , 4,0 , 4361,7 , 4368,10 , 2, 0, 1, 6, 7 }, // Uzbek/Cyrillic/Uzbekistan +- { 132, 7, 232, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 832,8 , 832,8 , 119,10 , 192,18 , 37,5 , 8,10 , 11942,33 , 11975,55 , 12030,21 , 11942,33 , 11975,55 , 12030,21 , 402,2 , 365,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 336,1 , 15081,33 , 19,5 , 4,0 , 4378,10 , 4388,8 , 0, 0, 1, 6, 7 }, // Vietnamese/Latin/Vietnam +- { 133, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1472,23 , 37,5 , 8,10 , 12051,21 , 12072,43 , 12115,14 , 12129,28 , 12072,43 , 12115,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4396,7 , 0,0 , 2, 1, 1, 6, 7 }, // Volapuk/Latin/World +- { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 840,11 , 851,10 , 27,8 , 10,17 , 37,5 , 8,10 , 12157,29 , 12186,77 , 12263,15 , 12278,30 , 12186,77 , 12263,15 , 404,2 , 367,2 , 1186,7 , 5,17 , 22,23 , {71,66,80}, 119,1 , 15114,91 , 4,4 , 13,6 , 4403,7 , 4410,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/United Kingdom +- { 135, 7, 187, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 1495,17 , 37,5 , 8,10 , 12308,28 , 12336,50 , 12308,28 , 12308,28 , 12336,50 , 12308,28 , 406,3 , 369,3 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 15205,65 , 8,5 , 4,0 , 4426,5 , 4431,8 , 0, 0, 1, 6, 7 }, // Wolof/Latin/Senegal +- { 136, 7, 195, 46, 160, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 12386,28 , 12414,61 , 85,14 , 12386,28 , 12414,61 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15270,79 , 4,4 , 4,0 , 4439,8 , 4447,15 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/South Africa +- { 137, 18, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 861,9 , 861,9 , 27,8 , 1512,19 , 37,5 , 8,10 , 12475,54 , 12475,54 , 85,14 , 12475,54 , 12475,54 , 85,14 , 409,11 , 372,10 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4462,6 , 4468,5 , 2, 1, 1, 6, 7 }, // Yiddish/Hebrew/World +- { 138, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1531,16 , 470,3 , 8,10 , 12529,33 , 12562,44 , 12606,14 , 12529,33 , 12620,69 , 12606,14 , 420,5 , 382,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 15349,49 , 4,4 , 13,6 , 4473,10 , 4483,19 , 2, 1, 1, 6, 7 }, // Yoruba/Latin/Nigeria +- { 138, 7, 23, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1531,16 , 470,3 , 8,10 , 12689,33 , 12722,44 , 12766,14 , 12689,33 , 12780,69 , 12766,14 , 425,5 , 387,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 15398,34 , 4,4 , 13,6 , 4473,10 , 4502,16 , 0, 0, 1, 6, 7 }, // Yoruba/Latin/Benin +- { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 870,9 , 879,8 , 547,6 , 35,18 , 37,5 , 8,10 , 12849,28 , 12877,74 , 12951,14 , 12849,28 , 12877,74 , 12951,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15432,67 , 4,4 , 13,6 , 4518,7 , 4525,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/South Africa +- { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 187,8 , 187,8 , 495,10 , 478,17 , 37,5 , 426,16 , 12965,28 , 12993,51 , 2320,14 , 13044,28 , 12993,51 , 2320,14 , 430,9 , 392,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10091,44 , 19,5 , 4,0 , 4542,7 , 4549,5 , 2, 0, 1, 6, 7 }, // Norwegian Nynorsk/Latin/Norway +- { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 158,7 , 158,7 , 1547,11 , 450,19 , 37,5 , 8,10 , 2043,28 , 2071,58 , 2129,14 , 2043,28 , 2071,58 , 2143,14 , 439,10 , 403,7 , 319,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 15499,170 , 19,5 , 4,0 , 4554,8 , 629,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/Bosnia And Herzegowina +- { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 13072,28 , 13100,56 , 8907,14 , 13072,28 , 13100,56 , 8907,14 , 265,11 , 410,13 , 45,4 , 5,17 , 22,23 , {66,65,77}, 296,2 , 15669,152 , 19,5 , 4,0 , 4562,8 , 3621,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/Bosnia And Herzegowina ++ { 125, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 812,8 , 812,8 , 1339,9 , 1348,16 , 37,5 , 8,10 , 11376,28 , 11404,54 , 11458,14 , 11376,28 , 11404,54 , 11458,14 , 369,2 , 332,2 , 199,4 , 5,17 , 22,23 , {84,82,89}, 256,1 , 14722,40 , 4,4 , 13,6 , 4283,6 , 4289,7 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Turkey ++ { 125, 7, 56, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 812,8 , 812,8 , 1339,9 , 1348,16 , 18,7 , 25,12 , 11376,28 , 11404,54 , 11458,14 , 11376,28 , 11404,54 , 11458,14 , 369,2 , 332,2 , 199,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 4,4 , 13,6 , 4283,6 , 4296,6 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Cyprus ++ { 126, 7, 218, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 820,8 , 820,8 , 495,10 , 1348,16 , 37,5 , 8,10 , 11472,28 , 11500,54 , 11554,14 , 11568,28 , 11596,54 , 11554,14 , 371,13 , 334,14 , 1163,4 , 5,17 , 22,23 , {84,77,84}, 330,3 , 14762,49 , 19,5 , 4,0 , 4302,12 , 4314,12 , 2, 1, 1, 6, 7 }, // Turkmen/Latin/Turkmenistan ++ { 128, 1, 44, 46, 44, 59, 37, 48, 45, 43, 101, 187, 171, 8250, 8249, 0,6 , 0,6 , 196,10 , 206,9 , 53,10 , 1364,17 , 18,7 , 25,12 , 11650,21 , 11671,55 , 11726,14 , 11650,21 , 11671,55 , 11726,14 , 384,12 , 348,12 , 45,4 , 5,17 , 22,23 , {67,78,89}, 247,1 , 14811,40 , 4,4 , 13,6 , 4326,8 , 4334,5 , 2, 1, 7, 6, 7 }, // Uighur/Arabic/China ++ { 129, 2, 222, 44, 160, 59, 37, 48, 45, 43, 1077, 171, 187, 8222, 8220, 0,6 , 0,6 , 134,7 , 134,7 , 156,8 , 1381,22 , 37,5 , 8,10 , 1454,21 , 11740,56 , 11796,14 , 1454,21 , 11740,56 , 11796,14 , 396,2 , 360,2 , 1167,5 , 728,17 , 22,23 , {85,65,72}, 296,1 , 14851,95 , 19,5 , 4,0 , 4339,10 , 4349,7 , 2, 1, 1, 6, 7 }, // Ukrainian/Cyrillic/Ukraine ++ { 130, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 556,6 , 556,6 , 828,10 , 838,9 , 269,6 , 1403,18 , 18,7 , 25,12 , 11810,36 , 11810,36 , 85,14 , 11810,36 , 11810,36 , 85,14 , 0,2 , 0,2 , 1172,4 , 1176,20 , 22,23 , {80,75,82}, 176,2 , 14946,49 , 4,4 , 13,6 , 4356,4 , 3251,7 , 2, 0, 7, 6, 7 }, // Urdu/Arabic/Pakistan ++ { 130, 1, 100, 1643, 1644, 59, 37, 1776, 45, 43, 101, 8221, 8220, 8217, 8216, 556,6 , 556,6 , 828,10 , 838,9 , 269,6 , 1403,18 , 18,7 , 25,12 , 11810,36 , 11810,36 , 85,14 , 11810,36 , 11810,36 , 85,14 , 0,2 , 0,2 , 1172,4 , 1176,20 , 22,23 , {73,78,82}, 121,1 , 14995,42 , 4,4 , 13,6 , 4356,4 , 4360,5 , 2, 1, 7, 7, 7 }, // Urdu/Arabic/India ++ { 131, 7, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8217, 8216, 0,6 , 0,6 , 847,8 , 847,8 , 27,8 , 1421,18 , 37,5 , 198,11 , 11846,32 , 11878,61 , 11939,14 , 11846,32 , 11878,61 , 11939,14 , 398,2 , 362,2 , 199,4 , 5,17 , 22,23 , {85,90,83}, 333,4 , 15037,58 , 19,5 , 4,0 , 4365,6 , 4371,11 , 2, 0, 1, 6, 7 }, // Uzbek/Latin/Uzbekistan ++ { 131, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 394,8 , 1439,33 , 55,4 , 198,11 , 11953,21 , 7794,49 , 85,14 , 11953,21 , 7794,49 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,70,78}, 272,1 , 15095,13 , 19,5 , 4,0 , 4382,6 , 3242,9 , 0, 0, 6, 4, 5 }, // Uzbek/Arabic/Afghanistan ++ { 131, 2, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 696,19 , 37,5 , 87,12 , 11974,28 , 12002,53 , 12055,14 , 11974,28 , 12002,53 , 12055,14 , 400,2 , 364,2 , 45,4 , 5,17 , 22,23 , {85,90,83}, 337,3 , 15108,49 , 19,5 , 4,0 , 4388,7 , 4395,10 , 2, 0, 1, 6, 7 }, // Uzbek/Cyrillic/Uzbekistan ++ { 132, 7, 232, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 855,8 , 855,8 , 119,10 , 192,18 , 37,5 , 8,10 , 12069,33 , 12102,55 , 12157,21 , 12069,33 , 12102,55 , 12157,21 , 402,2 , 366,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 340,1 , 15157,33 , 19,5 , 4,0 , 4405,10 , 4415,8 , 0, 0, 1, 6, 7 }, // Vietnamese/Latin/Vietnam ++ { 133, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Volapuk/Latin/World ++ { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 863,11 , 874,10 , 27,8 , 10,17 , 37,5 , 8,10 , 12178,29 , 12207,77 , 12284,15 , 12299,30 , 12207,77 , 12284,15 , 404,2 , 368,2 , 1196,7 , 5,17 , 22,23 , {71,66,80}, 119,1 , 15190,91 , 4,4 , 13,6 , 4423,7 , 4430,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/United Kingdom ++ { 135, 7, 187, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 528,10 , 1472,17 , 37,5 , 8,10 , 12329,28 , 12357,50 , 12329,28 , 12329,28 , 12357,50 , 12329,28 , 406,3 , 370,3 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 15281,65 , 8,5 , 4,0 , 4446,5 , 4451,8 , 0, 0, 1, 6, 7 }, // Wolof/Latin/Senegal ++ { 136, 7, 195, 46, 160, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 12407,28 , 12435,61 , 85,14 , 12407,28 , 12435,61 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15346,79 , 4,4 , 4,0 , 4459,8 , 4467,15 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/South Africa ++ { 137, 18, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 884,9 , 884,9 , 27,8 , 1489,19 , 37,5 , 8,10 , 12496,54 , 12496,54 , 85,14 , 12496,54 , 12496,54 , 85,14 , 409,11 , 373,10 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4482,6 , 4488,5 , 2, 1, 1, 6, 7 }, // Yiddish/Hebrew/World ++ { 138, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1508,16 , 477,3 , 8,10 , 12550,33 , 12583,44 , 12627,14 , 12550,33 , 12641,69 , 12627,14 , 420,5 , 383,5 , 1203,11 , 1214,37 , 22,23 , {78,71,78}, 178,1 , 15425,35 , 4,4 , 13,6 , 4493,10 , 4503,8 , 2, 1, 1, 6, 7 }, // Yoruba/Latin/Nigeria ++ { 138, 7, 23, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 1508,16 , 477,3 , 8,10 , 12710,33 , 12743,44 , 12787,14 , 12710,33 , 12801,69 , 12787,14 , 425,5 , 388,5 , 1251,11 , 1214,37 , 22,23 , {88,79,70}, 207,3 , 15460,64 , 4,4 , 13,6 , 4493,10 , 4511,6 , 0, 0, 1, 6, 7 }, // Yoruba/Latin/Benin ++ { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 893,9 , 902,8 , 547,6 , 35,18 , 37,5 , 8,10 , 12870,28 , 12898,74 , 12972,14 , 12870,28 , 12898,74 , 12972,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 15524,67 , 4,4 , 13,6 , 4517,7 , 4524,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/South Africa ++ { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 188,8 , 188,8 , 495,10 , 478,17 , 37,5 , 480,16 , 12986,28 , 13014,51 , 2320,14 , 13065,28 , 13014,51 , 2320,14 , 430,9 , 393,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 10090,44 , 19,5 , 4,0 , 4541,13 , 4554,5 , 2, 0, 1, 6, 7 }, // Norwegian Nynorsk/Latin/Norway ++ { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 159,7 , 159,7 , 1524,11 , 450,19 , 37,5 , 8,10 , 2043,28 , 2071,58 , 2129,14 , 2043,28 , 2071,58 , 2143,14 , 439,10 , 404,7 , 298,7 , 5,17 , 22,23 , {66,65,77}, 144,2 , 12015,170 , 19,5 , 4,0 , 4559,8 , 629,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/Bosnia And Herzegowina ++ { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 111,7 , 111,7 , 1091,7 , 1098,20 , 37,5 , 8,10 , 9127,28 , 9155,56 , 8974,14 , 9127,28 , 9155,56 , 8974,14 , 260,11 , 411,13 , 45,4 , 5,17 , 22,23 , {66,65,77}, 300,2 , 15591,152 , 19,5 , 4,0 , 4567,8 , 3649,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/Bosnia And Herzegowina + { 143, 29, 131, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,86,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 5, 6, 7 }, // Divehi/Thaana/Maldives +- { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 80,17 , 37,5 , 8,10 , 13156,30 , 13186,57 , 85,14 , 13156,30 , 13186,57 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4570,5 , 4575,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/Isle Of Man +- { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 13243,28 , 13271,61 , 85,14 , 13243,28 , 13271,61 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4587,8 , 4595,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/United Kingdom +- { 146, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1558,8 , 1566,18 , 18,7 , 25,12 , 13332,28 , 13360,49 , 13409,14 , 13332,28 , 13360,49 , 13409,14 , 449,2 , 423,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 15821,17 , 4,4 , 4,0 , 4609,4 , 4613,5 , 2, 1, 1, 6, 7 }, // Akan/Latin/Ghana +- { 147, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1584,6 , 97,16 , 18,7 , 25,12 , 13423,51 , 13423,51 , 13474,19 , 13423,51 , 13423,51 , 13493,20 , 0,2 , 0,2 , 1193,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 15838,19 , 4,4 , 13,6 , 4618,6 , 2662,4 , 2, 1, 7, 7, 7 }, // Konkani/Devanagari/India +- { 148, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ga/Latin/Ghana +- { 149, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 887,9 , 716,8 , 269,6 , 10,17 , 37,5 , 8,10 , 13513,29 , 13542,54 , 85,14 , 13513,29 , 13542,54 , 85,14 , 451,7 , 425,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 15857,12 , 4,4 , 13,6 , 4624,10 , 4634,8 , 2, 1, 1, 6, 7 }, // Igbo/Latin/Nigeria +- { 150, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 13596,28 , 13624,74 , 13698,14 , 13596,28 , 13624,74 , 13698,14 , 458,9 , 432,7 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15869,23 , 4,4 , 13,6 , 4642,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Kamba/Latin/Kenya ++ { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 80,17 , 37,5 , 8,10 , 13093,30 , 13123,57 , 85,14 , 13093,30 , 13123,57 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4575,5 , 4580,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/Isle Of Man ++ { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 97,16 , 37,5 , 8,10 , 13180,28 , 13208,61 , 85,14 , 13180,28 , 13208,61 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 119,1 , 0,7 , 4,4 , 4,0 , 4592,8 , 4600,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/United Kingdom ++ { 146, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1535,8 , 1543,18 , 18,7 , 25,12 , 13269,28 , 13297,49 , 13346,14 , 13269,28 , 13297,49 , 13346,14 , 449,2 , 424,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 15743,17 , 4,4 , 4,0 , 4614,4 , 4618,5 , 2, 1, 1, 6, 7 }, // Akan/Latin/Ghana ++ { 147, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1561,6 , 97,16 , 18,7 , 25,12 , 13360,51 , 13360,51 , 13411,19 , 13360,51 , 13360,51 , 13430,20 , 0,2 , 0,2 , 1262,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 15760,19 , 4,4 , 13,6 , 4623,6 , 2666,4 , 2, 1, 7, 7, 7 }, // Konkani/Devanagari/India ++ { 148, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ga/Latin/Ghana ++ { 149, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 910,9 , 734,8 , 269,6 , 10,17 , 37,5 , 8,10 , 13450,29 , 13479,54 , 85,14 , 13450,29 , 13479,54 , 85,14 , 451,7 , 426,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 15779,12 , 4,4 , 13,6 , 4629,4 , 4633,8 , 2, 1, 1, 6, 7 }, // Igbo/Latin/Nigeria ++ { 150, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 13533,28 , 13561,74 , 13635,14 , 13533,28 , 13561,74 , 13635,14 , 458,9 , 433,7 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15791,23 , 4,4 , 13,6 , 4641,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Kamba/Latin/Kenya + { 151, 33, 103, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 6 }, // Syriac/Syriac/Iraq + { 152, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Blin/Ethiopic/Eritrea + { 153, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Geez/Ethiopic/Ethiopia +@@ -1733,155 +1730,157 @@ static const QLocaleData locale_data[] = { + { 156, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Atsam/Latin/Nigeria + { 157, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tigre/Ethiopic/Eritrea + { 158, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Jju/Latin/Nigeria +- { 159, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 249,7 , 249,7 , 27,8 , 1590,27 , 37,5 , 8,10 , 13712,28 , 13740,50 , 3107,14 , 13712,28 , 13740,50 , 3107,14 , 467,2 , 439,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 8,5 , 4,0 , 4649,6 , 4655,6 , 2, 1, 1, 6, 7 }, // Friulian/Latin/Italy ++ { 159, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 250,7 , 250,7 , 27,8 , 1567,27 , 37,5 , 8,10 , 13649,28 , 13677,50 , 3107,14 , 13649,28 , 13677,50 , 3107,14 , 467,2 , 440,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 8,5 , 4,0 , 4648,6 , 4654,6 , 2, 1, 1, 6, 7 }, // Friulian/Latin/Italy + { 160, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Venda/Latin/South Africa +- { 161, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 896,11 , 907,10 , 547,6 , 1617,23 , 473,12 , 485,17 , 13790,28 , 13818,44 , 13862,14 , 13790,28 , 13818,44 , 13862,14 , 469,3 , 441,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 15892,37 , 4,4 , 13,6 , 4661,6 , 4667,12 , 2, 1, 1, 6, 7 }, // Ewe/Latin/Ghana +- { 161, 7, 212, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 896,11 , 907,10 , 547,6 , 1617,23 , 37,5 , 8,10 , 13790,28 , 13818,44 , 13862,14 , 13790,28 , 13818,44 , 13862,14 , 469,3 , 441,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 15929,106 , 4,4 , 13,6 , 4661,6 , 4679,11 , 0, 0, 1, 6, 7 }, // Ewe/Latin/Togo ++ { 161, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 919,11 , 930,10 , 547,6 , 1594,23 , 496,12 , 508,17 , 13727,28 , 13755,44 , 13799,14 , 13727,28 , 13755,44 , 13799,14 , 469,3 , 442,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 15814,37 , 4,4 , 13,6 , 4660,6 , 4666,12 , 2, 1, 1, 6, 7 }, // Ewe/Latin/Ghana ++ { 161, 7, 212, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 919,11 , 930,10 , 547,6 , 1594,23 , 37,5 , 8,10 , 13727,28 , 13755,44 , 13799,14 , 13727,28 , 13755,44 , 13799,14 , 469,3 , 442,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 15851,106 , 4,4 , 13,6 , 4660,6 , 4678,11 , 0, 0, 1, 6, 7 }, // Ewe/Latin/Togo + { 162, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Walamo/Ethiopic/Ethiopia +- { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 13876,21 , 13897,57 , 85,14 , 13876,21 , 13897,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 13,6 , 4690,14 , 4704,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/United States ++ { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 13813,21 , 13834,57 , 85,14 , 13813,21 , 13834,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 13,6 , 4689,14 , 4703,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/United States + { 164, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tyap/Latin/Nigeria + { 165, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,87,75}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Nyanja/Latin/Malawi +- { 166, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 917,9 , 926,8 , 547,6 , 35,18 , 18,7 , 25,12 , 13954,28 , 13982,55 , 13954,28 , 13954,28 , 13982,55 , 13954,28 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 16035,58 , 4,4 , 13,6 , 4723,8 , 4731,9 , 2, 1, 7, 6, 7 }, // Filipino/Latin/Philippines +- { 167, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 14037,28 , 14065,63 , 3695,14 , 14037,28 , 14065,63 , 3695,14 , 472,12 , 446,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 224,3 , 16093,55 , 19,5 , 4,0 , 4740,16 , 4756,7 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Switzerland +- { 167, 7, 74, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 14037,28 , 14065,63 , 3695,14 , 14037,28 , 14065,63 , 3695,14 , 472,12 , 446,11 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 4740,16 , 4763,10 , 2, 1, 1, 6, 7 }, // Swiss German/Latin/France +- { 167, 7, 123, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 264,9 , 264,9 , 156,8 , 622,18 , 37,5 , 8,10 , 14037,28 , 14065,63 , 3695,14 , 14037,28 , 14065,63 , 3695,14 , 472,12 , 446,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 224,3 , 16093,55 , 19,5 , 4,0 , 4740,16 , 4773,13 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Liechtenstein +- { 168, 34, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 14128,21 , 14149,28 , 14177,14 , 14128,21 , 14149,28 , 14177,14 , 484,2 , 457,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 0,7 , 8,5 , 4,0 , 4786,3 , 4789,2 , 2, 1, 7, 6, 7 }, // Sichuan Yi/Yi/China ++ { 166, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 940,9 , 949,8 , 547,6 , 35,18 , 18,7 , 25,12 , 13891,28 , 13919,55 , 13891,28 , 13891,28 , 13919,55 , 13891,28 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 179,1 , 15957,58 , 4,4 , 13,6 , 4722,8 , 4730,9 , 2, 1, 7, 6, 7 }, // Filipino/Latin/Philippines ++ { 167, 7, 206, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13974,28 , 14002,63 , 3695,14 , 13974,28 , 14002,63 , 3695,14 , 472,12 , 447,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 228,3 , 16015,55 , 19,5 , 4,0 , 4739,16 , 4755,7 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Switzerland ++ { 167, 7, 74, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13974,28 , 14002,63 , 3695,14 , 13974,28 , 14002,63 , 3695,14 , 472,12 , 447,11 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 4739,16 , 4762,10 , 2, 1, 1, 6, 7 }, // Swiss German/Latin/France ++ { 167, 7, 123, 46, 8217, 59, 37, 48, 8722, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 265,9 , 265,9 , 156,8 , 622,18 , 37,5 , 8,10 , 13974,28 , 14002,63 , 3695,14 , 13974,28 , 14002,63 , 3695,14 , 472,12 , 447,11 , 45,4 , 5,17 , 22,23 , {67,72,70}, 228,3 , 16015,55 , 19,5 , 4,0 , 4739,16 , 4772,13 , 2, 0, 1, 6, 7 }, // Swiss German/Latin/Liechtenstein ++ { 168, 34, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 14065,21 , 14086,28 , 14114,14 , 14065,21 , 14086,28 , 14114,14 , 484,2 , 458,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 133,1 , 0,7 , 8,5 , 4,0 , 4785,3 , 4788,2 , 2, 1, 7, 6, 7 }, // Sichuan Yi/Yi/China + { 169, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Kpelle/Latin/Liberia +- { 170, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 456,8 , 456,8 , 365,7 , 1640,23 , 502,10 , 512,19 , 14191,28 , 14219,65 , 3695,14 , 14191,28 , 14219,65 , 3695,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16148,15 , 19,5 , 4,0 , 4791,14 , 4805,11 , 2, 1, 1, 6, 7 }, // Low German/Latin/Germany +- { 170, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 456,8 , 456,8 , 365,7 , 1640,23 , 502,10 , 512,19 , 14191,28 , 14219,65 , 3695,14 , 14191,28 , 14219,65 , 3695,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16148,15 , 19,5 , 4,0 , 4791,14 , 4816,12 , 2, 1, 1, 6, 7 }, // Low German/Latin/Netherlands ++ { 170, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 455,8 , 455,8 , 365,7 , 1617,23 , 525,10 , 535,19 , 14128,28 , 14156,65 , 3695,14 , 14128,28 , 14156,65 , 3695,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16070,15 , 19,5 , 4,0 , 4790,14 , 4804,11 , 2, 1, 1, 6, 7 }, // Low German/Latin/Germany ++ { 170, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 455,8 , 455,8 , 365,7 , 1617,23 , 525,10 , 535,19 , 14128,28 , 14156,65 , 3695,14 , 14128,28 , 14156,65 , 3695,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16070,15 , 19,5 , 4,0 , 4790,14 , 4815,12 , 2, 1, 1, 6, 7 }, // Low German/Latin/Netherlands + { 171, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // South Ndebele/Latin/South Africa + { 172, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Northern Sotho/Latin/South Africa +- { 173, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 223,8 , 223,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14284,33 , 14317,75 , 14392,14 , 14284,33 , 14317,75 , 14392,14 , 486,11 , 459,13 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 16163,63 , 19,5 , 4,0 , 4828,15 , 4843,5 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Norway +- { 173, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 223,8 , 223,8 , 495,10 , 97,16 , 37,5 , 8,10 , 14406,21 , 14427,70 , 14497,14 , 14406,21 , 14427,70 , 14497,14 , 497,2 , 472,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16226,23 , 19,5 , 4,0 , 4828,15 , 4848,6 , 2, 1, 1, 6, 7 }, // Northern Sami/Latin/Finland +- { 173, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 223,8 , 223,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14284,33 , 14317,75 , 14392,14 , 14284,33 , 14317,75 , 14392,14 , 486,11 , 459,13 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 16249,63 , 19,5 , 4,0 , 4828,15 , 4854,6 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Sweden +- { 174, 7, 208, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 337,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Taroko/Latin/Taiwan +- { 175, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14511,28 , 14539,62 , 14601,14 , 14511,28 , 14539,62 , 14601,14 , 499,6 , 474,3 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16312,24 , 4,4 , 13,6 , 4860,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Gusii/Latin/Kenya +- { 176, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14615,28 , 14643,105 , 14748,14 , 14615,28 , 14643,105 , 14748,14 , 505,10 , 477,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16312,24 , 4,4 , 13,6 , 4868,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Taita/Latin/Kenya +- { 177, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16336,26 , 19,5 , 4,0 , 4875,6 , 4431,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Senegal +- { 177, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16336,26 , 19,5 , 4,0 , 4875,6 , 4881,14 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Burkina Faso +- { 177, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16362,25 , 19,5 , 4,0 , 4875,6 , 4895,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Cameroon +- { 177, 7, 80, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {71,77,68}, 166,1 , 16387,20 , 19,5 , 4,0 , 4875,6 , 4903,6 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Gambia +- { 177, 7, 83, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 0,7 , 19,5 , 4,0 , 4875,6 , 4909,5 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Ghana +- { 177, 7, 91, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {71,78,70}, 216,2 , 0,7 , 19,5 , 4,0 , 4875,6 , 4914,4 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea +- { 177, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16336,26 , 19,5 , 4,0 , 4875,6 , 4918,12 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea Bissau +- { 177, 7, 121, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 16407,23 , 19,5 , 4,0 , 4875,6 , 4930,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Liberia +- { 177, 7, 136, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {77,82,85}, 219,2 , 16430,22 , 19,5 , 4,0 , 4875,6 , 4939,8 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Mauritania +- { 177, 7, 156, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16336,26 , 19,5 , 4,0 , 4875,6 , 4947,6 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Niger +- { 177, 7, 157, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 16452,23 , 19,5 , 4,0 , 4875,6 , 4953,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Nigeria +- { 177, 7, 189, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14762,28 , 14790,59 , 14849,14 , 14762,28 , 14790,59 , 14849,14 , 515,6 , 487,7 , 45,4 , 5,17 , 22,23 , {83,76,76}, 187,2 , 16475,25 , 19,5 , 4,0 , 4875,6 , 4962,11 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Sierra Leone +- { 178, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14863,28 , 14891,63 , 14954,14 , 14863,28 , 14891,63 , 14954,14 , 521,6 , 494,8 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16500,23 , 4,4 , 13,6 , 4973,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Kikuyu/Latin/Kenya +- { 179, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14968,28 , 14996,105 , 15101,14 , 14968,28 , 14996,105 , 15101,14 , 527,7 , 502,5 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16523,25 , 4,4 , 13,6 , 4979,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Samburu/Latin/Kenya +- { 180, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 669,27 , 37,5 , 8,10 , 15115,28 , 15143,55 , 15198,14 , 15115,28 , 15143,55 , 15198,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,90,78}, 278,3 , 16548,28 , 0,4 , 4,0 , 4987,4 , 3371,10 , 2, 1, 7, 6, 7 }, // Sena/Latin/Mozambique +- { 181, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15212,28 , 15240,50 , 15290,14 , 15212,28 , 15240,50 , 15290,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 16576,24 , 4,4 , 13,6 , 4991,10 , 1815,8 , 2, 1, 7, 6, 7 }, // North Ndebele/Latin/Zimbabwe +- { 182, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15304,29 , 15333,65 , 15398,14 , 15304,29 , 15333,65 , 15398,14 , 534,8 , 507,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16600,25 , 4,4 , 4,0 , 5001,9 , 1620,8 , 2, 0, 1, 6, 7 }, // Rombo/Latin/Tanzania +- { 183, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15412,30 , 15442,47 , 85,14 , 15412,30 , 15442,47 , 85,14 , 542,6 , 514,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16625,21 , 0,4 , 4,0 , 5010,7 , 5017,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Tifinagh/Morocco +- { 183, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15489,30 , 15519,48 , 85,14 , 15489,30 , 15519,48 , 85,14 , 548,6 , 522,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16646,21 , 0,4 , 4,0 , 5023,10 , 5033,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Latin/Morocco +- { 184, 7, 3, 44, 160, 59, 37, 48, 45, 43, 122, 171, 187, 8220, 8221, 0,6 , 0,6 , 934,12 , 946,11 , 415,8 , 97,16 , 18,7 , 25,12 , 15567,28 , 15595,34 , 15629,14 , 15643,30 , 15673,51 , 15724,14 , 554,7 , 530,9 , 1197,7 , 1204,21 , 22,23 , {68,90,68}, 205,2 , 16667,53 , 0,4 , 4,0 , 5039,9 , 5048,8 , 2, 1, 6, 5, 6 }, // Kabyle/Latin/Algeria +- { 185, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15738,28 , 15766,74 , 15840,14 , 15738,28 , 15766,74 , 15840,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16720,26 , 4,4 , 4,0 , 5056,10 , 1685,6 , 0, 0, 1, 7, 7 }, // Nyankole/Latin/Uganda +- { 186, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15854,28 , 15882,82 , 15964,14 , 15854,28 , 15882,82 , 15964,14 , 561,7 , 539,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16746,29 , 0,4 , 4,0 , 5066,6 , 5072,10 , 2, 0, 1, 6, 7 }, // Bena/Latin/Tanzania +- { 187, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15978,28 , 16006,62 , 16068,14 , 15978,28 , 16006,62 , 16068,14 , 568,5 , 546,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16775,27 , 4,4 , 4,0 , 5082,8 , 1620,8 , 2, 0, 1, 6, 7 }, // Vunjo/Latin/Tanzania +- { 188, 7, 132, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16082,28 , 16110,44 , 16154,14 , 16082,28 , 16110,44 , 16154,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16802,24 , 4,4 , 13,6 , 5090,9 , 2184,4 , 0, 0, 1, 6, 7 }, // Bambara/Latin/Mali ++ { 173, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 224,8 , 224,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14221,33 , 14254,75 , 14329,14 , 14221,33 , 14254,75 , 14329,14 , 486,11 , 460,13 , 45,4 , 5,17 , 22,23 , {78,79,75}, 190,2 , 16085,63 , 19,5 , 4,0 , 4827,15 , 4842,5 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Norway ++ { 173, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 224,8 , 224,8 , 495,10 , 97,16 , 37,5 , 8,10 , 14343,21 , 14364,70 , 14434,14 , 14343,21 , 14364,70 , 14434,14 , 497,2 , 473,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16148,23 , 19,5 , 4,0 , 4827,15 , 4847,6 , 2, 1, 1, 6, 7 }, // Northern Sami/Latin/Finland ++ { 173, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 224,8 , 224,8 , 53,10 , 63,17 , 37,5 , 8,10 , 14221,33 , 14254,75 , 14329,14 , 14221,33 , 14254,75 , 14329,14 , 486,11 , 460,13 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 16171,63 , 19,5 , 4,0 , 4827,15 , 4853,6 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Sweden ++ { 174, 7, 208, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 341,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Taroko/Latin/Taiwan ++ { 175, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14448,28 , 14476,62 , 14538,14 , 14448,28 , 14476,62 , 14538,14 , 499,6 , 475,3 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16234,24 , 4,4 , 13,6 , 4859,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Gusii/Latin/Kenya ++ { 176, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14552,28 , 14580,105 , 14685,14 , 14552,28 , 14580,105 , 14685,14 , 505,10 , 478,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16234,24 , 4,4 , 13,6 , 4867,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Taita/Latin/Kenya ++ { 177, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16258,26 , 19,5 , 4,0 , 4874,6 , 4451,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Senegal ++ { 177, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16258,26 , 19,5 , 4,0 , 4874,6 , 4880,14 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Burkina Faso ++ { 177, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16284,25 , 19,5 , 4,0 , 4874,6 , 4894,8 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Cameroon ++ { 177, 7, 80, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {71,77,68}, 166,1 , 16309,20 , 19,5 , 4,0 , 4874,6 , 4902,6 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Gambia ++ { 177, 7, 83, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {71,72,83}, 167,3 , 0,7 , 19,5 , 4,0 , 4874,6 , 4908,5 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Ghana ++ { 177, 7, 91, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {71,78,70}, 220,2 , 0,7 , 19,5 , 4,0 , 4874,6 , 4913,4 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea ++ { 177, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16258,26 , 19,5 , 4,0 , 4874,6 , 4917,12 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Guinea Bissau ++ { 177, 7, 121, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 16329,23 , 19,5 , 4,0 , 4874,6 , 4929,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Liberia ++ { 177, 7, 136, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {77,82,85}, 223,2 , 16352,22 , 19,5 , 4,0 , 4874,6 , 4938,8 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Mauritania ++ { 177, 7, 156, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16258,26 , 19,5 , 4,0 , 4874,6 , 4946,6 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Niger ++ { 177, 7, 157, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {78,71,78}, 178,1 , 16374,23 , 19,5 , 4,0 , 4874,6 , 4952,9 , 2, 1, 1, 6, 7 }, // Fulah/Latin/Nigeria ++ { 177, 7, 189, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 18,7 , 25,12 , 14699,28 , 14727,59 , 14786,14 , 14699,28 , 14727,59 , 14786,14 , 515,6 , 488,7 , 45,4 , 5,17 , 22,23 , {83,76,76}, 187,2 , 16397,25 , 19,5 , 4,0 , 4874,6 , 4961,11 , 0, 0, 1, 6, 7 }, // Fulah/Latin/Sierra Leone ++ { 178, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14800,28 , 14828,63 , 14891,14 , 14800,28 , 14828,63 , 14891,14 , 521,6 , 495,8 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16422,23 , 4,4 , 13,6 , 4972,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Kikuyu/Latin/Kenya ++ { 179, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 14905,28 , 14933,105 , 15038,14 , 14905,28 , 14933,105 , 15038,14 , 527,7 , 503,5 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16445,25 , 4,4 , 13,6 , 4978,8 , 1191,5 , 2, 1, 7, 6, 7 }, // Samburu/Latin/Kenya ++ { 180, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 669,27 , 37,5 , 8,10 , 15052,28 , 15080,55 , 15135,14 , 15052,28 , 15080,55 , 15135,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,90,78}, 282,3 , 16470,28 , 0,4 , 4,0 , 4986,4 , 3382,10 , 2, 1, 7, 6, 7 }, // Sena/Latin/Mozambique ++ { 181, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15149,28 , 15177,50 , 15227,14 , 15149,28 , 15177,50 , 15227,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 16498,24 , 4,4 , 13,6 , 4990,10 , 1819,8 , 2, 1, 7, 6, 7 }, // North Ndebele/Latin/Zimbabwe ++ { 182, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15241,29 , 15270,65 , 15335,14 , 15241,29 , 15270,65 , 15335,14 , 534,8 , 508,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16522,25 , 4,4 , 4,0 , 5000,9 , 1624,8 , 2, 0, 1, 6, 7 }, // Rombo/Latin/Tanzania ++ { 183, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15349,30 , 15379,47 , 85,14 , 15349,30 , 15379,47 , 85,14 , 542,6 , 515,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16547,21 , 0,4 , 4,0 , 5009,7 , 5016,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Tifinagh/Morocco ++ { 183, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15426,30 , 15456,48 , 85,14 , 15426,30 , 15456,48 , 85,14 , 548,6 , 523,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16568,21 , 0,4 , 4,0 , 5022,10 , 5032,6 , 2, 1, 1, 6, 7 }, // Tachelhit/Latin/Morocco ++ { 184, 7, 3, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 957,8 , 965,7 , 415,8 , 97,16 , 18,7 , 25,12 , 15504,28 , 15532,34 , 15566,14 , 15580,30 , 15610,51 , 15661,14 , 554,7 , 531,9 , 1266,7 , 1273,21 , 22,23 , {68,90,68}, 205,2 , 16589,57 , 0,4 , 4,0 , 5038,9 , 5047,8 , 2, 1, 6, 5, 6 }, // Kabyle/Latin/Algeria ++ { 185, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15675,28 , 15703,74 , 15777,14 , 15675,28 , 15703,74 , 15777,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16646,26 , 4,4 , 4,0 , 5055,10 , 1689,6 , 0, 0, 1, 7, 7 }, // Nyankole/Latin/Uganda ++ { 186, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15791,28 , 15819,82 , 15901,14 , 15791,28 , 15819,82 , 15901,14 , 561,7 , 540,7 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16672,29 , 0,4 , 4,0 , 5065,6 , 5071,10 , 2, 0, 1, 6, 7 }, // Bena/Latin/Tanzania ++ { 187, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15915,28 , 15943,62 , 16005,14 , 15915,28 , 15943,62 , 16005,14 , 568,5 , 547,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16701,27 , 4,4 , 4,0 , 5081,8 , 1624,8 , 2, 0, 1, 6, 7 }, // Vunjo/Latin/Tanzania ++ { 188, 7, 132, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16019,28 , 16047,44 , 16091,14 , 16019,28 , 16047,44 , 16091,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 16728,24 , 4,4 , 13,6 , 5089,9 , 2188,4 , 0, 0, 1, 6, 7 }, // Bambara/Latin/Mali + { 188, 75, 132, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Bambara/Nko/Mali +- { 189, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16168,28 , 16196,64 , 16260,14 , 16168,28 , 16196,64 , 16260,14 , 573,2 , 555,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16312,24 , 4,4 , 13,6 , 5099,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Embu/Latin/Kenya +- { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 957,9 , 966,8 , 547,6 , 35,18 , 18,7 , 25,12 , 16274,28 , 16302,49 , 16351,14 , 16274,28 , 16302,49 , 16351,14 , 575,3 , 557,6 , 1225,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16826,25 , 4,4 , 13,6 , 5105,3 , 5108,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/United States +- { 191, 7, 137, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16365,27 , 16392,48 , 16440,14 , 16365,27 , 16392,48 , 16440,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,85,82}, 176,2 , 16851,21 , 8,5 , 4,0 , 5123,14 , 5137,5 , 2, 0, 1, 6, 7 }, // Morisyen/Latin/Mauritius +- { 192, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16454,28 , 16482,133 , 15398,14 , 16454,28 , 16482,133 , 15398,14 , 578,4 , 563,5 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16775,27 , 4,4 , 13,6 , 5142,10 , 1620,8 , 2, 0, 1, 6, 7 }, // Makonde/Latin/Tanzania +- { 193, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16615,36 , 16651,63 , 16714,14 , 16615,36 , 16651,63 , 16714,14 , 582,3 , 568,3 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16872,29 , 8,5 , 4,0 , 5152,8 , 5160,9 , 2, 0, 1, 6, 7 }, // Langi/Latin/Tanzania +- { 194, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16728,28 , 16756,66 , 16822,14 , 16728,28 , 16756,66 , 16822,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16901,26 , 0,4 , 4,0 , 5169,7 , 5176,7 , 0, 0, 1, 7, 7 }, // Ganda/Latin/Uganda +- { 195, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 16836,80 , 16836,80 , 85,14 , 16836,80 , 16836,80 , 85,14 , 585,8 , 571,7 , 45,4 , 5,17 , 22,23 , {90,77,87}, 131,1 , 0,7 , 4,4 , 13,6 , 5183,9 , 1809,6 , 2, 1, 1, 6, 7 }, // Bemba/Latin/Zambia +- { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 158,7 , 158,7 , 119,10 , 1663,27 , 37,5 , 8,10 , 16916,28 , 16944,73 , 17017,14 , 16916,28 , 17031,73 , 17017,14 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {67,86,69}, 277,1 , 16927,43 , 19,5 , 24,7 , 5192,12 , 5204,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/Cape Verde +- { 197, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17104,28 , 17132,51 , 17183,14 , 17104,28 , 17132,51 , 17183,14 , 593,2 , 578,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16312,24 , 4,4 , 13,6 , 5214,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Meru/Latin/Kenya +- { 198, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17197,28 , 17225,53 , 17278,14 , 17197,28 , 17225,53 , 17278,14 , 595,6 , 580,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16970,26 , 4,4 , 13,6 , 5220,8 , 5228,12 , 2, 1, 7, 6, 7 }, // Kalenjin/Latin/Kenya +- { 199, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 17292,23 , 17315,92 , 17407,14 , 17292,23 , 17315,92 , 17407,14 , 601,7 , 590,5 , 45,4 , 5,17 , 22,23 , {78,65,68}, 6,1 , 16996,22 , 4,4 , 4,0 , 5240,13 , 5253,8 , 2, 1, 1, 6, 7 }, // Nama/Latin/Namibia +- { 200, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15978,28 , 16006,62 , 16068,14 , 15978,28 , 16006,62 , 16068,14 , 568,5 , 546,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16775,27 , 4,4 , 4,0 , 5261,9 , 1620,8 , 2, 0, 1, 6, 7 }, // Machame/Latin/Tanzania +- { 201, 7, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 456,8 , 456,8 , 1141,10 , 1690,23 , 37,5 , 8,10 , 17421,28 , 17449,72 , 3695,14 , 17421,28 , 17449,72 , 3695,14 , 608,16 , 595,16 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17018,11 , 19,5 , 4,0 , 5270,6 , 5276,11 , 2, 1, 1, 6, 7 }, // Colognian/Latin/Germany +- { 202, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15978,28 , 17521,58 , 15398,14 , 15978,28 , 17521,58 , 15398,14 , 624,9 , 611,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17029,25 , 4,4 , 13,6 , 5287,3 , 1191,5 , 2, 1, 7, 6, 7 }, // Masai/Latin/Kenya +- { 202, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15978,28 , 17521,58 , 15398,14 , 15978,28 , 17521,58 , 15398,14 , 624,9 , 611,6 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17054,28 , 4,4 , 13,6 , 5287,3 , 5290,8 , 2, 0, 1, 6, 7 }, // Masai/Latin/Tanzania +- { 203, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17579,35 , 17614,65 , 17679,14 , 17579,35 , 17614,65 , 17679,14 , 633,6 , 617,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16901,26 , 19,5 , 4,0 , 5298,7 , 5176,7 , 0, 0, 1, 7, 7 }, // Soga/Latin/Uganda +- { 204, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17693,21 , 17714,75 , 85,14 , 17693,21 , 17714,75 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17082,23 , 4,4 , 68,6 , 5305,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Luyia/Latin/Kenya +- { 205, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17789,28 , 10244,60 , 16068,14 , 17789,28 , 10244,60 , 16068,14 , 639,9 , 623,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17105,28 , 19,5 , 4,0 , 5312,6 , 5318,8 , 2, 0, 1, 6, 7 }, // Asu/Latin/Tanzania +- { 206, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17817,28 , 17845,69 , 17914,14 , 17817,28 , 17845,69 , 17914,14 , 648,9 , 631,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 17133,28 , 4,4 , 13,6 , 5326,6 , 1685,6 , 0, 0, 1, 7, 7 }, // Teso/Latin/Uganda +- { 206, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17817,28 , 17845,69 , 17914,14 , 17817,28 , 17845,69 , 17914,14 , 648,9 , 631,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17161,27 , 4,4 , 13,6 , 5326,6 , 5332,5 , 2, 1, 7, 6, 7 }, // Teso/Latin/Kenya ++ { 189, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16105,28 , 16133,64 , 16197,14 , 16105,28 , 16133,64 , 16197,14 , 573,2 , 556,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16234,24 , 4,4 , 13,6 , 5098,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Embu/Latin/Kenya ++ { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 972,9 , 981,8 , 547,6 , 35,18 , 18,7 , 25,12 , 16211,28 , 16239,49 , 16288,14 , 16211,28 , 16239,49 , 16288,14 , 575,3 , 558,6 , 1294,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16752,25 , 4,4 , 13,6 , 5104,3 , 5107,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/United States ++ { 191, 7, 137, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 16302,27 , 16329,48 , 16377,14 , 16302,27 , 16329,48 , 16377,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,85,82}, 176,2 , 16777,21 , 8,5 , 4,0 , 5122,14 , 5136,5 , 2, 0, 1, 6, 7 }, // Morisyen/Latin/Mauritius ++ { 192, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16391,28 , 16419,133 , 15335,14 , 16391,28 , 16419,133 , 15335,14 , 578,4 , 564,5 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16701,27 , 4,4 , 13,6 , 5141,10 , 1624,8 , 2, 0, 1, 6, 7 }, // Makonde/Latin/Tanzania ++ { 193, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16552,36 , 16588,63 , 16651,14 , 16552,36 , 16588,63 , 16651,14 , 582,3 , 569,3 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16798,29 , 8,5 , 4,0 , 5151,8 , 5159,9 , 2, 0, 1, 6, 7 }, // Langi/Latin/Tanzania ++ { 194, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16665,28 , 16693,66 , 16759,14 , 16665,28 , 16693,66 , 16759,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16827,26 , 0,4 , 4,0 , 5168,7 , 5175,7 , 0, 0, 1, 7, 7 }, // Ganda/Latin/Uganda ++ { 195, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 16773,80 , 16773,80 , 85,14 , 16773,80 , 16773,80 , 85,14 , 585,8 , 572,7 , 45,4 , 5,17 , 22,23 , {90,77,87}, 131,1 , 0,7 , 4,4 , 13,6 , 5182,9 , 1813,6 , 2, 1, 1, 6, 7 }, // Bemba/Latin/Zambia ++ { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 159,7 , 159,7 , 119,10 , 1640,27 , 37,5 , 8,10 , 16853,28 , 16881,73 , 16954,14 , 16853,28 , 16881,73 , 16954,14 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {67,86,69}, 281,1 , 16853,43 , 19,5 , 24,7 , 5191,12 , 5203,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/Cape Verde ++ { 197, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 16968,28 , 16996,51 , 17047,14 , 16968,28 , 16996,51 , 17047,14 , 593,2 , 579,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16234,24 , 4,4 , 13,6 , 5213,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Meru/Latin/Kenya ++ { 198, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17061,28 , 17089,53 , 17142,14 , 17061,28 , 17089,53 , 17142,14 , 595,6 , 581,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16896,26 , 4,4 , 13,6 , 5219,8 , 5227,12 , 2, 1, 7, 6, 7 }, // Kalenjin/Latin/Kenya ++ { 199, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 17156,23 , 17179,92 , 17271,14 , 17156,23 , 17179,92 , 17271,14 , 601,7 , 591,5 , 45,4 , 5,17 , 22,23 , {78,65,68}, 6,1 , 16922,22 , 4,4 , 4,0 , 5239,13 , 5252,8 , 2, 1, 1, 6, 7 }, // Nama/Latin/Namibia ++ { 200, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15915,28 , 15943,62 , 16005,14 , 15915,28 , 15943,62 , 16005,14 , 568,5 , 547,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16701,27 , 4,4 , 4,0 , 5260,9 , 1624,8 , 2, 0, 1, 6, 7 }, // Machame/Latin/Tanzania ++ { 201, 7, 82, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 455,8 , 455,8 , 1141,10 , 1667,23 , 37,5 , 8,10 , 17285,28 , 17313,72 , 3695,14 , 17285,28 , 17313,72 , 3695,14 , 608,16 , 596,16 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16944,11 , 19,5 , 4,0 , 5269,6 , 5275,11 , 2, 1, 1, 6, 7 }, // Colognian/Latin/Germany ++ { 202, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15915,28 , 17385,58 , 15335,14 , 15915,28 , 17385,58 , 15335,14 , 624,9 , 612,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16955,25 , 4,4 , 13,6 , 5286,3 , 1191,5 , 2, 1, 7, 6, 7 }, // Masai/Latin/Kenya ++ { 202, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15915,28 , 17385,58 , 15335,14 , 15915,28 , 17385,58 , 15335,14 , 624,9 , 612,6 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16980,28 , 4,4 , 13,6 , 5286,3 , 5289,8 , 2, 0, 1, 6, 7 }, // Masai/Latin/Tanzania ++ { 203, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17443,35 , 17478,65 , 17543,14 , 17443,35 , 17478,65 , 17543,14 , 633,6 , 618,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16827,26 , 19,5 , 4,0 , 5297,7 , 5175,7 , 0, 0, 1, 7, 7 }, // Soga/Latin/Uganda ++ { 204, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17557,21 , 17578,75 , 85,14 , 17557,21 , 17578,75 , 85,14 , 64,4 , 61,4 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17008,23 , 4,4 , 68,6 , 5304,7 , 1191,5 , 2, 1, 7, 6, 7 }, // Luyia/Latin/Kenya ++ { 205, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17653,28 , 10371,60 , 16005,14 , 17653,28 , 10371,60 , 16005,14 , 639,9 , 624,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17031,28 , 19,5 , 4,0 , 5311,6 , 5317,8 , 2, 0, 1, 6, 7 }, // Asu/Latin/Tanzania ++ { 206, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17681,28 , 17709,69 , 17778,14 , 17681,28 , 17709,69 , 17778,14 , 648,9 , 632,6 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 17059,28 , 4,4 , 13,6 , 5325,6 , 1689,6 , 0, 0, 1, 7, 7 }, // Teso/Latin/Uganda ++ { 206, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17681,28 , 17709,69 , 17778,14 , 17681,28 , 17709,69 , 17778,14 , 648,9 , 632,6 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17087,27 , 4,4 , 13,6 , 5325,6 , 5331,5 , 2, 1, 7, 6, 7 }, // Teso/Latin/Kenya + { 207, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Saho/Latin/Eritrea +- { 208, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17928,28 , 17956,53 , 18009,14 , 17928,28 , 17956,53 , 18009,14 , 657,6 , 637,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17188,23 , 0,4 , 4,0 , 5337,11 , 5348,5 , 0, 0, 1, 6, 7 }, // Koyra Chiini/Latin/Mali +- { 209, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15978,28 , 16006,62 , 16068,14 , 15978,28 , 16006,62 , 16068,14 , 568,5 , 546,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16775,27 , 0,4 , 4,0 , 5353,6 , 1620,8 , 2, 0, 1, 6, 7 }, // Rwa/Latin/Tanzania +- { 210, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 18023,28 , 18051,69 , 18120,14 , 18023,28 , 18051,69 , 18120,14 , 663,2 , 643,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17211,23 , 0,4 , 4,0 , 5359,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Luo/Latin/Kenya +- { 211, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15738,28 , 15766,74 , 15840,14 , 15738,28 , 15766,74 , 15840,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16720,26 , 4,4 , 4,0 , 5365,6 , 1685,6 , 0, 0, 1, 7, 7 }, // Chiga/Latin/Uganda +- { 212, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 18134,28 , 18162,48 , 18210,14 , 18134,28 , 18162,48 , 18210,14 , 665,9 , 645,10 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 17234,22 , 19,5 , 4,0 , 5371,17 , 5388,6 , 2, 1, 1, 6, 7 }, // Central Morocco Tamazight/Latin/Morocco +- { 213, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18224,28 , 18252,54 , 18009,14 , 18224,28 , 18252,54 , 18009,14 , 657,6 , 637,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17188,23 , 0,4 , 4,0 , 5394,15 , 5348,5 , 0, 0, 1, 6, 7 }, // Koyraboro Senni/Latin/Mali +- { 214, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 18306,28 , 18334,63 , 18397,14 , 18306,28 , 18334,63 , 18397,14 , 674,5 , 655,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17256,27 , 0,4 , 4,0 , 5409,9 , 1620,8 , 2, 0, 1, 6, 7 }, // Shambala/Latin/Tanzania +- { 215, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 18411,33 , 18444,54 , 18498,19 , 18411,33 , 18444,54 , 18498,19 , 679,3 , 663,6 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17283,10 , 8,5 , 4,0 , 5418,4 , 2662,4 , 2, 1, 7, 7, 7 }, // Bodo/Devanagari/India +- { 218, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 18517,25 , 18542,45 , 18587,17 , 18517,25 , 18542,45 , 18517,25 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 17293,43 , 19,5 , 4,0 , 5422,7 , 5429,5 , 2, 1, 1, 6, 7 }, // Chechen/Cyrillic/Russia +- { 219, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 974,8 , 974,8 , 1003,10 , 1713,23 , 37,5 , 8,10 , 18604,37 , 18641,68 , 11669,14 , 18604,37 , 18641,68 , 11669,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 17336,44 , 19,5 , 4,0 , 5434,19 , 5453,7 , 2, 1, 1, 6, 7 }, // Church/Cyrillic/Russia ++ { 208, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 17792,28 , 17820,53 , 17873,14 , 17792,28 , 17820,53 , 17873,14 , 657,6 , 638,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17114,23 , 0,4 , 4,0 , 5336,11 , 5347,5 , 0, 0, 1, 6, 7 }, // Koyra Chiini/Latin/Mali ++ { 209, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15915,28 , 15943,62 , 16005,14 , 15915,28 , 15943,62 , 16005,14 , 568,5 , 547,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 16701,27 , 0,4 , 4,0 , 5352,6 , 1624,8 , 2, 0, 1, 6, 7 }, // Rwa/Latin/Tanzania ++ { 210, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17887,28 , 17915,69 , 17984,14 , 17887,28 , 17915,69 , 17984,14 , 663,2 , 644,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 17137,23 , 0,4 , 4,0 , 5358,6 , 1191,5 , 2, 1, 7, 6, 7 }, // Luo/Latin/Kenya ++ { 211, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 15675,28 , 15703,74 , 15777,14 , 15675,28 , 15703,74 , 15777,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 197,3 , 16646,26 , 4,4 , 4,0 , 5364,6 , 1689,6 , 0, 0, 1, 7, 7 }, // Chiga/Latin/Uganda ++ { 212, 7, 145, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 17998,28 , 18026,48 , 18074,14 , 17998,28 , 18026,48 , 18074,14 , 665,9 , 646,10 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 17160,22 , 19,5 , 4,0 , 5370,17 , 5387,6 , 2, 1, 1, 6, 7 }, // Central Morocco Tamazight/Latin/Morocco ++ { 213, 7, 132, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18088,28 , 18116,54 , 17873,14 , 18088,28 , 18116,54 , 17873,14 , 657,6 , 638,6 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17114,23 , 0,4 , 4,0 , 5393,15 , 5347,5 , 0, 0, 1, 6, 7 }, // Koyraboro Senni/Latin/Mali ++ { 214, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 18170,28 , 18198,63 , 18261,14 , 18170,28 , 18198,63 , 18261,14 , 674,5 , 656,8 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17182,27 , 0,4 , 4,0 , 5408,9 , 1624,8 , 2, 0, 1, 6, 7 }, // Shambala/Latin/Tanzania ++ { 215, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 18275,33 , 18308,54 , 18362,19 , 18275,33 , 18308,54 , 18362,19 , 679,3 , 664,6 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17209,10 , 8,5 , 4,0 , 5417,4 , 2666,4 , 2, 1, 7, 7, 7 }, // Bodo/Devanagari/India ++ { 218, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 18381,25 , 18406,45 , 18451,17 , 18381,25 , 18406,45 , 18381,25 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 17219,43 , 19,5 , 4,0 , 5421,7 , 5428,5 , 2, 1, 1, 6, 7 }, // Chechen/Cyrillic/Russia ++ { 219, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Church/Cyrillic/Russia + { 220, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Chuvash/Cyrillic/Russia +- { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18709,28 , 18737,50 , 18787,14 , 18709,28 , 18737,50 , 18787,14 , 682,5 , 669,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 210,2 , 17380,24 , 0,4 , 4,0 , 5460,8 , 5468,16 , 2, 1, 1, 6, 7 }, // Luba Katanga/Latin/Congo Kinshasa +- { 231, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 982,10 , 982,10 , 156,8 , 622,18 , 37,5 , 8,10 , 18801,28 , 18829,65 , 3695,14 , 18894,35 , 18829,65 , 3695,14 , 687,5 , 675,8 , 445,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 5484,14 , 5498,10 , 2, 1, 1, 6, 7 }, // Luxembourgish/Latin/Luxembourg ++ { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18468,28 , 18496,50 , 18546,14 , 18468,28 , 18496,50 , 18546,14 , 682,5 , 670,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 214,2 , 17262,24 , 0,4 , 4,0 , 5433,8 , 5441,16 , 2, 1, 1, 6, 7 }, // Luba Katanga/Latin/Congo Kinshasa ++ { 231, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 989,10 , 989,10 , 156,8 , 622,18 , 37,5 , 8,10 , 18560,28 , 18588,65 , 3695,14 , 18653,35 , 18588,65 , 3695,14 , 687,5 , 676,8 , 424,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8436,19 , 19,5 , 4,0 , 5457,14 , 5471,10 , 2, 1, 1, 6, 7 }, // Luxembourgish/Latin/Luxembourg ++ { 232, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Navaho/Latin/United States + { 236, 7, 21, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Walloon/Latin/Belgium +- { 237, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18929,28 , 18957,72 , 19029,14 , 18929,28 , 18957,72 , 19029,14 , 692,3 , 683,3 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17404,21 , 0,4 , 4,0 , 5508,5 , 5513,7 , 0, 0, 1, 6, 7 }, // Aghem/Latin/Cameroon +- { 238, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19043,28 , 19071,70 , 19141,14 , 19043,28 , 19071,70 , 19141,14 , 695,10 , 686,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17425,22 , 19,5 , 4,0 , 5520,5 , 5525,8 , 0, 0, 1, 6, 7 }, // Basaa/Latin/Cameroon +- { 239, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18224,28 , 19155,53 , 19208,14 , 18224,28 , 19155,53 , 19208,14 , 705,8 , 695,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17188,23 , 0,4 , 4,0 , 5533,10 , 5543,5 , 0, 0, 1, 6, 7 }, // Zarma/Latin/Niger +- { 240, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19222,28 , 19250,45 , 19295,14 , 19222,28 , 19250,45 , 19295,14 , 713,5 , 705,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 19,5 , 4,0 , 5548,5 , 1981,8 , 0, 0, 1, 6, 7 }, // Duala/Latin/Cameroon +- { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19309,28 , 19337,50 , 19387,14 , 19309,28 , 19337,50 , 19387,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17447,23 , 19,5 , 4,0 , 5553,5 , 5558,7 , 0, 0, 1, 6, 7 }, // Jola Fonyi/Latin/Senegal +- { 242, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19401,30 , 19431,85 , 19516,14 , 19401,30 , 19431,85 , 19516,14 , 718,7 , 711,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17470,23 , 19,5 , 4,0 , 5565,6 , 5571,7 , 0, 0, 1, 6, 7 }, // Ewondo/Latin/Cameroon +- { 243, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19530,29 , 19559,45 , 19604,14 , 19530,29 , 19559,45 , 19604,14 , 725,6 , 720,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17493,11 , 19,5 , 4,0 , 5578,5 , 5583,7 , 0, 0, 1, 6, 7 }, // Bafia/Latin/Cameroon +- { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19618,28 , 19646,59 , 19705,14 , 19618,28 , 19646,59 , 19705,14 , 731,8 , 727,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 278,3 , 0,7 , 8,5 , 4,0 , 5590,5 , 5595,10 , 2, 1, 7, 6, 7 }, // Makhuwa Meetto/Latin/Mozambique +- { 245, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19719,28 , 19747,74 , 19821,14 , 19719,28 , 19747,74 , 19821,14 , 739,5 , 737,5 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17504,17 , 4,4 , 13,6 , 5605,6 , 5611,7 , 0, 0, 1, 6, 7 }, // Mundang/Latin/Cameroon +- { 246, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19835,30 , 19865,89 , 19954,14 , 19835,30 , 19865,89 , 19954,14 , 744,4 , 742,4 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17521,20 , 19,5 , 4,0 , 5618,6 , 5624,7 , 0, 0, 1, 6, 7 }, // Kwasio/Latin/Cameroon +- { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 538,9 , 97,16 , 18,7 , 531,12 , 19968,38 , 20006,79 , 20085,14 , 19968,38 , 20006,79 , 20085,14 , 748,2 , 746,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 119,1 , 0,7 , 4,4 , 13,6 , 5631,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/South Sudan +- { 248, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 992,11 , 992,11 , 227,6 , 1736,30 , 37,5 , 8,10 , 20099,21 , 20120,71 , 20191,14 , 20099,21 , 20120,71 , 20191,14 , 750,2 , 748,2 , 1231,5 , 1236,17 , 22,23 , {82,85,66}, 123,1 , 17541,47 , 19,5 , 4,0 , 5640,9 , 5649,9 , 2, 1, 1, 6, 7 }, // Sakha/Cyrillic/Russia +- { 249, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 20205,28 , 20233,60 , 20293,14 , 20205,28 , 20233,60 , 20293,14 , 752,9 , 750,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17588,25 , 0,4 , 4,0 , 5658,9 , 5667,9 , 2, 0, 1, 6, 7 }, // Sangu/Latin/Tanzania +- { 251, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18224,28 , 18252,54 , 18009,14 , 18224,28 , 18252,54 , 18009,14 , 705,8 , 695,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17188,23 , 0,4 , 4,0 , 5676,13 , 5543,5 , 0, 0, 1, 6, 7 }, // Tasawaq/Latin/Niger +- { 252, 35, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20307,30 , 20307,30 , 85,14 , 20307,30 , 20307,30 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17613,15 , 4,4 , 13,6 , 5689,2 , 5691,4 , 2, 1, 1, 6, 7 }, // Vai/Vai/Liberia +- { 252, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20337,48 , 20337,48 , 85,14 , 20337,48 , 20337,48 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17628,20 , 4,4 , 13,6 , 5695,3 , 5698,8 , 2, 1, 1, 6, 7 }, // Vai/Latin/Liberia +- { 253, 7, 206, 44, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 264,9 , 264,9 , 53,10 , 622,18 , 37,5 , 8,10 , 20385,28 , 20413,53 , 20466,14 , 20385,28 , 20413,53 , 20466,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 0,7 , 8,5 , 4,0 , 5706,6 , 5712,6 , 2, 0, 1, 6, 7 }, // Walser/Latin/Switzerland +- { 254, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 20480,21 , 20501,71 , 20572,14 , 20480,21 , 20501,71 , 20572,14 , 761,8 , 759,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 19,5 , 24,7 , 5718,6 , 5724,7 , 0, 0, 1, 6, 7 }, // Yangben/Latin/Cameroon +- { 256, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 684,7 , 684,7 , 269,6 , 372,22 , 37,5 , 8,10 , 20586,28 , 20614,54 , 3391,14 , 20586,28 , 20614,54 , 3391,14 , 769,12 , 767,11 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 5731,9 , 2427,6 , 2, 1, 1, 6, 7 }, // Asturian/Latin/Spain +- { 257, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 1003,11 , 1003,11 , 1014,16 , 1030,9 , 53,10 , 1566,18 , 37,5 , 8,10 , 20668,60 , 20668,60 , 20728,25 , 20668,60 , 20668,60 , 20728,25 , 781,8 , 778,13 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17648,12 , 8,5 , 4,0 , 5740,5 , 5745,7 , 0, 0, 1, 6, 7 }, // Ngomba/Latin/Cameroon +- { 258, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 1766,10 , 80,17 , 37,5 , 8,10 , 20753,54 , 20753,54 , 20807,21 , 20753,54 , 20753,54 , 20807,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17660,16 , 8,5 , 4,0 , 5752,4 , 5756,7 , 0, 0, 1, 6, 7 }, // Kako/Latin/Cameroon +- { 259, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1566,18 , 37,5 , 8,10 , 20828,49 , 20828,49 , 20877,21 , 20828,49 , 20828,49 , 20877,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17676,12 , 8,5 , 4,0 , 5763,5 , 5768,7 , 0, 0, 1, 6, 7 }, // Meta/Latin/Cameroon +- { 260, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1776,32 , 37,5 , 8,10 , 20898,111 , 20898,111 , 85,14 , 20898,111 , 20898,111 , 85,14 , 789,9 , 791,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17688,16 , 8,5 , 4,0 , 5775,16 , 5791,7 , 0, 0, 1, 6, 7 }, // Ngiemboon/Latin/Cameroon ++ { 237, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18688,28 , 18716,72 , 18788,14 , 18688,28 , 18716,72 , 18788,14 , 692,3 , 684,3 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17286,21 , 0,4 , 4,0 , 5481,5 , 5486,7 , 0, 0, 1, 6, 7 }, // Aghem/Latin/Cameroon ++ { 238, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18802,28 , 18830,70 , 18900,14 , 18802,28 , 18830,70 , 18900,14 , 695,10 , 687,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17307,22 , 19,5 , 4,0 , 5493,5 , 5498,8 , 0, 0, 1, 6, 7 }, // Basaa/Latin/Cameroon ++ { 239, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18088,28 , 18914,53 , 18967,14 , 18088,28 , 18914,53 , 18967,14 , 705,8 , 696,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17114,23 , 0,4 , 4,0 , 5506,10 , 5516,5 , 0, 0, 1, 6, 7 }, // Zarma/Latin/Niger ++ { 240, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18981,28 , 19009,45 , 19054,14 , 18981,28 , 19009,45 , 19054,14 , 713,5 , 706,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 19,5 , 4,0 , 5521,5 , 1985,8 , 0, 0, 1, 6, 7 }, // Duala/Latin/Cameroon ++ { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19068,28 , 19096,50 , 19146,14 , 19068,28 , 19096,50 , 19146,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17329,23 , 19,5 , 4,0 , 5526,5 , 5531,7 , 0, 0, 1, 6, 7 }, // Jola Fonyi/Latin/Senegal ++ { 242, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19160,30 , 19190,85 , 19275,14 , 19160,30 , 19190,85 , 19275,14 , 718,7 , 712,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17352,23 , 19,5 , 4,0 , 5538,6 , 5544,7 , 0, 0, 1, 6, 7 }, // Ewondo/Latin/Cameroon ++ { 243, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19289,29 , 19318,45 , 19363,14 , 19289,29 , 19318,45 , 19363,14 , 725,6 , 721,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17375,11 , 19,5 , 4,0 , 5551,5 , 5556,7 , 0, 0, 1, 6, 7 }, // Bafia/Latin/Cameroon ++ { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19377,28 , 19405,59 , 19464,14 , 19377,28 , 19405,59 , 19464,14 , 731,8 , 728,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 282,3 , 0,7 , 8,5 , 4,0 , 5563,5 , 5568,10 , 2, 1, 7, 6, 7 }, // Makhuwa Meetto/Latin/Mozambique ++ { 245, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19478,28 , 19506,74 , 19580,14 , 19478,28 , 19506,74 , 19580,14 , 739,5 , 738,5 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17386,17 , 4,4 , 13,6 , 5578,6 , 5584,7 , 0, 0, 1, 6, 7 }, // Mundang/Latin/Cameroon ++ { 246, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 19594,30 , 19624,89 , 19713,14 , 19594,30 , 19624,89 , 19713,14 , 744,4 , 743,4 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17403,20 , 19,5 , 4,0 , 5591,6 , 5597,7 , 0, 0, 1, 6, 7 }, // Kwasio/Latin/Cameroon ++ { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 538,9 , 97,16 , 18,7 , 554,12 , 19727,38 , 19765,79 , 19844,14 , 19727,38 , 19765,79 , 19844,14 , 748,2 , 747,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 119,1 , 0,7 , 4,4 , 13,6 , 5604,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/South Sudan ++ { 248, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 999,11 , 999,11 , 227,6 , 1690,30 , 37,5 , 8,10 , 19858,21 , 19879,71 , 19950,14 , 19858,21 , 19879,71 , 19950,14 , 750,2 , 749,2 , 1300,5 , 1305,17 , 22,23 , {82,85,66}, 123,1 , 17423,47 , 19,5 , 4,0 , 5613,9 , 5622,9 , 2, 1, 1, 6, 7 }, // Sakha/Cyrillic/Russia ++ { 249, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 37,5 , 8,10 , 19964,28 , 19992,60 , 20052,14 , 19964,28 , 19992,60 , 20052,14 , 752,9 , 751,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 192,3 , 17470,25 , 0,4 , 4,0 , 5631,9 , 5640,9 , 2, 0, 1, 6, 7 }, // Sangu/Latin/Tanzania ++ { 251, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 18088,28 , 18116,54 , 17873,14 , 18088,28 , 18116,54 , 17873,14 , 705,8 , 696,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 207,3 , 17114,23 , 0,4 , 4,0 , 5649,13 , 5516,5 , 0, 0, 1, 6, 7 }, // Tasawaq/Latin/Niger ++ { 252, 35, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20066,30 , 20066,30 , 85,14 , 20066,30 , 20066,30 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17495,15 , 4,4 , 13,6 , 5662,2 , 5664,4 , 2, 1, 1, 6, 7 }, // Vai/Vai/Liberia ++ { 252, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 119,10 , 10,17 , 18,7 , 25,12 , 20096,48 , 20096,48 , 85,14 , 20096,48 , 20096,48 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 17510,20 , 4,4 , 13,6 , 5668,3 , 5671,8 , 2, 1, 1, 6, 7 }, // Vai/Latin/Liberia ++ { 253, 7, 206, 44, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 265,9 , 265,9 , 53,10 , 622,18 , 37,5 , 8,10 , 20144,28 , 20172,53 , 20225,14 , 20144,28 , 20172,53 , 20225,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 0,0 , 0,7 , 8,5 , 4,0 , 5679,6 , 5685,6 , 2, 0, 1, 6, 7 }, // Walser/Latin/Switzerland ++ { 254, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 20239,21 , 20260,71 , 20331,14 , 20239,21 , 20260,71 , 20331,14 , 761,8 , 760,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 19,5 , 24,7 , 5691,6 , 5697,7 , 0, 0, 1, 6, 7 }, // Yangben/Latin/Cameroon ++ { 256, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 702,7 , 702,7 , 269,6 , 372,22 , 37,5 , 8,10 , 20345,28 , 20373,54 , 3391,14 , 20345,28 , 20373,54 , 3391,14 , 769,12 , 768,11 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 19,5 , 4,0 , 5704,9 , 2431,6 , 2, 1, 1, 6, 7 }, // Asturian/Latin/Spain ++ { 257, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 1010,11 , 1010,11 , 1021,16 , 1037,9 , 53,10 , 1543,18 , 37,5 , 8,10 , 20427,60 , 20427,60 , 20487,25 , 20427,60 , 20427,60 , 20487,25 , 781,8 , 779,13 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17530,12 , 8,5 , 4,0 , 5713,5 , 5718,7 , 0, 0, 1, 6, 7 }, // Ngomba/Latin/Cameroon ++ { 258, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 1720,10 , 80,17 , 37,5 , 8,10 , 20512,54 , 20512,54 , 20566,21 , 20512,54 , 20512,54 , 20566,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17542,16 , 8,5 , 4,0 , 5725,4 , 5729,7 , 0, 0, 1, 6, 7 }, // Kako/Latin/Cameroon ++ { 259, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1543,18 , 37,5 , 8,10 , 20587,49 , 20587,49 , 20636,21 , 20587,49 , 20587,49 , 20636,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17558,12 , 8,5 , 4,0 , 5736,5 , 5741,7 , 0, 0, 1, 6, 7 }, // Meta/Latin/Cameroon ++ { 260, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1730,32 , 37,5 , 8,10 , 20657,111 , 20657,111 , 85,14 , 20657,111 , 20657,111 , 85,14 , 789,9 , 792,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 17570,16 , 8,5 , 4,0 , 5748,16 , 5764,7 , 0, 0, 1, 6, 7 }, // Ngiemboon/Latin/Cameroon + { 261, 7, 197, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Aragonese/Latin/Spain +- { 290, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1039,11 , 1039,11 , 269,6 , 1808,18 , 18,7 , 25,12 , 21009,59 , 21009,59 , 21068,26 , 21009,59 , 21009,59 , 21068,26 , 798,4 , 799,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17704,35 , 8,5 , 4,0 , 5798,8 , 5806,8 , 2, 1, 7, 7, 7 }, // Manipuri/Bengali/India ++ { 275, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1046,9 , 1055,8 , 269,6 , 1762,18 , 18,7 , 25,12 , 20768,30 , 20798,51 , 20849,23 , 20768,30 , 20872,51 , 20923,25 , 798,4 , 800,9 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17586,37 , 4,4 , 4,0 , 5771,5 , 2666,4 , 2, 1, 7, 7, 7 }, // Dogri/Devanagari/India ++ { 290, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1063,11 , 1063,11 , 269,6 , 1780,18 , 18,7 , 25,12 , 20948,59 , 20948,59 , 21007,26 , 20948,59 , 20948,59 , 21033,27 , 802,4 , 809,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17623,35 , 8,5 , 4,0 , 5776,8 , 5784,8 , 2, 1, 7, 7, 7 }, // Manipuri/Bengali/India + { 290, 72, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Manipuri/Meitei Mayek/India +- { 304, 78, 100, 46, 44, 59, 37, 7248, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 21094,26 , 21120,42 , 21162,14 , 21094,26 , 21120,42 , 21162,14 , 802,9 , 804,10 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17739,71 , 8,5 , 4,0 , 5814,7 , 5821,6 , 2, 1, 7, 7, 7 }, // Santali/Ol Chiki/India ++ { 304, 78, 100, 46, 44, 59, 37, 7248, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 269,6 , 10,17 , 18,7 , 25,12 , 21060,26 , 21086,42 , 21128,14 , 21060,26 , 21086,42 , 21128,14 , 806,5 , 814,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17658,71 , 8,5 , 4,0 , 5792,7 , 5799,6 , 2, 1, 7, 7, 7 }, // Santali/Ol Chiki/India + { 304, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Santali/Devanagari/India +- { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 336,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Tai Dam/Tai Viet/Vietnam ++ { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 340,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Tai Dam/Tai Viet/Vietnam + { 312, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Akoose/Latin/Cameroon +- { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 21176,87 , 21176,87 , 85,14 , 21176,87 , 21176,87 , 21263,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 8,5 , 4,0 , 5827,12 , 5839,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/United States +- { 314, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15412,30 , 21277,48 , 85,14 , 15412,30 , 21277,48 , 85,14 , 542,6 , 514,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16625,21 , 0,4 , 4,0 , 5861,8 , 5017,6 , 2, 1, 1, 6, 7 }, // Standard Moroccan Tamazight/Tifinagh/Morocco ++ { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 547,6 , 35,18 , 18,7 , 25,12 , 21142,87 , 21142,87 , 85,14 , 21142,87 , 21142,87 , 21229,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 8,5 , 4,0 , 5805,12 , 5817,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/United States ++ { 314, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 415,8 , 97,16 , 37,5 , 8,10 , 15349,30 , 21243,48 , 85,14 , 15349,30 , 21243,48 , 85,14 , 542,6 , 515,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 16547,21 , 0,4 , 4,0 , 5839,8 , 5016,6 , 2, 1, 1, 6, 7 }, // Standard Moroccan Tamazight/Tifinagh/Morocco + { 315, 7, 43, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,76,80}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Mapuche/Latin/Chile +- { 316, 1, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 21325,58 , 21325,58 , 21383,14 , 21325,58 , 21325,58 , 21383,14 , 811,3 , 814,3 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 17810,20 , 19,5 , 4,0 , 5869,14 , 5883,5 , 0, 0, 6, 5, 6 }, // Central Kurdish/Arabic/Iraq +- { 316, 1, 102, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 21325,58 , 21325,58 , 21383,14 , 21325,58 , 21325,58 , 21383,14 , 811,3 , 814,3 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 17830,19 , 19,5 , 4,0 , 5869,14 , 5888,5 , 0, 0, 6, 5, 5 }, // Central Kurdish/Arabic/Iran +- { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 180,7 , 180,7 , 113,6 , 622,18 , 55,4 , 59,9 , 21397,28 , 21425,53 , 21478,14 , 21397,28 , 21425,53 , 21478,14 , 814,9 , 817,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17849,27 , 19,5 , 4,0 , 5893,14 , 5907,6 , 2, 1, 1, 6, 7 }, // Lower Sorbian/Latin/Germany +- { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 180,7 , 180,7 , 113,6 , 622,18 , 543,12 , 59,9 , 21492,28 , 21520,53 , 21573,14 , 21492,28 , 21520,53 , 21573,14 , 814,9 , 827,9 , 1253,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17876,29 , 19,5 , 4,0 , 5913,15 , 5928,6 , 2, 1, 1, 6, 7 }, // Upper Sorbian/Latin/Germany ++ { 316, 1, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 21291,58 , 21291,58 , 21349,14 , 21291,58 , 21291,58 , 21349,14 , 811,3 , 819,3 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 17729,20 , 19,5 , 4,0 , 5847,14 , 5861,5 , 0, 0, 6, 5, 6 }, // Central Kurdish/Arabic/Iraq ++ { 316, 1, 102, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 21291,58 , 21291,58 , 21349,14 , 21291,58 , 21291,58 , 21349,14 , 811,3 , 819,3 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 17749,19 , 19,5 , 4,0 , 5847,14 , 5866,5 , 0, 0, 6, 5, 5 }, // Central Kurdish/Arabic/Iran ++ { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 181,7 , 181,7 , 113,6 , 622,18 , 55,4 , 59,9 , 21363,28 , 21391,53 , 21444,14 , 21363,28 , 21391,53 , 21444,14 , 814,9 , 822,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17768,27 , 19,5 , 4,0 , 5871,14 , 5885,6 , 2, 1, 1, 6, 7 }, // Lower Sorbian/Latin/Germany ++ { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 181,7 , 181,7 , 113,6 , 622,18 , 566,12 , 59,9 , 21458,28 , 21486,53 , 21539,14 , 21458,28 , 21486,53 , 21539,14 , 814,9 , 832,9 , 1322,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17795,29 , 19,5 , 4,0 , 5891,15 , 5906,6 , 2, 1, 1, 6, 7 }, // Upper Sorbian/Latin/Germany + { 319, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Kenyang/Latin/Cameroon +- { 320, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 240,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Mohawk/Latin/Canada +- { 321, 75, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 216,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Nko/Nko/Guinea +- { 322, 7, 260, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 1050,8 , 1050,8 , 156,8 , 1826,27 , 37,5 , 8,10 , 21587,28 , 21615,69 , 21684,14 , 21587,28 , 21615,69 , 21684,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 19,5 , 4,0 , 5934,9 , 5943,6 , 2, 1, 1, 6, 7 }, // Prussian/Latin/World +- { 323, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,84,81}, 305,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Kiche/Latin/Guatemala ++ { 320, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 244,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Mohawk/Latin/Canada ++ { 321, 75, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 220,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Nko/Nko/Guinea ++ { 322, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Prussian/Latin/World ++ { 323, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,84,81}, 309,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Kiche/Latin/Guatemala + { 324, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Southern Sami/Latin/Sweden + { 325, 7, 205, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 190,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 1, 6, 7 }, // Lule Sami/Latin/Sweden +- { 326, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 640,8 , 1853,18 , 220,4 , 224,9 , 21698,28 , 21726,70 , 85,14 , 21698,28 , 21796,73 , 21869,14 , 823,3 , 836,3 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17905,11 , 19,5 , 4,0 , 5949,11 , 5960,5 , 2, 1, 1, 6, 7 }, // Inari Sami/Latin/Finland ++ { 326, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 640,8 , 1798,18 , 254,4 , 258,9 , 21553,28 , 21581,70 , 85,14 , 21553,28 , 21651,73 , 21724,14 , 823,3 , 841,3 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 17824,11 , 19,5 , 4,0 , 5912,11 , 5923,5 , 2, 1, 1, 6, 7 }, // Inari Sami/Latin/Finland + { 327, 7, 73, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Skolt Sami/Latin/Finland +- { 328, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,85,68}, 340,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Warlpiri/Latin/Australia +- { 339, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 316,9 , 325,8 , 269,6 , 10,17 , 18,7 , 25,12 , 4304,32 , 4336,53 , 4389,19 , 4304,32 , 4336,53 , 4389,19 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17916,31 , 8,5 , 4,0 , 5965,6 , 2662,4 , 2, 1, 7, 7, 7 }, // Maithili/Devanagari/India +- { 346, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 726,4 , 1258,39 , 22,23 , {73,82,82}, 342,3 , 17947,27 , 8,5 , 4,0 , 5971,7 , 3252,5 , 0, 0, 6, 5, 5 }, // Mazanderani/Arabic/Iran +- { 349, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 5978,11 , 0,0 , 0, 0, 6, 5, 5 }, // Northern Luri/Arabic/Iran +- { 349, 1, 103, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 0,7 , 8,5 , 4,0 , 5978,11 , 0,0 , 0, 0, 6, 5, 6 }, // Northern Luri/Arabic/Iraq +- { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 165,5 , 165,5 , 1058,5 , 1058,5 , 394,8 , 423,14 , 175,6 , 192,13 , 1980,28 , 1980,28 , 2008,14 , 1980,28 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 134,3 , 17974,11 , 4,4 , 13,6 , 5989,2 , 5991,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/Hong Kong +- { 357, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 165,5 , 165,5 , 1058,5 , 1058,5 , 394,8 , 402,13 , 175,6 , 181,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 243,1 , 3122,13 , 4,4 , 13,6 , 6005,2 , 6007,7 , 2, 1, 7, 6, 7 }, // Cantonese/Simplified Han/China ++ { 328, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {65,85,68}, 344,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Warlpiri/Latin/Australia ++ { 339, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 326,9 , 335,8 , 269,6 , 10,17 , 18,7 , 25,12 , 4304,32 , 4336,53 , 4389,19 , 4304,32 , 4336,53 , 4389,19 , 68,2 , 65,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 121,1 , 17835,31 , 8,5 , 4,0 , 5928,6 , 2666,4 , 2, 1, 7, 7, 7 }, // Maithili/Devanagari/India ++ { 346, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 774,4 , 1327,39 , 22,23 , {73,82,82}, 346,3 , 17866,27 , 8,5 , 4,0 , 5934,7 , 3263,5 , 0, 0, 6, 5, 5 }, // Mazanderani/Arabic/Iran ++ { 349, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 5941,11 , 0,0 , 0, 0, 6, 5, 5 }, // Northern Luri/Arabic/Iran ++ { 349, 1, 103, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 0,7 , 8,5 , 4,0 , 5941,11 , 0,0 , 0, 0, 6, 5, 6 }, // Northern Luri/Arabic/Iraq ++ { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 166,5 , 166,5 , 1074,5 , 1074,5 , 394,8 , 423,14 , 209,6 , 226,13 , 1980,28 , 1980,28 , 2008,14 , 1980,28 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 134,3 , 17893,11 , 4,4 , 13,6 , 5952,2 , 5954,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/Hong Kong ++ { 357, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 166,5 , 166,5 , 1074,5 , 1074,5 , 394,8 , 402,13 , 209,6 , 215,11 , 1959,21 , 1980,28 , 2008,14 , 1959,21 , 1980,28 , 2008,14 , 58,2 , 55,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 247,1 , 3122,13 , 4,4 , 13,6 , 5968,2 , 5970,7 , 2, 1, 7, 6, 7 }, // Cantonese/Simplified Han/China + { 358, 138, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Osage/Osage/United States + { 360, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ido/Latin/World + { 361, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Lojban/Latin/World + { 362, 7, 106, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Sicilian/Latin/Italy + { 363, 1, 102, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 6, 5, 5 }, // Southern Kurdish/Arabic/Iran + { 364, 1, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 176,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Western Balochi/Arabic/Pakistan +- { 365, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1063,9 , 1072,8 , 547,6 , 35,18 , 18,7 , 25,12 , 21883,28 , 21911,56 , 21967,14 , 21883,28 , 21911,56 , 21967,14 , 0,2 , 0,2 , 1297,8 , 5,17 , 22,23 , {80,72,80}, 179,1 , 17985,56 , 4,4 , 13,6 , 6014,8 , 4731,9 , 2, 1, 7, 6, 7 }, // Cebuano/Latin/Philippines ++ { 365, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1079,9 , 1088,8 , 547,6 , 35,18 , 18,7 , 25,12 , 21738,28 , 21766,56 , 21822,14 , 21738,28 , 21766,56 , 21822,14 , 0,2 , 0,2 , 1366,8 , 5,17 , 22,23 , {80,72,80}, 179,1 , 17904,56 , 4,4 , 13,6 , 5977,8 , 4730,9 , 2, 1, 7, 6, 7 }, // Cebuano/Latin/Philippines + { 366, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 123,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Erzya/Cyrillic/Russia + { 367, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Chickasaw/Latin/United States + { 368, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 159,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Muscogee/Latin/United States +- { 369, 7, 172, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,76,78}, 273,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Silesian/Latin/Poland +- { 370, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1080,9 , 1089,8 , 119,10 , 10,17 , 37,5 , 8,10 , 21981,33 , 22014,52 , 85,14 , 21981,33 , 22014,52 , 85,14 , 826,9 , 839,8 , 1305,8 , 5,17 , 22,23 , {78,71,78}, 178,1 , 18041,50 , 4,4 , 4,0 , 6022,14 , 6036,8 , 2, 1, 1, 6, 7 }, // Nigerian Pidgin/Latin/Nigeria ++ { 369, 7, 172, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,76,78}, 277,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Silesian/Latin/Poland ++ { 370, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 1096,9 , 1105,8 , 119,10 , 10,17 , 37,5 , 8,10 , 21836,33 , 21869,52 , 85,14 , 21836,33 , 21869,52 , 85,14 , 826,9 , 844,8 , 1374,8 , 5,17 , 22,23 , {78,71,78}, 178,1 , 17960,50 , 4,4 , 4,0 , 5985,14 , 5999,8 , 2, 1, 1, 6, 7 }, // Nigerian Pidgin/Latin/Nigeria + { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, {0,0,0}, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0, 0, 0, 0, 0 } // trailing zeros + }; + +@@ -1892,55 +1891,56 @@ static const ushort list_pattern_part_data[] = { + 0x31, 0x20, 0x986, 0x9f0, 0x9c1, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0x259, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x65, + 0x74, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x98f, 0x9ac, 0x982, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xf51, 0xf44, 0xf0b, + 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x68, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x438, 0x20, 0x25, 0x32, 0x25, 0x31, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x1014, 0x103e, 0x1004, 0x1037, 0x103a, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x456, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x20, 0x1793, 0x17b7, 0x1784, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x1793, 0x17b7, 0x1784, 0x200b, 0x25, 0x32, 0x25, 0x31, +-0x20, 0x69, 0x20, 0x25, 0x32, 0x25, 0x31, 0x3001, 0x25, 0x32, 0x25, 0x31, 0x548c, 0x25, 0x32, 0x25, 0x31, 0x53ca, 0x25, 0x32, +-0x25, 0x31, 0x20, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6f, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x61, +-0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6b, 0x61, 0x6a, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6a, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x65, 0x74, 0x20, 0x25, 0x32, 0x25, +-0x31, 0x20, 0x61, 0x67, 0x75, 0x73, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x10d3, +-0x10d0, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x3ba, 0x3b1, 0x3b9, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x61, 0x6d, 0x6d, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xa85, 0xaa8, 0xac7, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x20, 0x64, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x5d5, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, +-0x914, 0x930, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x914, 0x930, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xe9, 0x73, 0x20, 0x25, +-0x32, 0x25, 0x31, 0x2c, 0x20, 0x64, 0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x64, 0x61, 0x6e, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x2c, 0x20, 0x61, 0x67, 0x75, 0x73, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x20, 0x25, +-0x32, 0x25, 0x31, 0x20, 0x6c, 0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0xcae, 0xca4, 0xccd, 0xca4, 0xcc1, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x20, 0xcae, 0xca4, 0xccd, 0xca4, 0xcc1, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x436, 0x4d9, 0x43d, 0x435, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x436, 0x430, 0x43d, 0x430, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xbc0f, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x20, 0xfb, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xec1, 0xea5, 0xeb0, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, +-0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6d, 0x70, 0xe9, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x72, 0x20, 0x25, +-0x32, 0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x20, 0xd0e, 0xd28, 0xd4d, 0xd28, 0xd3f, 0xd35, 0x25, 0x31, 0x20, 0xd15, 0xd42, 0xd1f, +-0xd3e, 0xd24, 0xd46, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x75, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x20, 0x25, +-0x32, 0x25, 0x31, 0x20, 0x906, 0x923, 0x93f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x25, 0x31, 0x20, 0x930, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0xb13, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xb13, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x627, 0x648, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x627, 0x648, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x60c, 0x200f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x648, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x648, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x20, 0xa05, 0xa24, 0xa47, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x219, 0x69, 0x20, 0x25, 0x32, 0x25, +-0x31, 0x20, 0x4d5, 0x43c, 0x4d5, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x6fd, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6fd, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0xdc3, 0xdc4, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xdc3, 0xdc4, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x20, 0x61, 0xa0, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x79, +-0x6f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x79, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x73, 0x61, 0x72, 0x65, 0x6e, +-0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x73, 0x61, 0x72, 0x65, 0x6e, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6e, +-0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6f, 0x63, 0x68, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xbae, 0xbb1, 0xbcd, 0xbb1, +-0xbc1, 0xbae, 0xbcd, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x4bb, 0x4d9, 0x43c, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xc2e, 0xc30, +-0xc3f, 0xc2f, 0xc41, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xe41, 0xe25, 0xe30, 0x25, 0x32, 0x25, 0x31, 0xe41, 0xe25, 0xe30, 0x25, +-0x32, 0x25, 0x31, 0x20, 0x6d, 0x6f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, +-0x77, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x627, 0x648, 0x631, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x627, 0x648, +-0x631, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0xe0, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x2c, 0x20, 0x61, 0x28, 0x63, 0x29, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x28, 0x63, 0x29, 0x20, 0x25, +-0x32, 0x25, 0x31, 0x20, 0x5d0, 0x5d5, 0x5df, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6e, 0x65, 0x2d, 0x25, 0x32, 0x25, +-0x31, 0x20, 0x6e, 0x65, 0x2d, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6e, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, +-0x6b, 0x70, 0x6c, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6b, 0x70, 0x6c, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, +-0x20, 0x61, 0x74, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x74, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x61, 0x6b, +-0x6b, 0x65, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x6b, 0x6b, 0x65, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, +-0x20, 0x13a0, 0x13b4, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x13a0, 0x13b4, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x438, 0x486, 0x20, +-0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x28, 0x6e, 0x29, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x443, 0x43e, 0x43d, 0x43d, 0x430, +-0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x14b, 0x301, 0x67, 0x25b, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x1e3f, 0x62, +-0x25b, 0x6e, 0x20, 0x14b, 0x301, 0x67, 0x25b, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x70, 0x254, 0x70, 0x20, 0x25, 0x32, 0x25, +-0x31, 0x20, 0x985, 0x9ae, 0x9b8, 0x9c1, 0x982, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x62, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, +-0x540c, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x75, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x67, 0x20, 0x25, 0x32, +-0x25, 0x31, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x6e, 0x20, 0x25, 0x32 ++0x104a, 0x20, 0x25, 0x32, 0x25, 0x31, 0x1014, 0x103e, 0x1004, 0x1037, 0x103a, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x456, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x20, 0x1793, 0x17b7, 0x1784, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x1793, 0x17b7, 0x1784, 0x200b, 0x25, 0x32, 0x25, ++0x31, 0x20, 0x69, 0x20, 0x25, 0x32, 0x25, 0x31, 0x3001, 0x25, 0x32, 0x25, 0x31, 0x548c, 0x25, 0x32, 0x25, 0x31, 0x53ca, 0x25, ++0x32, 0x25, 0x31, 0x20, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6f, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, ++0x61, 0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6b, 0x61, ++0x6a, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6a, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x65, 0x74, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x20, 0x61, 0x67, 0x75, 0x73, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, ++0x10d3, 0x10d0, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x6e, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x3ba, 0x3b1, 0x3b9, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x61, 0x6d, 0x6d, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xa85, 0xaa8, 0xac7, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x64, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x64, 0x61, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x20, 0x5d5, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x914, 0x930, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x914, 0x930, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xe9, 0x73, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x64, 0x61, 0x6e, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x20, 0x64, 0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6c, 0x61, 0x6e, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x20, 0x6c, 0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0xcae, 0xca4, 0xccd, 0xca4, 0xcc1, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x20, 0xcae, 0xca4, 0xccd, 0xca4, 0xcc1, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x436, 0x4d9, 0x43d, 0x435, 0x20, ++0x25, 0x32, 0x25, 0x31, 0x20, 0x436, 0x430, 0x43d, 0x430, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xbc0f, 0x20, 0x25, 0x32, 0x25, ++0x31, 0x20, 0xfb, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xec1, 0xea5, 0xeb0, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x6e, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6d, 0x70, 0xe9, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x72, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x2c, 0x20, 0x25, 0x32, 0x20, 0xd0e, 0xd28, 0xd4d, 0xd28, 0xd3f, 0xd35, 0x25, 0x31, 0x20, 0xd15, 0xd42, 0xd1f, 0xd3e, ++0xd24, 0xd46, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x75, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x20, 0x906, 0x923, 0x93f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x25, 0x32, 0x25, 0x31, 0x20, 0x930, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x2c, 0x20, 0xb13, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xb13, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, ++0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x627, 0x648, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x627, 0x648, 0x20, 0x25, 0x32, 0x25, ++0x31, 0x60c, 0x200f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x648, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x648, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x20, 0xa05, 0xa24, 0xa47, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x219, 0x69, 0x20, 0x25, 0x32, 0x25, 0x31, ++0x2c, 0x20, 0x924, 0x925, 0x93e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x924, 0x925, 0x93e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, ++0x4d5, 0x43c, 0x4d5, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x6fd, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6fd, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x2c, 0x20, 0xdc3, 0xdc4, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xdc3, 0xdc4, 0x20, 0x25, 0x32, 0x25, 0x31, ++0x20, 0x61, 0xa0, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x69, 0x79, 0x6f, 0x20, ++0x25, 0x32, 0x25, 0x31, 0x20, 0x79, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x73, 0x61, 0x72, 0x65, 0x6e, 0x67, 0x20, ++0x25, 0x32, 0x25, 0x31, 0x20, 0x73, 0x61, 0x72, 0x65, 0x6e, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6e, 0x61, 0x20, ++0x25, 0x32, 0x25, 0x31, 0x20, 0x6f, 0x63, 0x68, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xbae, 0xbb1, 0xbcd, 0xbb1, 0xbc1, 0xbae, ++0xbcd, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x4bb, 0x4d9, 0x43c, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xc2e, 0xc30, 0xc3f, 0xc2f, ++0xc41, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0xe41, 0xe25, 0xe30, 0x25, 0x32, 0x25, 0x31, 0xe41, ++0xe25, 0xe30, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6d, 0x6f, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0x65, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x20, 0x77, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x60c, 0x20, 0x627, 0x648, 0x631, 0x20, 0x25, 0x32, 0x25, 0x31, ++0x20, 0x627, 0x648, 0x631, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0x61, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x76, 0xe0, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x61, 0x28, 0x63, 0x29, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x28, 0x63, ++0x29, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x5d0, 0x5d5, 0x5df, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6e, 0x65, 0x2d, ++0x25, 0x32, 0x25, 0x31, 0x20, 0x6e, 0x65, 0x2d, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x6e, 0x61, 0x20, 0x25, 0x32, 0x25, ++0x31, 0x2c, 0x20, 0x6b, 0x70, 0x6c, 0x65, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x6b, 0x70, 0x6c, 0x65, 0x20, 0x25, 0x32, ++0x25, 0x31, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x74, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, ++0x20, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x64, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x13a0, 0x13b4, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x20, 0x13a0, 0x13b4, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x28, 0x6e, 0x29, 0x20, 0x25, 0x32, 0x25, ++0x31, 0x20, 0x443, 0x43e, 0x43d, 0x43d, 0x430, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x14b, 0x301, 0x67, 0x25b, 0x20, 0x25, ++0x32, 0x25, 0x31, 0x2c, 0x20, 0x1e3f, 0x62, 0x25b, 0x6e, 0x20, 0x14b, 0x301, 0x67, 0x25b, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, ++0x70, 0x254, 0x70, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, 0x924, 0x947, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x924, 0x947, ++0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x985, 0x9ae, 0x9b8, 0x9c1, 0x982, 0x20, 0x25, 0x32, 0x25, 0x31, 0x540c, 0x25, 0x32, 0x25, ++0x31, 0x2c, 0x20, 0x75, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x75, 0x67, 0x20, 0x25, 0x32, 0x25, 0x31, 0x2c, 0x20, ++0x61, 0x6e, 0x20, 0x25, 0x32, 0x25, 0x31, 0x20, 0x61, 0x6e, 0x20, 0x25, 0x32 + }; + + static const ushort date_format_data[] = { +@@ -2017,27 +2017,24 @@ static const ushort date_format_data[] = { + 0x440, 0x27, 0x2e, 0x64, 0x64, 0x64, 0x64, 0x60c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x60c, 0x20, 0x79, 0x79, 0x79, + 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2d, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, + 0x79, 0x79, 0x79, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x6cc, 0x6cc, 0x644, 0x20, 0x64, 0x20, 0x646, 0x686, 0x6cc, 0x20, 0x4d, 0x4d, +-0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x20, 0x6a9, 0x648, 0x646, 0x6cc, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, +-0x4d, 0x27, 0x61, 0x27, 0x20, 0x27, 0x64, 0x27, 0x2e, 0x20, 0x64, 0x27, 0x69, 0x64, 0x27, 0x64, 0x64, 0x64, 0x64, 0x2c, +-0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x5d8, +-0x5df, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, +-0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x79, 0x79, +-0x2f, 0x4d, 0x4d, 0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, +-0x4d, 0x20, 0x64, 0x64, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, +-0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x61, 0x6c, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, +-0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x6c, 0x69, 0x61, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, +-0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, +-0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, +-0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x64, 0xe4, 0x27, +-0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, +-0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x43b, 0x27, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x79, 0x79, 0x79, 0x79, +-0x20, 0x27, 0x441, 0x44b, 0x43b, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x43a, 0x4af, 0x43d, 0x44d, 0x27, +-0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2f, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, +-0x20, 0x2c, 0x20, 0x27, 0x6c, 0x79, 0x25b, 0x27, 0x30c, 0x2bc, 0x20, 0x64, 0x20, 0x27, 0x6e, 0x61, 0x27, 0x20, 0x4d, 0x4d, +-0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, +-0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x6d, 0x65, +-0x74, 0x74, 0x61, 0x73, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x4d, +-0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79 ++0x4d, 0x4d, 0x20, 0x64, 0x64, 0x64, 0x64, 0x20, 0x6a9, 0x648, 0x646, 0x6cc, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, ++0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x5d8, 0x5df, 0x20, 0x4d, ++0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x4d, 0x4d, 0x4d, 0x20, ++0x79, 0x79, 0x79, 0x79, 0x64, 0x2e, 0x20, 0x4d, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2e, 0x79, 0x79, 0x2f, 0x4d, 0x4d, ++0x2f, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, ++0x64, 0x64, 0x2d, 0x4d, 0x2d, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, ++0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, 0x61, 0x6c, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, ++0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x6c, 0x69, 0x61, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, ++0x64, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x27, 0x20, 0x64, 0x2e, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, ++0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x20, 0x27, 0x64, 0x69, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x27, 0x64, ++0x69, 0x27, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x27, 0x64, 0xe4, 0x27, 0x20, 0x64, 0x2e, ++0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x79, 0x20, 0x27, 0x441, 0x44b, 0x43b, 0x27, ++0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x20, 0x27, 0x43a, 0x4af, 0x43d, 0x44d, 0x27, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, ++0x64, 0x64, 0x2f, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x20, 0x2c, 0x20, 0x27, 0x6c, 0x79, ++0x25b, 0x27, 0x30c, 0x2bc, 0x20, 0x64, 0x20, 0x27, 0x6e, 0x61, 0x27, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x2c, 0x20, 0x79, 0x79, ++0x79, 0x79, 0x64, 0x64, 0x64, 0x64, 0x2c, 0x20, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x79, 0x79, 0x79, 0x79, ++0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2c, 0x20, 0x79, 0x79, 0x79, 0x79, 0x2c, 0x20, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, ++0x64, 0x64, 0x2c, 0x20, 0x4d, 0x4d, 0x4d, 0x4d, 0x20, 0x64, 0x2e, 0x20, 0x79, 0x79, 0x79, 0x79 + }; + + static const ushort time_format_data[] = { +@@ -2048,27 +2045,28 @@ static const ushort time_format_data[] = { + 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x29, 0xf46, + 0xf74, 0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, 0x20, 0x41, + 0x50, 0xf46, 0xf74, 0xf0b, 0xf5a, 0xf7c, 0xf51, 0xf0b, 0x20, 0x68, 0x20, 0xf66, 0xf90, 0xf62, 0xf0b, 0xf58, 0xf0b, 0x20, 0x6d, 0x6d, +-0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x42, 0x20, 0x48, 0x3a, 0x6d, 0x6d, 0x74, 0x20, 0x48, 0x48, 0x3a, 0x6d, +-0x6d, 0x3a, 0x73, 0x73, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x2c, 0x20, 0x74, 0x41, 0x50, 0x68, 0x3a, 0x6d, +-0x6d, 0x74, 0x20, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, +-0x73, 0x20, 0x5b, 0x74, 0x5d, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, +-0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x48, 0x2d, 0x27, 0x61, 0x27, 0x20, 0x27, +-0x68, 0x6f, 0x72, 0x6f, 0x27, 0x20, 0x27, 0x6b, 0x61, 0x6a, 0x27, 0x20, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x48, 0x20, +-0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, +-0x74, 0x48, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x48, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, +-0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, 0x74, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x3a, +-0x73, 0x73, 0x20, 0x27, 0x68, 0x27, 0x20, 0x74, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x68, 0x3a, 0x6d, +-0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x48, 0x6642, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x20, 0x74, 0x41, +-0x50, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x68, 0xc2dc, 0x20, 0x6d, 0xbd84, 0x20, 0x73, 0xcd08, 0x20, 0x74, 0x48, +-0x20, 0xec2, 0xea1, 0xe87, 0x20, 0x6d, 0x20, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x20, 0x73, 0x73, 0x20, 0xea7, 0xeb4, 0xe99, 0xeb2, 0xe97, +-0xeb5, 0x20, 0x74, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x29, 0x41, 0x50, 0x20, 0x68, 0x3a, 0x6d, +-0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x27, 0x6b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, +-0x20, 0x74, 0x48, 0x20, 0xe19, 0xe32, 0xe2c, 0xe34, 0xe01, 0xe32, 0x20, 0x6d, 0x6d, 0x20, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x73, +-0x73, 0x20, 0xe27, 0xe34, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x74, 0x48, 0x3a, 0x6d, 0x41, 0x50, 0x20, 0x27, 0x67, 0x61, 0x27, +-0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x27, 0x67, 0x61, 0x27, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, +-0x20, 0x74, 0x27, 0x4b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x2e, 0x6d, 0x6d, 0x27, 0x4b, 0x6c, 0x6f, 0x63, 0x6b, 0x27, 0x20, +-0x48, 0x2e, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x29, 0x74, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, +-0x20, 0x41, 0x50, 0x48, 0x3a, 0x6d, 0x6d, 0x20, 0x27, 0x68, 0x6f, 0x64, 0x17a, 0x27, 0x2e ++0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x20, 0x74, 0x48, 0x3a, 0x6d, 0x6d, 0x20, 0x27, 0x447, 0x27, 0x2e, 0x48, 0x3a, 0x6d, ++0x6d, 0x3a, 0x73, 0x73, 0x20, 0x27, 0x447, 0x27, 0x2e, 0x20, 0x74, 0x42, 0x20, 0x48, 0x3a, 0x6d, 0x6d, 0x74, 0x20, 0x48, ++0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x2c, 0x20, 0x74, 0x48, 0x3a, ++0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x29, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x74, 0x20, 0x41, 0x50, 0x68, ++0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x41, 0x50, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x5b, 0x74, 0x5d, 0x48, ++0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x48, 0x2e, 0x6d, 0x6d, 0x48, 0x2e, ++0x6d, 0x6d, 0x2e, 0x73, 0x73, 0x20, 0x74, 0x48, 0x2d, 0x27, 0x61, 0x27, 0x20, 0x27, 0x68, 0x6f, 0x72, 0x6f, 0x27, 0x20, ++0x27, 0x6b, 0x61, 0x6a, 0x27, 0x20, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, ++0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, 0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, 0x74, 0x48, 0x48, 0x20, 0x27, 0x68, ++0x27, 0x20, 0x6d, 0x6d, 0x48, 0x48, 0x20, 0x27, 0x68, 0x27, 0x20, 0x6d, 0x6d, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x27, 0x20, ++0x73, 0x73, 0x20, 0x27, 0x73, 0x27, 0x20, 0x74, 0x48, 0x48, 0x2e, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x27, 0x68, 0x27, ++0x20, 0x74, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x20, 0x41, 0x50, 0x68, 0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x41, ++0x50, 0x20, 0x74, 0x48, 0x6642, 0x6d, 0x6d, 0x5206, 0x73, 0x73, 0x79d2, 0x20, 0x74, 0x41, 0x50, 0x20, 0x68, 0x3a, 0x6d, 0x6d, ++0x41, 0x50, 0x20, 0x68, 0xc2dc, 0x20, 0x6d, 0xbd84, 0x20, 0x73, 0xcd08, 0x20, 0x74, 0x48, 0x20, 0xec2, 0xea1, 0xe87, 0x20, 0x6d, ++0x20, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x20, 0x73, 0x73, 0x20, 0xea7, 0xeb4, 0xe99, 0xeb2, 0xe97, 0xeb5, 0x20, 0x74, 0x41, 0x50, 0x20, ++0x68, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x48, 0x20, 0xe19, 0xe32, 0xe2c, 0xe34, 0xe01, 0xe32, 0x20, 0x6d, 0x6d, ++0x20, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x73, 0x73, 0x20, 0xe27, 0xe34, 0xe19, 0xe32, 0xe17, 0xe35, 0x20, 0x74, 0x48, 0x3a, 0x6d, ++0x27, 0x6b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x48, 0x3a, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x74, 0x41, 0x50, 0x20, 0x27, ++0x67, 0x61, 0x27, 0x20, 0x68, 0x3a, 0x6d, 0x6d, 0x41, 0x50, 0x20, 0x27, 0x67, 0x61, 0x27, 0x20, 0x68, 0x3a, 0x6d, 0x6d, ++0x3a, 0x73, 0x73, 0x20, 0x74, 0x27, 0x4b, 0x6c, 0x27, 0x2e, 0x20, 0x48, 0x2e, 0x6d, 0x6d, 0x27, 0x4b, 0x6c, 0x6f, 0x63, ++0x6b, 0x27, 0x20, 0x48, 0x2e, 0x6d, 0x6d, 0x3a, 0x73, 0x73, 0x20, 0x28, 0x74, 0x29, 0x74, 0x20, 0x68, 0x3a, 0x6d, 0x6d, ++0x3a, 0x73, 0x73, 0x20, 0x41, 0x50, 0x48, 0x3a, 0x6d, 0x6d, 0x20, 0x27, 0x68, 0x6f, 0x64, 0x17a, 0x27, 0x2e + }; + + static const ushort days_data[] = { +@@ -2513,669 +2511,662 @@ static const ushort days_data[] = { + 0x75, 0x61, 0x2d, 0xfb, 0x73, 0x65, 0x3b, 0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0x70, 0x74, 0xe2, 0x3b, 0x42, 0xef, 0x6b, + 0x75, 0x61, 0x2d, 0x75, 0x73, 0xef, 0xf6, 0x3b, 0x42, 0xef, 0x6b, 0x75, 0x61, 0x2d, 0x6f, 0x6b, 0xfc, 0x3b, 0x4c, 0xe2, + 0x70, 0xf4, 0x73, 0xf6, 0x3b, 0x4c, 0xe2, 0x79, 0x65, 0x6e, 0x67, 0x61, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x53, +-0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x59, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, +-0x440, 0x435, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x459, +-0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, +-0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, +-0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x443, 0x3b, 0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, +-0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x3b, 0x73, 0x72, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, +-0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x6a, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, +-0x64, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x73, 0x72, 0x69, 0x6a, 0x65, 0x64, +-0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x73, 0x75, 0x62, +-0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, 0x73, 0x72, 0x65, 0x3b, +-0x10d, 0x65, 0x74, 0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x3b, +-0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x73, 0x72, +-0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x73, +-0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x3b, 0x441, 0x440, 0x3b, +-0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x458, 0x435, 0x459, 0x430, 0x3b, +-0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x438, +-0x458, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, +-0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x425, 0x446, 0x431, 0x3b, 0x41a, 0x440, 0x441, 0x3b, 0x414, 0x446, 0x433, 0x3b, 0x4d4, +-0x440, 0x442, 0x3b, 0x426, 0x43f, 0x440, 0x3b, 0x41c, 0x440, 0x431, 0x3b, 0x421, 0x431, 0x442, 0x3b, 0x425, 0x443, 0x44b, 0x446, 0x430, +-0x443, 0x431, 0x43e, 0x43d, 0x3b, 0x41a, 0x44a, 0x443, 0x44b, 0x440, 0x438, 0x441, 0x4d5, 0x440, 0x3b, 0x414, 0x44b, 0x446, 0x446, 0x4d5, +-0x433, 0x3b, 0x4d4, 0x440, 0x442, 0x44b, 0x446, 0x446, 0x4d5, 0x433, 0x3b, 0x426, 0x44b, 0x43f, 0x43f, 0x4d5, 0x440, 0x4d5, 0x43c, 0x3b, +-0x41c, 0x430, 0x439, 0x440, 0x4d5, 0x43c, 0x431, 0x43e, 0x43d, 0x3b, 0x421, 0x430, 0x431, 0x430, 0x442, 0x3b, 0x425, 0x3b, 0x41a, 0x3b, +-0x414, 0x3b, 0x4d4, 0x3b, 0x426, 0x3b, 0x41c, 0x3b, 0x421, 0x3b, 0x445, 0x446, 0x431, 0x3b, 0x43a, 0x440, 0x441, 0x3b, 0x434, 0x446, +-0x433, 0x3b, 0x4d5, 0x440, 0x442, 0x3b, 0x446, 0x43f, 0x440, 0x3b, 0x43c, 0x440, 0x431, 0x3b, 0x441, 0x431, 0x442, 0x3b, 0x445, 0x443, +-0x44b, 0x446, 0x430, 0x443, 0x431, 0x43e, 0x43d, 0x3b, 0x43a, 0x44a, 0x443, 0x44b, 0x440, 0x438, 0x441, 0x4d5, 0x440, 0x3b, 0x434, 0x44b, +-0x446, 0x446, 0x4d5, 0x433, 0x3b, 0x4d5, 0x440, 0x442, 0x44b, 0x446, 0x446, 0x4d5, 0x433, 0x3b, 0x446, 0x44b, 0x43f, 0x43f, 0x4d5, 0x440, +-0x4d5, 0x43c, 0x3b, 0x43c, 0x430, 0x439, 0x440, 0x4d5, 0x43c, 0x431, 0x43e, 0x43d, 0x3b, 0x441, 0x430, 0x431, 0x430, 0x442, 0x3b, 0x53, +-0x76, 0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x3b, 0x43, 0x68, 0x70, 0x3b, 0x43, 0x68, 0x74, 0x3b, 0x43, 0x68, 0x6e, 0x3b, 0x43, +-0x68, 0x73, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, 0x76, 0x6f, 0x6e, 0x64, 0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x68, 0x75, 0x72, +-0x6f, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, +-0x69, 0x6e, 0x61, 0x3b, 0x43, 0x68, 0x69, 0x73, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x75, 0x67, 0x6f, 0x76, 0x65, 0x72, +-0x61, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x622, 0x686, 0x631, 0x3b, +-0x633, 0x648, 0x645, 0x631, 0x3b, 0x627, 0x6b1, 0x627, 0x631, 0x648, 0x3b, 0x627, 0x631, 0x628, 0x639, 0x3b, 0x62e, 0x645, 0x64a, 0x633, +-0x3b, 0x62c, 0x645, 0x639, 0x648, 0x3b, 0x687, 0x646, 0x687, 0x631, 0x3b, 0x622, 0x686, 0x631, 0x3b, 0x633, 0x648, 0x3b, 0x627, 0x6b1, +-0x627, 0x631, 0x648, 0x3b, 0x627, 0x631, 0x628, 0x639, 0x3b, 0x62e, 0x645, 0x3b, 0x62c, 0x645, 0x639, 0x648, 0x3b, 0x687, 0x646, 0x687, +-0x631, 0x3b, 0x906, 0x3b, 0x938, 0x942, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x935, 0x93f, 0x938, 0x94d, 0x3b, 0x91c, +-0x941, 0x92e, 0x3b, 0x91b, 0x902, 0x91b, 0x3b, 0x906, 0x930, 0x94d, 0x924, 0x3b, 0x938, 0x942, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, +-0x927, 0x3b, 0x935, 0x93f, 0x938, 0x3b, 0x91c, 0x941, 0x92e, 0x3b, 0x91b, 0x902, 0x91b, 0x3b, 0x906, 0x3b, 0x938, 0x942, 0x3b, 0x92e, +-0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x935, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x91b, 0x902, 0x3b, 0x906, 0x930, 0x94d, 0x924, 0x3b, 0x938, +-0x942, 0x3b, 0x92e, 0x902, 0x917, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x935, 0x93f, 0x938, 0x3b, 0x91c, 0x941, 0x92e, 0x3b, 0x91b, 0x902, +-0x91b, 0x3b, 0x906, 0x930, 0x94d, 0x924, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x942, 0x92e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x941, +-0x3b, 0x92c, 0x941, 0x927, 0x930, 0x3b, 0x935, 0x93f, 0x938, 0x94d, 0x92a, 0x924, 0x3b, 0x91c, 0x941, 0x92e, 0x913, 0x3b, 0x91b, 0x902, +-0x91b, 0x930, 0x3b, 0x906, 0x3b, 0x92e, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x935, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x91b, +-0x902, 0x3b, 0xd89, 0xdbb, 0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, 0x3b, 0xd85, 0xd9f, 0xdc4, 0x3b, 0xdb6, 0xdaf, +-0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0xdc3, 0xdca, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0x3b, 0xdc3, 0xdd9, 0xdb1, +-0x3b, 0xd89, 0xdbb, 0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, 0x3b, 0xd85, 0xd9f, 0xdc4, 0xdbb, 0xdd4, 0xdc0, 0xdcf, +-0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdaf, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0xdc3, 0xdca, 0xdb4, 0xdad, 0xdd2, 0xdb1, +-0xdca, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0xdc3, 0xdd4, 0xdbb, 0xdcf, +-0xdaf, 0xdcf, 0x3b, 0xd89, 0x3b, 0xdc3, 0x3b, 0xd85, 0x3b, 0xdb6, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0x3b, 0xdc3, 0xdd2, 0x3b, 0xdc3, +-0xdd9, 0x3b, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x3b, 0x75, 0x74, 0x3b, 0x73, 0x74, 0x3b, 0x161, 0x74, 0x3b, 0x70, 0x69, 0x3b, +-0x73, 0x6f, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x13e, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x6c, 0x6f, 0x6b, 0x3b, 0x75, +-0x74, 0x6f, 0x72, 0x6f, 0x6b, 0x3b, 0x73, 0x74, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x161, 0x74, 0x76, 0x72, 0x74, 0x6f, 0x6b, +-0x3b, 0x70, 0x69, 0x61, 0x74, 0x6f, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x75, +-0x3b, 0x73, 0x3b, 0x161, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x65, 0x64, 0x2e, 0x3b, 0x70, 0x6f, 0x6e, 0x2e, 0x3b, 0x74, +-0x6f, 0x72, 0x2e, 0x3b, 0x73, 0x72, 0x65, 0x2e, 0x3b, 0x10d, 0x65, 0x74, 0x2e, 0x3b, 0x70, 0x65, 0x74, 0x2e, 0x3b, 0x73, +-0x6f, 0x62, 0x2e, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, +-0x65, 0x6b, 0x3b, 0x74, 0x6f, 0x72, 0x65, 0x6b, 0x3b, 0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x72, 0x74, +-0x65, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, +-0x74, 0x3b, 0x73, 0x3b, 0x10d, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x41, 0x78, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x3b, 0x54, 0x6c, +-0x64, 0x6f, 0x3b, 0x41, 0x72, 0x62, 0x63, 0x3b, 0x4b, 0x68, 0x6d, 0x73, 0x3b, 0x4a, 0x6d, 0x63, 0x3b, 0x53, 0x62, 0x74, +-0x69, 0x3b, 0x41, 0x78, 0x61, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x69, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x61, 0x64, +-0x6f, 0x3b, 0x41, 0x72, 0x62, 0x61, 0x63, 0x6f, 0x3b, 0x4b, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x3b, 0x4a, 0x69, 0x6d, +-0x63, 0x6f, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x4b, 0x68, 0x3b, +-0x4a, 0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x2e, 0x3b, 0x6c, 0x75, 0x6e, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x6d, +-0x69, 0xe9, 0x2e, 0x3b, 0x6a, 0x75, 0x65, 0x2e, 0x3b, 0x76, 0x69, 0x65, 0x2e, 0x3b, 0x73, 0xe1, 0x62, 0x2e, 0x3b, 0x64, +-0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x6c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, +-0x6d, 0x69, 0xe9, 0x72, 0x63, 0x6f, 0x6c, 0x65, 0x73, 0x3b, 0x6a, 0x75, 0x65, 0x76, 0x65, 0x73, 0x3b, 0x76, 0x69, 0x65, +-0x72, 0x6e, 0x65, 0x73, 0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x4d, 0x6e, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, +-0x53, 0x61, 0x6c, 0x3b, 0x52, 0x65, 0x62, 0x3b, 0x4b, 0x61, 0x6d, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x61, 0x70, 0x3b, +-0x4d, 0x69, 0x6e, 0x67, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x6e, 0xe9, 0x6e, 0x3b, 0x53, 0x61, 0x6c, 0x61, 0x73, 0x61, 0x3b, +-0x52, 0x65, 0x62, 0x6f, 0x3b, 0x4b, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x68, 0x3b, 0x53, 0x61, +-0x70, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, +-0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, +-0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, +-0x6f, 0x73, 0x69, 0x3b, 0x73, 0xf6, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, 0x69, 0x73, 0x3b, 0x6f, 0x6e, 0x73, 0x3b, +-0x74, 0x6f, 0x72, 0x73, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0xf6, 0x72, 0x3b, 0x73, 0xf6, 0x6e, 0x64, 0x61, 0x67, 0x3b, +-0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x69, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, +-0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0xf6, 0x72, 0x64, +-0x61, 0x67, 0x3b, 0x42f, 0x448, 0x431, 0x3b, 0x414, 0x448, 0x431, 0x3b, 0x421, 0x448, 0x431, 0x3b, 0x427, 0x448, 0x431, 0x3b, 0x41f, +-0x448, 0x431, 0x3b, 0x4b6, 0x43c, 0x44a, 0x3b, 0x428, 0x43d, 0x431, 0x3b, 0x42f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x414, +-0x443, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x421, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x427, 0x43e, 0x440, 0x448, 0x430, +-0x43d, 0x431, 0x435, 0x3b, 0x41f, 0x430, 0x43d, 0x4b7, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x4b6, 0x443, 0x43c, 0x44a, 0x430, 0x3b, +-0x428, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x4b6, 0x3b, 0x428, 0x3b, +-0xb9e, 0xbbe, 0xbaf, 0xbbf, 0x2e, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbb5, 0xbcd, 0x2e, 0x3b, 0xbaa, 0xbc1, +-0xba4, 0x2e, 0x3b, 0xbb5, 0xbbf, 0xbaf, 0xbbe, 0x2e, 0x3b, 0xbb5, 0xbc6, 0xbb3, 0xbcd, 0x2e, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xb9e, +-0xbbe, 0xbaf, 0xbbf, 0xbb1, 0xbc1, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbb5, 0xbcd, 0xbb5, 0xbbe, +-0xbaf, 0xbcd, 0x3b, 0xbaa, 0xbc1, 0xba4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbbf, 0xbaf, 0xbbe, 0xbb4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbc6, 0xbb3, +-0xbcd, 0xbb3, 0xbbf, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xb9e, 0xbbe, 0x3b, 0xba4, 0xbbf, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xbaa, 0xbc1, 0x3b, +-0xbb5, 0xbbf, 0x3b, 0xbb5, 0xbc6, 0x3b, 0xb9a, 0x3b, 0x44f, 0x43a, 0x448, 0x2e, 0x3b, 0x434, 0x4af, 0x448, 0x2e, 0x3b, 0x441, 0x438, +-0x448, 0x2e, 0x3b, 0x447, 0x4d9, 0x440, 0x2e, 0x3b, 0x43f, 0x4d9, 0x43d, 0x497, 0x2e, 0x3b, 0x497, 0x43e, 0x43c, 0x2e, 0x3b, 0x448, +-0x438, 0x43c, 0x2e, 0x3b, 0x44f, 0x43a, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x434, 0x4af, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, +-0x441, 0x438, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x447, 0x4d9, 0x440, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x43f, 0x4d9, 0x43d, +-0x497, 0x435, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x497, 0x43e, 0x43c, 0x433, 0x430, 0x3b, 0x448, 0x438, 0x43c, 0x431, 0x4d9, 0x3b, +-0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x496, 0x3b, 0x428, 0x3b, 0xc06, 0xc26, 0xc3f, 0x3b, 0xc38, 0xc4b, +-0xc2e, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0x3b, 0xc2c, 0xc41, 0xc27, 0x3b, 0xc17, 0xc41, 0xc30, 0xc41, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, +-0xc30, 0x3b, 0xc36, 0xc28, 0xc3f, 0x3b, 0xc06, 0xc26, 0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc38, 0xc4b, 0xc2e, 0xc35, 0xc3e, 0xc30, +-0xc02, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc2c, 0xc41, 0xc27, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc17, +-0xc41, 0xc30, 0xc41, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc28, +-0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc06, 0x3b, 0xc38, 0xc4b, 0x3b, 0xc2e, 0x3b, 0xc2c, 0xc41, 0x3b, 0xc17, 0xc41, 0x3b, 0xc36, +-0xc41, 0x3b, 0xc36, 0x3b, 0xe2d, 0xe32, 0x2e, 0x3b, 0xe08, 0x2e, 0x3b, 0xe2d, 0x2e, 0x3b, 0xe1e, 0x2e, 0x3b, 0xe1e, 0xe24, 0x2e, +-0x3b, 0xe28, 0x2e, 0x3b, 0xe2a, 0x2e, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe32, 0xe17, 0xe34, 0xe15, 0xe22, 0xe4c, 0x3b, 0xe27, 0xe31, +-0xe19, 0xe08, 0xe31, 0xe19, 0xe17, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe31, 0xe07, 0xe04, 0xe32, 0xe23, 0x3b, 0xe27, 0xe31, +-0xe19, 0xe1e, 0xe38, 0xe18, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe24, 0xe2b, 0xe31, 0xe2a, 0xe1a, 0xe14, 0xe35, 0x3b, 0xe27, 0xe31, 0xe19, +-0xe28, 0xe38, 0xe01, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe40, 0xe2a, 0xe32, 0xe23, 0xe4c, 0x3b, 0xe2d, 0xe32, 0x3b, 0xe08, 0x3b, +-0xe2d, 0x3b, 0xe1e, 0x3b, 0xe1e, 0xe24, 0x3b, 0xe28, 0x3b, 0xe2a, 0x3b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, +-0xf56, 0xf0b, 0x3b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf55, +-0xf74, 0xf62, 0xf0b, 0xf56, 0xf74, 0xf0b, 0x3b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, +-0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, +-0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf63, +-0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, 0xf74, 0xf0b, 0x3b, 0xf42, 0xf5f, +-0xf60, 0xf0b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, +-0x3b, 0xf49, 0xf72, 0x3b, 0xf5f, 0xfb3, 0x3b, 0xf58, 0xf72, 0xf42, 0x3b, 0xf63, 0xfb7, 0xf42, 0x3b, 0xf55, 0xf74, 0xf62, 0x3b, 0xf66, +-0xf44, 0xf66, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0x3b, 0x1230, 0x1295, 0x3b, 0x1230, 0x1291, 0x3b, 0x1230, 0x1209, 0x3b, 0x1228, 0x1261, 0x3b, +-0x1213, 0x1219, 0x3b, 0x12d3, 0x122d, 0x3b, 0x1240, 0x12f3, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, 0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, +-0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1283, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, 0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x1230, 0x3b, +-0x1230, 0x3b, 0x1220, 0x3b, 0x1228, 0x3b, 0x1213, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1228, 0x3b, +-0x1213, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x53, 0x101, 0x70, 0x3b, 0x4d, 0x14d, 0x6e, 0x3b, 0x54, 0x16b, 0x73, 0x3b, 0x50, 0x75, +-0x6c, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x3b, 0x46, 0x61, 0x6c, 0x3b, 0x54, 0x6f, 0x6b, 0x3b, 0x53, 0x101, 0x70, 0x61, 0x74, +-0x65, 0x3b, 0x4d, 0x14d, 0x6e, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x16b, 0x73, 0x69, 0x74, 0x65, 0x3b, 0x50, 0x75, 0x6c, 0x65, +-0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x70, 0x75, 0x6c, 0x65, 0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x46, 0x61, +-0x6c, 0x61, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x6f, 0x6b, 0x6f, 0x6e, 0x61, 0x6b, 0x69, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, +-0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x46, 0x3b, 0x54, 0x3b, 0x50, 0x61, 0x7a, 0x3b, 0x50, 0x7a, 0x74, 0x3b, 0x53, 0x61, 0x6c, +-0x3b, 0xc7, 0x61, 0x72, 0x3b, 0x50, 0x65, 0x72, 0x3b, 0x43, 0x75, 0x6d, 0x3b, 0x43, 0x6d, 0x74, 0x3b, 0x50, 0x61, 0x7a, +-0x61, 0x72, 0x3b, 0x50, 0x61, 0x7a, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x6c, 0x131, 0x3b, 0xc7, 0x61, +-0x72, 0x15f, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x72, 0x15f, 0x65, 0x6d, 0x62, 0x65, 0x3b, 0x43, 0x75, 0x6d, 0x61, +-0x3b, 0x43, 0x75, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x50, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0xc7, 0x3b, 0x50, +-0x3b, 0x43, 0x3b, 0x43, 0x3b, 0xdd, 0x65, 0x6b, 0x3b, 0x44, 0x75, 0x15f, 0x3b, 0x53, 0x69, 0x15f, 0x3b, 0xc7, 0x61, 0x72, +-0x3b, 0x50, 0x65, 0x6e, 0x3b, 0x41, 0x6e, 0x6e, 0x3b, 0x15e, 0x65, 0x6e, 0x3b, 0xdd, 0x65, 0x6b, 0x15f, 0x65, 0x6e, 0x62, +-0x65, 0x3b, 0x44, 0x75, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x53, 0x69, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0xc7, 0x61, +-0x72, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x50, 0x65, 0x6e, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x41, 0x6e, 0x6e, 0x61, +-0x3b, 0x15e, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0xdd, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0xc7, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x15e, +-0x3b, 0xfd, 0x65, 0x6b, 0x3b, 0x64, 0x75, 0x15f, 0x3b, 0x73, 0x69, 0x15f, 0x3b, 0xe7, 0x61, 0x72, 0x3b, 0x70, 0x65, 0x6e, +-0x3b, 0x61, 0x6e, 0x6e, 0x3b, 0x15f, 0x65, 0x6e, 0x3b, 0xfd, 0x65, 0x6b, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x64, 0x75, +-0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x73, 0x69, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0xe7, 0x61, 0x72, 0x15f, 0x65, 0x6e, +-0x62, 0x65, 0x3b, 0x70, 0x65, 0x6e, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x61, 0x6e, 0x6e, 0x61, 0x3b, 0x15f, 0x65, 0x6e, +-0x62, 0x65, 0x3b, 0x64a, 0x6d5, 0x3b, 0x62f, 0x6c8, 0x3b, 0x633, 0x6d5, 0x3b, 0x686, 0x627, 0x3b, 0x67e, 0x6d5, 0x3b, 0x62c, 0x6c8, +-0x3b, 0x634, 0x6d5, 0x3b, 0x64a, 0x6d5, 0x643, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x62f, 0x6c8, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, +-0x3b, 0x633, 0x6d5, 0x64a, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x686, 0x627, 0x631, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x67e, +-0x6d5, 0x64a, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x62c, 0x6c8, 0x645, 0x6d5, 0x3b, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x64a, +-0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x62c, 0x3b, 0x634, 0x3b, 0x43d, 0x435, 0x434, 0x456, 0x43b, 0x44f, 0x3b, +-0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x456, 0x43b, 0x43e, 0x43a, 0x3b, 0x432, 0x456, 0x432, 0x442, 0x43e, 0x440, 0x43e, 0x43a, 0x3b, 0x441, +-0x435, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x435, 0x440, 0x3b, 0x43f, 0x2bc, 0x44f, 0x442, 0x43d, 0x438, 0x446, +-0x44f, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x41d, 0x3b, 0x41f, 0x3b, 0x412, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, +-0x3b, 0x421, 0x3b, 0x627, 0x62a, 0x648, 0x627, 0x631, 0x3b, 0x67e, 0x6cc, 0x631, 0x3b, 0x645, 0x646, 0x6af, 0x644, 0x3b, 0x628, 0x62f, +-0x6be, 0x3b, 0x62c, 0x645, 0x639, 0x631, 0x627, 0x62a, 0x3b, 0x62c, 0x645, 0x639, 0x6c1, 0x3b, 0x6c1, 0x641, 0x62a, 0x6c1, 0x3b, 0x59, +-0x61, 0x6b, 0x3b, 0x44, 0x75, 0x73, 0x68, 0x3b, 0x53, 0x65, 0x73, 0x68, 0x3b, 0x43, 0x68, 0x6f, 0x72, 0x3b, 0x50, 0x61, +-0x79, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x68, 0x61, 0x6e, 0x3b, 0x79, 0x61, 0x6b, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, +-0x3b, 0x64, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x73, 0x65, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x63, +-0x68, 0x6f, 0x72, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x79, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, +-0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x59, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x43, 0x3b, +-0x50, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x6cc, 0x2e, 0x3b, 0x62f, 0x2e, 0x3b, 0x633, 0x2e, 0x3b, 0x686, 0x2e, 0x3b, 0x67e, 0x2e, +-0x3b, 0x62c, 0x2e, 0x3b, 0x634, 0x2e, 0x3b, 0x44f, 0x43a, 0x448, 0x3b, 0x434, 0x443, 0x448, 0x3b, 0x441, 0x435, 0x448, 0x3b, 0x447, +-0x43e, 0x440, 0x3b, 0x43f, 0x430, 0x439, 0x3b, 0x436, 0x443, 0x43c, 0x3b, 0x448, 0x430, 0x43d, 0x3b, 0x44f, 0x43a, 0x448, 0x430, 0x43d, +-0x431, 0x430, 0x3b, 0x434, 0x443, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x441, 0x435, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x447, +-0x43e, 0x440, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x43f, 0x430, 0x439, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x436, 0x443, 0x43c, +-0x430, 0x3b, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x416, 0x3b, +-0x428, 0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x68, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x20, 0x34, 0x3b, +-0x54, 0x68, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x20, 0x37, 0x3b, 0x43, 0x68, 0x1ee7, 0x20, 0x4e, +-0x68, 0x1ead, 0x74, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x48, 0x61, 0x69, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x42, 0x61, 0x3b, 0x54, +-0x68, 0x1ee9, 0x20, 0x54, 0x1b0, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x4e, 0x103, 0x6d, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x53, 0xe1, +-0x75, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x42, 0x1ea3, 0x79, 0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x32, 0x3b, 0x54, 0x33, 0x3b, 0x54, +-0x34, 0x3b, 0x54, 0x35, 0x3b, 0x54, 0x36, 0x3b, 0x54, 0x37, 0x3b, 0x53, 0x75, 0x3b, 0x4d, 0x75, 0x3b, 0x54, 0x75, 0x3b, +-0x56, 0x65, 0x3b, 0x44, 0xf6, 0x3b, 0x46, 0x72, 0x3b, 0x5a, 0xe4, 0x3b, 0x73, 0x75, 0x64, 0x65, 0x6c, 0x3b, 0x6d, 0x75, +-0x64, 0x65, 0x6c, 0x3b, 0x74, 0x75, 0x64, 0x65, 0x6c, 0x3b, 0x76, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x64, 0xf6, 0x64, 0x65, +-0x6c, 0x3b, 0x66, 0x72, 0x69, 0x64, 0x65, 0x6c, 0x3b, 0x7a, 0xe4, 0x64, 0x65, 0x6c, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, +-0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x46, 0x3b, 0x5a, 0x3b, 0x73, 0x75, 0x2e, 0x3b, 0x6d, 0x75, 0x2e, 0x3b, 0x74, 0x75, 0x2e, +-0x3b, 0x76, 0x65, 0x2e, 0x3b, 0x64, 0xf6, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x7a, 0xe4, 0x2e, 0x3b, 0x53, 0x75, 0x6c, +-0x3b, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, 0x47, 0x77, +-0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, +-0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x44, 0x79, 0x64, +-0x64, 0x20, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x49, 0x61, 0x75, 0x3b, 0x44, +-0x79, 0x64, 0x64, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x61, 0x64, 0x77, +-0x72, 0x6e, 0x3b, 0x53, 0x3b, 0x4c, 0x6c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x53, 0x75, ++0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x59, 0x3b, 0x930, 0x935, 0x93f, 0x935, 0x93e, 0x938, 0x930, 0x903, 0x3b, 0x938, 0x94b, 0x92e, 0x935, ++0x93e, 0x938, 0x930, 0x903, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x935, 0x93e, 0x938, 0x930, 0x903, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, ++0x938, 0x930, 0x903, 0x3b, 0x917, 0x941, 0x930, 0x941, 0x935, 0x93e, 0x938, 0x930, 0x3a, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x935, ++0x93e, 0x938, 0x930, 0x903, 0x3b, 0x936, 0x928, 0x93f, 0x935, 0x93e, 0x938, 0x930, 0x903, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, ++0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, 0x440, 0x435, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, ++0x431, 0x3b, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, ++0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, ++0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x3b, 0x43f, 0x3b, 0x443, 0x3b, ++0x441, 0x3b, 0x447, 0x3b, 0x43f, 0x3b, 0x441, 0x3b, 0x6e, 0x65, 0x64, 0x3b, 0x70, 0x6f, 0x6e, 0x3b, 0x75, 0x74, 0x6f, 0x3b, ++0x73, 0x72, 0x65, 0x3b, 0x10d, 0x65, 0x74, 0x3b, 0x70, 0x65, 0x74, 0x3b, 0x73, 0x75, 0x62, 0x3b, 0x6e, 0x65, 0x64, 0x6a, ++0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, ++0x61, 0x6b, 0x3b, 0x73, 0x72, 0x69, 0x6a, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, ++0x70, 0x65, 0x74, 0x61, 0x6b, 0x3b, 0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, ++0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x6b, 0x3b, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x6b, 0x3b, 0x73, ++0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x76, 0x72, 0x74, 0x61, 0x6b, 0x3b, 0x70, 0x65, 0x74, 0x61, 0x6b, 0x3b, ++0x73, 0x75, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, 0x443, 0x442, 0x43e, 0x3b, 0x441, ++0x440, 0x438, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, 0x43d, 0x435, 0x434, 0x458, 0x435, ++0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x458, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, ++0x3b, 0x441, 0x440, 0x438, 0x458, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, ++0x442, 0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x43d, 0x435, 0x434, 0x458, 0x435, 0x459, 0x430, 0x3b, 0x43f, ++0x43e, 0x43d, 0x435, 0x434, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, 0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x438, 0x458, ++0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, 0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, ++0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x425, 0x446, 0x431, 0x3b, 0x41a, 0x440, 0x441, 0x3b, 0x414, 0x446, 0x433, 0x3b, 0x4d4, 0x440, ++0x442, 0x3b, 0x426, 0x43f, 0x440, 0x3b, 0x41c, 0x440, 0x431, 0x3b, 0x421, 0x431, 0x442, 0x3b, 0x425, 0x443, 0x44b, 0x446, 0x430, 0x443, ++0x431, 0x43e, 0x43d, 0x3b, 0x41a, 0x44a, 0x443, 0x44b, 0x440, 0x438, 0x441, 0x4d5, 0x440, 0x3b, 0x414, 0x44b, 0x446, 0x446, 0x4d5, 0x433, ++0x3b, 0x4d4, 0x440, 0x442, 0x44b, 0x446, 0x446, 0x4d5, 0x433, 0x3b, 0x426, 0x44b, 0x43f, 0x43f, 0x4d5, 0x440, 0x4d5, 0x43c, 0x3b, 0x41c, ++0x430, 0x439, 0x440, 0x4d5, 0x43c, 0x431, 0x43e, 0x43d, 0x3b, 0x421, 0x430, 0x431, 0x430, 0x442, 0x3b, 0x425, 0x3b, 0x41a, 0x3b, 0x414, ++0x3b, 0x4d4, 0x3b, 0x426, 0x3b, 0x41c, 0x3b, 0x421, 0x3b, 0x445, 0x446, 0x431, 0x3b, 0x43a, 0x440, 0x441, 0x3b, 0x434, 0x446, 0x433, ++0x3b, 0x4d5, 0x440, 0x442, 0x3b, 0x446, 0x43f, 0x440, 0x3b, 0x43c, 0x440, 0x431, 0x3b, 0x441, 0x431, 0x442, 0x3b, 0x445, 0x443, 0x44b, ++0x446, 0x430, 0x443, 0x431, 0x43e, 0x43d, 0x3b, 0x43a, 0x44a, 0x443, 0x44b, 0x440, 0x438, 0x441, 0x4d5, 0x440, 0x3b, 0x434, 0x44b, 0x446, ++0x446, 0x4d5, 0x433, 0x3b, 0x4d5, 0x440, 0x442, 0x44b, 0x446, 0x446, 0x4d5, 0x433, 0x3b, 0x446, 0x44b, 0x43f, 0x43f, 0x4d5, 0x440, 0x4d5, ++0x43c, 0x3b, 0x43c, 0x430, 0x439, 0x440, 0x4d5, 0x43c, 0x431, 0x43e, 0x43d, 0x3b, 0x441, 0x430, 0x431, 0x430, 0x442, 0x3b, 0x53, 0x76, ++0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x3b, 0x43, 0x68, 0x70, 0x3b, 0x43, 0x68, 0x74, 0x3b, 0x43, 0x68, 0x6e, 0x3b, 0x43, 0x68, ++0x73, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x53, 0x76, 0x6f, 0x6e, 0x64, 0x6f, 0x3b, 0x4d, 0x75, 0x76, 0x68, 0x75, 0x72, 0x6f, ++0x3b, 0x43, 0x68, 0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, 0x69, ++0x6e, 0x61, 0x3b, 0x43, 0x68, 0x69, 0x73, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x75, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x61, ++0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x622, 0x686, 0x631, 0x3b, 0x633, ++0x648, 0x645, 0x631, 0x3b, 0x627, 0x6b1, 0x627, 0x631, 0x648, 0x3b, 0x627, 0x631, 0x628, 0x639, 0x3b, 0x62e, 0x645, 0x64a, 0x633, 0x3b, ++0x62c, 0x645, 0x639, 0x648, 0x3b, 0x687, 0x646, 0x687, 0x631, 0x3b, 0x622, 0x686, 0x631, 0x3b, 0x633, 0x648, 0x3b, 0x627, 0x6b1, 0x627, ++0x631, 0x648, 0x3b, 0x627, 0x631, 0x628, 0x639, 0x3b, 0x62e, 0x645, 0x3b, 0x62c, 0x645, 0x639, 0x648, 0x3b, 0x687, 0x646, 0x687, 0x631, ++0x3b, 0x906, 0x3b, 0x938, 0x942, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x935, 0x93f, 0x938, 0x94d, 0x3b, 0x91c, 0x941, ++0x92e, 0x3b, 0x91b, 0x902, 0x91b, 0x3b, 0x906, 0x930, 0x94d, 0x924, 0x3b, 0x938, 0x942, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x927, ++0x3b, 0x935, 0x93f, 0x938, 0x3b, 0x91c, 0x941, 0x92e, 0x3b, 0x91b, 0x902, 0x91b, 0x3b, 0x906, 0x3b, 0x938, 0x942, 0x3b, 0x92e, 0x902, ++0x3b, 0x92c, 0x941, 0x3b, 0x935, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x91b, 0x902, 0x3b, 0x906, 0x930, 0x94d, 0x924, 0x3b, 0x938, 0x942, ++0x3b, 0x92e, 0x902, 0x917, 0x3b, 0x92c, 0x941, 0x927, 0x3b, 0x935, 0x93f, 0x938, 0x3b, 0x91c, 0x941, 0x92e, 0x3b, 0x91b, 0x902, 0x91b, ++0x3b, 0x906, 0x930, 0x94d, 0x924, 0x935, 0x93e, 0x930, 0x3b, 0x938, 0x942, 0x92e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x941, 0x3b, ++0x92c, 0x941, 0x927, 0x930, 0x3b, 0x935, 0x93f, 0x938, 0x94d, 0x92a, 0x924, 0x3b, 0x91c, 0x941, 0x92e, 0x913, 0x3b, 0x91b, 0x902, 0x91b, ++0x930, 0x3b, 0x906, 0x3b, 0x92e, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x935, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x91b, 0x902, ++0x3b, 0xd89, 0xdbb, 0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, 0x3b, 0xd85, 0xd9f, 0xdc4, 0x3b, 0xdb6, 0xdaf, 0xdcf, ++0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0xdc3, 0xdca, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0x3b, ++0xd89, 0xdbb, 0xdd2, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdb3, 0xdd4, 0xdaf, 0xdcf, 0x3b, 0xd85, 0xd9f, 0xdc4, 0xdbb, 0xdd4, 0xdc0, 0xdcf, 0xdaf, ++0xdcf, 0x3b, 0xdb6, 0xdaf, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0xdc4, 0xdc3, 0xdca, 0xdb4, 0xdad, 0xdd2, 0xdb1, 0xdca, ++0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd2, 0xd9a, 0xdd4, 0xdbb, 0xdcf, 0xdaf, 0xdcf, 0x3b, 0xdc3, 0xdd9, 0xdb1, 0xdc3, 0xdd4, 0xdbb, 0xdcf, 0xdaf, ++0xdcf, 0x3b, 0xd89, 0x3b, 0xdc3, 0x3b, 0xd85, 0x3b, 0xdb6, 0x3b, 0xdb6, 0xdca, 0x200d, 0xdbb, 0x3b, 0xdc3, 0xdd2, 0x3b, 0xdc3, 0xdd9, ++0x3b, 0x6e, 0x65, 0x3b, 0x70, 0x6f, 0x3b, 0x75, 0x74, 0x3b, 0x73, 0x74, 0x3b, 0x161, 0x74, 0x3b, 0x70, 0x69, 0x3b, 0x73, ++0x6f, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x13e, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x64, 0x65, 0x6c, 0x6f, 0x6b, 0x3b, 0x75, 0x74, ++0x6f, 0x72, 0x6f, 0x6b, 0x3b, 0x73, 0x74, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x161, 0x74, 0x76, 0x72, 0x74, 0x6f, 0x6b, 0x3b, ++0x70, 0x69, 0x61, 0x74, 0x6f, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x75, 0x3b, ++0x73, 0x3b, 0x161, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x65, 0x64, 0x2e, 0x3b, 0x70, 0x6f, 0x6e, 0x2e, 0x3b, 0x74, 0x6f, ++0x72, 0x2e, 0x3b, 0x73, 0x72, 0x65, 0x2e, 0x3b, 0x10d, 0x65, 0x74, 0x2e, 0x3b, 0x70, 0x65, 0x74, 0x2e, 0x3b, 0x73, 0x6f, ++0x62, 0x2e, 0x3b, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x61, 0x3b, 0x70, 0x6f, 0x6e, 0x65, 0x64, 0x65, 0x6c, 0x6a, 0x65, ++0x6b, 0x3b, 0x74, 0x6f, 0x72, 0x65, 0x6b, 0x3b, 0x73, 0x72, 0x65, 0x64, 0x61, 0x3b, 0x10d, 0x65, 0x74, 0x72, 0x74, 0x65, ++0x6b, 0x3b, 0x70, 0x65, 0x74, 0x65, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x74, ++0x3b, 0x73, 0x3b, 0x10d, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x41, 0x78, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x3b, 0x54, 0x6c, 0x64, ++0x6f, 0x3b, 0x41, 0x72, 0x62, 0x63, 0x3b, 0x4b, 0x68, 0x6d, 0x73, 0x3b, 0x4a, 0x6d, 0x63, 0x3b, 0x53, 0x62, 0x74, 0x69, ++0x3b, 0x41, 0x78, 0x61, 0x64, 0x3b, 0x49, 0x73, 0x6e, 0x69, 0x69, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x61, 0x64, 0x6f, ++0x3b, 0x41, 0x72, 0x62, 0x61, 0x63, 0x6f, 0x3b, 0x4b, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x3b, 0x4a, 0x69, 0x6d, 0x63, ++0x6f, 0x3b, 0x53, 0x61, 0x62, 0x74, 0x69, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x4b, 0x68, 0x3b, 0x4a, ++0x3b, 0x53, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0xe9, 0x3b, 0x6a, ++0x75, 0x65, 0x3b, 0x76, 0x69, 0x65, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x6c, ++0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x6d, 0x69, 0xe9, 0x72, 0x63, 0x6f, 0x6c, 0x65, ++0x73, 0x3b, 0x6a, 0x75, 0x65, 0x76, 0x65, 0x73, 0x3b, 0x76, 0x69, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x73, 0xe1, 0x62, ++0x61, 0x64, 0x6f, 0x3b, 0x64, 0x6f, 0x6d, 0x2e, 0x3b, 0x6c, 0x75, 0x6e, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x6d, ++0x69, 0xe9, 0x2e, 0x3b, 0x6a, 0x75, 0x65, 0x2e, 0x3b, 0x76, 0x69, 0x65, 0x2e, 0x3b, 0x73, 0xe1, 0x62, 0x2e, 0x3b, 0x4d, ++0x6e, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x53, 0x61, 0x6c, 0x3b, 0x52, 0x65, 0x62, 0x3b, 0x4b, 0x65, 0x6d, 0x3b, 0x4a, ++0x75, 0x6d, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x4d, 0x69, 0x6e, 0x67, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x6e, 0xe9, 0x6e, 0x3b, ++0x53, 0x61, 0x6c, 0x61, 0x73, 0x61, 0x3b, 0x52, 0x65, 0x62, 0x6f, 0x3b, 0x4b, 0x65, 0x6d, 0x69, 0x73, 0x3b, 0x4a, 0x75, ++0x6d, 0x61, 0x61, 0x68, 0x3b, 0x53, 0x61, 0x70, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, ++0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, ++0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, ++0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x73, 0xf6, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, ++0x69, 0x73, 0x3b, 0x6f, 0x6e, 0x73, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0xf6, 0x72, 0x3b, ++0x73, 0xf6, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x69, 0x73, 0x64, 0x61, 0x67, ++0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, ++0x61, 0x67, 0x3b, 0x6c, 0xf6, 0x72, 0x64, 0x61, 0x67, 0x3b, 0x42f, 0x448, 0x431, 0x3b, 0x414, 0x448, 0x431, 0x3b, 0x421, 0x448, ++0x431, 0x3b, 0x427, 0x448, 0x431, 0x3b, 0x41f, 0x448, 0x431, 0x3b, 0x4b6, 0x43c, 0x44a, 0x3b, 0x428, 0x43d, 0x431, 0x3b, 0x42f, 0x43a, ++0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x414, 0x443, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x421, 0x435, 0x448, 0x430, 0x43d, 0x431, ++0x435, 0x3b, 0x427, 0x43e, 0x440, 0x448, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x41f, 0x430, 0x43d, 0x4b7, 0x448, 0x430, 0x43d, 0x431, 0x435, ++0x3b, 0x4b6, 0x443, 0x43c, 0x44a, 0x430, 0x3b, 0x428, 0x430, 0x43d, 0x431, 0x435, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, ++0x3b, 0x41f, 0x3b, 0x4b6, 0x3b, 0x428, 0x3b, 0xb9e, 0xbbe, 0xbaf, 0xbbf, 0x2e, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0x2e, 0x3b, 0xb9a, ++0xbc6, 0xbb5, 0xbcd, 0x2e, 0x3b, 0xbaa, 0xbc1, 0xba4, 0x2e, 0x3b, 0xbb5, 0xbbf, 0xbaf, 0xbbe, 0x2e, 0x3b, 0xbb5, 0xbc6, 0xbb3, 0xbcd, ++0x2e, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xb9e, 0xbbe, 0xbaf, 0xbbf, 0xbb1, 0xbc1, 0x3b, 0xba4, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbb3, 0xbcd, ++0x3b, 0xb9a, 0xbc6, 0xbb5, 0xbcd, 0xbb5, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0xbaa, 0xbc1, 0xba4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbbf, 0xbaf, 0xbbe, ++0xbb4, 0xba9, 0xbcd, 0x3b, 0xbb5, 0xbc6, 0xbb3, 0xbcd, 0xbb3, 0xbbf, 0x3b, 0xb9a, 0xba9, 0xbbf, 0x3b, 0xb9e, 0xbbe, 0x3b, 0xba4, 0xbbf, ++0x3b, 0xb9a, 0xbc6, 0x3b, 0xbaa, 0xbc1, 0x3b, 0xbb5, 0xbbf, 0x3b, 0xbb5, 0xbc6, 0x3b, 0xb9a, 0x3b, 0x44f, 0x43a, 0x448, 0x2e, 0x3b, ++0x434, 0x4af, 0x448, 0x2e, 0x3b, 0x441, 0x438, 0x448, 0x2e, 0x3b, 0x447, 0x4d9, 0x440, 0x2e, 0x3b, 0x43f, 0x4d9, 0x43d, 0x497, 0x2e, ++0x3b, 0x497, 0x43e, 0x43c, 0x2e, 0x3b, 0x448, 0x438, 0x43c, 0x2e, 0x3b, 0x44f, 0x43a, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x434, ++0x4af, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x441, 0x438, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x447, 0x4d9, 0x440, 0x448, 0x4d9, ++0x43c, 0x431, 0x435, 0x3b, 0x43f, 0x4d9, 0x43d, 0x497, 0x435, 0x448, 0x4d9, 0x43c, 0x431, 0x435, 0x3b, 0x497, 0x43e, 0x43c, 0x433, 0x430, ++0x3b, 0x448, 0x438, 0x43c, 0x431, 0x4d9, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x496, 0x3b, 0x428, ++0x3b, 0xc06, 0xc26, 0xc3f, 0x3b, 0xc38, 0xc4b, 0xc2e, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0x3b, 0xc2c, 0xc41, 0xc27, 0x3b, 0xc17, 0xc41, ++0xc30, 0xc41, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, 0x3b, 0xc36, 0xc28, 0xc3f, 0x3b, 0xc06, 0xc26, 0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, ++0x3b, 0xc38, 0xc4b, 0xc2e, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc2e, 0xc02, 0xc17, 0xc33, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc2c, 0xc41, ++0xc27, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc17, 0xc41, 0xc30, 0xc41, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc41, 0xc15, 0xc4d, 0xc30, ++0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc36, 0xc28, 0xc3f, 0xc35, 0xc3e, 0xc30, 0xc02, 0x3b, 0xc06, 0x3b, 0xc38, 0xc4b, 0x3b, 0xc2e, 0x3b, ++0xc2c, 0xc41, 0x3b, 0xc17, 0xc41, 0x3b, 0xc36, 0xc41, 0x3b, 0xc36, 0x3b, 0xe2d, 0xe32, 0x2e, 0x3b, 0xe08, 0x2e, 0x3b, 0xe2d, 0x2e, ++0x3b, 0xe1e, 0x2e, 0x3b, 0xe1e, 0xe24, 0x2e, 0x3b, 0xe28, 0x2e, 0x3b, 0xe2a, 0x2e, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe32, 0xe17, ++0xe34, 0xe15, 0xe22, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe08, 0xe31, 0xe19, 0xe17, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe2d, 0xe31, ++0xe07, 0xe04, 0xe32, 0xe23, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe38, 0xe18, 0x3b, 0xe27, 0xe31, 0xe19, 0xe1e, 0xe24, 0xe2b, 0xe31, 0xe2a, ++0xe1a, 0xe14, 0xe35, 0x3b, 0xe27, 0xe31, 0xe19, 0xe28, 0xe38, 0xe01, 0xe23, 0xe4c, 0x3b, 0xe27, 0xe31, 0xe19, 0xe40, 0xe2a, 0xe32, 0xe23, ++0xe4c, 0x3b, 0xe2d, 0xe32, 0x3b, 0xe08, 0x3b, 0xe2d, 0x3b, 0xe1e, 0x3b, 0xe1e, 0xe24, 0x3b, 0xe28, 0x3b, 0xe2a, 0x3b, 0xf49, 0xf72, ++0xf0b, 0xf58, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, 0xf0b, 0x3b, 0xf63, ++0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf55, 0xf74, 0xf62, 0xf0b, 0xf56, 0xf74, 0xf0b, 0x3b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, ++0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf49, 0xf72, 0xf0b, 0xf58, 0xf0b, 0x3b, 0xf42, ++0xf5f, 0xf60, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf58, 0xf72, 0xf42, 0xf0b, 0xf51, 0xf58, 0xf62, ++0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf63, 0xfb7, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf55, 0xf74, 0xf62, ++0xf0b, 0xf56, 0xf74, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, 0xf54, 0xf0b, 0xf66, 0xf44, 0xf66, 0xf0b, 0x3b, 0xf42, 0xf5f, 0xf60, 0xf0b, ++0xf66, 0xfa4, 0xf7a, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf49, 0xf72, 0x3b, 0xf5f, 0xfb3, 0x3b, 0xf58, 0xf72, 0xf42, 0x3b, 0xf63, 0xfb7, ++0xf42, 0x3b, 0xf55, 0xf74, 0xf62, 0x3b, 0xf66, 0xf44, 0xf66, 0x3b, 0xf66, 0xfa4, 0xf7a, 0xf53, 0x3b, 0x1230, 0x1295, 0x3b, 0x1230, 0x1291, ++0x3b, 0x1230, 0x1209, 0x3b, 0x1228, 0x1261, 0x3b, 0x1213, 0x1219, 0x3b, 0x12d3, 0x122d, 0x3b, 0x1240, 0x12f3, 0x3b, 0x1230, 0x1295, 0x1260, 0x1275, ++0x3b, 0x1230, 0x1291, 0x12ed, 0x3b, 0x1220, 0x1209, 0x1235, 0x3b, 0x1228, 0x1261, 0x12d5, 0x3b, 0x1283, 0x1219, 0x1235, 0x3b, 0x12d3, 0x122d, 0x1262, ++0x3b, 0x1240, 0x12f3, 0x121d, 0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1220, 0x3b, 0x1228, 0x3b, 0x1213, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x1230, ++0x3b, 0x1230, 0x3b, 0x1230, 0x3b, 0x1228, 0x3b, 0x1213, 0x3b, 0x12d3, 0x3b, 0x1240, 0x3b, 0x53, 0x101, 0x70, 0x3b, 0x4d, 0x14d, 0x6e, ++0x3b, 0x54, 0x16b, 0x73, 0x3b, 0x50, 0x75, 0x6c, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x3b, 0x46, 0x61, 0x6c, 0x3b, 0x54, 0x6f, ++0x6b, 0x3b, 0x53, 0x101, 0x70, 0x61, 0x74, 0x65, 0x3b, 0x4d, 0x14d, 0x6e, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x16b, 0x73, 0x69, ++0x74, 0x65, 0x3b, 0x50, 0x75, 0x6c, 0x65, 0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x54, 0x75, 0x2bb, 0x61, 0x70, 0x75, 0x6c, 0x65, ++0x6c, 0x75, 0x6c, 0x75, 0x3b, 0x46, 0x61, 0x6c, 0x61, 0x69, 0x74, 0x65, 0x3b, 0x54, 0x6f, 0x6b, 0x6f, 0x6e, 0x61, 0x6b, ++0x69, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x46, 0x3b, 0x54, 0x3b, 0x50, 0x61, 0x7a, 0x3b, ++0x50, 0x7a, 0x74, 0x3b, 0x53, 0x61, 0x6c, 0x3b, 0xc7, 0x61, 0x72, 0x3b, 0x50, 0x65, 0x72, 0x3b, 0x43, 0x75, 0x6d, 0x3b, ++0x43, 0x6d, 0x74, 0x3b, 0x50, 0x61, 0x7a, 0x61, 0x72, 0x3b, 0x50, 0x61, 0x7a, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, ++0x53, 0x61, 0x6c, 0x131, 0x3b, 0xc7, 0x61, 0x72, 0x15f, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x50, 0x65, 0x72, 0x15f, 0x65, 0x6d, ++0x62, 0x65, 0x3b, 0x43, 0x75, 0x6d, 0x61, 0x3b, 0x43, 0x75, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x69, 0x3b, 0x50, 0x3b, ++0x50, 0x3b, 0x53, 0x3b, 0xc7, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0xdd, 0x65, 0x6b, 0x3b, 0x44, 0x75, 0x15f, 0x3b, ++0x53, 0x69, 0x15f, 0x3b, 0xc7, 0x61, 0x72, 0x3b, 0x50, 0x65, 0x6e, 0x3b, 0x41, 0x6e, 0x6e, 0x3b, 0x15e, 0x65, 0x6e, 0x3b, ++0xdd, 0x65, 0x6b, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x44, 0x75, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x53, 0x69, 0x15f, ++0x65, 0x6e, 0x62, 0x65, 0x3b, 0xc7, 0x61, 0x72, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x50, 0x65, 0x6e, 0x15f, 0x65, 0x6e, ++0x62, 0x65, 0x3b, 0x41, 0x6e, 0x6e, 0x61, 0x3b, 0x15e, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0xdd, 0x3b, 0x44, 0x3b, 0x53, 0x3b, ++0xc7, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x15e, 0x3b, 0xfd, 0x65, 0x6b, 0x3b, 0x64, 0x75, 0x15f, 0x3b, 0x73, 0x69, 0x15f, 0x3b, ++0xe7, 0x61, 0x72, 0x3b, 0x70, 0x65, 0x6e, 0x3b, 0x61, 0x6e, 0x6e, 0x3b, 0x15f, 0x65, 0x6e, 0x3b, 0xfd, 0x65, 0x6b, 0x15f, ++0x65, 0x6e, 0x62, 0x65, 0x3b, 0x64, 0x75, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x73, 0x69, 0x15f, 0x65, 0x6e, 0x62, 0x65, ++0x3b, 0xe7, 0x61, 0x72, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x70, 0x65, 0x6e, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x61, ++0x6e, 0x6e, 0x61, 0x3b, 0x15f, 0x65, 0x6e, 0x62, 0x65, 0x3b, 0x64a, 0x6d5, 0x3b, 0x62f, 0x6c8, 0x3b, 0x633, 0x6d5, 0x3b, 0x686, ++0x627, 0x3b, 0x67e, 0x6d5, 0x3b, 0x62c, 0x6c8, 0x3b, 0x634, 0x6d5, 0x3b, 0x64a, 0x6d5, 0x643, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, ++0x62f, 0x6c8, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x633, 0x6d5, 0x64a, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x686, 0x627, 0x631, ++0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x67e, 0x6d5, 0x64a, 0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x62c, 0x6c8, 0x645, 0x6d5, 0x3b, ++0x634, 0x6d5, 0x646, 0x628, 0x6d5, 0x3b, 0x64a, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x62c, 0x3b, 0x634, 0x3b, ++0x43d, 0x435, 0x434, 0x456, 0x43b, 0x44f, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x456, 0x43b, 0x43e, 0x43a, 0x3b, 0x432, 0x456, 0x432, ++0x442, 0x43e, 0x440, 0x43e, 0x43a, 0x3b, 0x441, 0x435, 0x440, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x435, 0x440, 0x3b, ++0x43f, 0x2bc, 0x44f, 0x442, 0x43d, 0x438, 0x446, 0x44f, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x41d, 0x3b, 0x41f, 0x3b, ++0x412, 0x3b, 0x421, 0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x421, 0x3b, 0x627, 0x62a, 0x648, 0x627, 0x631, 0x3b, 0x67e, 0x6cc, 0x631, 0x3b, ++0x645, 0x646, 0x6af, 0x644, 0x3b, 0x628, 0x62f, 0x6be, 0x3b, 0x62c, 0x645, 0x639, 0x631, 0x627, 0x62a, 0x3b, 0x62c, 0x645, 0x639, 0x6c1, ++0x3b, 0x6c1, 0x641, 0x62a, 0x6c1, 0x3b, 0x59, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0x73, 0x68, 0x3b, 0x53, 0x65, 0x73, 0x68, 0x3b, ++0x43, 0x68, 0x6f, 0x72, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x53, 0x68, 0x61, 0x6e, 0x3b, 0x79, 0x61, ++0x6b, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x64, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x73, 0x65, 0x73, ++0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x63, 0x68, 0x6f, 0x72, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x79, ++0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x73, 0x68, 0x61, 0x6e, 0x62, 0x61, 0x3b, 0x59, ++0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x6cc, 0x2e, 0x3b, 0x62f, 0x2e, 0x3b, 0x633, ++0x2e, 0x3b, 0x686, 0x2e, 0x3b, 0x67e, 0x2e, 0x3b, 0x62c, 0x2e, 0x3b, 0x634, 0x2e, 0x3b, 0x44f, 0x43a, 0x448, 0x3b, 0x434, 0x443, ++0x448, 0x3b, 0x441, 0x435, 0x448, 0x3b, 0x447, 0x43e, 0x440, 0x3b, 0x43f, 0x430, 0x439, 0x3b, 0x436, 0x443, 0x43c, 0x3b, 0x448, 0x430, ++0x43d, 0x3b, 0x44f, 0x43a, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x434, 0x443, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x441, 0x435, ++0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x447, 0x43e, 0x440, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x43f, 0x430, 0x439, 0x448, 0x430, ++0x43d, 0x431, 0x430, 0x3b, 0x436, 0x443, 0x43c, 0x430, 0x3b, 0x448, 0x430, 0x43d, 0x431, 0x430, 0x3b, 0x42f, 0x3b, 0x414, 0x3b, 0x421, ++0x3b, 0x427, 0x3b, 0x41f, 0x3b, 0x416, 0x3b, 0x428, 0x3b, 0x43, 0x4e, 0x3b, 0x54, 0x68, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x20, ++0x33, 0x3b, 0x54, 0x68, 0x20, 0x34, 0x3b, 0x54, 0x68, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x20, 0x36, 0x3b, 0x54, 0x68, 0x20, ++0x37, 0x3b, 0x43, 0x68, 0x1ee7, 0x20, 0x4e, 0x68, 0x1ead, 0x74, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x48, 0x61, 0x69, 0x3b, 0x54, ++0x68, 0x1ee9, 0x20, 0x42, 0x61, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x54, 0x1b0, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x4e, 0x103, 0x6d, ++0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x53, 0xe1, 0x75, 0x3b, 0x54, 0x68, 0x1ee9, 0x20, 0x42, 0x1ea3, 0x79, 0x3b, 0x43, 0x4e, 0x3b, ++0x54, 0x32, 0x3b, 0x54, 0x33, 0x3b, 0x54, 0x34, 0x3b, 0x54, 0x35, 0x3b, 0x54, 0x36, 0x3b, 0x54, 0x37, 0x3b, 0x53, 0x75, + 0x6c, 0x3b, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, 0x47, +-0x77, 0x65, 0x6e, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x69, 0x62, 0x3b, 0x41, 0x6c, 0x74, 0x3b, 0x54, 0x61, 0x6c, 0x3b, +-0xc0, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x78, 0x3b, 0xc0, 0x6a, 0x6a, 0x3b, 0x41, 0x73, 0x65, 0x3b, 0x44, 0x69, 0x62, 0xe9, +-0x65, 0x72, 0x3b, 0x41, 0x6c, 0x74, 0x69, 0x6e, 0x65, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0xc0, 0x6c, +-0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x78, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0xc0, 0x6a, 0x6a, 0x75, 0x6d, 0x61, 0x3b, +-0x41, 0x73, 0x65, 0x65, 0x72, 0x3b, 0x43, 0x61, 0x77, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x42, 0x69, 0x6e, 0x3b, 0x54, 0x68, +-0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x43, 0x61, 0x77, 0x65, 0x3b, 0x4d, +-0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6e, 0x69, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, +-0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, +-0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x5d6, 0x5d5, 0x5e0, 0x5d8, 0x5d9, +-0x5e7, 0x3b, 0x5de, 0x5d0, 0x5b8, 0x5e0, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5d3, 0x5d9, 0x5e0, 0x5e1, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5de, 0x5d9, +-0x5d8, 0x5d5, 0x5d5, 0x5d0, 0x5da, 0x3b, 0x5d3, 0x5d0, 0x5e0, 0x5e2, 0x5e8, 0x5e9, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5e4, 0x5bf, 0x5e8, 0x5f2, +-0x5b7, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5e9, 0x5d1, 0x5ea, 0x3b, 0xc0, 0xec, 0x6b, 0x3b, 0x41, 0x6a, 0x3b, 0xcc, 0x73, 0x1eb9, 0x301, +-0x67, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x3b, 0x1eb8, 0x74, 0x3b, 0xc0, 0x62, 0xe1, +-0x6d, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, 0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, +-0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, 0x1eb8, 0x74, 0xec, 0x3b, 0xc0, 0x62, 0xe1, +-0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0x3b, 0x41, 0x3b, 0xcc, 0x3b, 0x1ecc, 0x3b, 0x1ecc, 0x3b, 0x1eb8, 0x3b, 0xc0, 0x3b, +-0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, 0x1ecc, +-0x6a, 0x1ecd, 0x301, 0x20, 0xcc, 0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, +-0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x1eb8, 0x74, 0xec, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, +-0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0xec, 0x6b, 0x3b, 0x41, 0x6a, 0x3b, 0xcc, 0x73, 0x25b, 0x301, +-0x67, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x72, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x62, 0x3b, 0x190, 0x74, 0x3b, 0xc0, 0x62, 0xe1, +-0x6d, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, 0x73, 0x25b, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x186, +-0x6a, 0x254, 0x301, 0x72, 0xfa, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x62, 0x254, 0x3b, 0x190, 0x74, 0xec, 0x3b, 0xc0, 0x62, 0xe1, +-0x6d, 0x25b, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0x3b, 0x41, 0x3b, 0xcc, 0x3b, 0x186, 0x3b, 0x186, 0x3b, 0x190, 0x3b, 0xc0, 0x3b, +-0x186, 0x6a, 0x254, 0x301, 0x20, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, 0x186, +-0x6a, 0x254, 0x301, 0x20, 0xcc, 0x73, 0x25b, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x72, 0xfa, 0x3b, 0x186, +-0x6a, 0x254, 0x301, 0x62, 0x254, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, 0x190, 0x74, 0xec, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, +-0xc0, 0x62, 0xe1, 0x6d, 0x25b, 0x301, 0x74, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x73, 0x6f, 0x3b, 0x42, 0x69, 0x6c, +-0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x49, 0x53, 0x6f, +-0x6e, 0x74, 0x6f, 0x3b, 0x55, 0x4d, 0x73, 0x6f, 0x6d, 0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x55, 0x4c, 0x77, 0x65, +-0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, +-0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, +-0x3b, 0x55, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x42, 0x3b, 0x54, 0x3b, 0x53, +-0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x73, 0xf8, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, 0x79, 0x73, 0x3b, 0x6f, 0x6e, 0x73, +-0x3b, 0x74, 0x6f, 0x72, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0x61, 0x75, 0x3b, 0x73, 0xf8, 0x6e, 0x64, 0x61, 0x67, 0x3b, +-0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x79, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, 0x67, +-0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0x61, 0x75, 0x72, +-0x64, 0x61, 0x67, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0xe5, 0x2e, 0x3b, 0x74, 0x79, 0x2e, 0x3b, 0x6f, 0x6e, 0x2e, 0x3b, +-0x74, 0x6f, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x6c, 0x61, 0x2e, 0x3b, 0x43d, 0x435, 0x434, 0x3b, 0x43f, 0x43e, 0x43d, 0x3b, +-0x443, 0x442, 0x43e, 0x3b, 0x441, 0x440, 0x438, 0x3b, 0x447, 0x435, 0x442, 0x3b, 0x43f, 0x435, 0x442, 0x3b, 0x441, 0x443, 0x431, 0x3b, +-0x43d, 0x435, 0x434, 0x458, 0x435, 0x459, 0x430, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x458, 0x435, 0x459, 0x430, 0x43a, 0x3b, 0x443, +-0x442, 0x43e, 0x440, 0x430, 0x43a, 0x3b, 0x441, 0x440, 0x438, 0x458, 0x435, 0x434, 0x430, 0x3b, 0x447, 0x435, 0x442, 0x432, 0x440, 0x442, +-0x430, 0x43a, 0x3b, 0x43f, 0x435, 0x442, 0x430, 0x43a, 0x3b, 0x441, 0x443, 0x431, 0x43e, 0x442, 0x430, 0x3b, 0x4a, 0x65, 0x64, 0x3b, +-0x4a, 0x65, 0x6c, 0x3b, 0x4a, 0x65, 0x6d, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x3b, 0x4a, 0x65, 0x72, 0x64, 0x3b, 0x4a, 0x65, +-0x68, 0x3b, 0x4a, 0x65, 0x73, 0x3b, 0x4a, 0x65, 0x64, 0x6f, 0x6f, 0x6e, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6c, 0x68, 0x65, +-0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x6d, 0x61, 0x79, 0x72, 0x74, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x65, 0x61, 0x6e, 0x3b, 0x4a, +-0x65, 0x72, 0x64, 0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x68, 0x65, 0x69, 0x6e, 0x65, 0x79, 0x3b, 0x4a, 0x65, 0x73, 0x61, +-0x72, 0x6e, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x74, 0x68, 0x3b, 0x4d, 0x68, 0x72, 0x3b, 0x59, +-0x6f, 0x77, 0x3b, 0x47, 0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x64, 0x79, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x64, 0x79, +-0x20, 0x4c, 0x75, 0x6e, 0x3b, 0x64, 0x79, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68, 0x3b, 0x64, 0x79, 0x20, 0x4d, 0x65, +-0x72, 0x68, 0x65, 0x72, 0x3b, 0x64, 0x79, 0x20, 0x59, 0x6f, 0x77, 0x3b, 0x64, 0x79, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, +-0x72, 0x3b, 0x64, 0x79, 0x20, 0x53, 0x61, 0x64, 0x6f, 0x72, 0x6e, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x44, 0x77, 0x6f, 0x3b, +-0x42, 0x65, 0x6e, 0x3b, 0x57, 0x75, 0x6b, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x61, 0x3b, 0x4d, 0x65, 0x6d, 0x3b, +-0x4b, 0x77, 0x65, 0x73, 0x69, 0x64, 0x61, 0x3b, 0x44, 0x77, 0x6f, 0x77, 0x64, 0x61, 0x3b, 0x42, 0x65, 0x6e, 0x61, 0x64, +-0x61, 0x3b, 0x57, 0x75, 0x6b, 0x75, 0x64, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x64, 0x61, 0x3b, 0x46, 0x69, 0x64, 0x61, 0x3b, +-0x4d, 0x65, 0x6d, 0x65, 0x6e, 0x65, 0x64, 0x61, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x46, +-0x3b, 0x4d, 0x3b, 0x906, 0x92f, 0x924, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x93e, +-0x930, 0x3b, 0x92c, 0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x930, 0x947, 0x938, 0x94d, 0x924, 0x93e, 0x930, 0x3b, 0x936, +-0x941, 0x915, 0x94d, 0x930, 0x93e, 0x930, 0x3b, 0x936, 0x947, 0x928, 0x935, 0x93e, 0x930, 0x3b, 0x906, 0x3b, 0x938, 0x94b, 0x3b, 0x92e, +-0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x92c, 0x3b, 0x936, 0x941, 0x3b, 0x936, 0x947, 0x3b, 0x906, 0x3b, 0x938, 0x94b, 0x3b, 0x92e, 0x902, +-0x3b, 0x92c, 0x941, 0x3b, 0x92c, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x936, 0x947, 0x3b, 0x1ee4, 0x6b, 0x61, 0x3b, 0x4d, 0x1ecd, 0x6e, +-0x3b, 0x54, 0x69, 0x75, 0x3b, 0x57, 0x65, 0x6e, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x3b, 0x46, 0x72, 0x61, 0x1ecb, 0x3b, 0x53, 0x61, +-0x74, 0x3b, 0x53, 0x1ecd, 0x6e, 0x64, 0x65, 0x65, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x64, 0x65, 0x3b, 0x54, 0x69, 0x75, 0x7a, 0x64, +-0x65, 0x65, 0x3b, 0x57, 0x65, 0x6e, 0x65, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x7a, 0x64, 0x65, 0x65, 0x3b, +-0x46, 0x72, 0x61, 0x1ecb, 0x64, 0x65, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x1ecd, 0x64, 0x65, 0x65, 0x3b, 0x57, 0x6b, 0x79, 0x3b, +-0x57, 0x6b, 0x77, 0x3b, 0x57, 0x6b, 0x6c, 0x3b, 0x57, 0x74, 0x169, 0x3b, 0x57, 0x6b, 0x6e, 0x3b, 0x57, 0x74, 0x6e, 0x3b, +-0x57, 0x74, 0x68, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x79, 0x75, 0x6d, 0x77, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x77, 0x61, +-0x6d, 0x62, 0x129, 0x6c, 0x129, 0x6c, 0x79, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x57, 0x61, 0x20, +-0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, +-0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x57, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x59, 0x3b, +-0x57, 0x3b, 0x45, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, +-0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0x65, 0x3b, 0x6a, 0x6f, 0x69, 0x3b, 0x76, 0x69, 0x6e, 0x3b, 0x73, 0x61, 0x62, 0x3b, +-0x64, 0x6f, 0x6d, 0x65, 0x6e, 0x69, 0x65, 0x3b, 0x6c, 0x75, 0x6e, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x61, 0x72, +-0x73, 0x3b, 0x6d, 0x69, 0x65, 0x72, 0x63, 0x75, 0x73, 0x3b, 0x6a, 0x6f, 0x69, 0x62, 0x65, 0x3b, 0x76, 0x69, 0x6e, 0x61, +-0x72, 0x73, 0x3b, 0x73, 0x61, 0x62, 0x69, 0x64, 0x65, 0x3b, 0x6b, 0x254, 0x73, 0x3b, 0x64, 0x7a, 0x6f, 0x3b, 0x62, 0x6c, +-0x61, 0x3b, 0x6b, 0x75, 0x256, 0x3b, 0x79, 0x61, 0x77, 0x3b, 0x66, 0x69, 0x256, 0x3b, 0x6d, 0x65, 0x6d, 0x3b, 0x6b, 0x254, +-0x73, 0x69, 0x256, 0x61, 0x3b, 0x64, 0x7a, 0x6f, 0x256, 0x61, 0x3b, 0x62, 0x6c, 0x61, 0x256, 0x61, 0x3b, 0x6b, 0x75, 0x256, +-0x61, 0x3b, 0x79, 0x61, 0x77, 0x6f, 0x256, 0x61, 0x3b, 0x66, 0x69, 0x256, 0x61, 0x3b, 0x6d, 0x65, 0x6d, 0x6c, 0x65, 0x256, +-0x61, 0x3b, 0x6b, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x6b, 0x3b, 0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x4c, 0x50, 0x3b, 0x50, +-0x31, 0x3b, 0x50, 0x32, 0x3b, 0x50, 0x33, 0x3b, 0x50, 0x34, 0x3b, 0x50, 0x35, 0x3b, 0x50, 0x36, 0x3b, 0x4c, 0x101, 0x70, +-0x75, 0x6c, 0x65, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x61, 0x68, 0x69, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x75, 0x61, +-0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x6f, 0x6c, 0x75, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x68, 0x101, 0x3b, 0x50, 0x6f, 0x2bb, +-0x61, 0x6c, 0x69, 0x6d, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6f, 0x6e, 0x6f, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x4c, 0x75, +-0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x69, 0x79, 0x3b, 0x48, 0x75, 0x77, 0x3b, 0x42, 0x69, 0x79, 0x3b, 0x53, 0x61, +-0x62, 0x3b, 0x4c, 0x69, 0x6e, 0x67, 0x67, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, +-0x73, 0x3b, 0x4d, 0x69, 0x79, 0x65, 0x72, 0x6b, 0x75, 0x6c, 0x65, 0x73, 0x3b, 0x48, 0x75, 0x77, 0x65, 0x62, 0x65, 0x73, +-0x3b, 0x42, 0x69, 0x79, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x53, 0x75, 0x2e, +-0x3b, 0x4d, 0xe4, 0x2e, 0x3b, 0x5a, 0x69, 0x2e, 0x3b, 0x4d, 0x69, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, +-0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0xe4, 0x6e, 0x74, 0x69, 0x67, +-0x3b, 0x5a, 0x69, 0x69, 0x73, 0x63, 0x68, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, 0x75, 0x63, 0x68, 0x3b, +-0x44, 0x75, 0x6e, 0x73, 0x63, 0x68, 0x74, 0x69, 0x67, 0x3b, 0x46, 0x72, 0x69, 0x69, 0x74, 0x69, 0x67, 0x3b, 0x53, 0x61, +-0x6d, 0x73, 0x63, 0x68, 0x74, 0x69, 0x67, 0x3b, 0xa46d, 0xa18f, 0x3b, 0xa18f, 0xa2cd, 0x3b, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa315, 0x3b, +-0xa18f, 0xa1d6, 0x3b, 0xa18f, 0xa26c, 0x3b, 0xa18f, 0xa0d8, 0x3b, 0xa46d, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa282, 0xa2cd, 0x3b, 0xa18f, 0xa282, 0xa44d, +-0x3b, 0xa18f, 0xa282, 0xa315, 0x3b, 0xa18f, 0xa282, 0xa1d6, 0x3b, 0xa18f, 0xa282, 0xa26c, 0x3b, 0xa18f, 0xa282, 0xa0d8, 0x3b, 0xa18f, 0x3b, 0xa2cd, +-0x3b, 0xa44d, 0x3b, 0xa315, 0x3b, 0xa1d6, 0x3b, 0xa26c, 0x3b, 0xa0d8, 0x3b, 0x53, 0xfc, 0x2e, 0x3b, 0x4d, 0x61, 0x2e, 0x3b, 0x44, +-0x69, 0x2e, 0x3b, 0x4d, 0x69, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, +-0xfc, 0x6e, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x4d, 0x61, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x6e, 0x67, 0x73, +-0x64, 0x61, 0x67, 0x3b, 0x4d, 0x69, 0x64, 0x64, 0x65, 0x77, 0x65, 0x6b, 0x65, 0x6e, 0x3b, 0x44, 0x75, 0x6e, 0x6e, 0x65, +-0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x46, 0x72, 0x65, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x53, 0xfc, 0x6e, 0x6e, 0x61, 0x76, +-0x65, 0x6e, 0x64, 0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x3b, 0x6d, 0x61, 0x14b, 0x3b, 0x67, 0x61, +-0x73, 0x6b, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x3b, 0x6c, 0xe1, 0x76, 0x3b, 0x73, 0x6f, 0x74, +-0x6e, 0x61, 0x62, 0x65, 0x61, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0xe1, 0x72, 0x67, 0x61, 0x3b, 0x6d, +-0x61, 0x14b, 0x14b, 0x65, 0x62, 0xe1, 0x72, 0x67, 0x61, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x61, 0x76, 0x61, 0x68, 0x6b, 0x6b, +-0x75, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x61, 0x73, 0x64, 0x61, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x6a, 0x61, 0x64, 0x61, +-0x74, 0x3b, 0x6c, 0xe1, 0x76, 0x76, 0x61, 0x72, 0x64, 0x61, 0x74, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, +-0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x73, 0x6f, 0x3b, 0x6d, 0xe1, 0x3b, 0x64, 0x69, 0x3b, 0x67, 0x61, 0x3b, 0x64, 0x75, +-0x3b, 0x62, 0x65, 0x3b, 0x6c, 0xe1, 0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x61, 0x62, 0x65, 0x61, 0x69, 0x76, 0x69, 0x3b, 0x6d, +-0xe1, 0x6e, 0x6e, 0x6f, 0x64, 0x61, 0x74, 0x3b, 0x64, 0x69, 0x73, 0x64, 0x61, 0x74, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x61, +-0x76, 0x61, 0x68, 0x6b, 0x6b, 0x75, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x61, 0x73, 0x74, 0x61, 0x74, 0x3b, 0x62, 0x65, 0x61, +-0x72, 0x6a, 0x61, 0x64, 0x61, 0x74, 0x3b, 0x6c, 0xe1, 0x76, 0x76, 0x6f, 0x72, 0x64, 0x61, 0x74, 0x3b, 0x53, 0x3b, 0x4d, +-0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x43, 0x70, 0x72, 0x3b, 0x43, 0x74, 0x74, 0x3b, 0x43, +-0x6d, 0x6e, 0x3b, 0x43, 0x6d, 0x74, 0x3b, 0x41, 0x72, 0x73, 0x3b, 0x49, 0x63, 0x6d, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x43, +-0x68, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x6f, 0x3b, 0x43, +-0x68, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, +-0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x63, 0x68, 0x75, 0x6d, 0x61, 0x3b, 0x45, 0x73, 0x61, 0x62, 0x61, 0x74, 0x6f, +-0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x45, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x4a, +-0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4e, +-0x67, 0x75, 0x3b, 0x49, 0x74, 0x75, 0x6b, 0x75, 0x20, 0x6a, 0x61, 0x20, 0x6a, 0x75, 0x6d, 0x77, 0x61, 0x3b, 0x4b, 0x75, +-0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6a, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, +-0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, +-0x64, 0x61, 0x64, 0x75, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4b, +-0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4b, 0x69, 0x66, 0x75, 0x6c, +-0x61, 0x20, 0x6e, 0x67, 0x75, 0x77, 0x6f, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, +-0x4e, 0x3b, 0x64, 0x65, 0x77, 0x3b, 0x61, 0x61, 0x253, 0x3b, 0x6d, 0x61, 0x77, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x6e, 0x61, +-0x61, 0x3b, 0x6d, 0x77, 0x64, 0x3b, 0x68, 0x62, 0x69, 0x3b, 0x64, 0x65, 0x77, 0x6f, 0x3b, 0x61, 0x61, 0x253, 0x6e, 0x64, +-0x65, 0x3b, 0x6d, 0x61, 0x77, 0x62, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x6e, 0x6a, 0x65, 0x73, 0x6c, 0x61, 0x61, 0x72, 0x65, +-0x3b, 0x6e, 0x61, 0x61, 0x73, 0x61, 0x61, 0x6e, 0x64, 0x65, 0x3b, 0x6d, 0x61, 0x77, 0x6e, 0x64, 0x65, 0x3b, 0x68, 0x6f, +-0x6f, 0x72, 0x65, 0x2d, 0x62, 0x69, 0x69, 0x72, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6e, 0x3b, 0x6e, 0x3b, 0x6d, +-0x3b, 0x68, 0x3b, 0x4b, 0x4d, 0x41, 0x3b, 0x4e, 0x54, 0x54, 0x3b, 0x4e, 0x4d, 0x4e, 0x3b, 0x4e, 0x4d, 0x54, 0x3b, 0x41, +-0x52, 0x54, 0x3b, 0x4e, 0x4d, 0x41, 0x3b, 0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, 0x61, 0x3b, 0x4e, 0x6a, +-0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4e, 0x6a, 0x75, +-0x6d, 0x61, 0x74, 0x61, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, +-0x61, 0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, +-0x4e, 0x3b, 0x41, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x72, 0x65, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, +-0x49, 0x6e, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, +-0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, +-0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x2019, 0x77, +-0x61, 0x6e, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x69, 0x6e, 0x65, 0x74, 0x3b, 0x4d, 0x64, +-0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, +-0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6b, 0x77, 0x65, +-0x3b, 0x41, 0x3b, 0x4b, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x44, 0x69, 0x6d, 0x3b, 0x50, +-0x6f, 0x73, 0x3b, 0x50, 0x69, 0x72, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x61, 0x3b, 0x53, +-0x61, 0x62, 0x3b, 0x44, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x6f, 0x73, 0x69, 0x3b, 0x43, +-0x68, 0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6e, 0x61, +-0x69, 0x3b, 0x43, 0x68, 0x69, 0x73, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x53, 0x61, 0x62, 0x75, 0x64, 0x75, 0x3b, 0x44, 0x3b, +-0x50, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x76, 0x75, 0x3b, +-0x53, 0x69, 0x62, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x53, 0x69, 0x68, 0x3b, 0x4d, 0x67, 0x71, 0x3b, +-0x53, 0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x53, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x53, +-0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, 0x53, 0x69, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, +-0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, +-0x53, 0x3b, 0x4d, 0x3b, 0x49, 0x6a, 0x70, 0x3b, 0x49, 0x6a, 0x74, 0x3b, 0x49, 0x6a, 0x6e, 0x3b, 0x49, 0x6a, 0x74, 0x6e, +-0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x70, 0x69, +-0x6c, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, +-0x65, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, +-0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x32, 0x3b, +-0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x31, 0x3b, 0x2d30, 0x2d59, 0x2d30, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x3b, +-0x2d30, 0x2d59, 0x2d49, 0x3b, 0x2d30, 0x2d3d, 0x2d55, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4e, 0x3b, 0x2d30, 0x2d59, 0x2d49, +-0x2d39, 0x3b, 0x2d30, 0x2d59, 0x2d30, 0x2d4e, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4f, 0x2d30, +-0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d55, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d59, 0x2d49, 0x2d4e, 0x2d61, 0x2d30, 0x2d59, +-0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d39, 0x2d62, 0x2d30, 0x2d59, 0x3b, 0x61, 0x73, 0x61, 0x3b, 0x61, 0x79, 0x6e, 0x3b, 0x61, 0x73, 0x69, +-0x3b, 0x61, 0x6b, 0x1e5b, 0x3b, 0x61, 0x6b, 0x77, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x3b, 0x61, 0x73, 0x69, 0x1e0d, 0x3b, 0x61, +-0x73, 0x61, 0x6d, 0x61, 0x73, 0x3b, 0x61, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x61, +-0x6b, 0x1e5b, 0x61, 0x73, 0x3b, 0x61, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x77, 0x61, 0x73, 0x3b, 0x61, +-0x73, 0x69, 0x1e0d, 0x79, 0x61, 0x73, 0x3b, 0x41, 0x63, 0x65, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x41, +-0x68, 0x61, 0x3b, 0x41, 0x6d, 0x68, 0x3b, 0x53, 0x65, 0x6d, 0x3b, 0x53, 0x65, 0x64, 0x3b, 0x41, 0x63, 0x65, 0x72, 0x3b, +-0x41, 0x72, 0x69, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x3b, 0x41, 0x68, 0x61, 0x64, 0x3b, 0x41, 0x6d, 0x68, 0x61, 0x64, +-0x3b, 0x53, 0x65, 0x6d, 0x3b, 0x53, 0x65, 0x64, 0x3b, 0x59, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x53, +-0x3b, 0x53, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x3b, 0x4b, 0x75, 0x1e93, 0x3b, +-0x53, 0x61, 0x6d, 0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x3b, 0x53, 0x61, 0x79, 0x3b, 0x59, 0x61, 0x6e, 0x61, 0x73, 0x73, 0x3b, +-0x53, 0x61, 0x6e, 0x61, 0x73, 0x73, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x61, 0x73, 0x73, 0x3b, 0x4b, 0x75, 0x1e93, 0x61, 0x73, +-0x73, 0x3b, 0x53, 0x61, 0x6d, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x61, 0x79, +-0x61, 0x73, 0x73, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x41, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x53, 0x41, +-0x4e, 0x3b, 0x4f, 0x52, 0x4b, 0x3b, 0x4f, 0x4b, 0x42, 0x3b, 0x4f, 0x4b, 0x53, 0x3b, 0x4f, 0x4b, 0x4e, 0x3b, 0x4f, 0x4b, +-0x54, 0x3b, 0x4f, 0x4d, 0x4b, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x65, 0x3b, 0x4f, 0x72, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, +-0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, +-0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x72, 0x77, 0x61, +-0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, +-0x53, 0x3b, 0x4b, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x56, 0x69, +-0x6c, 0x3b, 0x48, 0x69, 0x76, 0x3b, 0x48, 0x69, 0x64, 0x3b, 0x48, 0x69, 0x74, 0x3b, 0x48, 0x69, 0x68, 0x3b, 0x4c, 0x65, +-0x6d, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, +-0x75, 0x76, 0x69, 0x6c, 0x75, 0x68, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, +-0x20, 0x68, 0x69, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x74, 0x61, 0x79, 0x69, 0x3b, 0x70, 0x61, +-0x20, 0x68, 0x69, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, 0x75, 0x6c, 0x65, 0x6d, 0x62, +-0x65, 0x6c, 0x61, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x4a, 0x3b, 0x4a, 0x70, +-0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, +-0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, +-0x74, 0x61, 0x74, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, +-0x6e, 0x75, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, +-0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x49, 0x3b, +-0x4a, 0x3b, 0x6b, 0x61, 0x72, 0x3b, 0x6e, 0x74, 0x25b, 0x3b, 0x74, 0x61, 0x72, 0x3b, 0x61, 0x72, 0x61, 0x3b, 0x61, 0x6c, +-0x61, 0x3b, 0x6a, 0x75, 0x6d, 0x3b, 0x73, 0x69, 0x62, 0x3b, 0x6b, 0x61, 0x72, 0x69, 0x3b, 0x6e, 0x74, 0x25b, 0x6e, 0x25b, +-0x3b, 0x74, 0x61, 0x72, 0x61, 0x74, 0x61, 0x3b, 0x61, 0x72, 0x61, 0x62, 0x61, 0x3b, 0x61, 0x6c, 0x61, 0x6d, 0x69, 0x73, +-0x61, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x73, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, +-0x41, 0x3b, 0x41, 0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4b, 0x6d, 0x61, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x49, 0x6e, 0x65, 0x3b, +-0x54, 0x61, 0x6e, 0x3b, 0x41, 0x72, 0x6d, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, +-0x69, 0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, +-0x65, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, +-0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4e, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x69, 0x3b, +-0x4b, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13c9, 0x13c5, +-0x13af, 0x3b, 0x13d4, 0x13b5, 0x13c1, 0x3b, 0x13e6, 0x13a2, 0x13c1, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x3b, 0x13c8, 0x13d5, +-0x13be, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c9, 0x13c5, 0x13af, 0x3b, 0x13d4, 0x13b5, +-0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13e6, 0x13a2, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x13b6, +-0x13cd, 0x13d7, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c8, 0x13d5, 0x13be, 0x3b, 0x13c6, 0x3b, 0x13c9, 0x3b, 0x13d4, 0x3b, 0x13e6, 0x3b, 0x13c5, +-0x3b, 0x13e7, 0x3b, 0x13a4, 0x3b, 0x64, 0x69, 0x6d, 0x3b, 0x6c, 0x69, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x72, +-0x3b, 0x7a, 0x65, 0x3b, 0x76, 0x61, 0x6e, 0x3b, 0x73, 0x61, 0x6d, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x6e, 0x73, 0x3b, 0x6c, +-0x69, 0x6e, 0x64, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x72, 0x6b, 0x72, 0x65, 0x64, 0x69, 0x3b, +-0x7a, 0x65, 0x64, 0x69, 0x3b, 0x76, 0x61, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x73, 0x61, 0x6d, 0x64, 0x69, 0x3b, +-0x64, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x76, 0x3b, 0x73, 0x3b, 0x4c, 0x6c, 0x32, 0x3b, 0x4c, 0x6c, +-0x33, 0x3b, 0x4c, 0x6c, 0x34, 0x3b, 0x4c, 0x6c, 0x35, 0x3b, 0x4c, 0x6c, 0x36, 0x3b, 0x4c, 0x6c, 0x37, 0x3b, 0x4c, 0x6c, +-0x31, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x69, 0x64, +-0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, +-0x79, 0x61, 0x6e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, +-0x6e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, 0x6e, 0x79, +-0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6a, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, +-0x6c, 0x79, 0x61, 0x6e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x76, 0x69, 0x6c, 0x69, 0x3b, +-0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x50, 0xed, 0x69, 0x6c, 0x69, +-0x3b, 0x54, 0xe1, 0x61, 0x74, 0x75, 0x3b, 0xcd, 0x6e, 0x65, 0x3b, 0x54, 0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, +-0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x4d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x69, 0x72, 0x69, +-0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0xed, 0x6e, 0x65, 0x3b, 0x4a, 0x75, +-0x6d, 0x61, 0x74, 0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x6d, 0xed, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, +-0x6d, 0xe1, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x45, 0x3b, +-0x4f, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x42, 0x61, 0x6c, 0x3b, 0x4c, 0x77, 0x32, 0x3b, +-0x4c, 0x77, 0x33, 0x3b, 0x4c, 0x77, 0x34, 0x3b, 0x4c, 0x77, 0x35, 0x3b, 0x4c, 0x77, 0x36, 0x3b, 0x53, 0x61, 0x62, 0x62, +-0x69, 0x69, 0x74, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x62, 0x69, 0x72, +-0x69, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x6e, 0x61, 0x3b, +-0x4c, 0x77, 0x61, 0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, +-0x61, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x50, 0x61, 0x20, 0x4d, +-0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x6d, 0x6f, 0x3b, 0x50, 0x61, 0x6c, +-0x69, 0x63, 0x68, 0x69, 0x62, 0x75, 0x6c, 0x69, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, +-0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x73, 0x61, +-0x6e, 0x6f, 0x3b, 0x50, 0x61, 0x63, 0x68, 0x69, 0x62, 0x65, 0x6c, 0x75, 0x73, 0x68, 0x69, 0x3b, 0x64, 0x75, 0x6d, 0x3b, +-0x73, 0x69, 0x67, 0x3b, 0x74, 0x65, 0x72, 0x3b, 0x6b, 0x75, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x3b, 0x73, 0x65, 0x73, 0x3b, +-0x73, 0x61, 0x62, 0x3b, 0x64, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x73, 0x69, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, +-0x66, 0x65, 0x72, 0x61, 0x3b, 0x74, 0x65, 0x72, 0x73, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x75, 0x61, 0x72, +-0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, +-0x65, 0x73, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x75, 0x3b, 0x44, 0x3b, 0x53, +-0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x64, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x73, +-0x69, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x74, 0x65, 0x72, 0x73, 0x61, 0x2d, 0x66, 0x65, +-0x72, 0x61, 0x3b, 0x6b, 0x75, 0x61, 0x72, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x74, 0x61, +-0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0x65, 0x73, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0x61, 0x62, +-0x61, 0x64, 0x75, 0x3b, 0x4b, 0x49, 0x55, 0x3b, 0x4d, 0x52, 0x41, 0x3b, 0x57, 0x41, 0x49, 0x3b, 0x57, 0x45, 0x54, 0x3b, +-0x57, 0x45, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x4a, 0x55, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, 0x61, 0x3b, 0x4d, +-0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x6f, 0x3b, 0x57, 0x61, 0x69, 0x72, 0x69, 0x3b, 0x57, 0x65, 0x74, 0x68, 0x61, 0x74, +-0x75, 0x3b, 0x57, 0x65, 0x6e, 0x61, 0x3b, 0x57, 0x65, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, +-0x73, 0x69, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x4a, 0x3b, 0x4b, 0x74, 0x73, +-0x3b, 0x4b, 0x6f, 0x74, 0x3b, 0x4b, 0x6f, 0x6f, 0x3b, 0x4b, 0x6f, 0x73, 0x3b, 0x4b, 0x6f, 0x61, 0x3b, 0x4b, 0x6f, 0x6d, +-0x3b, 0x4b, 0x6f, 0x6c, 0x3b, 0x4b, 0x6f, 0x74, 0x69, 0x73, 0x61, 0x70, 0x3b, 0x4b, 0x6f, 0x74, 0x61, 0x61, 0x69, 0x3b, +-0x4b, 0x6f, 0x61, 0x65, 0x6e, 0x67, 0x2019, 0x3b, 0x4b, 0x6f, 0x73, 0x6f, 0x6d, 0x6f, 0x6b, 0x3b, 0x4b, 0x6f, 0x61, 0x6e, +-0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x75, 0x75, 0x74, 0x3b, 0x4b, 0x6f, 0x6c, 0x6f, 0x3b, 0x54, 0x3b, +-0x54, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x61, 0x3b, 0x44, +-0x65, 0x3b, 0x57, 0x75, 0x3b, 0x44, 0x6f, 0x3b, 0x46, 0x72, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x53, 0x6f, 0x6e, 0x74, 0x61, +-0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x6e, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x44, +-0x65, 0x6e, 0x73, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x57, 0x75, 0x6e, 0x73, 0x74, 0x61, 0x78, 0x74, +-0x73, 0x65, 0x65, 0x73, 0x3b, 0x44, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, +-0x46, 0x72, 0x61, 0x69, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x74, 0x65, 0x72, 0x74, 0x61, +-0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x46, 0x3b, 0x41, +-0x3b, 0x53, 0x75, 0x2e, 0x3b, 0x4d, 0x6f, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, 0x4d, 0x65, 0x2e, 0x3b, 0x44, 0x75, 0x2e, +-0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x4d, +-0x6f, 0x68, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x44, 0x69, 0x6e, 0x6e, 0x73, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, +-0x4d, 0x65, 0x74, 0x77, 0x6f, 0x63, 0x68, 0x3b, 0x44, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x64, 0x61, 0x61, 0x63, 0x68, +-0x3b, 0x46, 0x72, 0x69, 0x69, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x64, 0x61, 0x61, 0x63, 0x68, +-0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x6c, 0xed, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x74, 0x75, 0x3b, 0x4a, +-0x75, 0x6d, 0x61, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x6e, 0x254, 0x3b, 0x41, 0x6c, 0x61, 0xe1, 0x6d, +-0x69, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0xe1, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0xf3, 0x73, 0x69, 0x3b, 0x53, +-0x61, 0x62, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x3b, 0x4b, 0x75, 0x62, 0x69, 0x3b, 0x4b, 0x75, 0x73, 0x61, 0x3b, 0x4b, +-0x75, 0x6e, 0x61, 0x3b, 0x4b, 0x75, 0x74, 0x61, 0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x3b, 0x53, 0x61, 0x62, 0x69, 0x69, 0x74, +-0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4f, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4f, +-0x77, 0x6f, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6b, 0x75, 0x6e, 0x61, 0x3b, 0x4f, 0x6c, 0x6f, +-0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x53, +-0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4a, 0x32, 0x3b, 0x4a, 0x33, 0x3b, 0x4a, +-0x34, 0x3b, 0x4a, 0x35, 0x3b, 0x41, 0x6c, 0x3b, 0x49, 0x6a, 0x3b, 0x4a, 0x31, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, +-0x72, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, +-0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x61, +-0x6e, 0x6e, 0x65, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, +-0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, +-0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, +-0x3b, 0x42, 0x61, 0x72, 0x3b, 0x41, 0x61, 0x72, 0x3b, 0x55, 0x6e, 0x69, 0x3b, 0x55, 0x6e, 0x67, 0x3b, 0x4b, 0x61, 0x6e, +-0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x65, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x65, +-0x62, 0x61, 0x72, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x75, +-0x6e, 0x69, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x75, 0x6e, 0x67, 0x2019, 0x6f, 0x6e, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x6b, 0x61, +-0x6e, 0x79, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x73, 0x61, 0x62, 0x69, 0x74, 0x69, 0x3b, 0x4a, 0x3b, 0x42, 0x3b, 0x41, 0x3b, +-0x55, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x3b, +-0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x6d, 0x3b, 0x41, 0x6c, 0x6a, 0x3b, 0x41, 0x73, 0x73, 0x3b, 0x41, 0x6c, 0x68, 0x61, +-0x64, 0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, +-0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, 0x6a, 0x75, 0x6d, 0x61, +-0x3b, 0x41, 0x73, 0x73, 0x61, 0x62, 0x64, 0x75, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, +-0x3b, 0x53, 0x3b, 0x4a, 0x4d, 0x50, 0x3b, 0x57, 0x55, 0x54, 0x3b, 0x54, 0x41, 0x52, 0x3b, 0x54, 0x41, 0x44, 0x3b, 0x54, +-0x41, 0x4e, 0x3b, 0x54, 0x41, 0x42, 0x3b, 0x4e, 0x47, 0x53, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x3b, 0x57, +-0x75, 0x6f, 0x6b, 0x20, 0x54, 0x69, 0x63, 0x68, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, +-0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x6e, 0x67, 0x2019, 0x77, +-0x65, 0x6e, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x4e, 0x67, 0x65, 0x73, 0x6f, 0x3b, +-0x4a, 0x3b, 0x57, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x41, 0x73, 0x61, 0x3b, 0x41, 0x79, +-0x6e, 0x3b, 0x41, 0x73, 0x6e, 0x3b, 0x41, 0x6b, 0x72, 0x3b, 0x41, 0x6b, 0x77, 0x3b, 0x41, 0x73, 0x6d, 0x3b, 0x41, 0x73, +-0x1e0d, 0x3b, 0x41, 0x73, 0x61, 0x6d, 0x61, 0x73, 0x3b, 0x41, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x73, 0x69, 0x6e, 0x61, +-0x73, 0x3b, 0x41, 0x6b, 0x72, 0x61, 0x73, 0x3b, 0x41, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x41, 0x73, 0x69, 0x6d, 0x77, 0x61, +-0x73, 0x3b, 0x41, 0x73, 0x69, 0x1e0d, 0x79, 0x61, 0x73, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, +-0x41, 0x3b, 0x41, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x3b, +-0x41, 0x6c, 0x6d, 0x3b, 0x41, 0x6c, 0x7a, 0x3b, 0x41, 0x73, 0x69, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x64, 0x69, 0x3b, 0x41, +-0x74, 0x69, 0x6e, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x72, 0x62, +-0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, 0x7a, 0x75, 0x6d, 0x61, 0x3b, 0x41, +-0x73, 0x69, 0x62, 0x74, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6d, 0x6e, 0x3b, 0x4a, 0x74, +-0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x70, +-0x69, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x6e, 0x65, +-0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, +-0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x32, 0x3b, 0x33, +-0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x31, 0x3b, 0x930, 0x92c, 0x93f, 0x3b, 0x938, 0x92e, 0x3b, 0x92e, 0x902, +-0x917, 0x932, 0x3b, 0x92c, 0x941, 0x926, 0x3b, 0x92c, 0x93f, 0x938, 0x925, 0x93f, 0x3b, 0x938, 0x941, 0x916, 0x941, 0x930, 0x3b, 0x938, +-0x941, 0x928, 0x93f, 0x3b, 0x930, 0x92c, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, +-0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x926, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x938, 0x925, 0x93f, 0x92c, 0x93e, 0x930, +-0x3b, 0x938, 0x941, 0x916, 0x941, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x941, 0x928, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x930, 0x3b, +-0x938, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x92c, 0x93f, 0x3b, 0x938, 0x941, 0x3b, 0x938, 0x941, 0x3b, 0x43a, 0x4c0, 0x438, +-0x3b, 0x43e, 0x440, 0x3b, 0x448, 0x438, 0x3b, 0x43a, 0x445, 0x430, 0x3b, 0x435, 0x430, 0x3b, 0x43f, 0x4c0, 0x435, 0x3b, 0x448, 0x443, +-0x43e, 0x3b, 0x43a, 0x4c0, 0x438, 0x440, 0x430, 0x3b, 0x43e, 0x440, 0x448, 0x43e, 0x442, 0x3b, 0x448, 0x438, 0x43d, 0x430, 0x440, 0x430, +-0x3b, 0x43a, 0x445, 0x430, 0x430, 0x440, 0x430, 0x3b, 0x435, 0x430, 0x440, 0x430, 0x3b, 0x43f, 0x4c0, 0x435, 0x440, 0x430, 0x441, 0x43a, +-0x430, 0x3b, 0x448, 0x443, 0x43e, 0x442, 0x3b, 0x43a, 0x4c0, 0x3b, 0x43e, 0x3b, 0x448, 0x3b, 0x43a, 0x445, 0x3b, 0x435, 0x3b, 0x43f, +-0x4c0, 0x3b, 0x448, 0x3b, 0x43d, 0x434, 0x2de7, 0x487, 0x467, 0x3b, 0x43f, 0x43d, 0x2de3, 0x435, 0x3b, 0x432, 0x442, 0x43e, 0x2dec, 0x487, +-0x3b, 0x441, 0x440, 0x2de3, 0x435, 0x3b, 0x447, 0x435, 0x2de6, 0x487, 0x3b, 0x43f, 0x467, 0x2de6, 0x487, 0x3b, 0x441, 0xa64b, 0x2de0, 0x487, +-0x3b, 0x43d, 0x435, 0x434, 0x463, 0x301, 0x43b, 0x467, 0x3b, 0x43f, 0x43e, 0x43d, 0x435, 0x434, 0x463, 0x301, 0x43b, 0x44c, 0x43d, 0x438, +-0x43a, 0x44a, 0x3b, 0x432, 0x442, 0x43e, 0x301, 0x440, 0x43d, 0x438, 0x43a, 0x44a, 0x3b, 0x441, 0x440, 0x435, 0x434, 0x430, 0x300, 0x3b, +-0x447, 0x435, 0x442, 0x432, 0x435, 0x440, 0x442, 0x43e, 0x301, 0x43a, 0x44a, 0x3b, 0x43f, 0x467, 0x442, 0x43e, 0x301, 0x43a, 0x44a, 0x3b, +-0x441, 0xa64b, 0x431, 0x431, 0x461, 0x301, 0x442, 0x430, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4e, 0x6b, 0x6f, 0x3b, 0x4e, 0x64, 0x79, +-0x3b, 0x4e, 0x64, 0x67, 0x3b, 0x4e, 0x6a, 0x77, 0x3b, 0x4e, 0x67, 0x76, 0x3b, 0x4c, 0x75, 0x62, 0x3b, 0x4c, 0x75, 0x6d, +-0x69, 0x6e, 0x67, 0x75, 0x3b, 0x4e, 0x6b, 0x6f, 0x64, 0x79, 0x61, 0x3b, 0x4e, 0x64, 0xe0, 0x61, 0x79, 0xe0, 0x3b, 0x4e, +-0x64, 0x61, 0x6e, 0x67, 0xf9, 0x3b, 0x4e, 0x6a, 0xf2, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0xf2, 0x76, 0x79, 0x61, 0x3b, 0x4c, +-0x75, 0x62, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x4c, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4c, +-0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0xe9, 0x69, 0x3b, 0x44, 0xeb, 0x6e, 0x3b, 0x4d, 0xeb, 0x74, 0x3b, 0x44, 0x6f, 0x6e, +-0x3b, 0x46, 0x72, 0x65, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x6f, 0x6e, 0x6e, 0x64, 0x65, 0x67, 0x3b, 0x4d, 0xe9, 0x69, +-0x6e, 0x64, 0x65, 0x67, 0x3b, 0x44, 0xeb, 0x6e, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x4d, 0xeb, 0x74, 0x74, 0x77, +-0x6f, 0x63, 0x68, 0x3b, 0x44, 0x6f, 0x6e, 0x6e, 0x65, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x46, 0x72, 0x65, 0x69, +-0x64, 0x65, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x53, 0x6f, 0x6e, 0x2e, 0x3b, 0x4d, +-0xe9, 0x69, 0x2e, 0x3b, 0x44, 0xeb, 0x6e, 0x2e, 0x3b, 0x4d, 0xeb, 0x74, 0x2e, 0x3b, 0x44, 0x6f, 0x6e, 0x2e, 0x3b, 0x46, +-0x72, 0x65, 0x2e, 0x3b, 0x53, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x74, 0x73, 0x3b, 0x6b, 0x70, 0x61, 0x3b, 0x67, 0x68, 0x254, +-0x3b, 0x74, 0x254, 0x6d, 0x3b, 0x75, 0x6d, 0x65, 0x3b, 0x67, 0x68, 0x268, 0x3b, 0x64, 0x7a, 0x6b, 0x3b, 0x74, 0x73, 0x75, +-0x294, 0x6e, 0x74, 0x73, 0x268, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x6b, 0x70, 0xe0, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, +-0x67, 0x68, 0x254, 0x65, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x74, 0x254, 0x300, 0x6d, 0x6c, 0xf2, 0x3b, 0x74, 0x73, 0x75, +-0x294, 0x75, 0x6d, 0xe8, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x67, 0x68, 0x268, 0x302, 0x6d, 0x3b, 0x74, 0x73, 0x75, 0x294, +-0x6e, 0x64, 0x7a, 0x268, 0x6b, 0x254, 0x294, 0x254, 0x3b, 0x6e, 0x3b, 0x6b, 0x3b, 0x67, 0x3b, 0x74, 0x3b, 0x75, 0x3b, 0x67, +-0x3b, 0x64, 0x3b, 0x6e, 0x254, 0x79, 0x3b, 0x6e, 0x6a, 0x61, 0x3b, 0x75, 0x75, 0x6d, 0x3b, 0x14b, 0x67, 0x65, 0x3b, 0x6d, +-0x62, 0x254, 0x3b, 0x6b, 0x254, 0x254, 0x3b, 0x6a, 0x6f, 0x6e, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6e, 0x254, 0x302, 0x79, +-0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6e, 0x6a, 0x61, 0x14b, 0x67, 0x75, 0x6d, 0x62, 0x61, 0x3b, 0x14b, 0x67, 0x77, 0xe0, +-0x20, 0xfb, 0x6d, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x14b, 0x67, 0xea, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6d, 0x62, +-0x254, 0x6b, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6b, 0x254, 0x254, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6a, 0xf4, 0x6e, +-0x3b, 0x6e, 0x3b, 0x6e, 0x3b, 0x75, 0x3b, 0x14b, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6a, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x64, +-0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, +-0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x6c, 0x7a, 0x75, 0x6d, 0x61, +-0x3b, 0x41, 0x73, 0x69, 0x62, 0x74, 0x69, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, +-0x53, 0x3b, 0xe9, 0x74, 0x3b, 0x6d, 0x254, 0x301, 0x73, 0x3b, 0x6b, 0x77, 0x61, 0x3b, 0x6d, 0x75, 0x6b, 0x3b, 0x14b, 0x67, +-0x69, 0x3b, 0x257, 0xf3, 0x6e, 0x3b, 0x65, 0x73, 0x61, 0x3b, 0xe9, 0x74, 0x69, 0x3b, 0x6d, 0x254, 0x301, 0x73, 0xfa, 0x3b, +-0x6b, 0x77, 0x61, 0x73, 0xfa, 0x3b, 0x6d, 0x75, 0x6b, 0x254, 0x301, 0x73, 0xfa, 0x3b, 0x14b, 0x67, 0x69, 0x73, 0xfa, 0x3b, +-0x257, 0xf3, 0x6e, 0x25b, 0x73, 0xfa, 0x3b, 0x65, 0x73, 0x61, 0x253, 0x61, 0x73, 0xfa, 0x3b, 0x65, 0x3b, 0x6d, 0x3b, 0x6b, +-0x3b, 0x6d, 0x3b, 0x14b, 0x3b, 0x257, 0x3b, 0x65, 0x3b, 0x44, 0x69, 0x6d, 0x3b, 0x54, 0x65, 0x6e, 0x3b, 0x54, 0x61, 0x6c, +-0x3b, 0x41, 0x6c, 0x61, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x41, 0x72, 0x6a, 0x3b, 0x53, 0x69, 0x62, 0x3b, 0x44, 0x69, 0x6d, +-0x61, 0x73, 0x3b, 0x54, 0x65, 0x6e, 0x65, 0x14b, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x72, +-0x62, 0x61, 0x79, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x73, 0x61, 0x79, 0x3b, 0x41, 0x72, 0x6a, 0x75, 0x6d, 0x61, 0x3b, +-0x53, 0x69, 0x62, 0x69, 0x74, 0x69, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x53, +-0x3b, 0x73, 0x254, 0x301, 0x6e, 0x3b, 0x6d, 0x254, 0x301, 0x6e, 0x3b, 0x73, 0x6d, 0x62, 0x3b, 0x73, 0x6d, 0x6c, 0x3b, 0x73, +-0x6d, 0x6e, 0x3b, 0x66, 0xfa, 0x6c, 0x3b, 0x73, 0xe9, 0x72, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x6d, 0x254, +-0x301, 0x6e, 0x64, 0x69, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, +-0x62, 0x25b, 0x30c, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, 0x6c, +-0x25b, 0x301, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, 0x6e, 0x79, +-0x69, 0x3b, 0x66, 0xfa, 0x6c, 0x61, 0x64, 0xe9, 0x3b, 0x73, 0xe9, 0x72, 0x61, 0x64, 0xe9, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, +-0x73, 0x3b, 0x73, 0x3b, 0x73, 0x3b, 0x66, 0x3b, 0x73, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x3b, 0x6c, 0x1dd, 0x6e, 0x3b, 0x6d, +-0x61, 0x61, 0x3b, 0x6d, 0x25b, 0x6b, 0x3b, 0x6a, 0x1dd, 0x1dd, 0x3b, 0x6a, 0xfa, 0x6d, 0x3b, 0x73, 0x61, 0x6d, 0x3b, 0x73, +-0x254, 0x301, 0x6e, 0x64, 0x1dd, 0x3b, 0x6c, 0x1dd, 0x6e, 0x64, 0xed, 0x3b, 0x6d, 0x61, 0x61, 0x64, 0xed, 0x3b, 0x6d, 0x25b, +-0x6b, 0x72, 0x25b, 0x64, 0xed, 0x3b, 0x6a, 0x1dd, 0x1dd, 0x64, 0xed, 0x3b, 0x6a, 0xfa, 0x6d, 0x62, 0xe1, 0x3b, 0x73, 0x61, +-0x6d, 0x64, 0xed, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x53, 0x61, +-0x62, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x49, 0x6a, +-0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, +-0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, +-0x72, 0x61, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, +-0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4a, 0x3b, 0x43, +-0x79, 0x61, 0x3b, 0x43, 0x6c, 0x61, 0x3b, 0x43, 0x7a, 0x69, 0x3b, 0x43, 0x6b, 0x6f, 0x3b, 0x43, 0x6b, 0x61, 0x3b, 0x43, +-0x67, 0x61, 0x3b, 0x43, 0x7a, 0x65, 0x3b, 0x43, 0x6f, 0x6d, 0x2019, 0x79, 0x61, 0x6b, 0x6b, 0x65, 0x3b, 0x43, 0x6f, 0x6d, +-0x6c, 0x61, 0x61, 0x257, 0x69, 0x69, 0x3b, 0x43, 0x6f, 0x6d, 0x7a, 0x79, 0x69, 0x69, 0x257, 0x69, 0x69, 0x3b, 0x43, 0x6f, +-0x6d, 0x6b, 0x6f, 0x6c, 0x6c, 0x65, 0x3b, 0x43, 0x6f, 0x6d, 0x6b, 0x61, 0x6c, 0x64, 0x1dd, 0x253, 0x6c, 0x69, 0x69, 0x3b, +-0x43, 0x6f, 0x6d, 0x67, 0x61, 0x69, 0x73, 0x75, 0x75, 0x3b, 0x43, 0x6f, 0x6d, 0x7a, 0x79, 0x65, 0x253, 0x73, 0x75, 0x75, +-0x3b, 0x59, 0x3b, 0x4c, 0x3b, 0x5a, 0x3b, 0x4f, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x45, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x3b, +-0x6d, 0x254, 0x301, 0x6e, 0x3b, 0x73, 0x6d, 0x62, 0x3b, 0x73, 0x6d, 0x6c, 0x3b, 0x73, 0x6d, 0x6e, 0x3b, 0x6d, 0x62, 0x73, +-0x3b, 0x73, 0x61, 0x73, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x6d, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x73, +-0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x62, 0x61, 0x3b, 0x73, 0x254, 0x301, 0x6e, +-0x64, 0x254, 0x20, 0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x6c, 0x61, 0x6c, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, +-0x20, 0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x6e, 0x61, 0x3b, 0x6d, 0x61, 0x62, 0xe1, 0x67, 0xe1, 0x20, 0x6d, 0xe1, +-0x20, 0x73, 0x75, 0x6b, 0x75, 0x6c, 0x3b, 0x73, 0xe1, 0x73, 0x61, 0x64, 0x69, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, +-0x73, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x43, 0xe4, 0x14b, 0x3b, 0x4a, 0x69, 0x65, 0x63, 0x3b, 0x52, 0x25b, 0x77, +-0x3b, 0x44, 0x69, 0x254, 0x331, 0x6b, 0x3b, 0x14a, 0x75, 0x61, 0x61, 0x6e, 0x3b, 0x44, 0x68, 0x69, 0x65, 0x65, 0x63, 0x3b, +-0x42, 0xe4, 0x6b, 0x25b, 0x6c, 0x3b, 0x43, 0xe4, 0x14b, 0x20, 0x6b, 0x75, 0x254, 0x74, 0x68, 0x3b, 0x4a, 0x69, 0x65, 0x63, +-0x20, 0x6c, 0x61, 0x331, 0x74, 0x3b, 0x52, 0x25b, 0x77, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x44, 0x69, 0x254, 0x331, +-0x6b, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x14a, 0x75, 0x61, 0x61, 0x6e, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, +-0x44, 0x68, 0x69, 0x65, 0x65, 0x63, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x42, 0xe4, 0x6b, 0x25b, 0x6c, 0x20, 0x6c, +-0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x43, 0x3b, 0x4a, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x14a, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x431, +-0x441, 0x3b, 0x431, 0x43d, 0x3b, 0x43e, 0x43f, 0x3b, 0x441, 0x44d, 0x3b, 0x447, 0x43f, 0x3b, 0x431, 0x44d, 0x3b, 0x441, 0x431, 0x3b, +-0x431, 0x430, 0x441, 0x43a, 0x44b, 0x4bb, 0x44b, 0x430, 0x43d, 0x43d, 0x44c, 0x430, 0x3b, 0x431, 0x44d, 0x43d, 0x438, 0x434, 0x438, 0x44d, +-0x43d, 0x43d, 0x44c, 0x438, 0x43a, 0x3b, 0x43e, 0x43f, 0x442, 0x443, 0x43e, 0x440, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x43a, 0x3b, 0x441, +-0x44d, 0x440, 0x44d, 0x434, 0x44d, 0x3b, 0x447, 0x44d, 0x43f, 0x43f, 0x438, 0x44d, 0x440, 0x3b, 0x411, 0x44d, 0x44d, 0x442, 0x438, 0x4a5, +-0x441, 0x44d, 0x3b, 0x441, 0x443, 0x431, 0x443, 0x43e, 0x442, 0x430, 0x3b, 0x411, 0x3b, 0x411, 0x3b, 0x41e, 0x3b, 0x421, 0x3b, 0x427, +-0x3b, 0x411, 0x3b, 0x421, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, +-0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, +-0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, +-0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, +-0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, +-0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4a, 0x3b, 0xa55e, 0xa54c, 0xa535, 0x3b, 0xa5f3, 0xa5e1, 0xa609, 0x3b, 0xa55a, 0xa55e, 0xa55a, 0x3b, 0xa549, +-0xa55e, 0xa552, 0x3b, 0xa549, 0xa524, 0xa546, 0xa562, 0x3b, 0xa549, 0xa524, 0xa540, 0xa56e, 0x3b, 0xa53b, 0xa52c, 0xa533, 0x3b, 0x6c, 0x61, 0x68, +-0x61, 0x64, 0x69, 0x3b, 0x74, 0x25b, 0x25b, 0x6e, 0x25b, 0x25b, 0x3b, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x61, 0x6c, +-0x61, 0x62, 0x61, 0x3b, 0x61, 0x69, 0x6d, 0x69, 0x73, 0x61, 0x3b, 0x61, 0x69, 0x6a, 0x69, 0x6d, 0x61, 0x3b, 0x73, 0x69, +-0x253, 0x69, 0x74, 0x69, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x4d, 0xe4, 0x6e, 0x3b, 0x5a, 0x69, 0x161, 0x3b, 0x4d, 0x69, 0x74, +-0x3b, 0x46, 0x72, 0xf3, 0x3b, 0x46, 0x72, 0x69, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x74, 0x61, 0x67, +-0x3b, 0x4d, 0xe4, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x5a, 0x69, 0x161, 0x74, 0x61, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, +-0x75, 0x10d, 0x3b, 0x46, 0x72, 0xf3, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x46, 0x72, 0x69, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x61, +-0x6d, 0x161, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x4d, 0x3b, 0x46, 0x3b, 0x46, 0x3b, 0x53, 0x3b, +-0x73, 0x64, 0x3b, 0x6d, 0x64, 0x3b, 0x6d, 0x77, 0x3b, 0x65, 0x74, 0x3b, 0x6b, 0x6c, 0x3b, 0x66, 0x6c, 0x3b, 0x73, 0x73, +-0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x25b, 0x3b, 0x6d, 0xf3, 0x6e, 0x64, 0x69, 0x65, 0x3b, 0x6d, 0x75, 0xe1, 0x6e, +-0x79, 0xe1, 0x14b, 0x6d, 0xf3, 0x6e, 0x64, 0x69, 0x65, 0x3b, 0x6d, 0x65, 0x74, 0xfa, 0x6b, 0x70, 0xed, 0xe1, 0x70, 0x25b, +-0x3b, 0x6b, 0xfa, 0x70, 0xe9, 0x6c, 0x69, 0x6d, 0x65, 0x74, 0xfa, 0x6b, 0x70, 0x69, 0x61, 0x70, 0x25b, 0x3b, 0x66, 0x65, +-0x6c, 0xe9, 0x74, 0x65, 0x3b, 0x73, 0xe9, 0x73, 0x65, 0x6c, 0xe9, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x65, 0x3b, +-0x6b, 0x3b, 0x66, 0x3b, 0x73, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x6c, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, +-0xe9, 0x3b, 0x78, 0x75, 0x65, 0x3b, 0x76, 0x69, 0x65, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, +-0x75, 0x3b, 0x6c, 0x6c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x6d, 0x69, 0xe9, 0x72, +-0x63, 0x6f, 0x6c, 0x65, 0x73, 0x3b, 0x78, 0x75, 0x65, 0x76, 0x65, 0x73, 0x3b, 0x76, 0x69, 0x65, 0x6e, 0x72, 0x65, 0x73, +-0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x75, 0x3b, 0x53, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x254, 0x301, 0x6e, 0x64, +-0x69, 0x3b, 0xc1, 0x70, 0x74, 0x61, 0x20, 0x4d, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x3b, 0x57, 0x25b, 0x301, 0x6e, 0x25b, 0x73, +-0x25b, 0x64, 0x25b, 0x3b, 0x54, 0x254, 0x301, 0x73, 0x25b, 0x64, 0x25b, 0x3b, 0x46, 0x25b, 0x6c, 0xe2, 0x79, 0x25b, 0x64, 0x25b, +-0x3b, 0x53, 0xe1, 0x73, 0x69, 0x64, 0x25b, 0x3b, 0x53, 0x254, 0x301, 0x3b, 0x4d, 0x254, 0x301, 0x3b, 0xc1, 0x4d, 0x3b, 0x57, +-0x25b, 0x301, 0x3b, 0x54, 0x254, 0x301, 0x3b, 0x46, 0x25b, 0x3b, 0x53, 0xe1, 0x3b, 0x73, 0x254, 0x6e, 0x64, 0x69, 0x3b, 0x6c, +-0x75, 0x6e, 0x64, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x25b, 0x72, 0x6b, 0x25b, 0x72, 0x25b, 0x64, 0x69, +-0x3b, 0x79, 0x65, 0x64, 0x69, 0x3b, 0x76, 0x61, 0x14b, 0x64, 0x25b, 0x72, 0x25b, 0x64, 0x69, 0x3b, 0x6d, 0x254, 0x6e, 0x254, +-0x20, 0x73, 0x254, 0x6e, 0x64, 0x69, 0x3b, 0x73, 0x6f, 0x3b, 0x6c, 0x75, 0x3b, 0x6d, 0x61, 0x3b, 0x6d, 0x25b, 0x3b, 0x79, +-0x65, 0x3b, 0x76, 0x61, 0x3b, 0x6d, 0x73, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x31, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, +-0x32, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x33, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x34, 0x3b, 0x41, 0x6e, 0x65, 0x67, +-0x20, 0x35, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x36, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x37, 0x3b, 0x41, 0x31, 0x3b, +-0x41, 0x32, 0x3b, 0x41, 0x33, 0x3b, 0x41, 0x34, 0x3b, 0x41, 0x35, 0x3b, 0x41, 0x36, 0x3b, 0x41, 0x37, 0x3b, 0x6c, 0x79, +-0x25b, 0x2bc, 0x25b, 0x301, 0x20, 0x73, 0x1e85, 0xed, 0x14b, 0x74, 0xe8, 0x3b, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6c, 0x79, 0x25b, +-0x30c, 0x2bc, 0x3b, 0x6d, 0x62, 0x254, 0x301, 0x254, 0x6e, 0x74, 0xe8, 0x20, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6c, 0x79, 0x25b, +-0x30c, 0x2bc, 0x3b, 0x74, 0x73, 0xe8, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x6d, 0x62, +-0x254, 0x301, 0x254, 0x6e, 0x74, 0xe8, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0x79, 0x25b, 0x30c, +-0x2bc, 0x3b, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6d, 0xe0, 0x67, 0x61, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x6d, 0xe0, +-0x67, 0x61, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x9a8, 0x9cb, 0x982, 0x9ae, 0x9be, 0x987, 0x99c, 0x9bf, 0x982, 0x3b, 0x9a8, +-0x9bf, 0x982, 0x9a5, 0x9cc, 0x995, 0x9be, 0x9ac, 0x9be, 0x3b, 0x9b2, 0x9c8, 0x9ac, 0x9be, 0x995, 0x9aa, 0x9cb, 0x995, 0x9aa, 0x9be, 0x3b, +-0x9af, 0x9bc, 0x9c1, 0x9ae, 0x9b6, 0x995, 0x9c8, 0x9b6, 0x9be, 0x3b, 0x9b6, 0x997, 0x9cb, 0x9b2, 0x9b6, 0x9c7, 0x9a8, 0x3b, 0x987, 0x9b0, +-0x9be, 0x987, 0x3b, 0x9a5, 0x9be, 0x982, 0x99c, 0x3b, 0x9a8, 0x9cb, 0x3b, 0x9a8, 0x9bf, 0x982, 0x3b, 0x9b2, 0x9c8, 0x3b, 0x9af, 0x9bc, +-0x9c1, 0x9ae, 0x3b, 0x9b6, 0x997, 0x3b, 0x987, 0x9b0, 0x9be, 0x3b, 0x9a5, 0x9be, 0x982, 0x3b, 0x1c65, 0x1c64, 0x1c78, 0x3b, 0x1c5a, 0x1c5b, +-0x3b, 0x1c75, 0x1c5f, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c68, 0x3b, 0x1c61, 0x1c5f, 0x1c79, 0x3b, 0x1c67, 0x1c69, 0x3b, +-0x1c65, 0x1c64, 0x1c78, 0x1c5c, 0x1c6e, 0x3b, 0x1c5a, 0x1c5b, 0x1c6e, 0x3b, 0x1c75, 0x1c5f, 0x1c5e, 0x1c6e, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c5c, 0x1c69, +-0x1c71, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c68, 0x1c6b, 0x1c64, 0x3b, 0x1c61, 0x1c5f, 0x1c79, 0x1c68, 0x1c69, 0x1c62, 0x3b, 0x1c67, 0x1c69, 0x1c66, 0x1c69, +-0x1c62, 0x3b, 0x1c65, 0x3b, 0x1c5a, 0x3b, 0x1c75, 0x3b, 0x1c65, 0x3b, 0x1c65, 0x3b, 0x1c61, 0x3b, 0x1c67, 0x3b, 0x41, 0x14b, 0x70, 0xe9, +-0x74, 0x75, 0x77, 0x61, 0x6b, 0x21f, 0x61, 0x14b, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x77, 0x61, 0x14b, 0x17e, 0x69, +-0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x6e, 0x75, 0x14b, 0x70, 0x61, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x79, +-0x61, 0x6d, 0x6e, 0x69, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x41, 0x14b, 0x70, 0xe9, +-0x74, 0x75, 0x7a, 0x61, 0x70, 0x74, 0x61, 0x14b, 0x3b, 0x4f, 0x77, 0xe1, 0x14b, 0x67, 0x79, 0x75, 0x17e, 0x61, 0x17e, 0x61, +-0x70, 0x69, 0x3b, 0x41, 0x3b, 0x57, 0x3b, 0x4e, 0x3b, 0x59, 0x3b, 0x54, 0x3b, 0x5a, 0x3b, 0x4f, 0x3b, 0x2d30, 0x2d59, 0x2d30, +-0x2d4e, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d55, +-0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4e, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, +-0x2d39, 0x2d62, 0x2d30, 0x2d59, 0x3b, 0x6cc, 0x6d5, 0x6a9, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x62f, 0x648, 0x648, 0x634, 0x6d5, 0x645, +-0x645, 0x6d5, 0x3b, 0x633, 0x6ce, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x686, 0x648, 0x627, 0x631, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, +-0x3b, 0x67e, 0x6ce, 0x646, 0x62c, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x6be, 0x6d5, 0x6cc, 0x646, 0x6cc, 0x3b, 0x634, 0x6d5, 0x645, +-0x645, 0x6d5, 0x3b, 0x6cc, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x6be, 0x3b, 0x634, 0x3b, 0x6e, 0x6a, 0x65, +-0x3b, 0x70, 0xf3, 0x6e, 0x3b, 0x77, 0x61, 0x142, 0x3b, 0x73, 0x72, 0x6a, 0x3b, 0x73, 0x74, 0x77, 0x3b, 0x70, 0x11b, 0x74, +-0x3b, 0x73, 0x6f, 0x62, 0x3b, 0x6e, 0x6a, 0x65, 0x17a, 0x65, 0x6c, 0x61, 0x3b, 0x70, 0xf3, 0x6e, 0x6a, 0x65, 0x17a, 0x65, +-0x6c, 0x65, 0x3b, 0x77, 0x61, 0x142, 0x74, 0x6f, 0x72, 0x61, 0x3b, 0x73, 0x72, 0x6a, 0x6f, 0x64, 0x61, 0x3b, 0x73, 0x74, +-0x77, 0xf3, 0x72, 0x74, 0x6b, 0x3b, 0x70, 0x11b, 0x74, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, +-0x70, 0x3b, 0x77, 0x3b, 0x73, 0x3b, 0x73, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x70, 0xf3, 0x6e, 0x3b, +-0x77, 0x75, 0x74, 0x3b, 0x73, 0x72, 0x6a, 0x3b, 0x161, 0x74, 0x77, 0x3b, 0x70, 0x6a, 0x61, 0x3b, 0x73, 0x6f, 0x62, 0x3b, +-0x6e, 0x6a, 0x65, 0x64, 0x17a, 0x65, 0x6c, 0x61, 0x3b, 0x70, 0xf3, 0x6e, 0x64, 0x17a, 0x65, 0x6c, 0x61, 0x3b, 0x77, 0x75, +-0x74, 0x6f, 0x72, 0x61, 0x3b, 0x73, 0x72, 0x6a, 0x65, 0x64, 0x61, 0x3b, 0x161, 0x74, 0x77, 0xf3, 0x72, 0x74, 0x6b, 0x3b, +-0x70, 0x6a, 0x61, 0x74, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x77, 0x3b, 0x73, +-0x3b, 0x161, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x61, 0x64, 0x3b, 0x70, 0x61, 0x6e, 0x3b, 0x77, 0x69, 0x73, 0x3b, 0x70, +-0x75, 0x73, 0x3b, 0x6b, 0x65, 0x74, 0x3b, 0x70, 0x113, 0x6e, 0x3b, 0x73, 0x61, 0x62, 0x3b, 0x6e, 0x61, 0x64, 0x12b, 0x6c, +-0x69, 0x3b, 0x70, 0x61, 0x6e, 0x61, 0x64, 0x12b, 0x6c, 0x69, 0x3b, 0x77, 0x69, 0x73, 0x61, 0x73, 0x12b, 0x64, 0x69, 0x73, +-0x3b, 0x70, 0x75, 0x73, 0x73, 0x69, 0x73, 0x61, 0x77, 0x61, 0x69, 0x74, 0x69, 0x3b, 0x6b, 0x65, 0x74, 0x77, 0x69, 0x72, +-0x74, 0x69, 0x6b, 0x73, 0x3b, 0x70, 0x113, 0x6e, 0x74, 0x6e, 0x69, 0x6b, 0x73, 0x3b, 0x73, 0x61, 0x62, 0x61, 0x74, 0x74, +-0x69, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x50, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x70, 0x61, +-0x73, 0x3b, 0x76, 0x75, 0x6f, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6b, 0x6f, 0x73, 0x3b, 0x74, 0x75, 0x6f, 0x3b, 0x76, 0xe1, +-0x73, 0x3b, 0x6c, 0xe1, 0x76, 0x3b, 0x70, 0x61, 0x73, 0x65, 0x70, 0x65, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, +-0x73, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6d, 0x61, 0x6a, 0x65, 0x62, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6b, 0x6f, 0x73, 0x6b, +-0x6f, 0x6b, 0x6b, 0x6f, 0x3b, 0x74, 0x75, 0x6f, 0x72, 0xe2, 0x73, 0x74, 0xe2, 0x68, 0x3b, 0x76, 0xe1, 0x73, 0x74, 0x75, +-0x70, 0x70, 0x65, 0x69, 0x76, 0x69, 0x3b, 0x6c, 0xe1, 0x76, 0x75, 0x72, 0x64, 0xe2, 0x68, 0x3b, 0x70, 0x61, 0x73, 0x65, +-0x70, 0x65, 0x65, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0x61, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6d, 0x61, +-0x6a, 0x65, 0x62, 0x61, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6b, 0x6f, 0x73, 0x6b, 0x6f, 0x68, 0x6f, 0x3b, 0x74, 0x75, 0x6f, +-0x72, 0xe2, 0x73, 0x74, 0x75, 0x76, 0x3b, 0x76, 0xe1, 0x73, 0x74, 0x75, 0x70, 0x70, 0x65, 0x65, 0x69, 0x76, 0x69, 0x3b, +-0x6c, 0xe1, 0x76, 0x75, 0x72, 0x64, 0x75, 0x76, 0x3b, 0x70, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x56, +-0x3b, 0x4c, 0x3b, 0x44, 0x6f, 0x6d, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x69, 0x79, 0x3b, 0x48, +-0x75, 0x77, 0x3b, 0x42, 0x69, 0x79, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, +-0x75, 0x6e, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x4d, 0x69, 0x79, 0x65, 0x72, 0x6b, 0x75, 0x6c, +-0x65, 0x73, 0x3b, 0x48, 0x75, 0x77, 0x65, 0x62, 0x65, 0x73, 0x3b, 0x42, 0x69, 0x79, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, +-0x53, 0x61, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x42, 0x3b, 0x53, +-0x3b, 0x53, 0x1ecd, 0x301, 0x6e, 0x3b, 0x4d, 0x1ecd, 0x301, 0x6e, 0x3b, 0x54, 0x69, 0xfa, 0x3b, 0x57, 0x1eb9, 0x301, 0x6e, 0x3b, +-0x54, 0x1ecd, 0x301, 0x7a, 0x3b, 0x46, 0x72, 0x61, 0xed, 0x3b, 0x53, 0xe1, 0x74, 0x3b, 0x53, 0x1ecd, 0x301, 0x6e, 0x64, 0xe8, +-0x3b, 0x4d, 0x1ecd, 0x301, 0x6e, 0x64, 0xe8, 0x3b, 0x54, 0x69, 0xfa, 0x7a, 0x64, 0xe8, 0x3b, 0x57, 0x1eb9, 0x301, 0x6e, 0x1eb9, +-0x301, 0x7a, 0x64, 0xe8, 0x3b, 0x54, 0x1ecd, 0x301, 0x7a, 0x64, 0xe8, 0x3b, 0x46, 0x72, 0x61, 0xed, 0x64, 0xe8, 0x3b, 0x53, +-0xe1, 0x74, 0x1ecd, 0x64, 0xe8, 0x3b ++0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x44, 0x79, 0x64, 0x64, ++0x20, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x44, 0x79, ++0x64, 0x64, 0x20, 0x4d, 0x65, 0x72, 0x63, 0x68, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x49, 0x61, 0x75, 0x3b, ++0x44, 0x79, 0x64, 0x64, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x44, 0x79, 0x64, 0x64, 0x20, 0x53, 0x61, 0x64, ++0x77, 0x72, 0x6e, 0x3b, 0x53, 0x3b, 0x4c, 0x6c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x53, ++0x75, 0x6c, 0x3b, 0x4c, 0x6c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x4d, 0x65, 0x72, 0x3b, 0x49, 0x61, 0x75, 0x3b, ++0x47, 0x77, 0x65, 0x6e, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x44, 0x69, 0x62, 0x3b, 0x41, 0x6c, 0x74, 0x3b, 0x54, 0x61, 0x6c, ++0x3b, 0xc0, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x78, 0x3b, 0xc0, 0x6a, 0x6a, 0x3b, 0x41, 0x73, 0x65, 0x3b, 0x44, 0x69, 0x62, ++0xe9, 0x65, 0x72, 0x3b, 0x41, 0x6c, 0x74, 0x69, 0x6e, 0x65, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0xc0, ++0x6c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x78, 0x61, 0x6d, 0x69, 0x73, 0x3b, 0xc0, 0x6a, 0x6a, 0x75, 0x6d, 0x61, ++0x3b, 0x41, 0x73, 0x65, 0x65, 0x72, 0x3b, 0x43, 0x61, 0x77, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x42, 0x69, 0x6e, 0x3b, 0x54, ++0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x43, 0x61, 0x77, 0x65, 0x3b, ++0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x62, 0x69, 0x6e, 0x69, 0x3b, 0x4c, 0x77, 0x65, 0x73, ++0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x4c, 0x77, 0x65, 0x73, ++0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x5d6, 0x5d5, 0x5e0, 0x5d8, ++0x5d9, 0x5e7, 0x3b, 0x5de, 0x5d0, 0x5b8, 0x5e0, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5d3, 0x5d9, 0x5e0, 0x5e1, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5de, ++0x5d9, 0x5d8, 0x5d5, 0x5d5, 0x5d0, 0x5da, 0x3b, 0x5d3, 0x5d0, 0x5e0, 0x5e2, 0x5e8, 0x5e9, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5e4, 0x5bf, 0x5e8, ++0x5f2, 0x5b7, 0x5d8, 0x5d9, 0x5e7, 0x3b, 0x5e9, 0x5d1, 0x5ea, 0x3b, 0xc0, 0xec, 0x6b, 0x3b, 0x41, 0x6a, 0x3b, 0xcc, 0x73, 0x1eb9, ++0x301, 0x67, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x3b, 0x1eb8, 0x74, 0x3b, 0xc0, 0x62, ++0xe1, 0x6d, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, 0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, ++0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, 0x1eb8, 0x74, 0xec, 0x3b, 0xc0, 0x62, ++0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0x3b, 0x41, 0x3b, 0xcc, 0x3b, 0x1ecc, 0x3b, 0x1ecc, 0x3b, 0x1eb8, 0x3b, 0xc0, ++0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, ++0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0xcc, 0x73, 0x1eb9, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x72, 0xfa, 0x3b, ++0x1ecc, 0x6a, 0x1ecd, 0x301, 0x62, 0x1ecd, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, 0x20, 0x1eb8, 0x74, 0xec, 0x3b, 0x1ecc, 0x6a, 0x1ecd, 0x301, ++0x20, 0xc0, 0x62, 0xe1, 0x6d, 0x1eb9, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0xec, 0x6b, 0x3b, 0x41, 0x6a, 0x3b, 0xcc, 0x73, 0x25b, ++0x301, 0x67, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x72, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x62, 0x3b, 0x190, 0x74, 0x3b, 0xc0, 0x62, ++0xe1, 0x6d, 0x3b, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x41, 0x6a, 0xe9, 0x3b, 0xcc, 0x73, 0x25b, 0x301, 0x67, 0x75, 0x6e, 0x3b, ++0x186, 0x6a, 0x254, 0x301, 0x72, 0xfa, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x62, 0x254, 0x3b, 0x190, 0x74, 0xec, 0x3b, 0xc0, 0x62, ++0xe1, 0x6d, 0x25b, 0x301, 0x74, 0x61, 0x3b, 0xc0, 0x3b, 0x41, 0x3b, 0xcc, 0x3b, 0x186, 0x3b, 0x186, 0x3b, 0x190, 0x3b, 0xc0, ++0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, 0xc0, 0xec, 0x6b, 0xfa, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, 0x41, 0x6a, 0xe9, 0x3b, ++0x186, 0x6a, 0x254, 0x301, 0x20, 0xcc, 0x73, 0x25b, 0x301, 0x67, 0x75, 0x6e, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x72, 0xfa, 0x3b, ++0x186, 0x6a, 0x254, 0x301, 0x62, 0x254, 0x3b, 0x186, 0x6a, 0x254, 0x301, 0x20, 0x190, 0x74, 0xec, 0x3b, 0x186, 0x6a, 0x254, 0x301, ++0x20, 0xc0, 0x62, 0xe1, 0x6d, 0x25b, 0x301, 0x74, 0x61, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x73, 0x6f, 0x3b, 0x42, 0x69, ++0x6c, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x48, 0x6c, 0x61, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x49, 0x53, ++0x6f, 0x6e, 0x74, 0x6f, 0x3b, 0x55, 0x4d, 0x73, 0x6f, 0x6d, 0x62, 0x75, 0x6c, 0x75, 0x6b, 0x6f, 0x3b, 0x55, 0x4c, 0x77, ++0x65, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x74, 0x68, 0x61, 0x74, 0x68, 0x75, ++0x3b, 0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x6e, 0x65, 0x3b, 0x55, 0x4c, 0x77, 0x65, 0x73, 0x69, 0x68, 0x6c, 0x61, 0x6e, ++0x75, 0x3b, 0x55, 0x4d, 0x67, 0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x42, 0x3b, 0x54, 0x3b, ++0x53, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x73, 0xf8, 0x6e, 0x3b, 0x6d, 0xe5, 0x6e, 0x3b, 0x74, 0x79, 0x73, 0x3b, 0x6f, 0x6e, ++0x73, 0x3b, 0x74, 0x6f, 0x72, 0x3b, 0x66, 0x72, 0x65, 0x3b, 0x6c, 0x61, 0x75, 0x3b, 0x73, 0xf8, 0x6e, 0x64, 0x61, 0x67, ++0x3b, 0x6d, 0xe5, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x74, 0x79, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x6f, 0x6e, 0x73, 0x64, 0x61, ++0x67, 0x3b, 0x74, 0x6f, 0x72, 0x73, 0x64, 0x61, 0x67, 0x3b, 0x66, 0x72, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x6c, 0x61, 0x75, ++0x72, 0x64, 0x61, 0x67, 0x3b, 0x73, 0xf8, 0x2e, 0x3b, 0x6d, 0xe5, 0x2e, 0x3b, 0x74, 0x79, 0x2e, 0x3b, 0x6f, 0x6e, 0x2e, ++0x3b, 0x74, 0x6f, 0x2e, 0x3b, 0x66, 0x72, 0x2e, 0x3b, 0x6c, 0x61, 0x2e, 0x3b, 0x4a, 0x65, 0x64, 0x3b, 0x4a, 0x65, 0x6c, ++0x3b, 0x4a, 0x65, 0x6d, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x3b, 0x4a, 0x65, 0x72, 0x64, 0x3b, 0x4a, 0x65, 0x68, 0x3b, 0x4a, ++0x65, 0x73, 0x3b, 0x4a, 0x65, 0x64, 0x6f, 0x6f, 0x6e, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x6c, 0x68, 0x65, 0x69, 0x6e, 0x3b, ++0x4a, 0x65, 0x6d, 0x61, 0x79, 0x72, 0x74, 0x3b, 0x4a, 0x65, 0x72, 0x63, 0x65, 0x61, 0x6e, 0x3b, 0x4a, 0x65, 0x72, 0x64, ++0x65, 0x69, 0x6e, 0x3b, 0x4a, 0x65, 0x68, 0x65, 0x69, 0x6e, 0x65, 0x79, 0x3b, 0x4a, 0x65, 0x73, 0x61, 0x72, 0x6e, 0x3b, ++0x53, 0x75, 0x6c, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x74, 0x68, 0x3b, 0x4d, 0x68, 0x72, 0x3b, 0x59, 0x6f, 0x77, 0x3b, ++0x47, 0x77, 0x65, 0x3b, 0x53, 0x61, 0x64, 0x3b, 0x64, 0x79, 0x20, 0x53, 0x75, 0x6c, 0x3b, 0x64, 0x79, 0x20, 0x4c, 0x75, ++0x6e, 0x3b, 0x64, 0x79, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68, 0x3b, 0x64, 0x79, 0x20, 0x4d, 0x65, 0x72, 0x68, 0x65, ++0x72, 0x3b, 0x64, 0x79, 0x20, 0x59, 0x6f, 0x77, 0x3b, 0x64, 0x79, 0x20, 0x47, 0x77, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x64, ++0x79, 0x20, 0x53, 0x61, 0x64, 0x6f, 0x72, 0x6e, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x44, 0x77, 0x6f, 0x3b, 0x42, 0x65, 0x6e, ++0x3b, 0x57, 0x75, 0x6b, 0x3b, 0x59, 0x61, 0x77, 0x3b, 0x46, 0x69, 0x61, 0x3b, 0x4d, 0x65, 0x6d, 0x3b, 0x4b, 0x77, 0x65, ++0x73, 0x69, 0x64, 0x61, 0x3b, 0x44, 0x77, 0x6f, 0x77, 0x64, 0x61, 0x3b, 0x42, 0x65, 0x6e, 0x61, 0x64, 0x61, 0x3b, 0x57, ++0x75, 0x6b, 0x75, 0x64, 0x61, 0x3b, 0x59, 0x61, 0x77, 0x64, 0x61, 0x3b, 0x46, 0x69, 0x64, 0x61, 0x3b, 0x4d, 0x65, 0x6d, ++0x65, 0x6e, 0x65, 0x64, 0x61, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x57, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, ++0x906, 0x92f, 0x924, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x933, 0x93e, 0x930, 0x3b, 0x92c, ++0x941, 0x927, 0x935, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x930, 0x947, 0x938, 0x94d, 0x924, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, ++0x930, 0x93e, 0x930, 0x3b, 0x936, 0x947, 0x928, 0x935, 0x93e, 0x930, 0x3b, 0x906, 0x3b, 0x938, 0x94b, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, ++0x941, 0x3b, 0x92c, 0x3b, 0x936, 0x941, 0x3b, 0x936, 0x947, 0x3b, 0x906, 0x3b, 0x938, 0x94b, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, ++0x3b, 0x92c, 0x93f, 0x3b, 0x936, 0x941, 0x3b, 0x936, 0x947, 0x3b, 0x53, 0x1ecd, 0x6e, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x3b, 0x54, 0x69, ++0x75, 0x3b, 0x57, 0x65, 0x6e, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x3b, 0x46, 0x72, 0x61, 0x1ecb, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x53, ++0x1ecd, 0x6e, 0x64, 0x65, 0x65, 0x3b, 0x4d, 0x1ecd, 0x6e, 0x64, 0x65, 0x3b, 0x54, 0x69, 0x75, 0x7a, 0x64, 0x65, 0x65, 0x3b, ++0x57, 0x65, 0x6e, 0x65, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x54, 0x1ecd, 0x1ecd, 0x7a, 0x64, 0x65, 0x65, 0x3b, 0x46, 0x72, 0x61, ++0x1ecb, 0x64, 0x65, 0x65, 0x3b, 0x53, 0x61, 0x74, 0x1ecd, 0x64, 0x65, 0x65, 0x3b, 0x57, 0x6b, 0x79, 0x3b, 0x57, 0x6b, 0x77, ++0x3b, 0x57, 0x6b, 0x6c, 0x3b, 0x57, 0x74, 0x169, 0x3b, 0x57, 0x6b, 0x6e, 0x3b, 0x57, 0x74, 0x6e, 0x3b, 0x57, 0x74, 0x68, ++0x3b, 0x57, 0x61, 0x20, 0x6b, 0x79, 0x75, 0x6d, 0x77, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6d, 0x62, 0x129, ++0x6c, 0x129, 0x6c, 0x79, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x74, ++0x61, 0x74, 0x169, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x57, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, ++0x6f, 0x3b, 0x57, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x59, 0x3b, 0x57, 0x3b, 0x45, ++0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x75, 0x6e, 0x3b, 0x6d, 0x61, 0x72, ++0x3b, 0x6d, 0x69, 0x65, 0x3b, 0x6a, 0x6f, 0x69, 0x3b, 0x76, 0x69, 0x6e, 0x3b, 0x73, 0x61, 0x62, 0x3b, 0x64, 0x6f, 0x6d, ++0x65, 0x6e, 0x69, 0x65, 0x3b, 0x6c, 0x75, 0x6e, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x61, 0x72, 0x73, 0x3b, 0x6d, ++0x69, 0x65, 0x72, 0x63, 0x75, 0x73, 0x3b, 0x6a, 0x6f, 0x69, 0x62, 0x65, 0x3b, 0x76, 0x69, 0x6e, 0x61, 0x72, 0x73, 0x3b, ++0x73, 0x61, 0x62, 0x69, 0x64, 0x65, 0x3b, 0x6b, 0x254, 0x73, 0x3b, 0x64, 0x7a, 0x6f, 0x3b, 0x62, 0x6c, 0x61, 0x3b, 0x6b, ++0x75, 0x256, 0x3b, 0x79, 0x61, 0x77, 0x3b, 0x66, 0x69, 0x256, 0x3b, 0x6d, 0x65, 0x6d, 0x3b, 0x6b, 0x254, 0x73, 0x69, 0x256, ++0x61, 0x3b, 0x64, 0x7a, 0x6f, 0x256, 0x61, 0x3b, 0x62, 0x6c, 0x61, 0x256, 0x61, 0x3b, 0x6b, 0x75, 0x256, 0x61, 0x3b, 0x79, ++0x61, 0x77, 0x6f, 0x256, 0x61, 0x3b, 0x66, 0x69, 0x256, 0x61, 0x3b, 0x6d, 0x65, 0x6d, 0x6c, 0x65, 0x256, 0x61, 0x3b, 0x6b, ++0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x6b, 0x3b, 0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x4c, 0x50, 0x3b, 0x50, 0x31, 0x3b, 0x50, ++0x32, 0x3b, 0x50, 0x33, 0x3b, 0x50, 0x34, 0x3b, 0x50, 0x35, 0x3b, 0x50, 0x36, 0x3b, 0x4c, 0x101, 0x70, 0x75, 0x6c, 0x65, ++0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6b, 0x61, 0x68, 0x69, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x75, 0x61, 0x3b, 0x50, 0x6f, ++0x2bb, 0x61, 0x6b, 0x6f, 0x6c, 0x75, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x68, 0x101, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6c, 0x69, ++0x6d, 0x61, 0x3b, 0x50, 0x6f, 0x2bb, 0x61, 0x6f, 0x6e, 0x6f, 0x3b, 0x4c, 0x69, 0x6e, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, ++0x61, 0x72, 0x3b, 0x4d, 0x69, 0x79, 0x3b, 0x48, 0x75, 0x77, 0x3b, 0x42, 0x69, 0x79, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4c, ++0x69, 0x6e, 0x67, 0x67, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x4d, ++0x69, 0x79, 0x65, 0x72, 0x6b, 0x75, 0x6c, 0x65, 0x73, 0x3b, 0x48, 0x75, 0x77, 0x65, 0x62, 0x65, 0x73, 0x3b, 0x42, 0x69, ++0x79, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x64, 0x6f, 0x3b, 0x53, 0x75, 0x2e, 0x3b, 0x4d, 0xe4, ++0x2e, 0x3b, 0x5a, 0x69, 0x2e, 0x3b, 0x4d, 0x69, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, ++0x2e, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0xe4, 0x6e, 0x74, 0x69, 0x67, 0x3b, 0x5a, 0x69, ++0x69, 0x73, 0x63, 0x68, 0x74, 0x69, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, 0x75, 0x63, 0x68, 0x3b, 0x44, 0x75, 0x6e, ++0x73, 0x63, 0x68, 0x74, 0x69, 0x67, 0x3b, 0x46, 0x72, 0x69, 0x69, 0x74, 0x69, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x63, ++0x68, 0x74, 0x69, 0x67, 0x3b, 0xa46d, 0xa18f, 0x3b, 0xa18f, 0xa2cd, 0x3b, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa315, 0x3b, 0xa18f, 0xa1d6, 0x3b, ++0xa18f, 0xa26c, 0x3b, 0xa18f, 0xa0d8, 0x3b, 0xa46d, 0xa18f, 0xa44d, 0x3b, 0xa18f, 0xa282, 0xa2cd, 0x3b, 0xa18f, 0xa282, 0xa44d, 0x3b, 0xa18f, 0xa282, ++0xa315, 0x3b, 0xa18f, 0xa282, 0xa1d6, 0x3b, 0xa18f, 0xa282, 0xa26c, 0x3b, 0xa18f, 0xa282, 0xa0d8, 0x3b, 0xa18f, 0x3b, 0xa2cd, 0x3b, 0xa44d, 0x3b, ++0xa315, 0x3b, 0xa1d6, 0x3b, 0xa26c, 0x3b, 0xa0d8, 0x3b, 0x53, 0xfc, 0x2e, 0x3b, 0x4d, 0x61, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, ++0x4d, 0x69, 0x2e, 0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0xfc, 0x6e, 0x6e, ++0x64, 0x61, 0x67, 0x3b, 0x4d, 0x61, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x3b, 0x44, 0x69, 0x6e, 0x67, 0x73, 0x64, 0x61, 0x67, ++0x3b, 0x4d, 0x69, 0x64, 0x64, 0x65, 0x77, 0x65, 0x6b, 0x65, 0x6e, 0x3b, 0x44, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x64, ++0x61, 0x67, 0x3b, 0x46, 0x72, 0x65, 0x65, 0x64, 0x61, 0x67, 0x3b, 0x53, 0xfc, 0x6e, 0x6e, 0x61, 0x76, 0x65, 0x6e, 0x64, ++0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x3b, 0x6d, 0x61, 0x14b, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x3b, ++0x64, 0x75, 0x6f, 0x72, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x3b, 0x6c, 0xe1, 0x76, 0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x61, 0x62, ++0x65, 0x61, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0xe1, 0x72, 0x67, 0x61, 0x3b, 0x6d, 0x61, 0x14b, 0x14b, ++0x65, 0x62, 0xe1, 0x72, 0x67, 0x61, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x61, 0x76, 0x61, 0x68, 0x6b, 0x6b, 0x75, 0x3b, 0x64, ++0x75, 0x6f, 0x72, 0x61, 0x73, 0x64, 0x61, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x6a, 0x61, 0x64, 0x61, 0x74, 0x3b, 0x6c, ++0xe1, 0x76, 0x76, 0x61, 0x72, 0x64, 0x61, 0x74, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x42, ++0x3b, 0x4c, 0x3b, 0x73, 0x6f, 0x3b, 0x6d, 0xe1, 0x3b, 0x64, 0x69, 0x3b, 0x67, 0x61, 0x3b, 0x64, 0x75, 0x3b, 0x62, 0x65, ++0x3b, 0x6c, 0xe1, 0x3b, 0x73, 0x6f, 0x74, 0x6e, 0x61, 0x62, 0x65, 0x61, 0x69, 0x76, 0x69, 0x3b, 0x6d, 0xe1, 0x6e, 0x6e, ++0x6f, 0x64, 0x61, 0x74, 0x3b, 0x64, 0x69, 0x73, 0x64, 0x61, 0x74, 0x3b, 0x67, 0x61, 0x73, 0x6b, 0x61, 0x76, 0x61, 0x68, ++0x6b, 0x6b, 0x75, 0x3b, 0x64, 0x75, 0x6f, 0x72, 0x61, 0x73, 0x74, 0x61, 0x74, 0x3b, 0x62, 0x65, 0x61, 0x72, 0x6a, 0x61, ++0x64, 0x61, 0x74, 0x3b, 0x6c, 0xe1, 0x76, 0x76, 0x6f, 0x72, 0x64, 0x61, 0x74, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, ++0x47, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x43, 0x70, 0x72, 0x3b, 0x43, 0x74, 0x74, 0x3b, 0x43, 0x6d, 0x6e, 0x3b, ++0x43, 0x6d, 0x74, 0x3b, 0x41, 0x72, 0x73, 0x3b, 0x49, 0x63, 0x6d, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x43, 0x68, 0x75, 0x6d, ++0x61, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x6f, 0x3b, 0x43, 0x68, 0x75, 0x6d, ++0x61, 0x69, 0x6e, 0x65, 0x3b, 0x43, 0x68, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, ++0x73, 0x69, 0x3b, 0x49, 0x63, 0x68, 0x75, 0x6d, 0x61, 0x3b, 0x45, 0x73, 0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x43, 0x3b, ++0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x45, 0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x4a, 0x69, 0x6d, 0x3b, ++0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4e, 0x67, 0x75, 0x3b, ++0x49, 0x74, 0x75, 0x6b, 0x75, 0x20, 0x6a, 0x61, 0x20, 0x6a, 0x75, 0x6d, 0x77, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, ++0x75, 0x6b, 0x61, 0x20, 0x6a, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, ++0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, ++0x75, 0x3b, 0x4b, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4b, 0x75, 0x72, 0x61, ++0x6d, 0x75, 0x6b, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4b, 0x69, 0x66, 0x75, 0x6c, 0x61, 0x20, 0x6e, ++0x67, 0x75, 0x77, 0x6f, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x64, ++0x65, 0x77, 0x3b, 0x61, 0x61, 0x253, 0x3b, 0x6d, 0x61, 0x77, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x6e, 0x61, 0x61, 0x3b, 0x6d, ++0x77, 0x64, 0x3b, 0x68, 0x62, 0x69, 0x3b, 0x64, 0x65, 0x77, 0x6f, 0x3b, 0x61, 0x61, 0x253, 0x6e, 0x64, 0x65, 0x3b, 0x6d, ++0x61, 0x77, 0x62, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x6e, 0x6a, 0x65, 0x73, 0x6c, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x6e, 0x61, ++0x61, 0x73, 0x61, 0x61, 0x6e, 0x64, 0x65, 0x3b, 0x6d, 0x61, 0x77, 0x6e, 0x64, 0x65, 0x3b, 0x68, 0x6f, 0x6f, 0x72, 0x65, ++0x2d, 0x62, 0x69, 0x69, 0x72, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6e, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, ++0x4b, 0x4d, 0x41, 0x3b, 0x4e, 0x54, 0x54, 0x3b, 0x4e, 0x4d, 0x4e, 0x3b, 0x4e, 0x4d, 0x54, 0x3b, 0x41, 0x52, 0x54, 0x3b, ++0x4e, 0x4d, 0x41, 0x3b, 0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, 0x61, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, ++0x74, 0x61, 0x74, 0x169, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, ++0x61, 0x6e, 0x61, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, ++0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, ++0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x72, 0x65, 0x3b, 0x4b, 0x75, 0x6e, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6e, 0x65, ++0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x4b, 0x77, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, ++0x65, 0x65, 0x20, 0x61, 0x72, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6b, 0x75, 0x6e, ++0x69, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b, ++0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x69, 0x6e, 0x65, 0x74, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, ++0x74, 0x20, 0x65, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x73, ++0x61, 0x70, 0x61, 0x3b, 0x4d, 0x64, 0x65, 0x72, 0x6f, 0x74, 0x20, 0x65, 0x65, 0x20, 0x6b, 0x77, 0x65, 0x3b, 0x41, 0x3b, ++0x4b, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x44, 0x69, 0x6d, 0x3b, 0x50, 0x6f, 0x73, 0x3b, ++0x50, 0x69, 0x72, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x4e, 0x61, 0x69, 0x3b, 0x53, 0x68, 0x61, 0x3b, 0x53, 0x61, 0x62, 0x3b, ++0x44, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x70, 0x6f, 0x73, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x70, ++0x69, 0x72, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x69, 0x3b, 0x43, ++0x68, 0x69, 0x73, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x53, 0x61, 0x62, 0x75, 0x64, 0x75, 0x3b, 0x44, 0x3b, 0x50, 0x3b, 0x43, ++0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x53, 0x69, 0x62, ++0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x69, 0x6e, 0x3b, 0x53, 0x69, 0x68, 0x3b, 0x4d, 0x67, 0x71, 0x3b, 0x53, 0x6f, 0x6e, ++0x74, 0x6f, 0x3b, 0x4d, 0x76, 0x75, 0x6c, 0x6f, 0x3b, 0x53, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x53, 0x69, 0x74, 0x68, ++0x61, 0x74, 0x68, 0x75, 0x3b, 0x53, 0x69, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x68, 0x6c, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x67, ++0x71, 0x69, 0x62, 0x65, 0x6c, 0x6f, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4d, ++0x3b, 0x49, 0x6a, 0x70, 0x3b, 0x49, 0x6a, 0x74, 0x3b, 0x49, 0x6a, 0x6e, 0x3b, 0x49, 0x6a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, ++0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, ++0x49, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x49, ++0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, ++0x75, 0x6d, 0x61, 0x61, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, ++0x3b, 0x35, 0x3b, 0x36, 0x3b, 0x37, 0x3b, 0x31, 0x3b, 0x2d30, 0x2d59, 0x2d30, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x3b, 0x2d30, 0x2d59, 0x2d49, ++0x3b, 0x2d30, 0x2d3d, 0x2d55, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4e, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d39, 0x3b, 0x2d30, ++0x2d59, 0x2d30, 0x2d4e, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, ++0x2d3d, 0x2d55, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d59, 0x2d49, 0x2d4e, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, ++0x2d49, 0x2d39, 0x2d62, 0x2d30, 0x2d59, 0x3b, 0x61, 0x73, 0x61, 0x3b, 0x61, 0x79, 0x6e, 0x3b, 0x61, 0x73, 0x69, 0x3b, 0x61, 0x6b, ++0x1e5b, 0x3b, 0x61, 0x6b, 0x77, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x3b, 0x61, 0x73, 0x69, 0x1e0d, 0x3b, 0x61, 0x73, 0x61, 0x6d, ++0x61, 0x73, 0x3b, 0x61, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x61, 0x6b, 0x1e5b, 0x61, ++0x73, 0x3b, 0x61, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x6d, 0x77, 0x61, 0x73, 0x3b, 0x61, 0x73, 0x69, 0x1e0d, ++0x79, 0x61, 0x73, 0x3b, 0x41, 0x63, 0x65, 0x3b, 0x41, 0x72, 0x69, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x41, 0x68, 0x61, 0x3b, ++0x41, 0x6d, 0x68, 0x3b, 0x53, 0x65, 0x6d, 0x3b, 0x53, 0x65, 0x64, 0x3b, 0x41, 0x63, 0x65, 0x72, 0x3b, 0x41, 0x72, 0x69, ++0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x3b, 0x41, 0x68, 0x61, 0x64, 0x3b, 0x41, 0x6d, 0x68, 0x61, 0x64, 0x3b, 0x53, 0x65, ++0x6d, 0x3b, 0x53, 0x65, 0x64, 0x3b, 0x59, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x53, 0x3b, ++0x59, 0x61, 0x6e, 0x3b, 0x53, 0x61, 0x6e, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x3b, 0x4b, 0x75, 0x1e93, 0x3b, 0x53, 0x61, 0x6d, ++0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x3b, 0x53, 0x61, 0x79, 0x3b, 0x59, 0x61, 0x6e, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x61, 0x6e, ++0x61, 0x73, 0x73, 0x3b, 0x4b, 0x72, 0x61, 0x1e0d, 0x61, 0x73, 0x73, 0x3b, 0x4b, 0x75, 0x1e93, 0x61, 0x73, 0x73, 0x3b, 0x53, ++0x61, 0x6d, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x1e0d, 0x69, 0x73, 0x61, 0x73, 0x73, 0x3b, 0x53, 0x61, 0x79, 0x61, 0x73, 0x73, ++0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x41, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x53, 0x41, 0x4e, 0x3b, 0x4f, ++0x52, 0x4b, 0x3b, 0x4f, 0x4b, 0x42, 0x3b, 0x4f, 0x4b, 0x53, 0x3b, 0x4f, 0x4b, 0x4e, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4f, ++0x4d, 0x4b, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x65, 0x3b, 0x4f, 0x72, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a, 0x61, ++0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x73, 0x68, ++0x61, 0x74, 0x75, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6b, 0x61, 0x74, ++0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4f, 0x72, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x53, 0x3b, 0x4b, ++0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x48, ++0x69, 0x76, 0x3b, 0x48, 0x69, 0x64, 0x3b, 0x48, 0x69, 0x74, 0x3b, 0x48, 0x69, 0x68, 0x3b, 0x4c, 0x65, 0x6d, 0x3b, 0x70, ++0x61, 0x20, 0x6d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, 0x75, 0x76, 0x69, ++0x6c, 0x75, 0x68, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, ++0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, 0x74, 0x61, 0x79, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x68, 0x69, ++0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x73, 0x68, 0x61, 0x68, 0x75, 0x6c, 0x65, 0x6d, 0x62, 0x65, 0x6c, 0x61, ++0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x4a, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, ++0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, ++0x6d, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, ++0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x75, 0x3b, ++0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, ++0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4a, 0x3b, 0x6b, ++0x61, 0x72, 0x3b, 0x6e, 0x74, 0x25b, 0x3b, 0x74, 0x61, 0x72, 0x3b, 0x61, 0x72, 0x61, 0x3b, 0x61, 0x6c, 0x61, 0x3b, 0x6a, ++0x75, 0x6d, 0x3b, 0x73, 0x69, 0x62, 0x3b, 0x6b, 0x61, 0x72, 0x69, 0x3b, 0x6e, 0x74, 0x25b, 0x6e, 0x25b, 0x3b, 0x74, 0x61, ++0x72, 0x61, 0x74, 0x61, 0x3b, 0x61, 0x72, 0x61, 0x62, 0x61, 0x3b, 0x61, 0x6c, 0x61, 0x6d, 0x69, 0x73, 0x61, 0x3b, 0x6a, ++0x75, 0x6d, 0x61, 0x3b, 0x73, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x41, ++0x3b, 0x4a, 0x3b, 0x53, 0x3b, 0x4b, 0x6d, 0x61, 0x3b, 0x54, 0x61, 0x74, 0x3b, 0x49, 0x6e, 0x65, 0x3b, 0x54, 0x61, 0x6e, ++0x3b, 0x41, 0x72, 0x6d, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4e, 0x4d, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, 0x69, 0x61, 0x3b, ++0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4e, 0x6a, 0x75, 0x6d, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4e, ++0x6a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x74, 0x68, 0x69, 0x3b, 0x4e, 0x6a, ++0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4e, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x74, 0x68, 0x69, 0x69, 0x3b, 0x4b, 0x3b, 0x4e, ++0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13c9, 0x13c5, 0x13af, 0x3b, 0x13d4, ++0x13b5, 0x13c1, 0x3b, 0x13e6, 0x13a2, 0x13c1, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x3b, 0x13c8, 0x13d5, 0x13be, 0x3b, 0x13a4, ++0x13be, 0x13d9, 0x13d3, 0x13c6, 0x13cd, 0x13ac, 0x3b, 0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c9, 0x13c5, 0x13af, 0x3b, 0x13d4, 0x13b5, 0x13c1, 0x13a2, 0x13a6, ++0x3b, 0x13e6, 0x13a2, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13c5, 0x13a9, 0x13c1, 0x13a2, 0x13a6, 0x3b, 0x13e7, 0x13be, 0x13a9, 0x13b6, 0x13cd, 0x13d7, 0x3b, ++0x13a4, 0x13be, 0x13d9, 0x13d3, 0x13c8, 0x13d5, 0x13be, 0x3b, 0x13c6, 0x3b, 0x13c9, 0x3b, 0x13d4, 0x3b, 0x13e6, 0x3b, 0x13c5, 0x3b, 0x13e7, 0x3b, ++0x13a4, 0x3b, 0x64, 0x69, 0x6d, 0x3b, 0x6c, 0x69, 0x6e, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x65, 0x72, 0x3b, 0x7a, 0x65, ++0x3b, 0x76, 0x61, 0x6e, 0x3b, 0x73, 0x61, 0x6d, 0x3b, 0x64, 0x69, 0x6d, 0x61, 0x6e, 0x73, 0x3b, 0x6c, 0x69, 0x6e, 0x64, ++0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x65, 0x72, 0x6b, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x7a, 0x65, 0x64, ++0x69, 0x3b, 0x76, 0x61, 0x6e, 0x64, 0x72, 0x65, 0x64, 0x69, 0x3b, 0x73, 0x61, 0x6d, 0x64, 0x69, 0x3b, 0x64, 0x3b, 0x6c, ++0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x76, 0x3b, 0x73, 0x3b, 0x4c, 0x6c, 0x32, 0x3b, 0x4c, 0x6c, 0x33, 0x3b, 0x4c, ++0x6c, 0x34, 0x3b, 0x4c, 0x6c, 0x35, 0x3b, 0x4c, 0x6c, 0x36, 0x3b, 0x4c, 0x6c, 0x37, 0x3b, 0x4c, 0x6c, 0x31, 0x3b, 0x4c, ++0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x70, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, ++0x20, 0x6c, 0x79, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, ++0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, 0x6e, 0x79, ++0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, 0x6e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, ++0x20, 0x6e, 0x61, 0x20, 0x6c, 0x69, 0x6e, 0x6a, 0x69, 0x3b, 0x4c, 0x69, 0x64, 0x75, 0x76, 0x61, 0x20, 0x6c, 0x79, 0x61, ++0x6e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4c, 0x69, 0x64, ++0x75, 0x76, 0x61, 0x20, 0x6c, 0x69, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x50, 0xed, 0x69, 0x6c, 0x69, 0x3b, 0x54, 0xe1, ++0x61, 0x74, 0x75, 0x3b, 0xcd, 0x6e, 0x65, 0x3b, 0x54, 0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, ++0x6d, 0x3b, 0x4d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x69, 0x72, 0x69, 0x3b, 0x4a, 0x75, ++0x6d, 0x61, 0x74, 0xe1, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0xed, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, ++0xe1, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x6d, 0xed, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0xe1, 0x61, ++0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0xf3, 0x6f, 0x73, 0x69, 0x3b, 0x50, 0x3b, 0x54, 0x3b, 0x45, 0x3b, 0x4f, 0x3b, 0x41, ++0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x42, 0x61, 0x6c, 0x3b, 0x4c, 0x77, 0x32, 0x3b, 0x4c, 0x77, 0x33, ++0x3b, 0x4c, 0x77, 0x34, 0x3b, 0x4c, 0x77, 0x35, 0x3b, 0x4c, 0x77, 0x36, 0x3b, 0x53, 0x61, 0x62, 0x62, 0x69, 0x69, 0x74, ++0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4c, ++0x77, 0x61, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4c, 0x77, 0x61, 0x6b, 0x75, 0x6e, 0x61, 0x3b, 0x4c, 0x77, 0x61, ++0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4c, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x53, ++0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x50, 0x61, 0x20, 0x4d, 0x75, 0x6c, 0x75, ++0x6e, 0x67, 0x75, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x6d, 0x6f, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, ++0x69, 0x62, 0x75, 0x6c, 0x69, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x50, 0x61, ++0x6c, 0x69, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x3b, 0x50, 0x61, 0x6c, 0x69, 0x63, 0x68, 0x69, 0x73, 0x61, 0x6e, 0x6f, 0x3b, ++0x50, 0x61, 0x63, 0x68, 0x69, 0x62, 0x65, 0x6c, 0x75, 0x73, 0x68, 0x69, 0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x73, 0x69, 0x67, ++0x3b, 0x74, 0x65, 0x72, 0x3b, 0x6b, 0x75, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x3b, 0x73, 0x65, 0x73, 0x3b, 0x73, 0x61, 0x62, ++0x3b, 0x64, 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x73, 0x69, 0x67, 0x75, 0x6e, 0x64, 0x61, 0x2d, 0x66, 0x65, 0x72, ++0x61, 0x3b, 0x74, 0x65, 0x72, 0x73, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x75, 0x61, 0x72, 0x74, 0x61, 0x2d, ++0x66, 0x65, 0x72, 0x61, 0x3b, 0x6b, 0x69, 0x6e, 0x74, 0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0x65, 0x73, 0x74, ++0x61, 0x2d, 0x66, 0x65, 0x72, 0x61, 0x3b, 0x73, 0xe1, 0x62, 0x61, 0x64, 0x75, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x54, 0x3b, ++0x4b, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4b, 0x49, 0x55, 0x3b, 0x4d, 0x52, 0x41, 0x3b, 0x57, 0x41, 0x49, 0x3b, ++0x57, 0x45, 0x54, 0x3b, 0x57, 0x45, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x4a, 0x55, 0x4d, 0x3b, 0x4b, 0x69, 0x75, 0x6d, ++0x69, 0x61, 0x3b, 0x4d, 0x75, 0x72, 0x61, 0x6d, 0x75, 0x6b, 0x6f, 0x3b, 0x57, 0x61, 0x69, 0x72, 0x69, 0x3b, 0x57, 0x65, ++0x74, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x57, 0x65, 0x6e, 0x61, 0x3b, 0x57, 0x65, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4a, 0x75, ++0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x4a, ++0x3b, 0x4b, 0x74, 0x73, 0x3b, 0x4b, 0x6f, 0x74, 0x3b, 0x4b, 0x6f, 0x6f, 0x3b, 0x4b, 0x6f, 0x73, 0x3b, 0x4b, 0x6f, 0x61, ++0x3b, 0x4b, 0x6f, 0x6d, 0x3b, 0x4b, 0x6f, 0x6c, 0x3b, 0x4b, 0x6f, 0x74, 0x69, 0x73, 0x61, 0x70, 0x3b, 0x4b, 0x6f, 0x74, ++0x61, 0x61, 0x69, 0x3b, 0x4b, 0x6f, 0x61, 0x65, 0x6e, 0x67, 0x2019, 0x3b, 0x4b, 0x6f, 0x73, 0x6f, 0x6d, 0x6f, 0x6b, 0x3b, ++0x4b, 0x6f, 0x61, 0x6e, 0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b, 0x4b, 0x6f, 0x6d, 0x75, 0x75, 0x74, 0x3b, 0x4b, 0x6f, 0x6c, ++0x6f, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x53, 0x6f, 0x6e, 0x3b, ++0x4d, 0x61, 0x3b, 0x44, 0x65, 0x3b, 0x57, 0x75, 0x3b, 0x44, 0x6f, 0x3b, 0x46, 0x72, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x53, ++0x6f, 0x6e, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x6e, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, ++0x65, 0x73, 0x3b, 0x44, 0x65, 0x6e, 0x73, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x57, 0x75, 0x6e, 0x73, ++0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x44, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x74, 0x61, 0x78, 0x74, 0x73, ++0x65, 0x65, 0x73, 0x3b, 0x46, 0x72, 0x61, 0x69, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x74, ++0x65, 0x72, 0x74, 0x61, 0x78, 0x74, 0x73, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x57, 0x3b, 0x44, ++0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x75, 0x2e, 0x3b, 0x4d, 0x6f, 0x2e, 0x3b, 0x44, 0x69, 0x2e, 0x3b, 0x4d, 0x65, 0x2e, ++0x3b, 0x44, 0x75, 0x2e, 0x3b, 0x46, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x2e, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x64, 0x61, 0x61, ++0x63, 0x68, 0x3b, 0x4d, 0x6f, 0x68, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x44, 0x69, 0x6e, 0x6e, 0x73, 0x64, 0x61, ++0x61, 0x63, 0x68, 0x3b, 0x4d, 0x65, 0x74, 0x77, 0x6f, 0x63, 0x68, 0x3b, 0x44, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x64, ++0x61, 0x61, 0x63, 0x68, 0x3b, 0x46, 0x72, 0x69, 0x69, 0x64, 0x61, 0x61, 0x63, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x64, ++0x61, 0x61, 0x63, 0x68, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, 0xed, 0x6c, 0xed, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, ++0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0xe1, 0x6e, 0x254, 0x3b, 0x41, ++0x6c, 0x61, 0xe1, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0xe1, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0xf3, ++0x73, 0x69, 0x3b, 0x53, 0x61, 0x62, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x3b, 0x4b, 0x75, 0x62, 0x69, 0x3b, 0x4b, 0x75, ++0x73, 0x61, 0x3b, 0x4b, 0x75, 0x6e, 0x61, 0x3b, 0x4b, 0x75, 0x74, 0x61, 0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x3b, 0x53, 0x61, ++0x62, 0x69, 0x69, 0x74, 0x69, 0x3b, 0x42, 0x61, 0x6c, 0x61, 0x7a, 0x61, 0x3b, 0x4f, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x69, ++0x6c, 0x69, 0x3b, 0x4f, 0x77, 0x6f, 0x6b, 0x75, 0x73, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6b, 0x75, 0x6e, 0x61, ++0x3b, 0x4f, 0x6c, 0x6f, 0x6b, 0x75, 0x74, 0x61, 0x61, 0x6e, 0x75, 0x3b, 0x4f, 0x6c, 0x6f, 0x6d, 0x75, 0x6b, 0x61, 0x61, ++0x67, 0x61, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x53, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4a, 0x32, 0x3b, ++0x4a, 0x33, 0x3b, 0x4a, 0x34, 0x3b, 0x4a, 0x35, 0x3b, 0x41, 0x6c, 0x3b, 0x49, 0x6a, 0x3b, 0x4a, 0x31, 0x3b, 0x4a, 0x75, ++0x6d, 0x61, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, ++0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, 0x20, 0x77, ++0x61, 0x20, 0x4b, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4d, 0x75, 0x72, 0x77, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x61, 0x74, ++0x61, 0x6e, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, ++0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x6d, 0x3b, 0x4a, 0x6d, 0x6f, ++0x3b, 0x4a, 0x75, 0x6d, 0x3b, 0x42, 0x61, 0x72, 0x3b, 0x41, 0x61, 0x72, 0x3b, 0x55, 0x6e, 0x69, 0x3b, 0x55, 0x6e, 0x67, ++0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x65, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x4e, ++0x61, 0x6b, 0x61, 0x65, 0x62, 0x61, 0x72, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4e, ++0x61, 0x6b, 0x61, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x75, 0x6e, 0x67, 0x2019, 0x6f, 0x6e, 0x3b, 0x4e, 0x61, ++0x6b, 0x61, 0x6b, 0x61, 0x6e, 0x79, 0x3b, 0x4e, 0x61, 0x6b, 0x61, 0x73, 0x61, 0x62, 0x69, 0x74, 0x69, 0x3b, 0x4a, 0x3b, ++0x42, 0x3b, 0x41, 0x3b, 0x55, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, ++0x41, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x6d, 0x3b, 0x41, 0x6c, 0x6a, 0x3b, 0x41, 0x73, 0x73, 0x3b, ++0x41, 0x6c, 0x68, 0x61, 0x64, 0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x61, ++0x3b, 0x41, 0x6c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, ++0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x41, 0x73, 0x73, 0x61, 0x62, 0x64, 0x75, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, ++0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x4a, 0x4d, 0x50, 0x3b, 0x57, 0x55, 0x54, 0x3b, 0x54, 0x41, 0x52, 0x3b, 0x54, ++0x41, 0x44, 0x3b, 0x54, 0x41, 0x4e, 0x3b, 0x54, 0x41, 0x42, 0x3b, 0x4e, 0x47, 0x53, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x70, ++0x69, 0x6c, 0x3b, 0x57, 0x75, 0x6f, 0x6b, 0x20, 0x54, 0x69, 0x63, 0x68, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x72, ++0x69, 0x79, 0x6f, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, ++0x6e, 0x67, 0x2019, 0x77, 0x65, 0x6e, 0x3b, 0x54, 0x69, 0x63, 0x68, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x4e, 0x67, ++0x65, 0x73, 0x6f, 0x3b, 0x4a, 0x3b, 0x57, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x41, 0x73, ++0x61, 0x3b, 0x41, 0x79, 0x6e, 0x3b, 0x41, 0x73, 0x6e, 0x3b, 0x41, 0x6b, 0x72, 0x3b, 0x41, 0x6b, 0x77, 0x3b, 0x41, 0x73, ++0x6d, 0x3b, 0x41, 0x73, 0x1e0d, 0x3b, 0x41, 0x73, 0x61, 0x6d, 0x61, 0x73, 0x3b, 0x41, 0x79, 0x6e, 0x61, 0x73, 0x3b, 0x41, ++0x73, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x41, 0x6b, 0x72, 0x61, 0x73, 0x3b, 0x41, 0x6b, 0x77, 0x61, 0x73, 0x3b, 0x41, 0x73, ++0x69, 0x6d, 0x77, 0x61, 0x73, 0x3b, 0x41, 0x73, 0x69, 0x1e0d, 0x79, 0x61, 0x73, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, ++0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x41, 0x74, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x3b, ++0x41, 0x6c, 0x61, 0x3b, 0x41, 0x6c, 0x6d, 0x3b, 0x41, 0x6c, 0x7a, 0x3b, 0x41, 0x73, 0x69, 0x3b, 0x41, 0x6c, 0x68, 0x61, ++0x64, 0x69, 0x3b, 0x41, 0x74, 0x69, 0x6e, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, ++0x6c, 0x61, 0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x69, 0x73, 0x61, 0x3b, 0x41, 0x6c, 0x7a, 0x75, ++0x6d, 0x61, 0x3b, 0x41, 0x73, 0x69, 0x62, 0x74, 0x69, 0x3b, 0x4a, 0x70, 0x69, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6d, ++0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4a, 0x75, ++0x6d, 0x61, 0x61, 0x70, 0x69, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, ++0x61, 0x61, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, ++0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x61, 0x6d, 0x6f, 0x73, 0x69, ++0x3b, 0x32, 0x3b, 0x33, 0x3b, 0x34, 0x3b, 0x35, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x31, 0x3b, 0x930, 0x92c, 0x93f, 0x3b, 0x938, ++0x92e, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x3b, 0x92c, 0x941, 0x926, 0x3b, 0x92c, 0x93f, 0x938, 0x925, 0x93f, 0x3b, 0x938, 0x941, 0x916, ++0x941, 0x930, 0x3b, 0x938, 0x941, 0x928, 0x93f, 0x3b, 0x930, 0x92c, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x92e, 0x92c, 0x93e, 0x930, ++0x3b, 0x92e, 0x902, 0x917, 0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x926, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x93f, 0x938, 0x925, ++0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x941, 0x916, 0x941, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x941, 0x928, 0x93f, 0x92c, 0x93e, ++0x930, 0x3b, 0x930, 0x3b, 0x938, 0x3b, 0x92e, 0x902, 0x3b, 0x92c, 0x941, 0x3b, 0x92c, 0x93f, 0x3b, 0x938, 0x941, 0x3b, 0x938, 0x941, ++0x3b, 0x43a, 0x4c0, 0x438, 0x3b, 0x43e, 0x440, 0x3b, 0x448, 0x438, 0x3b, 0x43a, 0x445, 0x430, 0x3b, 0x435, 0x430, 0x3b, 0x43f, 0x4c0, ++0x435, 0x3b, 0x448, 0x443, 0x43e, 0x3b, 0x43a, 0x4c0, 0x438, 0x440, 0x430, 0x3b, 0x43e, 0x440, 0x448, 0x43e, 0x442, 0x3b, 0x448, 0x438, ++0x43d, 0x430, 0x440, 0x430, 0x3b, 0x43a, 0x445, 0x430, 0x430, 0x440, 0x430, 0x3b, 0x435, 0x430, 0x440, 0x430, 0x3b, 0x43f, 0x4c0, 0x435, ++0x440, 0x430, 0x441, 0x43a, 0x430, 0x3b, 0x448, 0x443, 0x43e, 0x442, 0x3b, 0x43a, 0x4c0, 0x3b, 0x43e, 0x3b, 0x448, 0x3b, 0x43a, 0x445, ++0x3b, 0x435, 0x3b, 0x43f, 0x4c0, 0x3b, 0x448, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4e, 0x6b, 0x6f, 0x3b, 0x4e, 0x64, 0x79, 0x3b, ++0x4e, 0x64, 0x67, 0x3b, 0x4e, 0x6a, 0x77, 0x3b, 0x4e, 0x67, 0x76, 0x3b, 0x4c, 0x75, 0x62, 0x3b, 0x4c, 0x75, 0x6d, 0x69, ++0x6e, 0x67, 0x75, 0x3b, 0x4e, 0x6b, 0x6f, 0x64, 0x79, 0x61, 0x3b, 0x4e, 0x64, 0xe0, 0x61, 0x79, 0xe0, 0x3b, 0x4e, 0x64, ++0x61, 0x6e, 0x67, 0xf9, 0x3b, 0x4e, 0x6a, 0xf2, 0x77, 0x61, 0x3b, 0x4e, 0x67, 0xf2, 0x76, 0x79, 0x61, 0x3b, 0x4c, 0x75, ++0x62, 0x69, 0x6e, 0x67, 0x75, 0x3b, 0x4c, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4c, 0x3b, ++0x53, 0x6f, 0x6e, 0x3b, 0x4d, 0xe9, 0x69, 0x3b, 0x44, 0xeb, 0x6e, 0x3b, 0x4d, 0xeb, 0x74, 0x3b, 0x44, 0x6f, 0x6e, 0x3b, ++0x46, 0x72, 0x65, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x6f, 0x6e, 0x6e, 0x64, 0x65, 0x67, 0x3b, 0x4d, 0xe9, 0x69, 0x6e, ++0x64, 0x65, 0x67, 0x3b, 0x44, 0xeb, 0x6e, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x4d, 0xeb, 0x74, 0x74, 0x77, 0x6f, ++0x63, 0x68, 0x3b, 0x44, 0x6f, 0x6e, 0x6e, 0x65, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x46, 0x72, 0x65, 0x69, 0x64, ++0x65, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x73, 0x63, 0x68, 0x64, 0x65, 0x67, 0x3b, 0x53, 0x6f, 0x6e, 0x2e, 0x3b, 0x4d, 0xe9, ++0x69, 0x2e, 0x3b, 0x44, 0xeb, 0x6e, 0x2e, 0x3b, 0x4d, 0xeb, 0x74, 0x2e, 0x3b, 0x44, 0x6f, 0x6e, 0x2e, 0x3b, 0x46, 0x72, ++0x65, 0x2e, 0x3b, 0x53, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x74, 0x73, 0x3b, 0x6b, 0x70, 0x61, 0x3b, 0x67, 0x68, 0x254, 0x3b, ++0x74, 0x254, 0x6d, 0x3b, 0x75, 0x6d, 0x65, 0x3b, 0x67, 0x68, 0x268, 0x3b, 0x64, 0x7a, 0x6b, 0x3b, 0x74, 0x73, 0x75, 0x294, ++0x6e, 0x74, 0x73, 0x268, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x6b, 0x70, 0xe0, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x67, ++0x68, 0x254, 0x65, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x74, 0x254, 0x300, 0x6d, 0x6c, 0xf2, 0x3b, 0x74, 0x73, 0x75, 0x294, ++0x75, 0x6d, 0xe8, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x75, 0x67, 0x68, 0x268, 0x302, 0x6d, 0x3b, 0x74, 0x73, 0x75, 0x294, 0x6e, ++0x64, 0x7a, 0x268, 0x6b, 0x254, 0x294, 0x254, 0x3b, 0x6e, 0x3b, 0x6b, 0x3b, 0x67, 0x3b, 0x74, 0x3b, 0x75, 0x3b, 0x67, 0x3b, ++0x64, 0x3b, 0x6e, 0x254, 0x79, 0x3b, 0x6e, 0x6a, 0x61, 0x3b, 0x75, 0x75, 0x6d, 0x3b, 0x14b, 0x67, 0x65, 0x3b, 0x6d, 0x62, ++0x254, 0x3b, 0x6b, 0x254, 0x254, 0x3b, 0x6a, 0x6f, 0x6e, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6e, 0x254, 0x302, 0x79, 0x3b, ++0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6e, 0x6a, 0x61, 0x14b, 0x67, 0x75, 0x6d, 0x62, 0x61, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, ++0xfb, 0x6d, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x14b, 0x67, 0xea, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6d, 0x62, 0x254, ++0x6b, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6b, 0x254, 0x254, 0x3b, 0x14b, 0x67, 0x77, 0xe0, 0x20, 0x6a, 0xf4, 0x6e, 0x3b, ++0x6e, 0x3b, 0x6e, 0x3b, 0x75, 0x3b, 0x14b, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6a, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x64, 0x69, ++0x3b, 0x41, 0x74, 0x69, 0x6e, 0x6e, 0x69, 0x3b, 0x41, 0x74, 0x61, 0x6c, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, ++0x72, 0x62, 0x61, 0x3b, 0x41, 0x6c, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x6c, 0x7a, 0x75, 0x6d, 0x61, 0x3b, ++0x41, 0x73, 0x69, 0x62, 0x74, 0x69, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x53, ++0x3b, 0xe9, 0x74, 0x3b, 0x6d, 0x254, 0x301, 0x73, 0x3b, 0x6b, 0x77, 0x61, 0x3b, 0x6d, 0x75, 0x6b, 0x3b, 0x14b, 0x67, 0x69, ++0x3b, 0x257, 0xf3, 0x6e, 0x3b, 0x65, 0x73, 0x61, 0x3b, 0xe9, 0x74, 0x69, 0x3b, 0x6d, 0x254, 0x301, 0x73, 0xfa, 0x3b, 0x6b, ++0x77, 0x61, 0x73, 0xfa, 0x3b, 0x6d, 0x75, 0x6b, 0x254, 0x301, 0x73, 0xfa, 0x3b, 0x14b, 0x67, 0x69, 0x73, 0xfa, 0x3b, 0x257, ++0xf3, 0x6e, 0x25b, 0x73, 0xfa, 0x3b, 0x65, 0x73, 0x61, 0x253, 0x61, 0x73, 0xfa, 0x3b, 0x65, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, ++0x6d, 0x3b, 0x14b, 0x3b, 0x257, 0x3b, 0x65, 0x3b, 0x44, 0x69, 0x6d, 0x3b, 0x54, 0x65, 0x6e, 0x3b, 0x54, 0x61, 0x6c, 0x3b, ++0x41, 0x6c, 0x61, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x41, 0x72, 0x6a, 0x3b, 0x53, 0x69, 0x62, 0x3b, 0x44, 0x69, 0x6d, 0x61, ++0x73, 0x3b, 0x54, 0x65, 0x6e, 0x65, 0x14b, 0x3b, 0x54, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x41, 0x6c, 0x61, 0x72, 0x62, ++0x61, 0x79, 0x3b, 0x41, 0x72, 0x61, 0x6d, 0x69, 0x73, 0x61, 0x79, 0x3b, 0x41, 0x72, 0x6a, 0x75, 0x6d, 0x61, 0x3b, 0x53, ++0x69, 0x62, 0x69, 0x74, 0x69, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x53, 0x3b, ++0x73, 0x254, 0x301, 0x6e, 0x3b, 0x6d, 0x254, 0x301, 0x6e, 0x3b, 0x73, 0x6d, 0x62, 0x3b, 0x73, 0x6d, 0x6c, 0x3b, 0x73, 0x6d, ++0x6e, 0x3b, 0x66, 0xfa, 0x6c, 0x3b, 0x73, 0xe9, 0x72, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x6d, 0x254, 0x301, ++0x6e, 0x64, 0x69, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, 0x62, ++0x25b, 0x30c, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, 0x6c, 0x25b, ++0x301, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x259, 0x6c, 0xfa, 0x20, 0x6d, 0x259, 0x301, 0x6e, 0x79, 0x69, ++0x3b, 0x66, 0xfa, 0x6c, 0x61, 0x64, 0xe9, 0x3b, 0x73, 0xe9, 0x72, 0x61, 0x64, 0xe9, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x73, ++0x3b, 0x73, 0x3b, 0x73, 0x3b, 0x66, 0x3b, 0x73, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x3b, 0x6c, 0x1dd, 0x6e, 0x3b, 0x6d, 0x61, ++0x61, 0x3b, 0x6d, 0x25b, 0x6b, 0x3b, 0x6a, 0x1dd, 0x1dd, 0x3b, 0x6a, 0xfa, 0x6d, 0x3b, 0x73, 0x61, 0x6d, 0x3b, 0x73, 0x254, ++0x301, 0x6e, 0x64, 0x1dd, 0x3b, 0x6c, 0x1dd, 0x6e, 0x64, 0xed, 0x3b, 0x6d, 0x61, 0x61, 0x64, 0xed, 0x3b, 0x6d, 0x25b, 0x6b, ++0x72, 0x25b, 0x64, 0xed, 0x3b, 0x6a, 0x1dd, 0x1dd, 0x64, 0xed, 0x3b, 0x6a, 0xfa, 0x6d, 0x62, 0xe1, 0x3b, 0x73, 0x61, 0x6d, ++0x64, 0xed, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x53, 0x61, 0x62, ++0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x49, 0x6a, 0x75, ++0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x74, 0x6f, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, ++0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x72, ++0x61, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, ++0x6f, 0x73, 0x69, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x4a, 0x3b, 0x43, 0x79, ++0x61, 0x3b, 0x43, 0x6c, 0x61, 0x3b, 0x43, 0x7a, 0x69, 0x3b, 0x43, 0x6b, 0x6f, 0x3b, 0x43, 0x6b, 0x61, 0x3b, 0x43, 0x67, ++0x61, 0x3b, 0x43, 0x7a, 0x65, 0x3b, 0x43, 0x6f, 0x6d, 0x2019, 0x79, 0x61, 0x6b, 0x6b, 0x65, 0x3b, 0x43, 0x6f, 0x6d, 0x6c, ++0x61, 0x61, 0x257, 0x69, 0x69, 0x3b, 0x43, 0x6f, 0x6d, 0x7a, 0x79, 0x69, 0x69, 0x257, 0x69, 0x69, 0x3b, 0x43, 0x6f, 0x6d, ++0x6b, 0x6f, 0x6c, 0x6c, 0x65, 0x3b, 0x43, 0x6f, 0x6d, 0x6b, 0x61, 0x6c, 0x64, 0x1dd, 0x253, 0x6c, 0x69, 0x69, 0x3b, 0x43, ++0x6f, 0x6d, 0x67, 0x61, 0x69, 0x73, 0x75, 0x75, 0x3b, 0x43, 0x6f, 0x6d, 0x7a, 0x79, 0x65, 0x253, 0x73, 0x75, 0x75, 0x3b, ++0x59, 0x3b, 0x4c, 0x3b, 0x5a, 0x3b, 0x4f, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x45, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x3b, 0x6d, ++0x254, 0x301, 0x6e, 0x3b, 0x73, 0x6d, 0x62, 0x3b, 0x73, 0x6d, 0x6c, 0x3b, 0x73, 0x6d, 0x6e, 0x3b, 0x6d, 0x62, 0x73, 0x3b, ++0x73, 0x61, 0x73, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x6d, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x3b, 0x73, 0x254, ++0x301, 0x6e, 0x64, 0x254, 0x20, 0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x62, 0x61, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, ++0x254, 0x20, 0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x6c, 0x61, 0x6c, 0x3b, 0x73, 0x254, 0x301, 0x6e, 0x64, 0x254, 0x20, ++0x6d, 0x61, 0x66, 0xfa, 0x20, 0x6d, 0xe1, 0x6e, 0x61, 0x3b, 0x6d, 0x61, 0x62, 0xe1, 0x67, 0xe1, 0x20, 0x6d, 0xe1, 0x20, ++0x73, 0x75, 0x6b, 0x75, 0x6c, 0x3b, 0x73, 0xe1, 0x73, 0x61, 0x64, 0x69, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x73, ++0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x43, 0xe4, 0x14b, 0x3b, 0x4a, 0x69, 0x65, 0x63, 0x3b, 0x52, 0x25b, 0x77, 0x3b, ++0x44, 0x69, 0x254, 0x331, 0x6b, 0x3b, 0x14a, 0x75, 0x61, 0x61, 0x6e, 0x3b, 0x44, 0x68, 0x69, 0x65, 0x65, 0x63, 0x3b, 0x42, ++0xe4, 0x6b, 0x25b, 0x6c, 0x3b, 0x43, 0xe4, 0x14b, 0x20, 0x6b, 0x75, 0x254, 0x74, 0x68, 0x3b, 0x4a, 0x69, 0x65, 0x63, 0x20, ++0x6c, 0x61, 0x331, 0x74, 0x3b, 0x52, 0x25b, 0x77, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x44, 0x69, 0x254, 0x331, 0x6b, ++0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x14a, 0x75, 0x61, 0x61, 0x6e, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x44, ++0x68, 0x69, 0x65, 0x65, 0x63, 0x20, 0x6c, 0xe4, 0x74, 0x6e, 0x69, 0x3b, 0x42, 0xe4, 0x6b, 0x25b, 0x6c, 0x20, 0x6c, 0xe4, ++0x74, 0x6e, 0x69, 0x3b, 0x43, 0x3b, 0x4a, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x14a, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x431, 0x441, ++0x3b, 0x431, 0x43d, 0x3b, 0x43e, 0x43f, 0x3b, 0x441, 0x44d, 0x3b, 0x447, 0x43f, 0x3b, 0x431, 0x44d, 0x3b, 0x441, 0x431, 0x3b, 0x431, ++0x430, 0x441, 0x43a, 0x44b, 0x4bb, 0x44b, 0x430, 0x43d, 0x43d, 0x44c, 0x430, 0x3b, 0x431, 0x44d, 0x43d, 0x438, 0x434, 0x438, 0x44d, 0x43d, ++0x43d, 0x44c, 0x438, 0x43a, 0x3b, 0x43e, 0x43f, 0x442, 0x443, 0x43e, 0x440, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x43a, 0x3b, 0x441, 0x44d, ++0x440, 0x44d, 0x434, 0x44d, 0x3b, 0x447, 0x44d, 0x43f, 0x43f, 0x438, 0x44d, 0x440, 0x3b, 0x411, 0x44d, 0x44d, 0x442, 0x438, 0x4a5, 0x441, ++0x44d, 0x3b, 0x441, 0x443, 0x431, 0x443, 0x43e, 0x442, 0x430, 0x3b, 0x411, 0x3b, 0x411, 0x3b, 0x41e, 0x3b, 0x421, 0x3b, 0x427, 0x3b, ++0x411, 0x3b, 0x421, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4a, 0x74, 0x74, 0x3b, 0x4a, 0x6e, 0x6e, 0x3b, 0x4a, 0x74, 0x6e, 0x3b, ++0x41, 0x6c, 0x68, 0x3b, 0x49, 0x6a, 0x75, 0x3b, 0x4a, 0x6d, 0x6f, 0x3b, 0x4d, 0x75, 0x6c, 0x75, 0x6e, 0x67, 0x75, 0x3b, ++0x4a, 0x75, 0x6d, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6e, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6d, ++0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x41, 0x6c, 0x61, 0x68, 0x61, 0x6d, 0x69, 0x73, 0x69, 0x3b, 0x49, 0x6a, 0x75, 0x6d, ++0x61, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x6d, 0x6f, 0x73, 0x69, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, ++0x41, 0x3b, 0x49, 0x3b, 0x4a, 0x3b, 0xa55e, 0xa54c, 0xa535, 0x3b, 0xa5f3, 0xa5e1, 0xa609, 0x3b, 0xa55a, 0xa55e, 0xa55a, 0x3b, 0xa549, 0xa55e, ++0xa552, 0x3b, 0xa549, 0xa524, 0xa546, 0xa562, 0x3b, 0xa549, 0xa524, 0xa540, 0xa56e, 0x3b, 0xa53b, 0xa52c, 0xa533, 0x3b, 0x6c, 0x61, 0x68, 0x61, ++0x64, 0x69, 0x3b, 0x74, 0x25b, 0x25b, 0x6e, 0x25b, 0x25b, 0x3b, 0x74, 0x61, 0x6c, 0x61, 0x74, 0x61, 0x3b, 0x61, 0x6c, 0x61, ++0x62, 0x61, 0x3b, 0x61, 0x69, 0x6d, 0x69, 0x73, 0x61, 0x3b, 0x61, 0x69, 0x6a, 0x69, 0x6d, 0x61, 0x3b, 0x73, 0x69, 0x253, ++0x69, 0x74, 0x69, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x4d, 0xe4, 0x6e, 0x3b, 0x5a, 0x69, 0x161, 0x3b, 0x4d, 0x69, 0x74, 0x3b, ++0x46, 0x72, 0xf3, 0x3b, 0x46, 0x72, 0x69, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x53, 0x75, 0x6e, 0x6e, 0x74, 0x61, 0x67, 0x3b, ++0x4d, 0xe4, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x5a, 0x69, 0x161, 0x74, 0x61, 0x67, 0x3b, 0x4d, 0x69, 0x74, 0x74, 0x77, 0x75, ++0x10d, 0x3b, 0x46, 0x72, 0xf3, 0x6e, 0x74, 0x61, 0x67, 0x3b, 0x46, 0x72, 0x69, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, ++0x161, 0x74, 0x61, 0x67, 0x3b, 0x53, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x4d, 0x3b, 0x46, 0x3b, 0x46, 0x3b, 0x53, 0x3b, 0x73, ++0x64, 0x3b, 0x6d, 0x64, 0x3b, 0x6d, 0x77, 0x3b, 0x65, 0x74, 0x3b, 0x6b, 0x6c, 0x3b, 0x66, 0x6c, 0x3b, 0x73, 0x73, 0x3b, ++0x73, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x25b, 0x3b, 0x6d, 0xf3, 0x6e, 0x64, 0x69, 0x65, 0x3b, 0x6d, 0x75, 0xe1, 0x6e, 0x79, ++0xe1, 0x14b, 0x6d, 0xf3, 0x6e, 0x64, 0x69, 0x65, 0x3b, 0x6d, 0x65, 0x74, 0xfa, 0x6b, 0x70, 0xed, 0xe1, 0x70, 0x25b, 0x3b, ++0x6b, 0xfa, 0x70, 0xe9, 0x6c, 0x69, 0x6d, 0x65, 0x74, 0xfa, 0x6b, 0x70, 0x69, 0x61, 0x70, 0x25b, 0x3b, 0x66, 0x65, 0x6c, ++0xe9, 0x74, 0x65, 0x3b, 0x73, 0xe9, 0x73, 0x65, 0x6c, 0xe9, 0x3b, 0x73, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x65, 0x3b, 0x6b, ++0x3b, 0x66, 0x3b, 0x73, 0x3b, 0x64, 0x6f, 0x6d, 0x3b, 0x6c, 0x6c, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6d, 0x69, 0xe9, ++0x3b, 0x78, 0x75, 0x65, 0x3b, 0x76, 0x69, 0x65, 0x3b, 0x73, 0xe1, 0x62, 0x3b, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x75, ++0x3b, 0x6c, 0x6c, 0x75, 0x6e, 0x65, 0x73, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x6d, 0x69, 0xe9, 0x72, 0x63, ++0x6f, 0x6c, 0x65, 0x73, 0x3b, 0x78, 0x75, 0x65, 0x76, 0x65, 0x73, 0x3b, 0x76, 0x69, 0x65, 0x6e, 0x72, 0x65, 0x73, 0x3b, ++0x73, 0xe1, 0x62, 0x61, 0x64, 0x75, 0x3b, 0x53, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x254, 0x301, 0x6e, 0x64, 0x69, ++0x3b, 0xc1, 0x70, 0x74, 0x61, 0x20, 0x4d, 0x254, 0x301, 0x6e, 0x64, 0x69, 0x3b, 0x57, 0x25b, 0x301, 0x6e, 0x25b, 0x73, 0x25b, ++0x64, 0x25b, 0x3b, 0x54, 0x254, 0x301, 0x73, 0x25b, 0x64, 0x25b, 0x3b, 0x46, 0x25b, 0x6c, 0xe2, 0x79, 0x25b, 0x64, 0x25b, 0x3b, ++0x53, 0xe1, 0x73, 0x69, 0x64, 0x25b, 0x3b, 0x53, 0x254, 0x301, 0x3b, 0x4d, 0x254, 0x301, 0x3b, 0xc1, 0x4d, 0x3b, 0x57, 0x25b, ++0x301, 0x3b, 0x54, 0x254, 0x301, 0x3b, 0x46, 0x25b, 0x3b, 0x53, 0xe1, 0x3b, 0x73, 0x254, 0x6e, 0x64, 0x69, 0x3b, 0x6c, 0x75, ++0x6e, 0x64, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x64, 0x69, 0x3b, 0x6d, 0x25b, 0x72, 0x6b, 0x25b, 0x72, 0x25b, 0x64, 0x69, 0x3b, ++0x79, 0x65, 0x64, 0x69, 0x3b, 0x76, 0x61, 0x14b, 0x64, 0x25b, 0x72, 0x25b, 0x64, 0x69, 0x3b, 0x6d, 0x254, 0x6e, 0x254, 0x20, ++0x73, 0x254, 0x6e, 0x64, 0x69, 0x3b, 0x73, 0x6f, 0x3b, 0x6c, 0x75, 0x3b, 0x6d, 0x61, 0x3b, 0x6d, 0x25b, 0x3b, 0x79, 0x65, ++0x3b, 0x76, 0x61, 0x3b, 0x6d, 0x73, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x31, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x32, ++0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x33, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x34, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, ++0x35, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x36, 0x3b, 0x41, 0x6e, 0x65, 0x67, 0x20, 0x37, 0x3b, 0x41, 0x31, 0x3b, 0x41, ++0x32, 0x3b, 0x41, 0x33, 0x3b, 0x41, 0x34, 0x3b, 0x41, 0x35, 0x3b, 0x41, 0x36, 0x3b, 0x41, 0x37, 0x3b, 0x6c, 0x79, 0x25b, ++0x2bc, 0x25b, 0x301, 0x20, 0x73, 0x1e85, 0xed, 0x14b, 0x74, 0xe8, 0x3b, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6c, 0x79, 0x25b, 0x30c, ++0x2bc, 0x3b, 0x6d, 0x62, 0x254, 0x301, 0x254, 0x6e, 0x74, 0xe8, 0x20, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6c, 0x79, 0x25b, 0x30c, ++0x2bc, 0x3b, 0x74, 0x73, 0xe8, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x6d, 0x62, 0x254, ++0x301, 0x254, 0x6e, 0x74, 0xe8, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, ++0x3b, 0x6d, 0x76, 0x66, 0xf2, 0x20, 0x6d, 0xe0, 0x67, 0x61, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x6d, 0xe0, 0x67, ++0x61, 0x20, 0x6c, 0x79, 0x25b, 0x30c, 0x2bc, 0x3b, 0x910, 0x924, 0x3b, 0x938, 0x94b, 0x92e, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x3b, ++0x92c, 0x941, 0x927, 0x3b, 0x92c, 0x940, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x3b, 0x936, 0x928, 0x93f, 0x3b, 0x910, 0x924, ++0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b, 0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, ++0x941, 0x927, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x940, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x92c, 0x93e, ++0x930, 0x3b, 0x936, 0x928, 0x93f, 0x92c, 0x93e, 0x930, 0x3b, 0x910, 0x3b, 0x938, 0x94b, 0x3b, 0x92e, 0x2e, 0x3b, 0x92c, 0x941, 0x2e, ++0x3b, 0x92c, 0x940, 0x2e, 0x3b, 0x936, 0x941, 0x2e, 0x3b, 0x936, 0x2e, 0x3b, 0x910, 0x924, 0x92c, 0x93e, 0x930, 0x3b, 0x938, 0x94b, ++0x92e, 0x92c, 0x93e, 0x930, 0x3b, 0x92e, 0x902, 0x917, 0x932, 0x92c, 0x93e, 0x930, 0x3b, 0x92c, 0x941, 0x927, 0x92c, 0x93e, 0x930, 0x3b, ++0x92c, 0x940, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x941, 0x915, 0x94d, 0x930, 0x92c, 0x93e, 0x930, 0x3b, 0x936, 0x928, 0x940, 0x92c, ++0x93e, 0x930, 0x3b, 0x910, 0x2e, 0x3b, 0x938, 0x94b, 0x2e, 0x3b, 0x92e, 0x2e, 0x3b, 0x92c, 0x941, 0x2e, 0x3b, 0x92c, 0x940, 0x2e, ++0x3b, 0x936, 0x941, 0x2e, 0x3b, 0x936, 0x2e, 0x3b, 0x9a8, 0x9cb, 0x982, 0x9ae, 0x9be, 0x987, 0x99c, 0x9bf, 0x982, 0x3b, 0x9a8, 0x9bf, ++0x982, 0x9a5, 0x9cc, 0x995, 0x9be, 0x9ac, 0x9be, 0x3b, 0x9b2, 0x9c8, 0x9ac, 0x9be, 0x995, 0x9aa, 0x9cb, 0x995, 0x9aa, 0x9be, 0x3b, 0x9af, ++0x9bc, 0x9c1, 0x9ae, 0x9b6, 0x995, 0x9c8, 0x9b6, 0x9be, 0x3b, 0x9b6, 0x997, 0x9cb, 0x9b2, 0x9b6, 0x9c7, 0x9a8, 0x3b, 0x987, 0x9b0, 0x9be, ++0x987, 0x3b, 0x9a5, 0x9be, 0x982, 0x99c, 0x3b, 0x9a8, 0x9cb, 0x3b, 0x9a8, 0x9bf, 0x982, 0x3b, 0x9b2, 0x9c8, 0x3b, 0x9af, 0x9bc, 0x9c1, ++0x9ae, 0x3b, 0x9b6, 0x997, 0x3b, 0x987, 0x9b0, 0x9be, 0x3b, 0x9a5, 0x9be, 0x982, 0x3b, 0x9a8, 0x9cb, 0x982, 0x3b, 0x9a8, 0x9bf, 0x982, ++0x3b, 0x9b2, 0x9c8, 0x3b, 0x9af, 0x9bc, 0x9c1, 0x9ae, 0x3b, 0x9b6, 0x997, 0x3b, 0x987, 0x9b0, 0x9be, 0x3b, 0x9a5, 0x9be, 0x982, 0x3b, ++0x1c65, 0x1c64, 0x1c78, 0x3b, 0x1c5a, 0x1c5b, 0x3b, 0x1c75, 0x1c5f, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c68, 0x3b, 0x1c61, ++0x1c5f, 0x1c79, 0x3b, 0x1c67, 0x1c69, 0x3b, 0x1c65, 0x1c64, 0x1c78, 0x1c5c, 0x1c6e, 0x3b, 0x1c5a, 0x1c5b, 0x1c6e, 0x3b, 0x1c75, 0x1c5f, 0x1c5e, 0x1c6e, ++0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c5c, 0x1c69, 0x1c71, 0x3b, 0x1c65, 0x1c5f, 0x1c79, 0x1c68, 0x1c6b, 0x1c64, 0x3b, 0x1c61, 0x1c5f, 0x1c79, 0x1c68, 0x1c69, ++0x1c62, 0x3b, 0x1c67, 0x1c69, 0x1c66, 0x1c69, 0x1c62, 0x3b, 0x1c65, 0x3b, 0x1c5a, 0x3b, 0x1c75, 0x3b, 0x1c65, 0x3b, 0x1c65, 0x3b, 0x1c61, 0x3b, ++0x1c67, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x77, 0x61, 0x6b, 0x21f, 0x61, 0x14b, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, ++0x75, 0x77, 0x61, 0x14b, 0x17e, 0x69, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x6e, 0x75, 0x14b, 0x70, 0x61, 0x3b, 0x41, ++0x14b, 0x70, 0xe9, 0x74, 0x75, 0x79, 0x61, 0x6d, 0x6e, 0x69, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x74, 0x6f, 0x70, ++0x61, 0x3b, 0x41, 0x14b, 0x70, 0xe9, 0x74, 0x75, 0x7a, 0x61, 0x70, 0x74, 0x61, 0x14b, 0x3b, 0x4f, 0x77, 0xe1, 0x14b, 0x67, ++0x79, 0x75, 0x17e, 0x61, 0x17e, 0x61, 0x70, 0x69, 0x3b, 0x41, 0x3b, 0x57, 0x3b, 0x4e, 0x3b, 0x59, 0x3b, 0x54, 0x3b, 0x5a, ++0x3b, 0x4f, 0x3b, 0x2d30, 0x2d59, 0x2d30, 0x2d4e, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d62, 0x2d4f, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4f, ++0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d55, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d3d, 0x2d61, 0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d4e, 0x2d61, ++0x2d30, 0x2d59, 0x3b, 0x2d30, 0x2d59, 0x2d49, 0x2d39, 0x2d62, 0x2d30, 0x2d59, 0x3b, 0x6cc, 0x6d5, 0x6a9, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, ++0x62f, 0x648, 0x648, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x633, 0x6ce, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x686, 0x648, 0x627, ++0x631, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x67e, 0x6ce, 0x646, 0x62c, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x6be, 0x6d5, 0x6cc, ++0x646, 0x6cc, 0x3b, 0x634, 0x6d5, 0x645, 0x645, 0x6d5, 0x3b, 0x6cc, 0x3b, 0x62f, 0x3b, 0x633, 0x3b, 0x686, 0x3b, 0x67e, 0x3b, 0x6be, ++0x3b, 0x634, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x70, 0xf3, 0x6e, 0x3b, 0x77, 0x61, 0x142, 0x3b, 0x73, 0x72, 0x6a, 0x3b, 0x73, ++0x74, 0x77, 0x3b, 0x70, 0x11b, 0x74, 0x3b, 0x73, 0x6f, 0x62, 0x3b, 0x6e, 0x6a, 0x65, 0x17a, 0x65, 0x6c, 0x61, 0x3b, 0x70, ++0xf3, 0x6e, 0x6a, 0x65, 0x17a, 0x65, 0x6c, 0x65, 0x3b, 0x77, 0x61, 0x142, 0x74, 0x6f, 0x72, 0x61, 0x3b, 0x73, 0x72, 0x6a, ++0x6f, 0x64, 0x61, 0x3b, 0x73, 0x74, 0x77, 0xf3, 0x72, 0x74, 0x6b, 0x3b, 0x70, 0x11b, 0x74, 0x6b, 0x3b, 0x73, 0x6f, 0x62, ++0x6f, 0x74, 0x61, 0x3b, 0x6e, 0x3b, 0x70, 0x3b, 0x77, 0x3b, 0x73, 0x3b, 0x73, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x6e, 0x6a, ++0x65, 0x3b, 0x70, 0xf3, 0x6e, 0x3b, 0x77, 0x75, 0x74, 0x3b, 0x73, 0x72, 0x6a, 0x3b, 0x161, 0x74, 0x77, 0x3b, 0x70, 0x6a, ++0x61, 0x3b, 0x73, 0x6f, 0x62, 0x3b, 0x6e, 0x6a, 0x65, 0x64, 0x17a, 0x65, 0x6c, 0x61, 0x3b, 0x70, 0xf3, 0x6e, 0x64, 0x17a, ++0x65, 0x6c, 0x61, 0x3b, 0x77, 0x75, 0x74, 0x6f, 0x72, 0x61, 0x3b, 0x73, 0x72, 0x6a, 0x65, 0x64, 0x61, 0x3b, 0x161, 0x74, ++0x77, 0xf3, 0x72, 0x74, 0x6b, 0x3b, 0x70, 0x6a, 0x61, 0x74, 0x6b, 0x3b, 0x73, 0x6f, 0x62, 0x6f, 0x74, 0x61, 0x3b, 0x6e, ++0x3b, 0x70, 0x3b, 0x77, 0x3b, 0x73, 0x3b, 0x161, 0x3b, 0x70, 0x3b, 0x73, 0x3b, 0x70, 0x61, 0x73, 0x3b, 0x76, 0x75, 0x6f, ++0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6b, 0x6f, 0x73, 0x3b, 0x74, 0x75, 0x6f, 0x3b, 0x76, 0xe1, 0x73, 0x3b, 0x6c, 0xe1, 0x76, ++0x3b, 0x70, 0x61, 0x73, 0x65, 0x70, 0x65, 0x69, 0x76, 0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x67, 0xe2, ++0x3b, 0x6d, 0x61, 0x6a, 0x65, 0x62, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6b, 0x6f, 0x73, 0x6b, 0x6f, 0x6b, 0x6b, 0x6f, 0x3b, ++0x74, 0x75, 0x6f, 0x72, 0xe2, 0x73, 0x74, 0xe2, 0x68, 0x3b, 0x76, 0xe1, 0x73, 0x74, 0x75, 0x70, 0x70, 0x65, 0x69, 0x76, ++0x69, 0x3b, 0x6c, 0xe1, 0x76, 0x75, 0x72, 0x64, 0xe2, 0x68, 0x3b, 0x70, 0x61, 0x73, 0x65, 0x70, 0x65, 0x65, 0x69, 0x76, ++0x69, 0x3b, 0x76, 0x75, 0x6f, 0x73, 0x73, 0x61, 0x61, 0x72, 0x67, 0xe2, 0x3b, 0x6d, 0x61, 0x6a, 0x65, 0x62, 0x61, 0x61, ++0x72, 0x67, 0xe2, 0x3b, 0x6b, 0x6f, 0x73, 0x6b, 0x6f, 0x68, 0x6f, 0x3b, 0x74, 0x75, 0x6f, 0x72, 0xe2, 0x73, 0x74, 0x75, ++0x76, 0x3b, 0x76, 0xe1, 0x73, 0x74, 0x75, 0x70, 0x70, 0x65, 0x65, 0x69, 0x76, 0x69, 0x3b, 0x6c, 0xe1, 0x76, 0x75, 0x72, ++0x64, 0x75, 0x76, 0x3b, 0x70, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x56, 0x3b, 0x4c, 0x3b, 0x44, 0x6f, ++0x6d, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x69, 0x79, 0x3b, 0x48, 0x75, 0x77, 0x3b, 0x42, 0x69, ++0x79, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, 0x65, 0x73, 0x3b, ++0x4d, 0x61, 0x72, 0x74, 0x65, 0x73, 0x3b, 0x4d, 0x69, 0x79, 0x65, 0x72, 0x6b, 0x75, 0x6c, 0x65, 0x73, 0x3b, 0x48, 0x75, ++0x77, 0x65, 0x62, 0x65, 0x73, 0x3b, 0x42, 0x69, 0x79, 0x65, 0x72, 0x6e, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x62, 0x61, 0x64, ++0x6f, 0x3b, 0x44, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x42, 0x3b, 0x53, 0x3b, 0x53, 0x1ecd, 0x301, 0x6e, ++0x3b, 0x4d, 0x1ecd, 0x301, 0x6e, 0x3b, 0x54, 0x69, 0xfa, 0x3b, 0x57, 0x1eb9, 0x301, 0x6e, 0x3b, 0x54, 0x1ecd, 0x301, 0x7a, 0x3b, ++0x46, 0x72, 0x61, 0xed, 0x3b, 0x53, 0xe1, 0x74, 0x3b, 0x53, 0x1ecd, 0x301, 0x6e, 0x64, 0xe8, 0x3b, 0x4d, 0x1ecd, 0x301, 0x6e, ++0x64, 0xe8, 0x3b, 0x54, 0x69, 0xfa, 0x7a, 0x64, 0xe8, 0x3b, 0x57, 0x1eb9, 0x301, 0x6e, 0x1eb9, 0x301, 0x7a, 0x64, 0xe8, 0x3b, ++0x54, 0x1ecd, 0x301, 0x7a, 0x64, 0xe8, 0x3b, 0x46, 0x72, 0x61, 0xed, 0x64, 0xe8, 0x3b, 0x53, 0xe1, 0x74, 0x1ecd, 0x64, 0xe8, ++0x3b + }; + + static const ushort byte_unit_data[] = { +@@ -3193,58 +3184,62 @@ static const ushort byte_unit_data[] = { + 0x4d, 0x6f, 0x3b, 0x47, 0x6f, 0x3b, 0x54, 0x6f, 0x3b, 0x50, 0x6f, 0x3b, 0x45, 0x6f, 0x4b, 0x69, 0x6f, 0x3b, 0x4d, 0x69, + 0x6f, 0x3b, 0x47, 0x69, 0x6f, 0x3b, 0x54, 0x69, 0x6f, 0x3b, 0x50, 0x69, 0x6f, 0x3b, 0x45, 0x69, 0x6f, 0x431, 0x430, 0x439, + 0x442, 0x43e, 0x432, 0x435, 0x1018, 0x102d, 0x102f, 0x1000, 0x103a, 0x431, 0x430, 0x439, 0x442, 0x44b, 0x41a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, +-0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, 0x41f, 0x411, 0x3b, 0x45, 0x42, 0x1794, 0x17c3, 0x5b57, 0x8282, 0x5343, 0x5b57, 0x8282, 0x3b, 0x5146, +-0x5b57, 0x8282, 0x3b, 0x5409, 0x5b57, 0x8282, 0x3b, 0x592a, 0x5b57, 0x8282, 0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x4f4d, 0x5143, 0x7d44, 0x62, +-0x61, 0x6a, 0x74, 0x6f, 0x76, 0x69, 0x62, 0x61, 0x6a, 0x74, 0x79, 0x62, 0x61, 0x6a, 0x74, 0x6f, 0x6a, 0x62, 0x61, 0x69, +-0x64, 0x69, 0x64, 0x62, 0xfd, 0x74, 0x74, 0x61, 0x76, 0x75, 0x74, 0x6b, 0x74, 0x3b, 0x4d, 0x74, 0x3b, 0x47, 0x74, 0x3b, +-0x54, 0x74, 0x3b, 0x50, 0x74, 0x3b, 0x45, 0x74, 0x4b, 0x69, 0x74, 0x3b, 0x4d, 0x69, 0x74, 0x3b, 0x47, 0x69, 0x74, 0x3b, +-0x54, 0x69, 0x74, 0x3b, 0x50, 0x69, 0x74, 0x3b, 0x45, 0x69, 0x74, 0x6f, 0x63, 0x74, 0x65, 0x74, 0x73, 0x62, 0x61, 0x69, +-0x64, 0x68, 0x74, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x10d9, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10db, 0x10d1, 0x10d0, 0x10d8, 0x10e2, +-0x10d8, 0x3b, 0x10d2, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10e2, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10de, 0x10d1, 0x10d0, 0x10d8, +-0x10e2, 0x10d8, 0x3b, 0x45, 0x42, 0x42, 0x79, 0x74, 0x65, 0x73, 0xaac, 0xabe, 0xa87, 0xa9f, 0x6b, 0x42, 0x3b, 0x4d, 0x42, 0x3b, +-0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0xaaa, 0xac0, 0xaac, 0xac0, 0x3b, 0x45, 0x42, 0x5d1, 0x5d9, 0x5d9, 0x5d8, 0x92c, 0x93e, 0x907, +-0x91f, 0x62, 0xe1, 0x6a, 0x74, 0x62, 0xe6, 0x74, 0x69, 0x62, 0x65, 0x61, 0x72, 0x74, 0x61, 0x30d0, 0x30a4, 0x30c8, 0x4b, 0x42, +-0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x62, 0x69, 0x74, 0x65, 0xcac, +-0xcc8, 0xc9f, 0xccd, 0x200c, 0xc97, 0xcb3, 0xcc1, 0xc95, 0xcbf, 0x2e, 0xcac, 0xcc8, 0x2e, 0x3b, 0xcae, 0xcc6, 0x2e, 0xcac, 0xcc8, 0x2e, +-0x3b, 0xc97, 0xcbf, 0x2e, 0xcac, 0xcc8, 0x2e, 0x3b, 0xc9f, 0xcc6, 0x2e, 0xcac, 0xcc8, 0x2e, 0x3b, 0xcaa, 0xcc6, 0xcac, 0xcc8, 0x3b, +-0x45, 0x42, 0x431, 0x430, 0x439, 0x442, 0x43a, 0x411, 0x3b, 0x4d, 0x411, 0x3b, 0x413, 0x411, 0x3b, 0x54, 0x411, 0x3b, 0x41f, 0x411, +-0x3b, 0x45, 0x411, 0x4b, 0x69, 0x411, 0x3b, 0x4d, 0x69, 0x411, 0x3b, 0x47, 0x69, 0x411, 0x3b, 0x54, 0x69, 0x411, 0x3b, 0x50, +-0x69, 0x411, 0x3b, 0x45, 0x69, 0x411, 0x43a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, 0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, 0x41f, 0x442, +-0x431, 0x3b, 0x45, 0x42, 0xbc14, 0xc774, 0xd2b8, 0x62, 0x61, 0x69, 0x74, 0x69, 0x62, 0x61, 0x69, 0x74, 0x61, 0x69, 0x431, 0x430, +-0x458, 0x442, 0x438, 0x62, 0x61, 0x69, 0x74, 0xd2c, 0xd48, 0xd31, 0xd4d, 0xd31, 0xd4d, 0xd15, 0xd46, 0xd2c, 0xd3f, 0x3b, 0xd0e, 0xd02, +-0xd2c, 0xd3f, 0x3b, 0xd1c, 0xd3f, 0xd2c, 0xd3f, 0x3b, 0xd1f, 0xd3f, 0xd2c, 0xd3f, 0x3b, 0xd2a, 0xd3f, 0xd2c, 0xd3f, 0x3b, 0x45, 0x42, +-0x43a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, 0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, 0x41f, 0x411, 0x3b, 0x45, 0x42, 0x6b, 0x42, 0x3b, +-0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x92a, 0x93f, 0x91f, 0x93e, 0x3b, 0x45, 0x42, 0xb2c, 0xb3e, 0xb07, 0xb1f, +-0xb4d, 0x628, 0x627, 0x64a, 0x67c, 0x633, 0x628, 0x627, 0x6cc, 0x62a, 0x6a9, 0x6cc, 0x644, 0x648, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x645, +-0x6af, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x6af, 0x6cc, 0x6af, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x62a, 0x631, 0x627, 0x628, +-0x627, 0x6cc, 0x62a, 0x3b, 0x67e, 0x62a, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x45, 0x42, 0xa2c, 0xa3e, 0xa07, 0xa1f, 0x62, 0x79, +-0x21b, 0x69, 0x431, 0x430, 0x458, 0x442, 0x43e, 0x432, 0x438, 0x628, 0x627, 0x626, 0x64a, 0x67d, 0x632, 0x6aa, 0x644, 0x648, 0x20, 0x628, +-0x627, 0x626, 0x64a, 0x67d, 0x632, 0x3b, 0x645, 0x64a, 0x6af, 0x627, 0x20, 0x628, 0x627, 0x626, 0x64a, 0x67d, 0x632, 0x3b, 0x6af, 0x64a, +-0x6af, 0x627, 0x20, 0x628, 0x627, 0x626, 0x64a, 0x67d, 0x632, 0x3b, 0x67d, 0x64a, 0x631, 0x627, 0x20, 0x628, 0x627, 0x626, 0x64a, 0x67d, +-0x632, 0x3b, 0x67e, 0x64a, 0x631, 0x627, 0x20, 0x628, 0x627, 0x626, 0x64a, 0x67d, 0x633, 0x3b, 0x45, 0x42, 0xdb6, 0xdba, 0xdd2, 0xda7, +-0xdca, 0xd9a, 0xdd2, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xdb8, 0xdd9, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xd9c, 0xdd2, 0xdb6, +-0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xda7, 0xdd9, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, +-0x3b, 0x45, 0x42, 0x62, 0x65, 0x79, 0x74, 0x69, 0x73, 0x6b, 0x42, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, +-0x3b, 0x42, 0x42, 0x3b, 0x45, 0x42, 0x6b, 0x69, 0x6c, 0x6f, 0x62, 0x61, 0x69, 0x74, 0x69, 0x20, 0x7b, 0x30, 0x7d, 0x3b, +-0x4d, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x74, 0x65, 0x72, 0x61, 0x62, 0x61, +-0x69, 0x74, 0x69, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x42, 0xbaa, 0xbc8, 0xb9f, +-0xbcd, 0xb95, 0xbb3, 0xbcd, 0xc2c, 0xc48, 0xc1f, 0xc4d, 0x200c, 0xc32, 0xc41, 0xc15, 0xc47, 0xc2c, 0xc40, 0x3b, 0xc0e, 0xc2e, 0xc4d, 0x200c, +-0xc2c, 0xc3f, 0x3b, 0xc1c, 0xc40, 0xc2c, 0xc40, 0x3b, 0xc1f, 0xc40, 0xc2c, 0xc40, 0x3b, 0xc2a, 0xc40, 0xc2c, 0xc40, 0x3b, 0x45, 0x42, +-0xe44, 0xe1a, 0xe15, 0xe4c, 0x70, 0x61, 0x69, 0x74, 0x69, 0x6b, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x4d, +-0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x54, +-0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, +-0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x4b, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x4d, +-0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, +-0x3b, 0x54, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, +-0x30, 0x7d, 0x3b, 0x45, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x62, 0x61, 0xfd, 0x74, 0x431, 0x430, 0x439, +-0x442, 0x438, 0x628, 0x627, 0x626, 0x679, 0x6b, 0x42, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x67e, 0x6cc, +-0x20, 0x628, 0x6cc, 0x3b, 0x45, 0x42, 0x62, 0x65, 0x69, 0x74, 0x69, 0x61, 0x75, 0x92c, 0x93e, 0x92f, 0x91f, 0x61, 0x1e6d, 0x61, +-0x6d, 0x1e0d, 0x61, 0x6e, 0x6b, 0x41, 0x1e6c, 0x3b, 0x4d, 0x41, 0x1e6c, 0x3b, 0x47, 0x41, 0x1e6c, 0x3b, 0x54, 0x41, 0x1e6c, 0x3b, +-0x50, 0x42, 0x3b, 0x45, 0x42, 0x13d7, 0x13d3, 0x13cd, 0x13a6, 0x13b5, 0x13a9, 0x431, 0x430, 0x430, 0x439, 0x442, 0x43a, 0x411, 0x3b, 0x41c, +-0x411, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x62, 0x79, 0x74, 0x65, 0x79, 0x6a9, 0x6cc, +-0x644, 0x648, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x645, 0x6af, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x6af, 0x6cc, 0x6af, 0x627, 0x628, +-0x627, 0x6cc, 0x62a, 0x3b, 0x62a, 0x631, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x6d, 0x67, 0x61, +-0x20, 0x62, 0x79, 0x74, 0x65, 0x42, 0x61, 0x69, 0x74, 0x2d, 0x64, 0x1eb9, 0x6d ++0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, 0x41f, 0x411, 0x3b, 0x45, 0x42, 0x1794, 0x17c3, 0x5b57, 0x8282, 0x4f4d, 0x5143, 0x7d44, 0x62, 0x61, ++0x6a, 0x74, 0x6f, 0x76, 0x69, 0x62, 0x61, 0x6a, 0x74, 0x79, 0x62, 0x61, 0x6a, 0x74, 0x6f, 0x6a, 0x62, 0x61, 0x69, 0x64, ++0x69, 0x64, 0x62, 0xfd, 0x74, 0x74, 0x61, 0x76, 0x75, 0x74, 0x6b, 0x74, 0x3b, 0x4d, 0x74, 0x3b, 0x47, 0x74, 0x3b, 0x54, ++0x74, 0x3b, 0x50, 0x74, 0x3b, 0x45, 0x74, 0x4b, 0x69, 0x74, 0x3b, 0x4d, 0x69, 0x74, 0x3b, 0x47, 0x69, 0x74, 0x3b, 0x54, ++0x69, 0x74, 0x3b, 0x50, 0x69, 0x74, 0x3b, 0x45, 0x69, 0x74, 0x6f, 0x63, 0x74, 0x65, 0x74, 0x73, 0x62, 0x61, 0x69, 0x64, ++0x68, 0x74, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x10d9, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10db, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, ++0x3b, 0x10d2, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10e2, 0x10d1, 0x10d0, 0x10d8, 0x10e2, 0x10d8, 0x3b, 0x10de, 0x10d1, 0x10d0, 0x10d8, 0x10e2, ++0x10d8, 0x3b, 0x45, 0x42, 0x42, 0x79, 0x74, 0x65, 0x73, 0xaac, 0xabe, 0xa87, 0xa9f, 0x6b, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, ++0x4d, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x54, 0x42, 0x20, 0x7b, 0x30, 0x7d, ++0x3b, 0x50, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x4b, 0x69, 0x42, 0x20, 0x7b, 0x30, ++0x7d, 0x3b, 0x4d, 0x69, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x69, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x54, 0x69, ++0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, 0x69, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x69, 0x42, 0x20, 0x7b, 0x30, ++0x7d, 0x5d1, 0x5d9, 0x5d9, 0x5d8, 0x92c, 0x93e, 0x907, 0x91f, 0x62, 0xe1, 0x6a, 0x74, 0x62, 0xe6, 0x74, 0x69, 0x62, 0x65, 0x61, ++0x72, 0x74, 0x61, 0x30d0, 0x30a4, 0x30c8, 0x4b, 0x42, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x50, 0x42, ++0x3b, 0x45, 0x42, 0x62, 0x69, 0x74, 0x65, 0xcac, 0xcc8, 0xc9f, 0xccd, 0x200c, 0xc97, 0xcb3, 0xcc1, 0xc95, 0xcbf, 0x2e, 0xcac, 0xcc8, ++0x2e, 0x3b, 0xcae, 0xcc6, 0x2e, 0xcac, 0xcc8, 0x2e, 0x3b, 0xc97, 0xcbf, 0x2e, 0xcac, 0xcc8, 0x2e, 0x3b, 0xc9f, 0xcc6, 0x2e, 0xcac, ++0xcc8, 0x2e, 0x3b, 0xcaa, 0xcc6, 0xcac, 0xcc8, 0x3b, 0x45, 0x42, 0x431, 0x430, 0x439, 0x442, 0x43a, 0x411, 0x3b, 0x4d, 0x411, 0x3b, ++0x413, 0x411, 0x3b, 0x54, 0x411, 0x3b, 0x41f, 0x411, 0x3b, 0x45, 0x411, 0x4b, 0x69, 0x411, 0x3b, 0x4d, 0x69, 0x411, 0x3b, 0x47, ++0x69, 0x411, 0x3b, 0x54, 0x69, 0x411, 0x3b, 0x50, 0x69, 0x411, 0x3b, 0x45, 0x69, 0x411, 0x43a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, ++0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, 0x41f, 0x442, 0x431, 0x3b, 0x45, 0x42, 0xbc14, 0xc774, 0xd2b8, 0x62, 0x61, 0x69, 0x74, 0x69, ++0x62, 0x61, 0x69, 0x74, 0x61, 0x69, 0x431, 0x430, 0x458, 0x442, 0x438, 0x62, 0x61, 0x69, 0x74, 0xd2c, 0xd48, 0xd31, 0xd4d, 0xd31, ++0xd4d, 0xd15, 0xd46, 0xd2c, 0xd3f, 0x3b, 0xd0e, 0xd02, 0xd2c, 0xd3f, 0x3b, 0xd1c, 0xd3f, 0xd2c, 0xd3f, 0x3b, 0xd1f, 0xd3f, 0xd2c, 0xd3f, ++0x3b, 0xd2a, 0xd3f, 0xd2c, 0xd3f, 0x3b, 0x45, 0x42, 0x43a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, 0x413, 0x411, 0x3b, 0x422, 0x411, 0x3b, ++0x41f, 0x411, 0x3b, 0x45, 0x42, 0x6b, 0x42, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x92a, 0x93f, 0x91f, ++0x93e, 0x3b, 0x45, 0x42, 0xb2c, 0xb3e, 0xb07, 0xb1f, 0xb4d, 0x628, 0x627, 0x64a, 0x67c, 0x633, 0x628, 0x627, 0x6cc, 0x62a, 0x3c, 0x4c, ++0x52, 0x4d, 0x3e, 0x6b, 0x42, 0x3b, 0x3c, 0x4c, 0x52, 0x4d, 0x3e, 0x4d, 0x42, 0x3b, 0x3c, 0x4c, 0x52, 0x4d, 0x3e, 0x47, ++0x42, 0x3b, 0x3c, 0x4c, 0x52, 0x4d, 0x3e, 0x54, 0x42, 0x3b, 0x3c, 0x4c, 0x52, 0x4d, 0x3e, 0x50, 0x42, 0x3b, 0x45, 0x42, ++0xa2c, 0xa3e, 0xa07, 0xa1f, 0x62, 0x79, 0x21b, 0x69, 0x431, 0x430, 0x458, 0x442, 0x43e, 0x432, 0x438, 0x628, 0x627, 0x626, 0x64a, 0x67d, ++0x632, 0x6aa, 0x644, 0x648, 0x20, 0x628, 0x627, 0x626, 0x64a, 0x67d, 0x632, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, ++0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0xdb6, 0xdba, 0xdd2, 0xda7, 0xdca, 0xd9a, 0xdd2, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xdb8, ++0xdd9, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xd9c, 0xdd2, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0xda7, 0xdd9, 0xdb6, 0x20, 0x7b, ++0x30, 0x7d, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x42, 0x62, 0x65, 0x79, 0x74, 0x69, 0x73, 0x6b, ++0x42, 0x3b, 0x4d, 0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x42, 0x42, 0x3b, 0x45, 0x42, 0x6b, 0x69, 0x6c, 0x6f, ++0x62, 0x61, 0x69, 0x74, 0x69, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x4d, 0x42, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, 0x42, 0x20, ++0x7b, 0x30, 0x7d, 0x3b, 0x74, 0x65, 0x72, 0x61, 0x62, 0x61, 0x69, 0x74, 0x69, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, 0x42, ++0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x42, 0xbaa, 0xbc8, 0xb9f, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0xc2c, 0xc48, 0xc1f, 0xc4d, 0x200c, 0xc32, ++0xc41, 0xc15, 0xc47, 0xc2c, 0xc40, 0x3b, 0xc0e, 0xc2e, 0xc4d, 0x200c, 0xc2c, 0xc3f, 0x3b, 0xc1c, 0xc40, 0xc2c, 0xc40, 0x3b, 0xc1f, 0xc40, ++0xc2c, 0xc40, 0x3b, 0xc2a, 0xc40, 0xc2c, 0xc40, 0x3b, 0x45, 0x42, 0xe44, 0xe1a, 0xe15, 0xe4c, 0x70, 0x61, 0x69, 0x74, 0x69, 0x6b, ++0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x4d, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x47, ++0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x54, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x50, ++0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x4b, 0x69, ++0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x4d, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, ++0x47, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x54, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, ++0x7d, 0x3b, 0x50, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, 0x7b, 0x30, 0x7d, 0x3b, 0x45, 0x69, 0x42, 0x20, 0x2bb, 0x65, 0x20, ++0x7b, 0x30, 0x7d, 0x62, 0x61, 0xfd, 0x74, 0x431, 0x430, 0x439, 0x442, 0x438, 0x628, 0x627, 0x626, 0x679, 0x6b, 0x42, 0x3b, 0x4d, ++0x42, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x67e, 0x6cc, 0x20, 0x628, 0x6cc, 0x3b, 0x45, 0x42, 0x62, 0x65, 0x69, 0x74, ++0x69, 0x61, 0x75, 0xe0, 0x77, 0x1ecd, 0x301, 0x6e, 0x20, 0x62, 0xe1, 0xec, 0x74, 0xec, 0x6b, 0xe9, 0x62, 0xe1, 0xec, 0x74, ++0xec, 0x3b, 0x4d, 0x42, 0x3b, 0x6a, 0xed, 0x62, 0xe1, 0xec, 0x74, 0xec, 0x3b, 0x54, 0xed, 0x62, 0xe1, 0xec, 0x74, 0xec, ++0x3b, 0x50, 0xed, 0x62, 0xe1, 0xec, 0x74, 0xec, 0x3b, 0x45, 0x42, 0xe0, 0x77, 0x254, 0x301, 0x6e, 0x20, 0x62, 0xe1, 0xec, ++0x74, 0xec, 0x92c, 0x93e, 0x92f, 0x91f, 0x61, 0x1e6d, 0x61, 0x6d, 0x1e0d, 0x61, 0x6e, 0x6b, 0x41, 0x1e6c, 0x3b, 0x4d, 0x41, 0x1e6c, ++0x3b, 0x47, 0x41, 0x1e6c, 0x3b, 0x54, 0x41, 0x1e6c, 0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x13d7, 0x13d3, 0x13cd, 0x13a6, 0x13b5, 0x13a9, ++0x431, 0x430, 0x430, 0x439, 0x442, 0x43a, 0x411, 0x3b, 0x41c, 0x411, 0x3b, 0x47, 0x42, 0x3b, 0x54, 0x42, 0x3b, 0x50, 0x42, 0x3b, ++0x45, 0x42, 0x62, 0x79, 0x74, 0x65, 0x79, 0x6a9, 0x6cc, 0x644, 0x648, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x645, 0x6af, 0x627, 0x628, ++0x627, 0x6cc, 0x62a, 0x3b, 0x6af, 0x6cc, 0x6af, 0x627, 0x628, 0x627, 0x6cc, 0x62a, 0x3b, 0x62a, 0x631, 0x627, 0x628, 0x627, 0x6cc, 0x62a, ++0x3b, 0x50, 0x42, 0x3b, 0x45, 0x42, 0x6d, 0x67, 0x61, 0x20, 0x62, 0x79, 0x74, 0x65, 0x42, 0x61, 0x69, 0x74, 0x2d, 0x64, ++0x1eb9, 0x6d + }; + + static const ushort am_data[] = { +@@ -3257,15 +3252,15 @@ static const ushort am_data[] = { + 0xcbe, 0xcb9, 0xccd, 0xca8, 0x442, 0x430, 0x4a3, 0x43a, 0x44b, 0xc624, 0xc804, 0x42, 0x4e, 0x5a, 0x2e, 0x4d, 0x55, 0x2e, 0xe81, 0xec8, + 0xead, 0xe99, 0xe97, 0xec8, 0xebd, 0xe87, 0x70, 0x72, 0x69, 0x65, 0x6b, 0x161, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, + 0x6e, 0x74, 0x254, 0x301, 0x6e, 0x67, 0x254, 0x301, 0x70, 0x72, 0x69, 0x65, 0x161, 0x70, 0x69, 0x65, 0x74, 0x43f, 0x440, 0x435, +-0x442, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0x50, 0x47, 0x92e, 0x2e, 0x92a, 0x942, 0x2e, 0x4af, 0x2e, 0x4e9, 0x2e, 0x92a, 0x942, +-0x930, 0x94d, 0x935, 0x93e, 0x939, 0x94d, 0x928, 0x63a, 0x2e, 0x645, 0x2e, 0x642, 0x628, 0x644, 0x200c, 0x627, 0x632, 0x638, 0x647, 0x631, +-0x64, 0x61, 0x20, 0x6d, 0x61, 0x6e, 0x68, 0xe3, 0xa2a, 0xa42, 0x2e, 0xa26, 0xa41, 0x2e, 0x4e, 0x44, 0x43f, 0x440, 0x435, 0x20, +-0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x72, 0x69, 0x6a, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0x70, 0x72, 0x65, 0x20, +-0x70, 0x6f, 0x64, 0x6e, 0x65, 0x43f, 0x440, 0x438, 0x458, 0x435, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x4d5, 0x43c, 0x431, 0x438, +-0x441, 0x431, 0x43e, 0x43d, 0x44b, 0x20, 0x440, 0x430, 0x437, 0x43c, 0x4d5, 0x635, 0x628, 0x62d, 0x60c, 0x20, 0x645, 0x646, 0x62c, 0x647, +-0x646, 0x62f, 0x92e, 0x902, 0x91d, 0x902, 0x926, 0x93f, 0x20, 0x915, 0x93e, 0x20, 0x92a, 0x939, 0x93f, 0x902, 0x930, 0x94b, 0xdb4, 0xdd9, +-0x2e, 0xdc0, 0x2e, 0x47, 0x48, 0x66, 0x6d, 0xbae, 0xbc1, 0xbb1, 0xbcd, 0xbaa, 0xb95, 0xbb2, 0xbcd, 0xe01, 0xe48, 0xe2d, 0xe19, 0xe40, +-0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf66, 0xf94, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x1295, 0x1309, 0x1206, 0x20, 0x1230, 0x12d3, 0x1270, 0x68, ++0x442, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0x50, 0x47, 0x4af, 0x2e, 0x4e9, 0x2e, 0x92a, 0x942, 0x930, 0x94d, 0x935, 0x93e, 0x939, ++0x94d, 0x928, 0x63a, 0x2e, 0x645, 0x2e, 0x642, 0x628, 0x644, 0x200c, 0x627, 0x632, 0x638, 0x647, 0x631, 0x64, 0x61, 0x20, 0x6d, 0x61, ++0x6e, 0x68, 0xe3, 0xa2a, 0xa42, 0x2e, 0xa26, 0xa41, 0x2e, 0x4e, 0x44, 0x43f, 0x440, 0x435, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, ++0x70, 0x72, 0x69, 0x6a, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0x70, 0x72, 0x65, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, ++0x43f, 0x440, 0x438, 0x458, 0x435, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x4d5, 0x43c, 0x431, 0x438, 0x441, 0x431, 0x43e, 0x43d, 0x44b, ++0x20, 0x440, 0x430, 0x437, 0x43c, 0x4d5, 0x635, 0x628, 0x62d, 0x60c, 0x20, 0x645, 0x646, 0x62c, 0x647, 0x646, 0x62f, 0x92e, 0x902, 0x91d, ++0x902, 0x926, 0x93f, 0x20, 0x915, 0x93e, 0x20, 0x92a, 0x939, 0x93f, 0x902, 0x930, 0x94b, 0xdb4, 0xdd9, 0x2e, 0xdc0, 0x2e, 0x47, 0x48, ++0x66, 0x6d, 0xbae, 0xbc1, 0xbb1, 0xbcd, 0xbaa, 0xb95, 0xbb2, 0xbcd, 0xe01, 0xe48, 0xe2d, 0xe19, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, ++0xf66, 0xf94, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x1245, 0x12f5, 0x1218, 0x20, 0x134d, 0x122d, 0x1242, 0x2d, 0x1218, 0x12d3, 0x120d, 0x1272, 0x68, + 0x65, 0x6e, 0x67, 0x69, 0x68, 0x65, 0x6e, 0x67, 0x69, 0xd6, 0xd6, 0x67, 0xfc, 0x6e, 0x6f, 0x72, 0x74, 0x61, 0x64, 0x61, + 0x6e, 0x20, 0xf6, 0x148, 0x686, 0x6c8, 0x634, 0x62a, 0x649, 0x646, 0x20, 0x628, 0x6c7, 0x631, 0x6c7, 0x646, 0x434, 0x43f, 0x54, 0x4f, + 0x422, 0x41e, 0x53, 0x41, 0x79, 0x62, 0x53, 0x75, 0x62, 0x5e4, 0x5bf, 0x5d0, 0x5b7, 0x5e8, 0x5de, 0x5d9, 0x5d8, 0x5d0, 0x5b8, 0x5d2, +@@ -3287,8 +3282,8 @@ static const ushort am_data[] = { + 0x6b, 0xed, 0x72, 0xed, 0x67, 0x73, 0xe1, 0x72, 0xfa, 0x77, 0xe1, 0x77, 0x69, 0x63, 0x68, 0x69, 0x73, 0x68, 0x75, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6d, 0x61, 0x6e, 0xe1, 0x52, 0x57, 0x42d, 0x418, 0x4c, 0x77, 0x61, 0x6d, 0x69, 0x6c, 0x61, 0x77, + 0x75, 0x6b, 0x69, 0x25b, 0x6d, 0x25b, 0x301, 0x25b, 0x6d, 0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x6d, 0x61, 0xf1, 0x61, 0x6e, +-0x61, 0x6d, 0x62, 0x61, 0xa78c, 0x6d, 0x62, 0x61, 0xa78c, 0x6d, 0x62, 0x61, 0x2bc, 0xe1, 0x6d, 0x62, 0x61, 0x2bc, 0x98f, 0x20, +-0x98f, 0x9ae, 0x1c65, 0x1c64, 0x1c67, 0x2f, 0x1c65, 0x1c6e, 0x1c5b, 0x1c5f, 0x1c5c, 0x628, 0x2e, 0x646, 0x64, 0x6f, 0x70, 0x6f, 0x142, 0x64, ++0x61, 0x6d, 0x62, 0x61, 0xa78c, 0x6d, 0x62, 0x61, 0xa78c, 0x6d, 0x62, 0x61, 0x2bc, 0xe1, 0x6d, 0x62, 0x61, 0x2bc, 0x938, 0x935, ++0x947, 0x930, 0x98f, 0x20, 0x98f, 0x9ae, 0x1c65, 0x1c6e, 0x1c5b, 0x1c5f, 0x1c5c, 0x628, 0x2e, 0x646, 0x64, 0x6f, 0x70, 0x6f, 0x142, 0x64, + 0x6e, 0x6a, 0x61, 0x69, 0x70, 0x2e, 0x46, 0x1ecd, 0x20, 0x6d, 0x1ecd, 0x301, 0x6e, 0x69, 0x6e + }; + +@@ -3302,40 +3297,40 @@ static const ushort pm_data[] = { + 0x442, 0x4e9, 0x43d, 0x20, 0x43a, 0x438, 0x439, 0x438, 0x43d, 0x43a, 0x438, 0xc624, 0xd6c4, 0x50, 0x4e, 0x5a, 0x2e, 0x4d, 0x57, 0x2e, + 0xeab, 0xebc, 0xeb1, 0xe87, 0xe97, 0xec8, 0xebd, 0xe87, 0x70, 0x113, 0x63, 0x70, 0x75, 0x73, 0x64, 0x69, 0x65, 0x6e, 0x101, 0x6d, + 0x70, 0xf3, 0x6b, 0x77, 0x61, 0x70, 0x6f, 0x70, 0x69, 0x65, 0x74, 0x43f, 0x43e, 0x43f, 0x43b, 0x430, 0x434, 0x43d, 0x435, 0x50, +-0x54, 0x47, 0x92e, 0x2e, 0x909, 0x2e, 0x4af, 0x2e, 0x445, 0x2e, 0x905, 0x92a, 0x930, 0x93e, 0x939, 0x94d, 0x928, 0x63a, 0x2e, 0x648, +-0x2e, 0x628, 0x639, 0x62f, 0x627, 0x632, 0x638, 0x647, 0x631, 0x64, 0x61, 0x20, 0x74, 0x61, 0x72, 0x64, 0x65, 0xa2c, 0xa3e, 0x2e, +-0xa26, 0xa41, 0x2e, 0x4c, 0x4b, 0x43f, 0x43e, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x6f, 0x20, 0x70, 0x6f, 0x64, 0x6e, +-0x65, 0x4d5, 0x43c, 0x431, 0x438, 0x441, 0x431, 0x43e, 0x43d, 0x44b, 0x20, 0x444, 0x4d5, 0x441, 0x442, 0x4d5, 0x645, 0x646, 0x62c, 0x647, +-0x646, 0x62f, 0x60c, 0x20, 0x634, 0x627, 0x645, 0x92e, 0x902, 0x91d, 0x902, 0x926, 0x93f, 0x20, 0x915, 0x94b, 0x20, 0x92a, 0x94b, 0x90f, +-0xdb4, 0x2e, 0xdc0, 0x2e, 0x70, 0x6f, 0x70, 0x2e, 0x47, 0x44, 0x65, 0x6d, 0xbaa, 0xbbf, 0xbb1, 0xbcd, 0xbaa, 0xb95, 0xbb2, 0xbcd, +-0xe2b, 0xe25, 0xe31, 0xe07, 0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf55, 0xfb1, 0xf72, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x12f5, 0x1215, +-0x122d, 0x20, 0x1230, 0x12d3, 0x1275, 0x65, 0x66, 0x69, 0x61, 0x66, 0x69, 0xd6, 0x53, 0x67, 0xfc, 0x6e, 0x6f, 0x72, 0x74, 0x61, +-0x64, 0x61, 0x6e, 0x20, 0x73, 0x6f, 0x148, 0x686, 0x6c8, 0x634, 0x62a, 0x649, 0x646, 0x20, 0x643, 0x6d0, 0x64a, 0x649, 0x646, 0x43f, +-0x43f, 0x54, 0x4b, 0x422, 0x41a, 0x43, 0x48, 0x79, 0x68, 0x4e, 0x67, 0x6f, 0x5e0, 0x5d0, 0x5b8, 0x5db, 0x5de, 0x5d9, 0x5d8, 0x5d0, +-0x5b8, 0x5d2, 0x1ecc, 0x300, 0x73, 0xe1, 0x6e, 0x186, 0x300, 0x73, 0xe1, 0x6e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x64, +-0x64, 0x61, 0x67, 0x70, 0x6f, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0x43f, 0x43e, 0x441, 0x43b, 0x438, 0x458, 0x435, 0x20, 0x43f, 0x43e, +-0x434, 0x43d, 0x435, 0x45, 0x57, 0x4e, 0x2019, 0x61, 0x62, 0x61, 0x6c, 0x69, 0x128, 0x79, 0x61, 0x77, 0x129, 0x6f, 0x6f, 0x70, +-0x2e, 0x263, 0x65, 0x74, 0x72, 0x254, 0x61, 0x6d, 0x20, 0x4e, 0x61, 0x6d, 0x69, 0x74, 0x74, 0x61, 0x67, 0xa06f, 0xa2d2, 0x65, +-0x61, 0x68, 0x6b, 0x65, 0x74, 0x62, 0x65, 0x61, 0x69, 0x76, 0x65, 0x74, 0x65, 0x62, 0x4d, 0x6f, 0x67, 0x6c, 0x75, 0x6d, +-0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x70, 0x6b, 0x69, 0x6b, 0x69, 0x69, 0x257, 0x65, 0x48, 0x77, 0x61, 0x129, 0x2d, 0x69, +-0x6e, 0x129, 0x54, 0x65, 0x69, 0x70, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6f, 0x74, 0x6f, 0x2d5c, 0x2d30, 0x2d37, 0x2d33, 0x2d33, 0x2d6f, +-0x2d30, 0x2d5c, 0x74, 0x61, 0x64, 0x67, 0x67, 0x2b7, 0x61, 0x74, 0x6e, 0x20, 0x74, 0x6d, 0x65, 0x64, 0x64, 0x69, 0x74, 0x70, +-0x61, 0x6d, 0x75, 0x6e, 0x79, 0x69, 0x6b, 0x79, 0x69, 0x75, 0x6b, 0x6f, 0x6e, 0x79, 0x69, 0x55, 0x54, 0x13d2, 0x13af, 0x13f1, +-0x13a2, 0x13d7, 0x13e2, 0x43, 0x68, 0x69, 0x6c, 0x6f, 0x4d, 0x55, 0x55, 0x61, 0x6b, 0x61, 0x73, 0x75, 0x62, 0x61, 0x168, 0x47, +-0x6b, 0x6f, 0x6f, 0x73, 0x6b, 0x6f, 0x6c, 0x69, 0x6e, 0x79, 0x1c3, 0x75, 0x69, 0x61, 0x73, 0x55, 0x68, 0x72, 0x20, 0x6e, +-0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x73, 0x190, 0x6e, 0x64, 0xe1, 0x6d, 0xe2, 0x45, 0x69, 0x67, +-0x75, 0x6c, 0x6f, 0x69, 0x63, 0x68, 0x61, 0x6d, 0x74, 0x68, 0x69, 0x45, 0x62, 0x6f, 0x6e, 0x67, 0x69, 0x41, 0x6c, 0x75, +-0x75, 0x6c, 0x61, 0x4f, 0x54, 0x1e0c, 0x65, 0x66, 0x66, 0x69, 0x72, 0x20, 0x61, 0x7a, 0x61, 0x6e, 0x79, 0x69, 0x61, 0x67, +-0x68, 0x75, 0x6f, 0x92c, 0x947, 0x932, 0x93e, 0x938, 0x947, 0x44, 0x69, 0x6c, 0x6f, 0x6c, 0x6f, 0x6e, 0x6f, 0x6d, 0xeb, 0x74, +-0x74, 0x65, 0x73, 0x61, 0x2e, 0x6b, 0x49, 0x20, 0x253, 0x75, 0x67, 0x61, 0x6a, 0x254, 0x70, 0x5a, 0x61, 0x61, 0x72, 0x69, +-0x6b, 0x61, 0x79, 0x20, 0x62, 0x65, 0x62, 0x79, 0xe1, 0x6d, 0x75, 0x6e, 0x67, 0x259, 0x67, 0xf3, 0x67, 0x259, 0x6c, 0x65, +-0x63, 0x25b, 0x25b, 0x301, 0x6e, 0x6b, 0x6f, 0x6d, 0x63, 0x68, 0x6f, 0x63, 0x68, 0x69, 0x6c, 0x2019, 0x6c, 0x6c, 0x69, 0x6c, +-0x6c, 0x69, 0x6b, 0x75, 0x67, 0xfa, 0x54, 0x14a, 0x42d, 0x41a, 0x50, 0x61, 0x73, 0x68, 0x61, 0x6d, 0x69, 0x68, 0x65, 0x6b, +-0x69, 0x73, 0x25b, 0x301, 0x6e, 0x64, 0x25b, 0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x64, 0x65, 0x14b, 0x6b, +-0x61, 0x20, 0x6d, 0x62, 0x254, 0x301, 0x74, 0x20, 0x6e, 0x6a, 0x69, 0x6e, 0x63, 0x77, 0xf2, 0x6e, 0x7a, 0xe9, 0x6d, 0x9aa, +-0x9bf, 0x20, 0x98f, 0x9ae, 0x1c5f, 0x1c79, 0x1c6d, 0x1c69, 0x1c75, 0x2f, 0x1c67, 0x1c64, 0x1c6b, 0x1c5f, 0x62f, 0x2e, 0x646, 0x77, 0xf3, 0x74, +-0x70, 0x6f, 0x142, 0x64, 0x6e, 0x6a, 0x61, 0x70, 0x6f, 0x70, 0x6f, 0x142, 0x64, 0x6e, 0x6a, 0x75, 0x65, 0x70, 0x2e, 0x46, +-0x1ecd, 0x20, 0xed, 0x76, 0x6e, 0x69, 0x6e ++0x54, 0x47, 0x4af, 0x2e, 0x445, 0x2e, 0x905, 0x92a, 0x930, 0x93e, 0x939, 0x94d, 0x928, 0x63a, 0x2e, 0x648, 0x2e, 0x628, 0x639, 0x62f, ++0x627, 0x632, 0x638, 0x647, 0x631, 0x64, 0x61, 0x20, 0x74, 0x61, 0x72, 0x64, 0x65, 0xa2c, 0xa3e, 0x2e, 0xa26, 0xa41, 0x2e, 0x4c, ++0x4b, 0x43f, 0x43e, 0x20, 0x43f, 0x43e, 0x434, 0x43d, 0x435, 0x70, 0x6f, 0x20, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0x4d5, 0x43c, 0x431, ++0x438, 0x441, 0x431, 0x43e, 0x43d, 0x44b, 0x20, 0x444, 0x4d5, 0x441, 0x442, 0x4d5, 0x645, 0x646, 0x62c, 0x647, 0x646, 0x62f, 0x60c, 0x20, ++0x634, 0x627, 0x645, 0x92e, 0x902, 0x91d, 0x902, 0x926, 0x93f, 0x20, 0x915, 0x94b, 0x20, 0x92a, 0x94b, 0x90f, 0xdb4, 0x2e, 0xdc0, 0x2e, ++0x70, 0x6f, 0x70, 0x2e, 0x47, 0x44, 0x65, 0x6d, 0xbaa, 0xbbf, 0xbb1, 0xbcd, 0xbaa, 0xb95, 0xbb2, 0xbcd, 0xe2b, 0xe25, 0xe31, 0xe07, ++0xe40, 0xe17, 0xe35, 0xe48, 0xe22, 0xe07, 0xf55, 0xfb1, 0xf72, 0xf0b, 0xf51, 0xfb2, 0xf7c, 0xf0b, 0x12f0, 0x1215, 0x1228, 0x20, 0x134d, 0x122d, ++0x1240, 0x2d, 0x1218, 0x12d3, 0x120d, 0x1272, 0x65, 0x66, 0x69, 0x61, 0x66, 0x69, 0xd6, 0x53, 0x67, 0xfc, 0x6e, 0x6f, 0x72, 0x74, ++0x61, 0x64, 0x61, 0x6e, 0x20, 0x73, 0x6f, 0x148, 0x686, 0x6c8, 0x634, 0x62a, 0x649, 0x646, 0x20, 0x643, 0x6d0, 0x64a, 0x649, 0x646, ++0x43f, 0x43f, 0x54, 0x4b, 0x422, 0x41a, 0x43, 0x48, 0x79, 0x68, 0x4e, 0x67, 0x6f, 0x5e0, 0x5d0, 0x5b8, 0x5db, 0x5de, 0x5d9, 0x5d8, ++0x5d0, 0x5b8, 0x5d2, 0x1ecc, 0x300, 0x73, 0xe1, 0x6e, 0x186, 0x300, 0x73, 0xe1, 0x6e, 0x65, 0x74, 0x74, 0x65, 0x72, 0x6d, 0x69, ++0x64, 0x64, 0x61, 0x67, 0x70, 0x6f, 0x70, 0x6f, 0x64, 0x6e, 0x65, 0x43f, 0x43e, 0x441, 0x43b, 0x438, 0x458, 0x435, 0x20, 0x43f, ++0x43e, 0x434, 0x43d, 0x435, 0x45, 0x57, 0x4e, 0x2019, 0x61, 0x62, 0x61, 0x6c, 0x69, 0x128, 0x79, 0x61, 0x77, 0x129, 0x6f, 0x6f, ++0x70, 0x2e, 0x263, 0x65, 0x74, 0x72, 0x254, 0x61, 0x6d, 0x20, 0x4e, 0x61, 0x6d, 0x69, 0x74, 0x74, 0x61, 0x67, 0xa06f, 0xa2d2, ++0x65, 0x61, 0x68, 0x6b, 0x65, 0x74, 0x62, 0x65, 0x61, 0x69, 0x76, 0x65, 0x74, 0x65, 0x62, 0x4d, 0x6f, 0x67, 0x6c, 0x75, ++0x6d, 0x61, 0x20, 0x6c, 0x77, 0x61, 0x20, 0x70, 0x6b, 0x69, 0x6b, 0x69, 0x69, 0x257, 0x65, 0x48, 0x77, 0x61, 0x129, 0x2d, ++0x69, 0x6e, 0x129, 0x54, 0x65, 0x69, 0x70, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x6f, 0x74, 0x6f, 0x2d5c, 0x2d30, 0x2d37, 0x2d33, 0x2d33, ++0x2d6f, 0x2d30, 0x2d5c, 0x74, 0x61, 0x64, 0x67, 0x67, 0x2b7, 0x61, 0x74, 0x6e, 0x20, 0x74, 0x6d, 0x65, 0x64, 0x64, 0x69, 0x74, ++0x70, 0x61, 0x6d, 0x75, 0x6e, 0x79, 0x69, 0x6b, 0x79, 0x69, 0x75, 0x6b, 0x6f, 0x6e, 0x79, 0x69, 0x55, 0x54, 0x13d2, 0x13af, ++0x13f1, 0x13a2, 0x13d7, 0x13e2, 0x43, 0x68, 0x69, 0x6c, 0x6f, 0x4d, 0x55, 0x55, 0x61, 0x6b, 0x61, 0x73, 0x75, 0x62, 0x61, 0x168, ++0x47, 0x6b, 0x6f, 0x6f, 0x73, 0x6b, 0x6f, 0x6c, 0x69, 0x6e, 0x79, 0x1c3, 0x75, 0x69, 0x61, 0x73, 0x55, 0x68, 0x72, 0x20, ++0x6e, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x61, 0x63, 0x68, 0x73, 0x190, 0x6e, 0x64, 0xe1, 0x6d, 0xe2, 0x45, 0x69, ++0x67, 0x75, 0x6c, 0x6f, 0x69, 0x63, 0x68, 0x61, 0x6d, 0x74, 0x68, 0x69, 0x45, 0x62, 0x6f, 0x6e, 0x67, 0x69, 0x41, 0x6c, ++0x75, 0x75, 0x6c, 0x61, 0x4f, 0x54, 0x1e0c, 0x65, 0x66, 0x66, 0x69, 0x72, 0x20, 0x61, 0x7a, 0x61, 0x6e, 0x79, 0x69, 0x61, ++0x67, 0x68, 0x75, 0x6f, 0x92c, 0x947, 0x932, 0x93e, 0x938, 0x947, 0x44, 0x69, 0x6c, 0x6f, 0x6c, 0x6f, 0x6e, 0x6f, 0x6d, 0xeb, ++0x74, 0x74, 0x65, 0x73, 0x61, 0x2e, 0x6b, 0x49, 0x20, 0x253, 0x75, 0x67, 0x61, 0x6a, 0x254, 0x70, 0x5a, 0x61, 0x61, 0x72, ++0x69, 0x6b, 0x61, 0x79, 0x20, 0x62, 0x65, 0x62, 0x79, 0xe1, 0x6d, 0x75, 0x6e, 0x67, 0x259, 0x67, 0xf3, 0x67, 0x259, 0x6c, ++0x65, 0x63, 0x25b, 0x25b, 0x301, 0x6e, 0x6b, 0x6f, 0x6d, 0x63, 0x68, 0x6f, 0x63, 0x68, 0x69, 0x6c, 0x2019, 0x6c, 0x6c, 0x69, ++0x6c, 0x6c, 0x69, 0x6b, 0x75, 0x67, 0xfa, 0x54, 0x14a, 0x42d, 0x41a, 0x50, 0x61, 0x73, 0x68, 0x61, 0x6d, 0x69, 0x68, 0x65, ++0x6b, 0x69, 0x73, 0x25b, 0x301, 0x6e, 0x64, 0x25b, 0x64, 0x65, 0x20, 0x6c, 0x61, 0x20, 0x74, 0x61, 0x72, 0x64, 0x65, 0x14b, ++0x6b, 0x61, 0x20, 0x6d, 0x62, 0x254, 0x301, 0x74, 0x20, 0x6e, 0x6a, 0x69, 0x6e, 0x63, 0x77, 0xf2, 0x6e, 0x7a, 0xe9, 0x6d, ++0x92c, 0x93e, 0x926, 0x20, 0x926, 0x92a, 0x948, 0x939, 0x930, 0x9aa, 0x9bf, 0x20, 0x98f, 0x9ae, 0x1c67, 0x1c64, 0x1c6b, 0x1c5f, 0x1c79, 0x62f, ++0x2e, 0x646, 0x77, 0xf3, 0x74, 0x70, 0x6f, 0x142, 0x64, 0x6e, 0x6a, 0x61, 0x70, 0x6f, 0x70, 0x6f, 0x142, 0x64, 0x6e, 0x6a, ++0x75, 0x65, 0x70, 0x2e, 0x46, 0x1ecd, 0x20, 0xed, 0x76, 0x6e, 0x69, 0x6e + }; + + static const ushort currency_symbol_data[] = { +@@ -3349,14 +3344,14 @@ static const ushort currency_symbol_data[] = { + 0x24, 0x48, 0x52, 0x4b, 0x4b, 0x4d, 0x4b, 0x10d, 0x6b, 0x72, 0x2e, 0x41, 0x66, 0x6c, 0x2e, 0x4e, 0x41, 0x66, 0x2e, 0x55, + 0x53, 0x24, 0x50, 0x46, 0x42, 0x75, 0x44, 0x47, 0x48, 0x20b5, 0x41, 0x72, 0x4d, 0x4b, 0x52, 0x4d, 0x52, 0x73, 0x20a6, 0x20b1, + 0x52, 0x46, 0x57, 0x53, 0x24, 0x53, 0x52, 0x4c, 0x65, 0x45, 0x6b, 0x72, 0x54, 0x53, 0x68, 0x54, 0x24, 0x55, 0x53, 0x68, +-0x41, 0x45, 0x44, 0x56, 0x54, 0x44, 0x41, 0x43, 0x46, 0x41, 0x46, 0x43, 0x46, 0x43, 0x46, 0x50, 0x46, 0x47, 0x47, 0x55, +-0x4d, 0x4d, 0x41, 0x44, 0x43, 0x48, 0x46, 0x4c, 0x53, 0x44, 0x54, 0x20be, 0x20b2, 0x46, 0x74, 0x49, 0x53, 0x4b, 0x52, 0x70, +-0x43, 0x41, 0x24, 0xffe5, 0x20b8, 0x441, 0x43e, 0x43c, 0x20a9, 0x4b, 0x50, 0x57, 0x20ba, 0x20ad, 0x4b, 0x7a, 0x434, 0x435, 0x43d, 0x2e, +-0x20ae, 0x43, 0x4e, 0xa5, 0x928, 0x947, 0x930, 0x942, 0x60b, 0x631, 0x6cc, 0x627, 0x644, 0x7a, 0x142, 0x52, 0x24, 0x200b, 0x4d, 0x54, +-0x6e, 0x44, 0x62, 0x631, 0x53, 0x2f, 0x42, 0x73, 0x52, 0x4f, 0x4e, 0x4c, 0x20b4, 0x52, 0x53, 0x44, 0x41a, 0x41c, 0xdbb, 0xdd4, +-0x2e, 0x20a1, 0x52, 0x44, 0x24, 0x51, 0x43, 0x24, 0x42, 0x2f, 0x2e, 0x47, 0x73, 0x2e, 0x42, 0x73, 0x2e, 0x53, 0x441, 0x43e, +-0x43c, 0x2e, 0x52, 0x73, 0x2e, 0xe3f, 0x54, 0x4d, 0x54, 0x73, 0x6f, 0x2bb, 0x6d, 0x441, 0x45e, 0x43c, 0x20ab, 0x4e, 0x54, 0x24, +-0x41, 0x24, 0x49, 0x52, 0x52 ++0x41, 0x45, 0x44, 0x56, 0x54, 0x44, 0x41, 0x43, 0x46, 0x41, 0x24, 0xa0, 0x43, 0x41, 0x46, 0x43, 0x46, 0x43, 0x46, 0x50, ++0x46, 0x47, 0x47, 0x55, 0x4d, 0x4d, 0x41, 0x44, 0x43, 0x48, 0x46, 0x4c, 0x53, 0x44, 0x54, 0x20be, 0x20b2, 0x46, 0x74, 0x49, ++0x53, 0x4b, 0x52, 0x70, 0x43, 0x41, 0x24, 0xffe5, 0x20b8, 0x441, 0x43e, 0x43c, 0x20a9, 0x4b, 0x50, 0x57, 0x20ba, 0x20ad, 0x4b, 0x7a, ++0x434, 0x435, 0x43d, 0x2e, 0x20ae, 0x43, 0x4e, 0xa5, 0x928, 0x947, 0x930, 0x942, 0x60b, 0x631, 0x6cc, 0x627, 0x644, 0x7a, 0x142, 0x52, ++0x24, 0x200b, 0x4d, 0x54, 0x6e, 0x44, 0x62, 0x631, 0x53, 0x2f, 0x42, 0x73, 0x52, 0x4f, 0x4e, 0x4c, 0x20b4, 0x52, 0x53, 0x44, ++0x41a, 0x41c, 0xdbb, 0xdd4, 0x2e, 0x20a1, 0x52, 0x44, 0x24, 0x51, 0x43, 0x24, 0x42, 0x2f, 0x2e, 0x47, 0x73, 0x2e, 0x42, 0x73, ++0x2e, 0x53, 0x441, 0x43e, 0x43c, 0x2e, 0x52, 0x73, 0x2e, 0xe3f, 0x54, 0x4d, 0x54, 0x73, 0x6f, 0x2bb, 0x6d, 0x441, 0x45e, 0x43c, ++0x20ab, 0x4e, 0x54, 0x24, 0x41, 0x24, 0x49, 0x52, 0x52 + }; + + static const ushort currency_display_name_data[] = { +@@ -3564,146 +3559,146 @@ static const ushort currency_display_name_data[] = { + 0x3b, 0x42, 0x61, 0x72, 0x62, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x42, + 0x65, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x42, 0x65, 0x6c, 0x69, 0x7a, 0x65, + 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x65, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x64, 0x6f, +-0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, +-0x72, 0x3b, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, +-0x3b, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x42, +-0x6f, 0x74, 0x73, 0x77, 0x61, 0x6e, 0x61, 0x6e, 0x20, 0x50, 0x75, 0x6c, 0x61, 0x3b, 0x3b, 0x42, 0x6f, 0x74, 0x73, 0x77, +-0x61, 0x6e, 0x61, 0x6e, 0x20, 0x70, 0x75, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x6f, 0x74, 0x73, 0x77, 0x61, 0x6e, +-0x61, 0x6e, 0x20, 0x70, 0x75, 0x6c, 0x61, 0x73, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x46, +-0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x66, 0x72, 0x61, 0x6e, +-0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, +-0x73, 0x3b, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x43, 0x46, +-0x41, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x41, 0x66, 0x72, +-0x69, 0x63, 0x61, 0x6e, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x65, +-0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, +-0x61, 0x6e, 0x63, 0x73, 0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, +-0x3b, 0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, +-0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x43, 0x61, +-0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, +-0x3b, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, 0x6c, +-0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, +-0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, 0x61, 0x6e, 0x64, +-0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, 0x61, 0x6e, 0x64, +-0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, 0x61, +-0x6e, 0x64, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, 0x20, 0x4b, 0x72, +-0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x3b, +-0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x72, 0x3b, 0x45, 0x72, 0x69, 0x74, 0x72, +-0x65, 0x61, 0x6e, 0x20, 0x4e, 0x61, 0x6b, 0x66, 0x61, 0x3b, 0x3b, 0x45, 0x72, 0x69, 0x74, 0x72, 0x65, 0x61, 0x6e, 0x20, +-0x6e, 0x61, 0x6b, 0x66, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x72, 0x69, 0x74, 0x72, 0x65, 0x61, 0x6e, 0x20, 0x6e, 0x61, +-0x6b, 0x66, 0x61, 0x73, 0x3b, 0x46, 0x61, 0x6c, 0x6b, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, +-0x73, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x46, 0x61, 0x6c, 0x6b, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x73, +-0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x61, 0x6c, 0x6b, 0x6c, +-0x61, 0x6e, 0x64, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x46, +-0x69, 0x6a, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x46, 0x69, 0x6a, 0x69, 0x61, 0x6e, +-0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x69, 0x6a, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, +-0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x55, 0x4b, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x55, 0x4b, 0x20, 0x70, +-0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x4b, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x47, 0x61, +-0x6d, 0x62, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x3b, 0x3b, 0x47, 0x61, 0x6d, 0x62, 0x69, 0x61, +-0x6e, 0x20, 0x64, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x20, +-0x64, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x73, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, 0x43, 0x65, 0x64, +-0x69, 0x3b, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, 0x63, 0x65, 0x64, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, +-0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, 0x63, 0x65, 0x64, 0x69, 0x73, 0x3b, 0x47, 0x69, 0x62, 0x72, 0x61, +-0x6c, 0x74, 0x61, 0x72, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x47, 0x69, 0x62, 0x72, 0x61, 0x6c, 0x74, 0x61, +-0x72, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x69, 0x62, 0x72, 0x61, 0x6c, 0x74, 0x61, 0x72, +-0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, 0x20, 0x44, 0x6f, +-0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, +-0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, +-0x61, 0x72, 0x73, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, +-0x3b, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, +-0x3b, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, +-0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, +-0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, +-0x65, 0x65, 0x73, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x53, 0x68, 0x65, 0x6b, +-0x65, 0x6c, 0x3b, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x73, 0x68, 0x65, 0x6b, +-0x65, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x73, 0x68, +-0x65, 0x6b, 0x65, 0x6c, 0x73, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, +-0x72, 0x3b, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, +-0x3b, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4b, +-0x65, 0x6e, 0x79, 0x61, 0x6e, 0x20, 0x53, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x4b, 0x65, 0x6e, 0x79, +-0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x4b, 0x65, 0x6e, 0x79, 0x61, +-0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, +-0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, +-0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, +-0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x3b, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61, +-0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x64, +-0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, +-0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x50, 0x61, 0x74, 0x61, 0x63, +-0x61, 0x3b, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x61, 0x63, 0x61, 0x3b, 0x3b, +-0x3b, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x61, 0x63, 0x61, 0x73, 0x3b, 0x4d, +-0x61, 0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x20, 0x41, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, +-0x67, 0x61, 0x73, 0x79, 0x20, 0x61, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x67, +-0x61, 0x73, 0x79, 0x20, 0x61, 0x72, 0x69, 0x61, 0x72, 0x69, 0x65, 0x73, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, 0x61, +-0x6e, 0x20, 0x4b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, 0x61, 0x6e, 0x20, 0x6b, +-0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, 0x61, 0x6e, 0x20, 0x6b, 0x77, +-0x61, 0x63, 0x68, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x69, 0x6e, 0x67, +-0x67, 0x69, 0x74, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x69, 0x6e, 0x67, 0x67, +-0x69, 0x74, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x69, 0x6e, 0x67, +-0x67, 0x69, 0x74, 0x73, 0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x75, 0x70, 0x65, 0x65, +-0x3b, 0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, +-0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x4e, 0x61, +-0x6d, 0x69, 0x62, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, 0x62, +-0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, 0x62, 0x69, +-0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, +-0x4e, 0x61, 0x69, 0x72, 0x61, 0x3b, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x6e, 0x61, 0x69, 0x72, +-0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x6e, 0x61, 0x69, 0x72, 0x61, 0x73, +-0x3b, 0x50, 0x61, 0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x52, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x50, 0x61, +-0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x6b, +-0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x50, 0x61, 0x70, 0x75, 0x61, 0x20, +-0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x4b, 0x69, 0x6e, 0x61, 0x3b, 0x3b, 0x50, 0x61, +-0x70, 0x75, 0x61, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x6b, 0x69, 0x6e, 0x61, +-0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x70, 0x75, 0x61, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, +-0x6e, 0x20, 0x6b, 0x69, 0x6e, 0x61, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x50, 0x69, +-0x73, 0x6f, 0x3b, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, 0x3b, +-0x3b, 0x3b, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, 0x73, 0x3b, +-0x52, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x52, 0x77, 0x61, 0x6e, 0x64, +-0x61, 0x6e, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, +-0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, 0x3b, 0x53, 0x61, 0x6d, 0x6f, 0x61, 0x6e, 0x20, 0x54, 0x61, 0x6c, 0x61, 0x3b, 0x3b, +-0x53, 0x61, 0x6d, 0x6f, 0x61, 0x6e, 0x20, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x61, 0x6d, 0x6f, 0x61, +-0x6e, 0x20, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, 0x52, +-0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, 0x72, 0x75, +-0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, 0x72, +-0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x61, 0x6e, +-0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, +-0x61, 0x6e, 0x20, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, +-0x65, 0x6f, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x73, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, +-0x6f, 0x72, 0x65, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, +-0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, +-0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x49, 0x73, +-0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, +-0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, +-0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, 0x6c, +-0x61, 0x72, 0x73, 0x3b, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, +-0x3b, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, +-0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x53, 0x75, 0x64, +-0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x65, 0x73, +-0x65, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, +-0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x4c, 0x69, 0x6c, 0x61, 0x6e, 0x67, 0x65, +-0x6e, 0x69, 0x3b, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x6c, 0x69, 0x6c, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x69, 0x3b, +-0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x65, 0x6d, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x69, 0x3b, +-0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x20, 0x4b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x53, 0x77, 0x65, 0x64, 0x69, +-0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x20, +-0x6b, 0x72, 0x6f, 0x6e, 0x6f, 0x72, 0x3b, 0x53, 0x77, 0x69, 0x73, 0x73, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, +-0x53, 0x77, 0x69, 0x73, 0x73, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x69, 0x73, 0x73, +-0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, 0x20, 0x53, 0x68, +-0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, 0x20, 0x73, 0x68, +-0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, 0x20, +-0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x50, 0x61, 0x2bb, +-0x61, 0x6e, 0x67, 0x61, 0x3b, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, +-0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x54, +-0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, 0x6f, 0x20, 0x44, 0x6f, 0x6c, +-0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, +-0x67, 0x6f, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, +-0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, 0x6f, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x55, +-0x67, 0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x53, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x55, 0x67, 0x61, +-0x6e, 0x64, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x67, 0x61, +-0x6e, 0x64, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x55, 0x6e, 0x69, 0x74, 0x65, +-0x64, 0x20, 0x41, 0x72, 0x61, 0x62, 0x20, 0x45, 0x6d, 0x69, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x44, 0x69, 0x72, 0x68, +-0x61, 0x6d, 0x3b, 0x3b, 0x55, 0x41, 0x45, 0x20, 0x64, 0x69, 0x72, 0x68, 0x61, 0x6d, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x41, +-0x45, 0x20, 0x64, 0x69, 0x72, 0x68, 0x61, 0x6d, 0x73, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x50, 0x6f, +-0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, +-0x3b, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x56, 0x61, 0x6e, +-0x75, 0x61, 0x74, 0x75, 0x20, 0x56, 0x61, 0x74, 0x75, 0x3b, 0x3b, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x20, 0x76, +-0x61, 0x74, 0x75, 0x3b, 0x3b, 0x3b, 0x3b, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x20, 0x76, 0x61, 0x74, 0x75, 0x73, ++0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, ++0x61, 0x72, 0x3b, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, ++0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x65, 0x72, 0x6d, 0x75, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, ++0x73, 0x3b, 0x42, 0x6f, 0x74, 0x73, 0x77, 0x61, 0x6e, 0x61, 0x6e, 0x20, 0x50, 0x75, 0x6c, 0x61, 0x3b, 0x3b, 0x42, 0x6f, ++0x74, 0x73, 0x77, 0x61, 0x6e, 0x61, 0x6e, 0x20, 0x70, 0x75, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x6f, 0x74, 0x73, ++0x77, 0x61, 0x6e, 0x61, 0x6e, 0x20, 0x70, 0x75, 0x6c, 0x61, 0x73, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, ++0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x66, ++0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x66, 0x72, ++0x61, 0x6e, 0x63, 0x73, 0x3b, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, ++0x20, 0x43, 0x46, 0x41, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, ++0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, ++0x3b, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x43, 0x46, 0x41, ++0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, 0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, ++0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, ++0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, ++0x3b, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x44, 0x6f, 0x6c, 0x6c, ++0x61, 0x72, 0x3b, 0x3b, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, ++0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, ++0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, ++0x61, 0x6e, 0x64, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, 0x61, 0x6c, ++0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x65, 0x77, 0x20, 0x5a, 0x65, ++0x61, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, ++0x20, 0x4b, 0x72, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, ++0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x61, 0x6e, 0x69, 0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x72, 0x3b, 0x45, 0x72, ++0x69, 0x74, 0x72, 0x65, 0x61, 0x6e, 0x20, 0x4e, 0x61, 0x6b, 0x66, 0x61, 0x3b, 0x3b, 0x45, 0x72, 0x69, 0x74, 0x72, 0x65, ++0x61, 0x6e, 0x20, 0x6e, 0x61, 0x6b, 0x66, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x72, 0x69, 0x74, 0x72, 0x65, 0x61, 0x6e, ++0x20, 0x6e, 0x61, 0x6b, 0x66, 0x61, 0x73, 0x3b, 0x46, 0x61, 0x6c, 0x6b, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x73, 0x6c, ++0x61, 0x6e, 0x64, 0x73, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x46, 0x61, 0x6c, 0x6b, 0x6c, 0x61, 0x6e, 0x64, ++0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x61, ++0x6c, 0x6b, 0x6c, 0x61, 0x6e, 0x64, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, ++0x73, 0x3b, 0x46, 0x69, 0x6a, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x46, 0x69, 0x6a, ++0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x69, 0x6a, 0x69, 0x61, 0x6e, ++0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x55, 0x4b, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x55, ++0x4b, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x4b, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, ++0x3b, 0x47, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x3b, 0x3b, 0x47, 0x61, 0x6d, ++0x62, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x61, 0x6d, 0x62, 0x69, ++0x61, 0x6e, 0x20, 0x64, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x73, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, ++0x43, 0x65, 0x64, 0x69, 0x3b, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, 0x63, 0x65, 0x64, 0x69, 0x3b, ++0x3b, 0x3b, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x61, 0x6e, 0x20, 0x63, 0x65, 0x64, 0x69, 0x73, 0x3b, 0x47, 0x69, ++0x62, 0x72, 0x61, 0x6c, 0x74, 0x61, 0x72, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x47, 0x69, 0x62, 0x72, 0x61, ++0x6c, 0x74, 0x61, 0x72, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x69, 0x62, 0x72, 0x61, 0x6c, ++0x74, 0x61, 0x72, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, ++0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, 0x20, 0x64, ++0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x65, 0x73, 0x65, 0x20, 0x64, ++0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x44, 0x6f, 0x6c, ++0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, ++0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x48, 0x6f, 0x6e, 0x67, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, ++0x72, 0x73, 0x3b, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x49, 0x6e, 0x64, ++0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x20, ++0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x53, ++0x68, 0x65, 0x6b, 0x65, 0x6c, 0x3b, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x73, ++0x68, 0x65, 0x6b, 0x65, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x73, 0x72, 0x61, 0x65, 0x6c, 0x69, 0x20, 0x6e, 0x65, 0x77, ++0x20, 0x73, 0x68, 0x65, 0x6b, 0x65, 0x6c, 0x73, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x44, 0x6f, ++0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, ++0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, ++0x73, 0x3b, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x6e, 0x20, 0x53, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x4b, ++0x65, 0x6e, 0x79, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x4b, 0x65, ++0x6e, 0x79, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, ++0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, ++0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x75, ++0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x3b, 0x4c, 0x69, 0x62, 0x65, ++0x72, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61, ++0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x61, 0x6e, ++0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x50, 0x61, ++0x74, 0x61, 0x63, 0x61, 0x3b, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x61, 0x63, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x63, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x61, 0x63, 0x61, ++0x73, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x20, 0x41, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x4d, ++0x61, 0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x20, 0x61, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, ++0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x20, 0x61, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, ++0x61, 0x6e, 0x20, 0x4b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, 0x61, 0x6e, 0x20, ++0x6b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x77, 0x69, 0x61, 0x6e, 0x20, 0x6b, ++0x77, 0x61, 0x63, 0x68, 0x61, 0x73, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x69, 0x6e, ++0x67, 0x67, 0x69, 0x74, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x69, 0x6e, 0x67, ++0x67, 0x69, 0x74, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x69, 0x6e, ++0x67, 0x67, 0x69, 0x74, 0x73, 0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x52, 0x75, 0x70, 0x65, ++0x65, 0x3b, 0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, ++0x3b, 0x3b, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x61, 0x6e, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x4e, ++0x61, 0x6d, 0x69, 0x62, 0x69, 0x61, 0x6e, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, ++0x62, 0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, 0x62, ++0x69, 0x61, 0x6e, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, ++0x20, 0x4e, 0x61, 0x69, 0x72, 0x61, 0x3b, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x6e, 0x61, 0x69, ++0x72, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x69, 0x61, 0x6e, 0x20, 0x6e, 0x61, 0x69, 0x72, 0x61, ++0x73, 0x3b, 0x50, 0x61, 0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x52, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x50, ++0x61, 0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, ++0x6b, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x69, 0x20, 0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x50, 0x61, 0x70, 0x75, 0x61, ++0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x4b, 0x69, 0x6e, 0x61, 0x3b, 0x3b, 0x50, ++0x61, 0x70, 0x75, 0x61, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x6b, 0x69, 0x6e, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x70, 0x75, 0x61, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, ++0x61, 0x6e, 0x20, 0x6b, 0x69, 0x6e, 0x61, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x50, ++0x65, 0x73, 0x6f, 0x3b, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x65, 0x73, 0x6f, ++0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x65, 0x73, 0x6f, 0x73, ++0x3b, 0x52, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x52, 0x77, 0x61, 0x6e, ++0x64, 0x61, 0x6e, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x6e, ++0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, 0x3b, 0x53, 0x61, 0x6d, 0x6f, 0x61, 0x6e, 0x20, 0x54, 0x61, 0x6c, 0x61, 0x3b, ++0x3b, 0x53, 0x61, 0x6d, 0x6f, 0x61, 0x6e, 0x20, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x61, 0x6d, 0x6f, ++0x61, 0x6e, 0x20, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, ++0x52, 0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, 0x72, ++0x75, 0x70, 0x65, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x65, 0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x69, 0x73, 0x20, ++0x72, 0x75, 0x70, 0x65, 0x65, 0x73, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x61, ++0x6e, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, ++0x65, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, ++0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x61, 0x6e, 0x20, 0x6c, 0x65, 0x6f, 0x6e, 0x65, 0x73, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, ++0x70, 0x6f, 0x72, 0x65, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, ++0x72, 0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, ++0x72, 0x65, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x49, ++0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, ++0x6f, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, ++0x3b, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x20, 0x64, 0x6f, 0x6c, ++0x6c, 0x61, 0x72, 0x73, 0x3b, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, ++0x3b, 0x3b, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, ++0x3b, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x53, 0x75, ++0x64, 0x61, 0x6e, 0x65, 0x73, 0x65, 0x20, 0x50, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x65, ++0x73, 0x65, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x65, 0x73, 0x65, ++0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x4c, 0x69, 0x6c, 0x61, 0x6e, 0x67, ++0x65, 0x6e, 0x69, 0x3b, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x6c, 0x69, 0x6c, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x69, ++0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x61, 0x7a, 0x69, 0x20, 0x65, 0x6d, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x65, 0x6e, 0x69, ++0x3b, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, 0x20, 0x4b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x53, 0x77, 0x65, 0x64, ++0x69, 0x73, 0x68, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x65, 0x64, 0x69, 0x73, 0x68, ++0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x6f, 0x72, 0x3b, 0x53, 0x77, 0x69, 0x73, 0x73, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x3b, ++0x3b, 0x53, 0x77, 0x69, 0x73, 0x73, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x77, 0x69, 0x73, ++0x73, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, 0x20, 0x53, ++0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, 0x20, 0x73, ++0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x6e, ++0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x50, 0x61, ++0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x2bb, 0x61, 0x6e, 0x67, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x20, 0x70, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x3b, ++0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, 0x6f, 0x20, 0x44, 0x6f, ++0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, ++0x61, 0x67, 0x6f, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, ++0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, 0x6f, 0x20, 0x64, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x73, 0x3b, ++0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x53, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x55, 0x67, ++0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x67, ++0x61, 0x6e, 0x64, 0x61, 0x6e, 0x20, 0x73, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x73, 0x3b, 0x55, 0x6e, 0x69, 0x74, ++0x65, 0x64, 0x20, 0x41, 0x72, 0x61, 0x62, 0x20, 0x45, 0x6d, 0x69, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x44, 0x69, 0x72, ++0x68, 0x61, 0x6d, 0x3b, 0x3b, 0x55, 0x41, 0x45, 0x20, 0x64, 0x69, 0x72, 0x68, 0x61, 0x6d, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, ++0x41, 0x45, 0x20, 0x64, 0x69, 0x72, 0x68, 0x61, 0x6d, 0x73, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x50, ++0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x3b, ++0x3b, 0x3b, 0x3b, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x70, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x3b, 0x56, 0x61, ++0x6e, 0x75, 0x61, 0x74, 0x75, 0x20, 0x56, 0x61, 0x74, 0x75, 0x3b, 0x3b, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x20, ++0x76, 0x61, 0x74, 0x75, 0x3b, 0x3b, 0x3b, 0x3b, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x20, 0x76, 0x61, 0x74, 0x75, + 0x3b, 0x5a, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x20, 0x4b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x5a, 0x61, 0x6d, + 0x62, 0x69, 0x61, 0x6e, 0x20, 0x6b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x5a, 0x61, 0x6d, 0x62, 0x69, + 0x61, 0x6e, 0x20, 0x6b, 0x77, 0x61, 0x63, 0x68, 0x61, 0x73, 0x3b, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x53, 0x75, 0x64, +@@ -3793,478 +3788,474 @@ static const ushort currency_display_name_data[] = { + 0x20, 0xab0, 0xac2, 0xaaa, 0xabf, 0xaaf, 0xabe, 0x3b, 0x3b, 0xaad, 0xabe, 0xab0, 0xaa4, 0xac0, 0xaaf, 0x20, 0xab0, 0xac2, 0xaaa, 0xabf, + 0xaaf, 0xabe, 0x3b, 0x3b, 0x3b, 0x3b, 0xaad, 0xabe, 0xab0, 0xaa4, 0xac0, 0xaaf, 0x20, 0xab0, 0xac2, 0xaaa, 0xabf, 0xaaf, 0xabe, 0x3b, + 0x4e, 0x61, 0x69, 0x72, 0x61, 0x72, 0x20, 0x4e, 0x61, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x4e, 0x61, 0x69, +-0x72, 0x61, 0x72, 0x20, 0x4e, 0x61, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x69, 0x72, +-0x6f, 0x72, 0x69, 0x6e, 0x20, 0x4e, 0x61, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x3b, 0x4b, 0x75, 0x64, 0x69, 0x6e, 0x20, +-0x47, 0x68, 0x61, 0x6e, 0x61, 0x3b, 0x3b, 0x6b, 0x75, 0x64, 0x69, 0x6e, 0x20, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x69, 0x6e, +-0x69, 0x61, 0x6e, 0x3b, 0x3b, 0x3b, 0x3b, 0x4b, 0x75, 0x64, 0x69, 0x6e, 0x20, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x3b, 0x4b, +-0x75, 0x257, 0x69, 0x6e, 0x20, 0x53, 0x65, 0x66, 0x61, 0x20, 0x6e, 0x61, 0x20, 0x41, 0x66, 0x69, 0x72, 0x6b, 0x61, 0x20, +-0x54, 0x61, 0x20, 0x59, 0x61, 0x6d, 0x6d, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x20, 0x5d7, +-0x5d3, 0x5e9, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x5d9, 0x5dd, 0x20, 0x5d7, 0x5d3, +-0x5e9, 0x5d9, 0x5dd, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x5d9, 0x5dd, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x5d9, 0x5dd, 0x3b, 0x5e9, 0x5e7, 0x5dc, +-0x5d9, 0x5dd, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x5d9, 0x5dd, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, +-0x93e, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, +-0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x90f, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, +-0x72, 0x69, 0x6e, 0x74, 0x3b, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x69, 0x6e, 0x74, 0x3b, +-0x3b, 0x3b, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x69, 0x6e, 0x74, 0x3b, 0xed, 0x73, 0x6c, +-0x65, 0x6e, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0xf3, 0x6e, 0x61, 0x3b, 0x3b, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x20, +-0x6b, 0x72, 0xf3, 0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0x72, 0x20, 0x6b, +-0x72, 0xf3, 0x6e, 0x75, 0x72, 0x3b, 0x52, 0x75, 0x70, 0x69, 0x61, 0x68, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, +-0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x75, 0x70, 0x69, 0x61, 0x68, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, +-0x65, 0x73, 0x69, 0x61, 0x3b, 0x45, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, +-0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x50, 0x75, 0x6e, 0x74, +-0x20, 0x53, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, +-0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, +-0x69, 0x6e, 0x67, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, +-0x62, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x70, 0x75, 0x6e, 0x74, +-0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, +-0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x76, 0x69, +-0x7a, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, +-0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, +-0x72, 0x69, 0x3b, 0x65e5, 0x672c, 0x5186, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x5186, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, +-0x20, 0xcb0, 0xcc2, 0xcaa, 0xcbe, 0xcaf, 0xcbf, 0x3b, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, 0x20, 0xcb0, 0xcc2, 0xcaa, 0xcbe, +-0xcaf, 0xcbf, 0x3b, 0x3b, 0x3b, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, 0x20, 0xcb0, 0xcc2, 0xcaa, 0xcbe, 0xcaf, 0xcbf, 0xc97, +-0xcb3, 0xcc1, 0x3b, 0x6c1, 0x650, 0x646, 0x62f, 0x64f, 0x633, 0x62a, 0x672, 0x646, 0x6cd, 0x20, 0x631, 0x6c4, 0x67e, 0x64e, 0x6d2, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, +-0x435, 0x441, 0x456, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, 0x435, +-0x441, 0x456, 0x3b, 0x3b, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, +-0x435, 0x441, 0x456, 0x3b, 0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, +-0x3b, 0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, 0x3b, 0x3b, 0x3b, +-0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, 0xb300, 0xd55c, 0xbbfc, 0xad6d, +-0x20, 0xc6d0, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xb300, 0xd55c, 0xbbfc, 0xad6d, 0x20, 0xc6d0, 0x3b, 0xc870, 0xc120, 0x20, 0xbbfc, 0xc8fc, +-0xc8fc, 0xc758, 0x20, 0xc778, 0xbbfc, 0x20, 0xacf5, 0xd654, 0xad6d, 0x20, 0xc6d0, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xc870, 0xc120, 0x20, +-0xbbfc, 0xc8fc, 0xc8fc, 0xc758, 0x20, 0xc778, 0xbbfc, 0x20, 0xacf5, 0xd654, 0xad6d, 0x20, 0xc6d0, 0x3b, 0x49, 0x66, 0x61, 0x72, 0x61, 0x6e, +-0x67, 0x61, 0x20, 0x72, 0x79, 0x2019, 0x55, 0x62, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0xea5, 0xeb2, 0xea7, 0x20, 0xe81, 0xeb5, 0xe9a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xea5, 0xeb2, 0xea7, 0x20, 0xe81, 0xeb5, +-0xe9a, 0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, +-0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x61, 0x6c, 0xe1, 0x6e, 0x67, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, +-0xf3, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x20, 0x79, 0x61, 0x20, 0x41, 0x6e, +-0x67, 0xf3, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x61, 0x6c, 0xe1, 0x6e, 0x67, 0x61, 0x20, 0x43, +-0x46, 0x41, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x75, 0x72, 0x61, 0x73, 0x3b, +-0x3b, 0x65, 0x75, 0x72, 0x61, 0x73, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x69, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, +-0x75, 0x72, 0x173, 0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, +-0x3b, 0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, 0x3b, 0x3b, +-0x3b, 0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, 0x438, 0x3b, +-0x41, 0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x69, 0x6e, 0x67, 0x67, 0x69, 0x74, +-0x20, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x69, 0x6e, 0x67, 0x67, +-0x69, 0x74, 0x20, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x42, 0x72, +-0x75, 0x6e, 0x65, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x42, 0x72, 0x75, 0x6e, +-0x65, 0x69, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72, 0x61, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72, 0x61, 0x3b, +-0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, 0x20, 0xd30, 0xd42, 0xd2a, 0x3b, 0x3b, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, +-0x20, 0xd30, 0xd42, 0xd2a, 0x3b, 0x3b, 0x3b, 0x3b, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, 0x20, 0xd30, 0xd42, 0xd2a, 0x3b, +-0x65, 0x77, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x65, 0x77, 0x72, +-0x6f, 0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x54, 0x101, 0x72, 0x61, 0x20, 0x6f, 0x20, 0x41, 0x6f, 0x74, 0x65, 0x61, 0x72, +-0x6f, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x74, 0x101, 0x72, 0x61, 0x20, 0x6f, 0x20, 0x41, 0x6f, 0x74, 0x65, 0x61, +-0x72, 0x6f, 0x61, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x92d, 0x93e, +-0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, +-0x20, 0x930, 0x941, 0x92a, 0x92f, 0x947, 0x3b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, +-0x3b, 0x3b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, 0x3b, 0x3b, 0x3b, 0x3b, 0x41c, +-0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, +-0x930, 0x942, 0x92a, 0x948, 0x92f, 0x93e, 0x901, 0x3b, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, 0x930, 0x942, 0x92a, 0x948, +-0x92f, 0x93e, 0x901, 0x3b, 0x3b, 0x3b, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, 0x930, 0x942, 0x92a, 0x948, 0x92f, 0x93e, +-0x901, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x3b, 0x92d, 0x93e, +-0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, +-0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x65, 0x20, 0x6b, 0x72, +-0x6f, 0x6e, 0x65, 0x72, 0x3b, 0x3b, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x3b, +-0x3b, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x65, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x72, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, +-0xb5f, 0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, 0xb3e, 0x3b, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, 0xb5f, 0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, +-0xb3e, 0x3b, 0x3b, 0x3b, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, 0xb5f, 0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, 0xb3e, 0x3b, 0x627, 0x641, +-0x63a, 0x627, 0x646, 0x6cd, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cd, 0x3b, 0x3b, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, +-0x646, 0x6cd, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x647, 0x3b, 0x3b, +-0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x647, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, +-0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x6d2, 0x3b, 0x631, 0x6cc, 0x627, 0x644, 0x20, +-0x627, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x3b, 0x631, 0x6cc, 0x627, 0x644, 0x20, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x3b, 0x3b, +-0x3b, 0x631, 0x6cc, 0x627, 0x644, 0x20, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, +-0x641, 0x63a, 0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, 0x641, 0x63a, +-0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x3b, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, 0x641, 0x63a, +-0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x79, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x3b, +-0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x79, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x3b, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x65, +-0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x65, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x79, 0x63, 0x68, 0x20, 0x70, 0x6f, 0x6c, +-0x73, 0x6b, 0x69, 0x63, 0x68, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x65, 0x67, 0x6f, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, +-0x65, 0x67, 0x6f, 0x3b, 0x52, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x3b, +-0x3b, 0x52, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, +-0x52, 0x65, 0x61, 0x69, 0x73, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x73, 0x3b, 0x6b, 0x77, +-0x61, 0x6e, 0x7a, 0x61, 0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x6b, 0x77, 0x61, 0x6e, 0x7a, +-0x61, 0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, +-0x73, 0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x65, 0x73, 0x63, 0x75, 0x64, 0x6f, 0x20, 0x63, +-0x61, 0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x65, 0x73, 0x63, 0x75, 0x64, 0x6f, +-0x20, 0x63, 0x61, 0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x73, +-0x63, 0x75, 0x64, 0x6f, 0x73, 0x20, 0x63, 0x61, 0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x73, +-0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, +-0x6e, 0x69, 0x64, 0x6f, 0x73, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, +-0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, +-0x65, 0x73, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, 0x64, 0x6f, +-0x73, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, ++0x72, 0x61, 0x72, 0x20, 0x4e, 0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x69, 0x72, ++0x61, 0x72, 0x20, 0x4e, 0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x3b, 0x53, 0x69, 0x64, 0x69, 0x20, 0x6e, 0x61, 0x20, ++0x47, 0x68, 0x61, 0x6e, 0x61, 0x3b, 0x3b, 0x53, 0x69, 0x64, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x47, 0x68, 0x61, 0x6e, 0x61, ++0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x64, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x3b, 0x4b, 0x75, ++0x257, 0x69, 0x6e, 0x20, 0x53, 0x65, 0x66, 0x61, 0x20, 0x6e, 0x61, 0x20, 0x41, 0x66, 0x69, 0x72, 0x6b, 0x61, 0x20, 0x54, ++0x61, 0x20, 0x59, 0x61, 0x6d, 0x6d, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x20, 0x5d7, 0x5d3, ++0x5e9, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x5d9, 0x5dd, 0x20, 0x5d7, 0x5d3, 0x5e9, ++0x5d9, 0x5dd, 0x3b, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x5d9, 0x5dd, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x5d9, 0x5dd, 0x3b, 0x5e9, 0x5e7, 0x5dc, 0x5d9, ++0x5dd, 0x20, 0x5d7, 0x5d3, 0x5e9, 0x5d9, 0x5dd, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, ++0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, ++0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x90f, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, ++0x69, 0x6e, 0x74, 0x3b, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x69, 0x6e, 0x74, 0x3b, 0x3b, ++0x3b, 0x3b, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x69, 0x6e, 0x74, 0x3b, 0xed, 0x73, 0x6c, 0x65, ++0x6e, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0xf3, 0x6e, 0x61, 0x3b, 0x3b, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x20, 0x6b, ++0x72, 0xf3, 0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0x72, 0x20, 0x6b, 0x72, ++0xf3, 0x6e, 0x75, 0x72, 0x3b, 0x52, 0x75, 0x70, 0x69, 0x61, 0x68, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x75, 0x70, 0x69, 0x61, 0x68, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, ++0x73, 0x69, 0x61, 0x3b, 0x45, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, ++0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x50, 0x75, 0x6e, 0x74, 0x20, ++0x53, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, ++0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, ++0x6e, 0x67, 0x3b, 0x70, 0x68, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x62, ++0x70, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, ++0x73, 0x74, 0x65, 0x69, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, ++0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x76, 0x69, 0x7a, ++0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, ++0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x69, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, ++0x69, 0x3b, 0x65e5, 0x672c, 0x5186, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x5186, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, 0x20, ++0xcb0, 0xcc2, 0xcaa, 0xcbe, 0xcaf, 0xcbf, 0x3b, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, 0x20, 0xcb0, 0xcc2, 0xcaa, 0xcbe, 0xcaf, ++0xcbf, 0x3b, 0x3b, 0x3b, 0x3b, 0xcad, 0xcbe, 0xcb0, 0xca4, 0xcc0, 0xcaf, 0x20, 0xcb0, 0xcc2, 0xcaa, 0xcbe, 0xcaf, 0xcbf, 0xc97, 0xcb3, ++0xcc1, 0x3b, 0x6c1, 0x650, 0x646, 0x62f, 0x64f, 0x633, 0x62a, 0x672, 0x646, 0x6cd, 0x20, 0x631, 0x6c4, 0x67e, 0x64e, 0x6d2, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, 0x435, ++0x441, 0x456, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, 0x435, 0x441, ++0x456, 0x3b, 0x3b, 0x3b, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x442, 0x435, 0x4a3, 0x433, 0x435, ++0x441, 0x456, 0x3b, 0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, 0x3b, ++0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, 0x3b, 0x3b, 0x3b, 0x41a, ++0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x443, 0x3b, 0xb300, 0xd55c, 0xbbfc, 0xad6d, 0x20, ++0xc6d0, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xb300, 0xd55c, 0xbbfc, 0xad6d, 0x20, 0xc6d0, 0x3b, 0xc870, 0xc120, 0x20, 0xbbfc, 0xc8fc, 0xc8fc, ++0xc758, 0x20, 0xc778, 0xbbfc, 0x20, 0xacf5, 0xd654, 0xad6d, 0x20, 0xc6d0, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xc870, 0xc120, 0x20, 0xbbfc, ++0xc8fc, 0xc8fc, 0xc758, 0x20, 0xc778, 0xbbfc, 0x20, 0xacf5, 0xd654, 0xad6d, 0x20, 0xc6d0, 0x3b, 0x49, 0x66, 0x61, 0x72, 0x61, 0x6e, 0x67, ++0x61, 0x20, 0x72, 0x79, 0x2019, 0x55, 0x62, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0xea5, 0xeb2, 0xea7, 0x20, 0xe81, 0xeb5, 0xe9a, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xea5, 0xeb2, 0xea7, 0x20, 0xe81, 0xeb5, 0xe9a, ++0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, ++0x69, 0x72, 0x6f, 0x3b, 0x46, 0x61, 0x6c, 0xe1, 0x6e, 0x67, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0xf3, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x20, 0x79, 0x61, 0x20, 0x41, 0x6e, 0x67, ++0xf3, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x61, 0x6c, 0xe1, 0x6e, 0x67, 0x61, 0x20, 0x43, 0x46, ++0x41, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x75, 0x72, 0x61, 0x73, 0x3b, 0x3b, ++0x65, 0x75, 0x72, 0x61, 0x73, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x69, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, ++0x72, 0x173, 0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, 0x3b, ++0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, 0x3b, 0x3b, 0x3b, ++0x3b, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x435, 0x43d, 0x430, 0x440, 0x438, 0x3b, 0x41, ++0x72, 0x69, 0x61, 0x72, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x69, 0x6e, 0x67, 0x67, 0x69, 0x74, 0x20, ++0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, 0x69, 0x6e, 0x67, 0x67, 0x69, ++0x74, 0x20, 0x4d, 0x61, 0x6c, 0x61, 0x79, 0x73, 0x69, 0x61, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x42, 0x72, 0x75, ++0x6e, 0x65, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x42, 0x72, 0x75, 0x6e, 0x65, ++0x69, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72, 0x61, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x72, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, 0x72, 0x61, 0x3b, 0xd07, ++0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, 0x20, 0xd30, 0xd42, 0xd2a, 0x3b, 0x3b, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, 0x20, ++0xd30, 0xd42, 0xd2a, 0x3b, 0x3b, 0x3b, 0x3b, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0xd7b, 0x20, 0xd30, 0xd42, 0xd2a, 0x3b, 0x65, ++0x77, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x65, 0x77, 0x72, 0x6f, ++0x3b, 0x65, 0x77, 0x72, 0x6f, 0x3b, 0x54, 0x101, 0x72, 0x61, 0x20, 0x6f, 0x20, 0x41, 0x6f, 0x74, 0x65, 0x61, 0x72, 0x6f, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x74, 0x101, 0x72, 0x61, 0x20, 0x6f, 0x20, 0x41, 0x6f, 0x74, 0x65, 0x61, 0x72, ++0x6f, 0x61, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, ++0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, ++0x930, 0x941, 0x92a, 0x92f, 0x947, 0x3b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, 0x3b, ++0x3b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, 0x3b, 0x3b, 0x3b, 0x3b, 0x41c, 0x43e, ++0x43d, 0x433, 0x43e, 0x43b, 0x20, 0x442, 0x4e9, 0x433, 0x440, 0x4e9, 0x433, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, 0x930, ++0x942, 0x92a, 0x948, 0x92f, 0x93e, 0x901, 0x3b, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, 0x930, 0x942, 0x92a, 0x948, 0x92f, ++0x93e, 0x901, 0x3b, 0x3b, 0x3b, 0x3b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x20, 0x930, 0x942, 0x92a, 0x948, 0x92f, 0x93e, 0x901, ++0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, ++0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, ++0x92f, 0x20, 0x930, 0x942, 0x92a, 0x93f, 0x901, 0x92f, 0x93e, 0x3b, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x65, 0x20, 0x6b, 0x72, 0x6f, ++0x6e, 0x65, 0x72, 0x3b, 0x3b, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, ++0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x65, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x65, 0x72, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, 0xb5f, ++0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, 0xb3e, 0x3b, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, 0xb5f, 0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, 0xb3e, ++0x3b, 0x3b, 0x3b, 0x3b, 0xb2d, 0xb3e, 0xb30, 0xb24, 0xb40, 0xb5f, 0x20, 0xb1f, 0xb19, 0xb4d, 0xb15, 0xb3e, 0x3b, 0x627, 0x641, 0x63a, ++0x627, 0x646, 0x6cd, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cd, 0x3b, 0x3b, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, ++0x6cd, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x647, 0x3b, 0x3b, 0x67e, ++0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x647, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, ++0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cd, 0x20, 0x6a9, 0x644, 0x62f, 0x627, 0x631, 0x6d2, 0x3b, 0x631, 0x6cc, 0x627, 0x644, 0x20, 0x627, ++0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x3b, 0x631, 0x6cc, 0x627, 0x644, 0x20, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x3b, 0x3b, 0x3b, ++0x631, 0x6cc, 0x627, 0x644, 0x20, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, 0x641, ++0x63a, 0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, 0x641, 0x63a, 0x627, ++0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x3b, 0x3b, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x20, 0x627, 0x641, 0x63a, 0x627, ++0x646, 0x633, 0x62a, 0x627, 0x646, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x79, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x3b, 0x3b, ++0x7a, 0x142, 0x6f, 0x74, 0x79, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x3b, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x65, 0x20, ++0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x65, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x79, 0x63, 0x68, 0x20, 0x70, 0x6f, 0x6c, 0x73, ++0x6b, 0x69, 0x63, 0x68, 0x3b, 0x7a, 0x142, 0x6f, 0x74, 0x65, 0x67, 0x6f, 0x20, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x65, ++0x67, 0x6f, 0x3b, 0x52, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x3b, ++0x52, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x52, ++0x65, 0x61, 0x69, 0x73, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0x69, 0x72, 0x6f, 0x73, 0x3b, 0x6b, 0x77, 0x61, ++0x6e, 0x7a, 0x61, 0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, ++0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x73, ++0x20, 0x61, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x65, 0x73, 0x63, 0x75, 0x64, 0x6f, 0x20, 0x63, 0x61, ++0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x65, 0x73, 0x63, 0x75, 0x64, 0x6f, 0x20, ++0x63, 0x61, 0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x73, 0x63, ++0x75, 0x64, 0x6f, 0x73, 0x20, 0x63, 0x61, 0x62, 0x6f, 0x2d, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x6f, 0x73, 0x3b, ++0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, ++0x69, 0x64, 0x6f, 0x73, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, 0x61, ++0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x65, ++0x73, 0x20, 0x64, 0x6f, 0x73, 0x20, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, 0x64, 0x6f, 0x73, + 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, +-0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, +-0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, +-0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, +-0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, +-0x4f, 0x29, 0x3b, 0x70, 0x61, 0x74, 0x61, 0x63, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, +-0x70, 0x61, 0x74, 0x61, 0x63, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, +-0x61, 0x74, 0x61, 0x63, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x6d, 0x65, 0x74, +-0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x6d, 0x65, +-0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, +-0x3b, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, +-0x6f, 0x73, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, 0x6d, 0xe9, +-0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, 0x3b, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x20, 0x64, +-0x65, 0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, 0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, +-0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x73, 0x20, 0x64, 0x65, 0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, +-0x6f, 0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, +-0x6f, 0x20, 0x73, 0x75, 0xed, 0xe7, 0x6f, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x75, 0xed, 0xe7, +-0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x73, 0x75, 0xed, 0xe7, 0x6f, 0x73, 0x3b, +-0xa2d, 0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, 0xa41, 0xa2a, 0xa07, 0xa06, 0x3b, 0x3b, 0xa2d, 0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, +-0xa41, 0xa2a, 0xa07, 0xa06, 0x3b, 0x3b, 0x3b, 0x3b, 0xa2d, 0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, 0xa41, 0xa2a, 0xa0f, 0x3b, 0x631, +-0x648, 0x67e, 0x626, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x20, 0x50, 0x65, 0x72, 0x75, +-0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, 0x6e, 0x6f, +-0x3b, 0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x6f, 0x6c, 0x69, +-0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x44, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, +-0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x6e, 0x6f, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x3b, 0x3b, 0x66, 0x72, +-0x61, 0x6e, 0x63, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, +-0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, 0x73, +-0x63, 0x3b, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, 0x73, 0x63, 0x3b, 0x3b, 0x6c, 0x65, 0x69, +-0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x3b, 0x6c, 0x65, 0x69, 0x20, 0x72, 0x6f, 0x6d, 0xe2, +-0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x73, +-0x63, 0x3b, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x63, 0x3b, 0x3b, +-0x6c, 0x65, 0x69, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x3b, 0x6c, 0x65, +-0x69, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, +-0x439, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44c, 0x3b, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, +-0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44c, 0x3b, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, 0x438, +-0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x440, +-0x443, 0x431, 0x43b, 0x435, 0x439, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x440, 0x443, +-0x431, 0x43b, 0x44f, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, +-0x44c, 0x3b, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44c, +-0x3b, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, 0x3b, +-0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x435, 0x439, 0x3b, 0x431, +-0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, 0x3b, 0x43a, 0x430, +-0x437, 0x430, 0x445, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, +-0x441, 0x43a, 0x438, 0x439, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x438, +-0x445, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x442, 0x435, +-0x43d, 0x433, 0x435, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, +-0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x43a, 0x438, 0x440, +-0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, +-0x43a, 0x438, 0x445, 0x20, 0x441, 0x43e, 0x43c, 0x430, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x445, 0x20, +-0x441, 0x43e, 0x43c, 0x43e, 0x432, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x441, 0x43e, +-0x43c, 0x430, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x43b, 0x435, 0x439, 0x3b, 0x3b, 0x43c, +-0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x43b, 0x435, 0x439, 0x3b, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, +-0x432, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x43b, 0x435, 0x44f, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, 0x445, +-0x20, 0x43b, 0x435, 0x435, 0x432, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x43b, 0x435, +-0x44f, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x430, 0x44f, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x430, 0x3b, +-0x3b, 0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x430, 0x44f, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x430, 0x3b, 0x3b, +-0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x438, 0x435, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44b, 0x3b, 0x443, 0x43a, +-0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x433, 0x440, 0x438, 0x432, 0x435, 0x43d, 0x3b, 0x443, 0x43a, 0x440, 0x430, +-0x438, 0x43d, 0x441, 0x43a, 0x43e, 0x439, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44b, 0x3b, 0x66, 0x61, 0x72, 0xe2, 0x6e, 0x67, +-0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x421, +-0x440, 0x43f, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x3b, 0x3b, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x438, 0x20, +-0x434, 0x438, 0x43d, 0x430, 0x440, 0x3b, 0x3b, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x430, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x430, +-0x3b, 0x3b, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x430, 0x3b, 0x42, 0x6f, 0x73, +-0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x2d, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x61, 0x20, 0x6b, +-0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x3b, 0x3b, +-0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x2d, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, +-0x61, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, +-0x61, 0x3b, 0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x2d, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, +-0x61, 0x10d, 0x6b, 0x65, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x65, 0x20, 0x6d, +-0x61, 0x72, 0x6b, 0x65, 0x3b, 0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x2d, 0x68, 0x65, 0x72, 0x63, 0x65, +-0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x69, 0x68, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, +-0x6e, 0x69, 0x68, 0x20, 0x6d, 0x61, 0x72, 0x61, 0x6b, 0x61, 0x3b, 0x45, 0x76, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x76, 0x72, +-0x6f, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x61, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x61, 0x3b, 0x53, 0x72, 0x70, 0x73, 0x6b, 0x69, +-0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x3b, 0x3b, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, +-0x3b, 0x3b, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x61, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x61, 0x3b, 0x3b, 0x73, 0x72, 0x70, +-0x73, 0x6b, 0x69, 0x68, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x61, 0x3b, 0x411, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, ++0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, 0x3b, ++0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, ++0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, 0x3b, ++0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, 0x3b, ++0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, ++0x29, 0x3b, 0x70, 0x61, 0x74, 0x61, 0x63, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x70, ++0x61, 0x74, 0x61, 0x63, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x61, ++0x74, 0x61, 0x63, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x63, 0x61, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x6d, 0x65, 0x74, 0x69, ++0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x6d, 0x65, 0x74, ++0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, ++0x6d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x69, 0x73, 0x20, 0x6d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x63, 0x61, 0x6e, 0x6f, ++0x73, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x20, 0x64, 0x65, 0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, 0x6d, 0xe9, 0x20, ++0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, 0x3b, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x20, 0x64, 0x65, ++0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, 0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, ++0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0x6f, 0x62, 0x72, 0x61, 0x73, 0x20, 0x64, 0x65, 0x20, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, ++0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, ++0x20, 0x73, 0x75, 0xed, 0xe7, 0x6f, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x73, 0x75, 0xed, 0xe7, 0x6f, ++0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x73, 0x75, 0xed, 0xe7, 0x6f, 0x73, 0x3b, 0xa2d, ++0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, 0xa41, 0xa2a, 0xa07, 0xa06, 0x3b, 0x3b, 0xa2d, 0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, 0xa41, ++0xa2a, 0xa07, 0xa06, 0x3b, 0x3b, 0x3b, 0x3b, 0xa2d, 0xa3e, 0xa30, 0xa24, 0xa40, 0x20, 0xa30, 0xa41, 0xa2a, 0xa0f, 0x3b, 0x631, 0x648, ++0x67e, 0x626, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x20, 0x50, 0x65, 0x72, 0x75, 0x61, ++0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6f, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, 0x6e, 0x6f, 0x3b, ++0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x42, 0x6f, 0x6c, 0x69, 0x76, ++0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x44, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x6f, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, ++0x6f, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x3b, 0x3b, 0x66, 0x72, 0x61, ++0x6e, 0x63, 0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x73, ++0x20, 0x73, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x73, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, ++0x73, 0x63, 0x3b, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, 0x73, 0x63, 0x3b, 0x3b, 0x6c, 0x65, ++0x69, 0x20, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x3b, 0x6c, 0x65, 0x69, 0x20, 0x72, 0x6f, 0x6d, ++0xe2, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, ++0x73, 0x63, 0x3b, 0x3b, 0x6c, 0x65, 0x75, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x73, 0x63, 0x3b, ++0x3b, 0x6c, 0x65, 0x69, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x3b, 0x6c, ++0x65, 0x69, 0x20, 0x6d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x65, 0x6e, 0x65, 0x219, 0x74, 0x69, 0x3b, 0x440, 0x43e, 0x441, 0x441, ++0x438, 0x439, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44c, 0x3b, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, ++0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44c, 0x3b, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, ++0x438, 0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, 0x438, 0x445, 0x20, ++0x440, 0x443, 0x431, 0x43b, 0x435, 0x439, 0x3b, 0x440, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x440, ++0x443, 0x431, 0x43b, 0x44f, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, ++0x43b, 0x44c, 0x3b, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x440, 0x443, 0x431, 0x43b, ++0x44c, 0x3b, 0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, ++0x3b, 0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x435, 0x439, 0x3b, ++0x431, 0x435, 0x43b, 0x43e, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x440, 0x443, 0x431, 0x43b, 0x44f, 0x3b, 0x43a, ++0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x3b, 0x43a, 0x430, 0x437, 0x430, ++0x445, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, ++0x438, 0x445, 0x20, 0x442, 0x435, 0x43d, 0x433, 0x435, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x442, ++0x435, 0x43d, 0x433, 0x435, 0x3b, 0x43a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x442, 0x435, 0x43d, 0x433, ++0x435, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x43a, 0x438, ++0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, ++0x441, 0x43a, 0x438, 0x445, 0x20, 0x441, 0x43e, 0x43c, 0x430, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x438, 0x445, ++0x20, 0x441, 0x43e, 0x43c, 0x43e, 0x432, 0x3b, 0x43a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x441, ++0x43e, 0x43c, 0x430, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x43b, 0x435, 0x439, 0x3b, 0x3b, ++0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, 0x439, 0x20, 0x43b, 0x435, 0x439, 0x3b, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, ++0x430, 0x432, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x43b, 0x435, 0x44f, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x438, ++0x445, 0x20, 0x43b, 0x435, 0x435, 0x432, 0x3b, 0x43c, 0x43e, 0x43b, 0x434, 0x430, 0x432, 0x441, 0x43a, 0x43e, 0x433, 0x43e, 0x20, 0x43b, ++0x435, 0x44f, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x430, 0x44f, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x430, ++0x3b, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x430, 0x44f, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x430, 0x3b, ++0x3b, 0x443, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x438, 0x435, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44b, 0x3b, 0x443, ++0x43a, 0x440, 0x430, 0x438, 0x43d, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x433, 0x440, 0x438, 0x432, 0x435, 0x43d, 0x3b, 0x443, 0x43a, 0x440, ++0x430, 0x438, 0x43d, 0x441, 0x43a, 0x43e, 0x439, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44b, 0x3b, 0x66, 0x61, 0x72, 0xe2, 0x6e, ++0x67, 0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x94d, 0x92f, 0x915, 0x92e, 0x94d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x942, 0x92a, 0x94d, 0x92f, 0x915, 0x92e, 0x94d, 0x3b, 0x421, 0x440, 0x43f, ++0x441, 0x43a, 0x438, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x3b, 0x3b, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x438, 0x20, 0x434, 0x438, ++0x43d, 0x430, 0x440, 0x3b, 0x3b, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x430, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x430, 0x3b, 0x3b, ++0x441, 0x440, 0x43f, 0x441, 0x43a, 0x438, 0x445, 0x20, 0x434, 0x438, 0x43d, 0x430, 0x440, 0x430, 0x3b, 0x42, 0x6f, 0x73, 0x61, 0x6e, ++0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x61, 0x20, 0x6b, 0x6f, 0x6e, 0x76, ++0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x3b, 0x3b, 0x62, 0x6f, 0x73, ++0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x61, 0x20, 0x6b, 0x6f, ++0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x3b, 0x3b, 0x62, ++0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x65, 0x20, ++0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x3b, ++0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, ++0x69, 0x68, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x69, 0x68, 0x20, 0x6d, 0x61, ++0x72, 0x61, 0x6b, 0x61, 0x3b, 0x45, 0x76, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x76, 0x72, ++0x61, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x61, 0x3b, 0x53, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, ++0x3b, 0x3b, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x3b, 0x3b, 0x73, 0x72, 0x70, 0x73, ++0x6b, 0x61, 0x20, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x61, 0x3b, 0x3b, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x68, 0x20, 0x64, ++0x69, 0x6e, 0x61, 0x72, 0x61, 0x3b, 0x411, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, ++0x43e, 0x432, 0x430, 0x447, 0x43a, 0x430, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x430, ++0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x445, 0x435, 0x440, 0x446, ++0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x430, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, ++0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x445, 0x435, ++0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x435, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, ++0x438, 0x43b, 0x43d, 0x435, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x65, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, ++0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x438, 0x445, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, ++0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x438, 0x445, 0x20, 0x43c, 0x430, 0x440, 0x430, 0x43a, 0x430, 0x3b, 0x415, 0x432, 0x440, 0x43e, ++0x3b, 0x3b, 0x435, 0x432, 0x440, 0x43e, 0x3b, 0x3b, 0x435, 0x432, 0x440, 0x430, 0x3b, 0x3b, 0x435, 0x432, 0x440, 0x430, 0x3b, 0x41b, ++0x430, 0x440, 0x3b, 0x3b, 0x43b, 0x430, 0x440, 0x3b, 0x3b, 0x3b, 0x3b, 0x43b, 0x430, 0x440, 0x44b, 0x3b, 0x421, 0x43e, 0x43c, 0x3b, ++0x3b, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x43e, 0x43c, 0x44b, 0x3b, 0x44, 0x6f, 0x72, 0x61, 0x20, 0x72, 0x65, ++0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, ++0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, 0x64a, 0x3b, 0x3b, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, 0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, ++0x64a, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, 0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, 0x64a, 0x3b, 0x939, 0x93f, ++0x902, 0x926, 0x941, 0x938, 0x94d, 0x924, 0x93e, 0x928, 0x940, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x94b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, 0xd9a, 0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, ++0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, 0xd9a, 0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, 0x3b, ++0x3b, 0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, 0xd9a, 0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, ++0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0xe1, 0x3b, 0x65, 0x75, 0x72, ++0x61, 0x3b, 0x65, 0x75, 0x72, 0x3b, 0x65, 0x76, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x6f, 0x3b, 0x65, 0x76, 0x72, ++0x61, 0x3b, 0x65, 0x76, 0x72, 0x69, 0x3b, 0x3b, 0x65, 0x76, 0x72, 0x6f, 0x76, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, ++0x67, 0x6b, 0x61, 0x20, 0x53, 0x6f, 0x6f, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x46, 0x61, 0x72, 0x61, 0x6e, 0x20, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, ++0x6e, 0x6b, 0x61, 0x20, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, 0x6e, ++0x6b, 0x61, 0x20, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, 0x3b, 0x42, 0x69, 0x72, 0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, ++0x6f, 0x62, 0x62, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x62, 0x69, 0x72, 0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x62, ++0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x69, 0x72, 0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x62, 0x69, ++0x79, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, ++0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, ++0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, ++0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x61, 0x72, 0x67, 0x65, ++0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x61, 0x72, 0x67, 0x65, 0x6e, ++0x74, 0x69, 0x6e, 0x6f, 0x73, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, ++0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, ++0x64, 0xf3, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x62, 0x6f, ++0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x62, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, ++0x3b, 0x3b, 0x62, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, ++0x61, 0x73, 0x69, 0x6c, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, ++0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x72, 0x65, 0x61, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, ++0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x50, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, ++0x65, 0x73, 0x6f, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, ++0x20, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, ++0x62, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, ++0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, ++0x6e, 0x6f, 0x73, 0x3b, 0x63, 0x6f, 0x6c, 0xf3, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x69, 0x63, 0x65, ++0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x63, 0x6f, 0x6c, 0xf3, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x69, 0x63, ++0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x73, 0x74, ++0x61, 0x72, 0x72, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x75, 0x62, 0x61, ++0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x75, 0x62, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, ++0x65, 0x73, 0x6f, 0x73, 0x20, 0x63, 0x75, 0x62, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x64, 0x6f, ++0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x64, 0x6f, 0x6d, 0x69, 0x6e, ++0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x64, 0x6f, 0x6d, 0x69, 0x6e, ++0x69, 0x63, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x75, ++0x6e, 0x69, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x73, 0x74, 0x61, 0x64, ++0x6f, 0x75, 0x6e, 0x69, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x65, 0x73, ++0x20, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x75, 0x6e, 0x69, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x66, 0x72, 0x61, ++0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x64, 0x65, 0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x43, 0x65, ++0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x64, 0x65, ++0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, ++0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, 0x20, 0x64, 0x65, 0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, ++0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x71, 0x75, 0x65, 0x74, 0x7a, 0x61, 0x6c, 0x3b, 0x3b, 0x71, 0x75, ++0x65, 0x74, 0x7a, 0x61, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x71, 0x75, 0x65, 0x74, 0x7a, 0x61, 0x6c, 0x65, 0x73, 0x3b, 0x6c, ++0x65, 0x6d, 0x70, 0x69, 0x72, 0x61, 0x20, 0x68, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x6c, 0x65, ++0x6d, 0x70, 0x69, 0x72, 0x61, 0x20, 0x68, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x6c, ++0x65, 0x6d, 0x70, 0x69, 0x72, 0x61, 0x73, 0x20, 0x68, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x70, ++0x65, 0x73, 0x6f, 0x20, 0x6d, 0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x6d, ++0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x6d, 0x65, 0x78, ++0x69, 0x63, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x63, 0xf3, 0x72, 0x64, 0x6f, 0x62, 0x61, 0x20, 0x6e, 0x69, 0x63, 0x61, 0x72, ++0x61, 0x67, 0xfc, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x63, 0xf3, 0x72, 0x64, 0x6f, 0x62, 0x61, 0x20, 0x6e, 0x69, 0x63, ++0x61, 0x72, 0x61, 0x67, 0xfc, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x63, 0xf3, 0x72, 0x64, 0x6f, 0x62, 0x61, ++0x73, 0x20, 0x6e, 0x69, 0x63, 0x61, 0x72, 0x61, 0x67, 0xfc, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x62, ++0x6f, 0x61, 0x20, 0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x62, 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x20, ++0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x73, 0x20, ++0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x20, 0x70, 0x61, ++0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x20, 0x70, 0x61, 0x72, ++0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x65, 0x73, 0x20, ++0x70, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x73, 0x3b, 0x73, 0x6f, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, ++0x6e, 0x6f, 0x3b, 0x3b, 0x73, 0x6f, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, ++0x6f, 0x6c, 0x65, 0x73, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x66, ++0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x69, 0x70, 0x69, ++0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, ++0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x75, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, ++0x6f, 0x20, 0x75, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, ++0x75, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x73, 0x3b, 0x62, 0x6f, 0x6c, 0xed, 0x76, 0x61, 0x72, 0x20, 0x73, 0x6f, ++0x62, 0x65, 0x72, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x62, 0x6f, 0x6c, 0xed, 0x76, 0x61, 0x72, 0x20, 0x73, 0x6f, 0x62, 0x65, ++0x72, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x6f, 0x6c, 0xed, 0x76, 0x61, 0x72, 0x65, 0x73, 0x20, 0x73, 0x6f, ++0x62, 0x65, 0x72, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x52, 0x75, 0x70, 0x65, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0xe9, ++0x73, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x72, 0x75, 0x70, 0x65, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, ++0xe9, 0x73, 0x69, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, ++0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, ++0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, ++0x7a, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x46, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, ++0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x79, 0x61, ++0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x7a, 0x61, ++0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, ++0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, ++0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x7a, 0x61, 0x20, 0x4b, ++0x65, 0x6e, 0x79, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, 0x67, 0x61, ++0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, 0x67, 0x61, ++0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x7a, 0x61, 0x20, 0x55, ++0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, ++0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x76, 0x65, 0x6e, ++0x73, 0x6b, 0x61, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x6f, 0x72, 0x3b, 0x421, 0x43e, 0x43c, 0x43e, 0x43d, 0x4e3, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x421, 0x43e, 0x43c, 0x43e, 0x43d, 0x4e3, 0x3b, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0x20, 0xbb0, 0xbc2, 0xbaa, ++0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, ++0x3b, 0x3b, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xbae, ++0xbb2, 0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0x3b, 0x3b, 0xbae, 0xbb2, ++0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, 0xbae, ++0xbb2, 0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, ++0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0x3b, 0x3b, 0xb9a, ++0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, ++0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0xb95, 0xbb3, 0xbcd, ++0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, ++0xb95, 0xbc8, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x20, ++0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x44f, 0x20, 0x441, 0x443, 0x43c, ++0x44b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x443, 0x43c, 0x3b, 0xc30, 0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc3f, 0x3b, 0x3b, 0xc30, ++0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc3f, 0x3b, 0x3b, 0x3b, 0x3b, 0xc30, 0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc32, 0xc41, 0x3b, 0xe1a, 0xe32, 0xe17, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xe1a, 0xe32, 0xe17, 0xe44, 0xe17, 0xe22, 0x3b, 0xf61, 0xf74, 0xf0b, 0xf68, 0xf53, 0xf0b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xf62, 0xf92, 0xfb1, 0xf0b, 0xf42, 0xf62, 0xf0b, 0xf66, 0xf92, 0xf7c, 0xf62, 0xf0b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x12e8, 0x12a2, 0x1275, 0x12ee, 0x1335, 0x12eb, 0x20, 0x1265, 0x122d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x50, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x66, 0x61, 0x6b, 0x61, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x66, 0x61, 0x6b, 0x61, 0x74, 0x6f, 0x6e, 0x67, ++0x61, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x20, 0x4c, 0x69, 0x72, 0x61, 0x73, 0x131, 0x3b, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x20, ++0x6c, 0x69, 0x72, 0x61, 0x73, 0x131, 0x3b, 0x3b, 0x3b, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x20, 0x6c, 0x69, 0x72, 0x61, 0x73, ++0x131, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x64, 0x79, 0x3b, 0x3b, 0x74, 0xfc, ++0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x64, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x74, 0xfc, 0x72, 0x6b, ++0x6d, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x64, 0x79, 0x3b, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x20, 0x64a, 0x6c8, 0x6d5, ++0x646, 0x649, 0x3b, 0x3b, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x20, 0x64a, 0x6c8, 0x6d5, 0x646, 0x649, 0x3b, 0x3b, 0x3b, 0x3b, 0x62c, ++0x6c7, 0x6ad, 0x6af, 0x648, 0x20, 0x64a, 0x6c8, 0x6d5, 0x646, 0x649, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, ++0x430, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44f, 0x3b, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x430, ++0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44f, 0x3b, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x456, 0x20, ++0x433, 0x440, 0x438, 0x432, 0x43d, 0x456, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x438, 0x445, 0x20, 0x433, ++0x440, 0x438, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x43e, 0x457, 0x20, 0x433, ++0x440, 0x438, 0x432, 0x43d, 0x456, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, ++0x3b, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x3b, 0x3b, ++0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x628, 0x6be, 0x627, 0x631, 0x62a, ++0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, ++0x6c1, 0x3b, 0x3b, 0x3b, 0x3b, 0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6d2, 0x3b, 0x4f, 0x2018, 0x7a, ++0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x3b, 0x4f, 0x2018, 0x7a, 0x62, ++0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x4f, 0x2018, 0x7a, ++0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x627, 0x641, 0x63a, 0x627, 0x646, ++0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x20, 0x441, ++0x45e, 0x43c, 0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x20, 0x441, 0x45e, 0x43c, 0x3b, 0x3b, ++0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x20, 0x441, 0x45e, 0x43c, 0x3b, 0x110, 0x1ed3, 0x6e, ++0x67, 0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x110, 0x1ed3, 0x6e, 0x67, ++0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x3b, 0x50, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, ++0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x62, 0x75, 0x6e, 0x74, ++0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x62, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, ++0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, ++0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, ++0x3b, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x43, 0x46, 0x41, 0x20, 0x62, 0x75, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x20, ++0x53, 0x6f, 0x77, 0x77, 0x75, 0x2d, 0x6a, 0x61, 0x6e, 0x74, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x72, 0x61, 0x6e, ++0x63, 0x20, 0x43, 0x46, 0x41, 0x20, 0x79, 0x75, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x20, 0x53, 0x6f, 0x77, 0x77, 0x75, ++0x2d, 0x6a, 0x61, 0x6e, 0x74, 0x3b, 0x69, 0x52, 0x61, 0x6e, 0x64, 0x69, 0x20, 0x79, 0x61, 0x73, 0x65, 0x4d, 0x7a, 0x61, ++0x6e, 0x7a, 0x69, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x69, 0x52, 0x61, 0x6e, 0x64, 0x69, 0x20, 0x59, ++0x61, 0x73, 0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x7a, 0x69, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, ++0x69, 0x52, 0x61, 0x6e, 0x64, 0x69, 0x20, 0x79, 0x61, 0x73, 0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x7a, 0x69, 0x20, 0x41, 0x66, ++0x72, 0x69, 0x6b, 0x61, 0x3b, 0x4e, 0xe1, 0xed, 0x72, 0xe0, 0x20, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, 0xed, 0xe0, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0xe1, 0xed, 0x72, 0xe0, 0x20, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, 0xed, 0xe0, 0x3b, ++0x46, 0x61, 0x72, 0x61, 0x6e, 0x73, 0xec, 0x20, 0xec, 0x77, 0x254, 0x300, 0x2d, 0x6f, 0x6f, 0x72, 0xf9, 0x6e, 0x20, 0x41, ++0x66, 0xed, 0x72, 0xed, 0x6b, 0xe0, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xe0, 0x77, 0x254, 0x6e, 0x20, 0x66, 0x61, 0x72, ++0x61, 0x6e, 0x73, 0xec, 0x20, 0xec, 0x77, 0x254, 0x300, 0x2d, 0x6f, 0x6f, 0x72, 0xf9, 0x6e, 0x20, 0x41, 0x66, 0xed, 0x72, ++0xed, 0x6b, 0xe0, 0x3b, 0x69, 0x2d, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, ++0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x69, 0x2d, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, ++0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x69, 0x2d, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, ++0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x41a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, ++0x438, 0x43b, 0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, + 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x430, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, + 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, +-0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x430, 0x20, 0x43a, 0x43e, 0x43d, +-0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, +-0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x435, 0x20, +-0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x435, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x65, 0x3b, +-0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, +-0x43a, 0x438, 0x445, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x438, 0x445, 0x20, 0x43c, +-0x430, 0x440, 0x430, 0x43a, 0x430, 0x3b, 0x415, 0x432, 0x440, 0x43e, 0x3b, 0x3b, 0x435, 0x432, 0x440, 0x43e, 0x3b, 0x3b, 0x435, 0x432, +-0x440, 0x430, 0x3b, 0x3b, 0x435, 0x432, 0x440, 0x430, 0x3b, 0x41b, 0x430, 0x440, 0x3b, 0x3b, 0x43b, 0x430, 0x440, 0x3b, 0x3b, 0x3b, +-0x3b, 0x43b, 0x430, 0x440, 0x44b, 0x3b, 0x421, 0x43e, 0x43c, 0x3b, 0x3b, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x43e, +-0x43c, 0x44b, 0x3b, 0x44, 0x6f, 0x72, 0x61, 0x20, 0x72, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, 0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, 0x64a, 0x3b, 0x3b, 0x67e, +-0x627, 0x6aa, 0x633, 0x62a, 0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, 0x64a, 0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, +-0x627, 0x646, 0x64a, 0x20, 0x631, 0x67e, 0x64a, 0x3b, 0x939, 0x93f, 0x902, 0x926, 0x941, 0x938, 0x94d, 0x924, 0x93e, 0x928, 0x940, 0x20, +-0x930, 0x941, 0x92a, 0x92f, 0x94b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, +-0xd9a, 0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, 0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, 0xd9a, +-0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, 0x3b, 0x3b, 0x3b, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, +-0xd9a, 0xdcf, 0x20, 0xdbb, 0xdd4, 0xdb4, 0xdd2, 0xdba, 0xdbd, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, +-0x3b, 0x3b, 0x65, 0x75, 0x72, 0xe1, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x3b, 0x65, 0x75, 0x72, 0x3b, 0x65, 0x76, 0x72, 0x6f, +-0x3b, 0x3b, 0x65, 0x76, 0x72, 0x6f, 0x3b, 0x65, 0x76, 0x72, 0x61, 0x3b, 0x65, 0x76, 0x72, 0x69, 0x3b, 0x3b, 0x65, 0x76, +-0x72, 0x6f, 0x76, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, 0x53, 0x6f, 0x6f, 0x6d, 0x61, 0x61, +-0x6c, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x61, 0x72, 0x61, 0x6e, 0x20, 0x4a, 0x61, 0x62, +-0x75, 0x75, 0x74, 0x69, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, 0x6e, 0x6b, 0x61, 0x20, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, +-0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x61, 0x72, 0x61, 0x6e, 0x6b, 0x61, 0x20, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, +-0x3b, 0x42, 0x69, 0x72, 0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x62, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x62, 0x69, +-0x72, 0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x62, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x69, 0x72, +-0x74, 0x61, 0x20, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x62, 0x69, 0x79, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, +-0x6b, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, +-0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x6b, 0x61, 0x20, 0x4b, +-0x65, 0x6e, 0x79, 0x61, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x3b, +-0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, +-0x65, 0x73, 0x6f, 0x73, 0x20, 0x61, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x6f, 0x73, 0x3b, 0x64, 0xf3, 0x6c, 0x61, +-0x72, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x20, 0x62, 0x65, +-0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x62, 0x65, +-0x6c, 0x69, 0x63, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x62, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x62, +-0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x6e, +-0x6f, 0x73, 0x3b, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x72, +-0x65, 0x61, 0x6c, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x72, 0x65, 0x61, +-0x6c, 0x65, 0x73, 0x20, 0x62, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x50, 0x65, 0x73, 0x6f, 0x20, +-0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, +-0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x63, 0x68, 0x69, 0x6c, 0x65, 0x6e, 0x6f, 0x73, 0x3b, +-0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, +-0x6f, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, +-0x73, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x63, 0x6f, 0x6c, 0xf3, 0x6e, 0x20, +-0x63, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x63, 0x6f, 0x6c, 0xf3, 0x6e, +-0x20, 0x63, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x63, 0x6f, +-0x6c, 0x6f, 0x6e, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x61, 0x72, 0x72, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, +-0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, 0x75, 0x62, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x63, +-0x75, 0x62, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x63, 0x75, 0x62, 0x61, 0x6e, +-0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, +-0x70, 0x65, 0x73, 0x6f, 0x20, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, +-0x65, 0x73, 0x6f, 0x73, 0x20, 0x64, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x64, 0xf3, 0x6c, +-0x61, 0x72, 0x20, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x75, 0x6e, 0x69, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x64, +-0xf3, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x75, 0x6e, 0x69, 0x64, 0x65, 0x6e, 0x73, 0x65, 0x3b, +-0x3b, 0x3b, 0x3b, 0x64, 0xf3, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x65, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x75, 0x6e, 0x69, +-0x64, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x64, 0x65, +-0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x3b, 0x66, 0x72, 0x61, +-0x6e, 0x63, 0x6f, 0x20, 0x43, 0x46, 0x41, 0x20, 0x64, 0x65, 0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x43, 0x65, +-0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x73, 0x20, 0x43, 0x46, 0x41, +-0x20, 0x64, 0x65, 0x20, 0xc1, 0x66, 0x72, 0x69, 0x63, 0x61, 0x20, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x3b, 0x71, +-0x75, 0x65, 0x74, 0x7a, 0x61, 0x6c, 0x3b, 0x3b, 0x71, 0x75, 0x65, 0x74, 0x7a, 0x61, 0x6c, 0x3b, 0x3b, 0x3b, 0x3b, 0x71, +-0x75, 0x65, 0x74, 0x7a, 0x61, 0x6c, 0x65, 0x73, 0x3b, 0x6c, 0x65, 0x6d, 0x70, 0x69, 0x72, 0x61, 0x20, 0x68, 0x6f, 0x6e, +-0x64, 0x75, 0x72, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x6c, 0x65, 0x6d, 0x70, 0x69, 0x72, 0x61, 0x20, 0x68, 0x6f, 0x6e, 0x64, +-0x75, 0x72, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x6c, 0x65, 0x6d, 0x70, 0x69, 0x72, 0x61, 0x73, 0x20, 0x68, 0x6f, +-0x6e, 0x64, 0x75, 0x72, 0x65, 0xf1, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x6d, 0x65, 0x78, 0x69, 0x63, 0x61, +-0x6e, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x6d, 0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, +-0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x6d, 0x65, 0x78, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x63, 0xf3, 0x72, +-0x64, 0x6f, 0x62, 0x61, 0x20, 0x6e, 0x69, 0x63, 0x61, 0x72, 0x61, 0x67, 0xfc, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x3b, 0x63, +-0xf3, 0x72, 0x64, 0x6f, 0x62, 0x61, 0x20, 0x6e, 0x69, 0x63, 0x61, 0x72, 0x61, 0x67, 0xfc, 0x65, 0x6e, 0x73, 0x65, 0x3b, +-0x3b, 0x3b, 0x3b, 0x63, 0xf3, 0x72, 0x64, 0x6f, 0x62, 0x61, 0x73, 0x20, 0x6e, 0x69, 0x63, 0x61, 0x72, 0x61, 0x67, 0xfc, +-0x65, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x20, 0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, +-0x6f, 0x3b, 0x3b, 0x62, 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x20, 0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, 0x6f, 0x3b, 0x3b, +-0x3b, 0x3b, 0x62, 0x61, 0x6c, 0x62, 0x6f, 0x61, 0x73, 0x20, 0x70, 0x61, 0x6e, 0x61, 0x6d, 0x65, 0xf1, 0x6f, 0x73, 0x3b, +-0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x20, 0x70, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x67, +-0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x20, 0x70, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, +-0x67, 0x75, 0x61, 0x72, 0x61, 0x6e, 0xed, 0x65, 0x73, 0x20, 0x70, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x73, +-0x3b, 0x73, 0x6f, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x73, 0x6f, 0x6c, 0x20, 0x70, 0x65, +-0x72, 0x75, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x6f, 0x6c, 0x65, 0x73, 0x20, 0x70, 0x65, 0x72, 0x75, 0x61, +-0x6e, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x70, +-0x65, 0x73, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, +-0x73, 0x20, 0x66, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x73, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x75, 0x72, 0x75, +-0x67, 0x75, 0x61, 0x79, 0x6f, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x20, 0x75, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x6f, +-0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x65, 0x73, 0x6f, 0x73, 0x20, 0x75, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x6f, 0x73, 0x3b, +-0x62, 0x6f, 0x6c, 0xed, 0x76, 0x61, 0x72, 0x20, 0x73, 0x6f, 0x62, 0x65, 0x72, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x62, 0x6f, +-0x6c, 0xed, 0x76, 0x61, 0x72, 0x20, 0x73, 0x6f, 0x62, 0x65, 0x72, 0x61, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x62, 0x6f, +-0x6c, 0xed, 0x76, 0x61, 0x72, 0x65, 0x73, 0x20, 0x73, 0x6f, 0x62, 0x65, 0x72, 0x61, 0x6e, 0x6f, 0x73, 0x3b, 0x52, 0x75, +-0x70, 0x65, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0xe9, 0x73, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x72, +-0x75, 0x70, 0x65, 0x65, 0x20, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0xe9, 0x73, 0x69, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, +-0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, +-0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, +-0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x7a, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, +-0x61, 0x3b, 0x46, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x3b, +-0x66, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, +-0x66, 0x61, 0x72, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x7a, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x53, 0x68, 0x69, +-0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, +-0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, +-0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x7a, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, +-0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, +-0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, +-0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x7a, 0x61, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x73, 0x76, 0x65, 0x6e, +-0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x61, 0x3b, 0x3b, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x20, 0x6b, 0x72, 0x6f, +-0x6e, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0x20, 0x6b, 0x72, 0x6f, 0x6e, 0x6f, 0x72, +-0x3b, 0x421, 0x43e, 0x43c, 0x43e, 0x43d, 0x4e3, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x421, 0x43e, 0x43c, 0x43e, 0x43d, 0x4e3, 0x3b, +-0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, +-0xbaf, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0x20, 0xbb0, +-0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xbae, 0xbb2, 0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, +-0xb99, 0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0x3b, 0x3b, 0xbae, 0xbb2, 0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, 0xb99, +-0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, 0xbae, 0xbb2, 0xbc7, 0xbb7, 0xbbf, 0xbaf, 0xba9, 0xbcd, 0x20, 0xbb0, 0xbbf, +-0xb99, 0xbcd, 0xb95, 0xbbf, 0xb9f, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, +-0xbcd, 0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0x3b, 0x3b, 0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, +-0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0x3b, 0x3b, 0x3b, 0x3b, 0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, +-0xbcd, 0x20, 0xb9f, 0xbbe, 0xbb2, 0xbb0, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x20, 0xbb0, 0xbc2, +-0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, 0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0x3b, +-0x3b, 0x3b, 0x3b, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x20, 0xbb0, 0xbc2, 0xbaa, 0xbbe, 0xbaf, 0xbcd, 0xb95, 0xbb3, 0xbcd, 0x3b, +-0x420, 0x43e, 0x441, 0x441, 0x438, 0x44f, 0x20, 0x441, 0x443, 0x43c, 0x44b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x441, 0x443, 0x43c, +-0x3b, 0xc30, 0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc3f, 0x3b, 0x3b, 0xc30, 0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc3f, 0x3b, 0x3b, 0x3b, 0x3b, 0xc30, +-0xc42, 0xc2a, 0xc3e, 0xc2f, 0xc32, 0xc41, 0x3b, 0xe1a, 0xe32, 0xe17, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xe1a, 0xe32, 0xe17, 0xe44, +-0xe17, 0xe22, 0x3b, 0xf61, 0xf74, 0xf0b, 0xf68, 0xf53, 0xf0b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xf62, 0xf92, 0xfb1, 0xf0b, +-0xf42, 0xf62, 0xf0b, 0xf66, 0xf92, 0xf7c, 0xf62, 0xf0b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x12e8, 0x12a2, 0x1275, 0x12ee, 0x1335, +-0x12eb, 0x20, 0x1265, 0x122d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x2bb, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x66, +-0x61, 0x6b, 0x61, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x50, 0x61, 0x2bb, 0x61, 0x6e, 0x67, +-0x61, 0x20, 0x66, 0x61, 0x6b, 0x61, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x20, 0x4c, 0x69, 0x72, +-0x61, 0x73, 0x131, 0x3b, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x20, 0x6c, 0x69, 0x72, 0x61, 0x73, 0x131, 0x3b, 0x3b, 0x3b, 0x3b, +-0x54, 0xfc, 0x72, 0x6b, 0x20, 0x6c, 0x69, 0x72, 0x61, 0x73, 0x131, 0x3b, 0x54, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, +-0x6d, 0x61, 0x6e, 0x61, 0x64, 0x79, 0x3b, 0x3b, 0x74, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, +-0x64, 0x79, 0x3b, 0x3b, 0x3b, 0x3b, 0x74, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x64, 0x79, +-0x3b, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x20, 0x64a, 0x6c8, 0x6d5, 0x646, 0x649, 0x3b, 0x3b, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x20, +-0x64a, 0x6c8, 0x6d5, 0x646, 0x649, 0x3b, 0x3b, 0x3b, 0x3b, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x20, 0x64a, 0x6c8, 0x6d5, 0x646, 0x649, +-0x3b, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x430, 0x20, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x44f, 0x3b, 0x3b, +-0x433, 0x440, 0x438, 0x432, 0x43d, 0x44f, 0x3b, 0x3b, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x456, 0x3b, 0x433, 0x440, 0x438, 0x432, 0x435, +-0x43d, 0x44c, 0x3b, 0x433, 0x440, 0x438, 0x432, 0x43d, 0x456, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, +-0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, +-0x3b, 0x3b, 0x3b, 0x3b, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x628, +-0x6be, 0x627, 0x631, 0x62a, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6cc, 0x20, +-0x631, 0x648, 0x67e, 0x6cc, 0x6c1, 0x3b, 0x3b, 0x3b, 0x3b, 0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6cc, 0x20, 0x631, 0x648, 0x67e, 0x6d2, +-0x3b, 0x4f, 0x2018, 0x7a, 0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x3b, +-0x4f, 0x2018, 0x7a, 0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x3b, 0x3b, +-0x3b, 0x4f, 0x2018, 0x7a, 0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x20, 0x73, 0x6f, 0x2018, 0x6d, 0x69, 0x3b, 0x627, +-0x641, 0x63a, 0x627, 0x646, 0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, +-0x43e, 0x43d, 0x20, 0x441, 0x45e, 0x43c, 0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x20, 0x441, +-0x45e, 0x43c, 0x3b, 0x3b, 0x3b, 0x3b, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x20, 0x441, 0x45e, 0x43c, +-0x3b, 0x110, 0x1ed3, 0x6e, 0x67, 0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x110, 0x1ed3, 0x6e, 0x67, 0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x3b, 0x50, 0x75, 0x6e, 0x74, 0x20, 0x50, +-0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, +-0x62, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x62, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, +-0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, +-0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, 0x64, 0x61, 0x69, 0x6e, 0x3b, 0x70, 0x75, 0x6e, 0x74, 0x20, 0x50, 0x72, 0x79, +-0x64, 0x61, 0x69, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x43, 0x46, 0x41, 0x20, 0x62, 0x75, 0x20, 0x41, 0x66, +-0x72, 0x69, 0x6b, 0x20, 0x53, 0x6f, 0x77, 0x77, 0x75, 0x2d, 0x6a, 0x61, 0x6e, 0x74, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x46, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x43, 0x46, 0x41, 0x20, 0x79, 0x75, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x20, 0x53, +-0x6f, 0x77, 0x77, 0x75, 0x2d, 0x6a, 0x61, 0x6e, 0x74, 0x3b, 0x69, 0x52, 0x61, 0x6e, 0x64, 0x69, 0x20, 0x79, 0x61, 0x73, +-0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x7a, 0x69, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x69, 0x52, 0x61, 0x6e, +-0x64, 0x69, 0x20, 0x59, 0x61, 0x73, 0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x7a, 0x69, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, +-0x3b, 0x3b, 0x3b, 0x3b, 0x69, 0x52, 0x61, 0x6e, 0x64, 0x69, 0x20, 0x79, 0x61, 0x73, 0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x7a, +-0x69, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x3b, 0x4e, 0xe1, 0xec, 0x72, 0xe0, 0x20, 0x74, 0x69, 0x20, 0x4f, 0x72, +-0xed, 0x6c, 0x1eb9, 0x300, 0x2d, 0xe8, 0x64, 0xe8, 0x20, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, 0xed, 0xe0, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x4e, 0xe1, 0xed, 0x72, 0xe0, 0x20, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, 0xed, 0xe0, 0x3b, 0x46, 0x61, +-0x72, 0x61, 0x6e, 0x73, 0x69, 0x20, 0x74, 0x69, 0x20, 0x4f, 0x72, 0xed, 0x6c, 0x25b, 0x301, 0xe8, 0x64, 0x65, 0x20, 0x42, +-0x49, 0x4b, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x69, 0x2d, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, +-0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x69, 0x2d, 0x53, 0x6f, 0x75, 0x74, +-0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x3b, 0x3b, 0x3b, 0x69, 0x2d, +-0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x20, 0x52, 0x61, 0x6e, 0x64, 0x3b, 0x42, +-0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, 0x61, 0x20, +-0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x61, 0x3b, +-0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, 0x10d, 0x6b, +-0x61, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x61, 0x20, 0x6d, 0x61, 0x72, 0x6b, +-0x61, 0x3b, 0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, 0x76, 0x61, +-0x10d, 0x6b, 0x65, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x65, 0x20, 0x6d, 0x61, +-0x72, 0x6b, 0x65, 0x3b, 0x3b, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x6f, 0x68, 0x65, 0x72, 0x63, 0x65, 0x67, 0x6f, +-0x76, 0x61, 0x10d, 0x6b, 0x69, 0x68, 0x20, 0x6b, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x6e, 0x69, +-0x68, 0x20, 0x6d, 0x61, 0x72, 0x61, 0x6b, 0x61, 0x3b, 0x41a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, +-0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x2d, 0x445, +-0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x430, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, +-0x431, 0x438, 0x43b, 0x43d, 0x430, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x430, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, +-0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x435, 0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, +-0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x435, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x435, 0x3b, 0x3b, 0x431, 0x43e, 0x441, 0x430, +-0x43d, 0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x438, 0x445, 0x20, 0x43a, +-0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x438, 0x445, 0x20, 0x43c, 0x430, 0x440, 0x430, 0x43a, 0x430, +-0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x53, 0x69, 0x64, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, +-0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x1ecb, +-0x72, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, +-0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x67, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x73, 0x69, +-0x256, 0x69, 0x3b, 0x3b, 0x67, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x256, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x67, 0x68, +-0x61, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x256, 0x69, 0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, 0x61, 0x66, +-0x72, 0x69, 0x6b, 0x61, 0x67, 0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, 0x43, 0x45, +-0x41, 0x4f, 0x3b, 0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, 0x61, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x67, +-0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, +-0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, 0x61, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x67, 0x61, 0x20, 0x43, +-0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x50, 0x69, 0x73, 0x6f, 0x20, +-0x6e, 0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x3b, 0x70, 0x69, 0x73, 0x6f, 0x20, 0x6e, +-0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x69, 0x73, 0x6f, 0x20, +-0x6e, 0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, +-0x65, 0x72, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, 0x65, 0x72, +-0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, 0x65, 0x72, +-0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x45, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x75, +-0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x6e, +-0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, +-0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, 0x6b, 0x72, +-0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, +-0x6f, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, +-0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, +-0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x72, 0x75, 0x6f, +-0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, +-0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x62, 0x75, 0x75, +-0x257, 0x75, 0x20, 0x53, 0x65, 0x65, 0x66, 0x61, 0x61, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x4d, 0x62, 0x75, 0x75, 0x257, 0x69, 0x20, 0x53, 0x65, 0x65, 0x66, 0x61, 0x61, 0x20, 0x42, 0x45, 0x41, 0x43, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x20, 0x47, 0x61, 0x6d, 0x6d, 0x62, 0x69, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x61, 0x72, 0x20, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, +-0x79, 0x61, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x67, 0x69, 0x79, 0x79, 0x61, 0x20, 0x4d, 0x75, 0x72, +-0x69, 0x74, 0x61, 0x6e, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x79, 0x72, 0x61, 0x61, 0x20, 0x4e, +-0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x65, 0x77, 0x6f, 0x6f, +-0x6e, 0x20, 0x53, 0x65, 0x72, 0x61, 0x61, 0x20, 0x4c, 0x69, 0x79, 0x6f, 0x6e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x43, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x4e, 0x6a, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x65, 0x65, 0x6c, 0x20, 0x4b, 0x65, 0x6e, 0x79, +-0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x20, 0x4d, +-0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x71, 0x75, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, +-0x20, 0x79, 0x61, 0x73, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x6c, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x68, 0x65, 0x6c, 0x65, 0x72, 0x69, 0x20, 0x73, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x2d30, 0x2d37, 0x2d54, 0x2d49, 0x2d4e, 0x20, 0x2d4f, 0x20, 0x2d4d, 0x2d4e, 0x2d56, 0x2d54, 0x2d49, 0x2d31, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x61, 0x64, 0x72, 0x69, 0x6d, 0x20, 0x6e, 0x20, 0x6c, 0x6d, 0x263, 0x72, 0x69, 0x62, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x41, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x20, 0x41, 0x7a, 0x7a, 0x61, 0x79, 0x72, +-0x69, 0x3b, 0x3b, 0x41, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x20, 0x6e, 0x20, 0x5a, 0x7a, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x3b, +-0x3b, 0x3b, 0x49, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x65, 0x6e, 0x20, 0x6e, 0x20, 0x5a, 0x7a, 0x61, 0x79, 0x65, 0x72, 0x3b, +-0x45, 0x73, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x48, 0x75, +-0x74, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, +-0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x73, 0x65, 0x66, 0x61, 0x20, 0x46, 0x72, 0x61, 0x14b, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, 0x3b, 0x3b, 0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, +-0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, 0x3b, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x20, 0x6d, 0x6f, 0x72, +-0x69, 0x73, 0x69, 0x65, 0x6e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0xed, 0x69, 0x6e, 0x67, +-0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0xed, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x65, 0x79, 0x61, 0x20, 0x59, 0x75, 0x67, 0x61, 0x6e, 0x64, 0x61, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6b, 0x75, 0x64, 0x75, 0x20, 0x4b, 0x61, 0x62, 0x75, 0x76, 0x65, 0x72, +-0x64, 0x69, 0x61, 0x6e, 0x75, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6b, 0x75, 0x64, 0x75, 0x20, 0x4b, 0x61, 0x62, +-0x75, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x75, 0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x74, 0x61, 0x62, +-0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, +-0x62, 0x69, 0x61, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x75, +-0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x72, 0x6f, 0x70, 0x69, 0x79, 0x69, 0x61, 0x6e, 0xed, 0x20, +-0x65, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x72, 0x6f, 0x70, 0x69, 0x79, +-0x69, 0x61, 0x6e, 0xed, 0x20, 0x65, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x53, 0x69, 0x72, 0x69, 0x6e, 0x6a, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, +-0x64, 0x68, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x41, 0x6e, 0x67, 0x6f, 0x2019, 0x6f, 0x74, +-0x6f, 0x6c, 0x20, 0x6c, 0x6f, 0x6b, 0x2019, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x41, 0x6e, 0x67, 0x6f, 0x2019, 0x6f, 0x74, 0x6f, 0x6c, 0x20, 0x6c, 0x6f, 0x6b, 0x2019, 0x20, 0x4b, 0x65, 0x6e, 0x79, +-0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x46, 0x41, 0x20, 0x46, 0x72, 0x61, 0x14b, 0x20, 0x28, 0x42, 0x43, +-0x45, 0x41, 0x4f, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x61, +-0x72, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x65, 0x72, 0x68, 0x65, 0x6d, +-0x20, 0x55, 0x6d, 0x65, 0x1e5b, 0x1e5b, 0x75, 0x6b, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, +-0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x930, 0x93e, 0x902, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, +-0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x3b, +-0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, 0x20, 0x441, 0x43e, 0x44c, 0x43c, 0x430, 0x448, 0x3b, 0x440, 0x461, 0x441, 0x441, +-0x456, 0x301, 0x439, 0x441, 0x43a, 0x457, 0x439, 0x20, 0x440, 0xa64b, 0x301, 0x431, 0x43b, 0x44c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x440, 0x461, 0x441, 0x441, 0x456, 0x301, 0x439, 0x441, 0x43a, 0x430, 0x433, 0x461, 0x20, 0x440, 0xa64b, 0x431, 0x43b, 0x467, 0x300, 0x3b, +-0x4e, 0x66, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x75, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x46, 0x41, 0x20, 0x46, 0xe0, 0x6c, 0xe2, 0x14b, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x72, 0x1ce, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, +-0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x65, 0x65, 0x66, 0x61, 0x20, 0x79, 0x61, 0x74, 0x69, 0x20, 0x42, 0x43, +-0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x259, 0x6c, 0xe1, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x20, +-0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0xe1, 0x14b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x6f, 0x6c, 0x61, 0x69, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x46, 0x72, 0x61, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x20, 0x441, 0x43e, 0x43b, 0x43a, 0x443, 0x43e, 0x431, 0x430, 0x439, +-0x430, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x20, 0x441, 0x43e, 0x43b, +-0x43a, 0x443, 0x43e, 0x431, 0x430, 0x439, 0x430, 0x3b, 0x49, 0x68, 0x65, 0x6c, 0x61, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, +-0x73, 0x61, 0x6e, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xa55e, 0xa524, 0xa52b, 0xa569, 0x20, 0xa55c, 0xa55e, +-0xa54c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x61, 0x69, 0x62, 0x68, 0x69, 0x79, 0x61, 0x20, 0x44, 0x61, 0x6c, +-0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x25b, 0x6c, 0xe2, 0x14b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, +-0x46, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x43, 0x46, 0x41, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x72, +-0xe8, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x65, 0x6c, 0xe1, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x9a8, 0x20, 0x9b0, 0x9c1, 0x9aa, 0x9bf, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x3b, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x9a8, 0x20, 0x9b0, 0x9c1, 0x9aa, 0x9bf, 0x3b, 0x1c65, +-0x1c64, 0x1c67, 0x1c5a, 0x1c5b, 0x20, 0x1c68, 0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x3b, 0x1c65, 0x1c64, 0x1c67, +-0x1c5a, 0x1c5b, 0x20, 0x1c68, 0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x1c65, 0x1c64, 0x1c67, 0x1c5a, 0x1c5b, 0x20, +-0x1c68, 0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x3b, 0x3b, 0x1c65, 0x1c64, 0x1c67, 0x1c5a, 0x1c5b, 0x20, 0x1c68, +-0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x62f, 0x6cc, 0x646, 0x627, 0x631, 0x6cc, 0x20, 0x639, 0x6ce, 0x631, +-0x627, 0x642, 0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x695, 0x6cc, 0x627, 0x6b5, 0x6cc, 0x20, 0x626, 0x6ce, 0x631, 0x627, +-0x646, 0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, +-0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, +-0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x6a, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x3b, 0x3b, 0x65, +-0x75, 0x72, 0x6f, 0x77, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, +-0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, +-0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x20, 0x631, 0x6cc, 0x627, 0x644, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x3b, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x20, 0x631, 0x6cc, 0x627, 0x644, 0x3b, 0x6e2f, 0x5e63, 0x3b, 0x3b, 0x3b, 0x3b, +-0x3b, 0x3b, 0x6e2f, 0x5e63, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x50, 0x69, 0x73, 0x6f, +-0x3b, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, 0x3b, 0x3b, 0x3b, +-0x3b, 0x4d, 0x67, 0x61, 0x20, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, +-0x3b, 0x4e, 0x61, 0x69, 0x6a, 0xed, 0x72, 0x69, 0xe1, 0x20, 0x4e, 0x61, 0xed, 0x72, 0x61, 0x3b, 0x3b, 0x4e, 0x61, 0x69, +-0x6a, 0xed, 0x72, 0x69, 0xe1, 0x20, 0x6e, 0x61, 0xed, 0x72, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x69, 0x6a, 0xed, +-0x72, 0x69, 0xe1, 0x20, 0x6e, 0x61, 0xed, 0x72, 0x61, 0x73, 0x3b ++0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x435, 0x20, 0x43a, 0x43e, 0x43d, ++0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x435, 0x20, 0x43c, 0x430, 0x440, 0x43a, 0x435, 0x3b, 0x3b, 0x431, 0x43e, ++0x441, 0x430, 0x43d, 0x441, 0x43a, 0x43e, 0x2d, 0x445, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x430, 0x447, 0x43a, 0x438, 0x445, ++0x20, 0x43a, 0x43e, 0x43d, 0x432, 0x435, 0x440, 0x442, 0x438, 0x431, 0x438, 0x43b, 0x43d, 0x438, 0x445, 0x20, 0x43c, 0x430, 0x440, 0x430, ++0x43a, 0x430, 0x3b, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x53, 0x69, 0x64, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, ++0x61, 0x1ecb, 0x72, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, ++0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x67, 0x68, 0x61, 0x6e, 0x61, 0x20, ++0x73, 0x69, 0x256, 0x69, 0x3b, 0x3b, 0x67, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x256, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, ++0x67, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x73, 0x69, 0x256, 0x69, 0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, ++0x61, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x67, 0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, ++0x43, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, 0x61, 0x66, 0x72, 0x69, 0x6b, ++0x61, 0x67, 0x61, 0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, ++0x3b, 0x3b, 0x3b, 0x263, 0x65, 0x74, 0x6f, 0x256, 0x6f, 0x66, 0x65, 0x20, 0x61, 0x66, 0x72, 0x69, 0x6b, 0x61, 0x67, 0x61, ++0x20, 0x43, 0x46, 0x41, 0x20, 0x66, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x50, 0x69, 0x73, ++0x6f, 0x20, 0x6e, 0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x3b, 0x70, 0x69, 0x73, 0x6f, ++0x20, 0x6e, 0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x3b, 0x3b, 0x3b, 0x70, 0x69, 0x73, ++0x6f, 0x20, 0x6e, 0x67, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, ++0x69, 0x7a, 0x65, 0x72, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, ++0x65, 0x72, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, ++0x65, 0x72, 0x20, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x65, 0x3b, 0x45, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x45, 0x75, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, ++0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x6e, 0x6f, 0x72, 0x67, ++0x67, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x6e, 0x6f, 0x72, 0x67, 0x67, 0x61, 0x20, ++0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, ++0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, ++0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, ++0x6f, 0x3b, 0x72, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x3b, 0x3b, 0x72, ++0x75, 0x6f, 0x167, 0x167, 0x61, 0x20, 0x6b, 0x72, 0x75, 0x76, 0x64, 0x6e, 0x6f, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, ++0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x62, ++0x75, 0x75, 0x257, 0x75, 0x20, 0x53, 0x65, 0x65, 0x66, 0x61, 0x61, 0x20, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x62, 0x75, 0x75, 0x257, 0x69, 0x20, 0x53, 0x65, 0x65, 0x66, 0x61, 0x61, 0x20, 0x42, 0x45, ++0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x61, 0x6c, 0x61, 0x73, 0x69, 0x20, 0x47, 0x61, 0x6d, 0x6d, ++0x62, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, 0x6c, 0x61, 0x61, 0x72, 0x20, 0x4c, 0x69, 0x62, 0x65, ++0x72, 0x69, 0x79, 0x61, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x67, 0x69, 0x79, 0x79, 0x61, 0x20, 0x4d, ++0x75, 0x72, 0x69, 0x74, 0x61, 0x6e, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x79, 0x72, 0x61, 0x61, ++0x20, 0x4e, 0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x65, 0x77, ++0x6f, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x61, 0x61, 0x20, 0x4c, 0x69, 0x79, 0x6f, 0x6e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x43, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x6a, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x65, 0x65, 0x6c, 0x20, 0x4b, 0x65, ++0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4d, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x65, ++0x20, 0x4d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x71, 0x75, 0x65, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x44, 0x6f, ++0x6c, 0x61, 0x20, 0x79, 0x61, 0x73, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x6c, 0x69, 0x6b, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x68, 0x65, 0x6c, 0x65, 0x72, 0x69, 0x20, 0x73, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x2d30, 0x2d37, 0x2d54, 0x2d49, 0x2d4e, 0x20, 0x2d4f, 0x20, 0x2d4d, 0x2d4e, 0x2d56, 0x2d54, 0x2d49, ++0x2d31, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x61, 0x64, 0x72, 0x69, 0x6d, 0x20, 0x6e, 0x20, 0x6c, 0x6d, 0x263, 0x72, ++0x69, 0x62, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x41, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x20, 0x41, 0x7a, 0x7a, 0x61, ++0x79, 0x72, 0x69, 0x3b, 0x3b, 0x41, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x20, 0x6e, 0x20, 0x4c, 0x65, 0x7a, 0x7a, 0x61, 0x79, ++0x65, 0x72, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x64, 0x69, 0x6e, 0x61, 0x72, 0x65, 0x6e, 0x20, 0x6e, 0x20, 0x4c, 0x65, 0x7a, ++0x7a, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x45, 0x73, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x55, ++0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, ++0x20, 0x79, 0x61, 0x20, 0x48, 0x75, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x53, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x65, 0x66, 0x61, 0x20, 0x46, 0x72, 0x61, 0x14b, 0x20, 0x28, 0x42, ++0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, 0x3b, 0x3b, ++0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, 0x3b, 0x3b, 0x3b, 0x3b, 0x55, 0x53, 0x20, 0x13a0, 0x13d5, 0x13b3, 0x3b, 0x72, 0x6f, 0x75, ++0x70, 0x69, 0x20, 0x6d, 0x6f, 0x72, 0x69, 0x73, 0x69, 0x65, 0x6e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x68, ++0x69, 0x6c, 0xed, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0xed, 0x61, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x65, 0x79, 0x61, 0x20, 0x59, ++0x75, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6b, 0x75, 0x64, 0x75, 0x20, 0x4b, ++0x61, 0x62, 0x75, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x75, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x6b, 0x75, ++0x64, 0x75, 0x20, 0x4b, 0x61, 0x62, 0x75, 0x76, 0x65, 0x72, 0x64, 0x69, 0x61, 0x6e, 0x75, 0x3b, 0x53, 0x69, 0x6c, 0x69, ++0x6e, 0x67, 0x69, 0x74, 0x61, 0x62, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x4e, 0x61, 0x6d, 0x69, 0x62, 0x69, 0x61, 0x20, 0x44, 0x6f, 0x6c, 0x6c, 0x61, 0x72, 0x69, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x45, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x49, 0x72, 0x6f, 0x70, 0x69, ++0x79, 0x69, 0x61, 0x6e, 0xed, 0x20, 0x65, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x49, 0x72, 0x6f, 0x70, 0x69, 0x79, 0x69, 0x61, 0x6e, 0xed, 0x20, 0x65, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, ++0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x72, 0x69, 0x6e, 0x6a, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, ++0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, ++0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x64, 0x68, 0x61, 0x6e, 0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x41, ++0x6e, 0x67, 0x6f, 0x2019, 0x6f, 0x74, 0x6f, 0x6c, 0x20, 0x6c, 0x6f, 0x6b, 0x2019, 0x20, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x41, 0x6e, 0x67, 0x6f, 0x2019, 0x6f, 0x74, 0x6f, 0x6c, 0x20, 0x6c, 0x6f, 0x6b, ++0x2019, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x46, 0x41, 0x20, 0x46, 0x72, ++0x61, 0x14b, 0x20, 0x28, 0x42, 0x43, 0x45, 0x41, 0x4f, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x53, 0x69, 0x6c, ++0x69, 0x6e, 0x67, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x44, 0x65, 0x72, 0x68, 0x65, 0x6d, 0x20, 0x55, 0x6d, 0x65, 0x1e5b, 0x1e5b, 0x75, 0x6b, 0x69, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x73, 0x68, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x69, 0x20, 0x79, 0x61, 0x20, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, ++0x69, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x930, 0x93e, 0x902, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x420, ++0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, 0x20, 0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, 0x20, ++0x441, 0x43e, 0x43c, 0x3b, 0x3b, 0x3b, 0x3b, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x439, 0x43d, 0x20, 0x441, 0x43e, 0x44c, 0x43c, 0x430, ++0x448, 0x3b, 0x4e, 0x66, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x75, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x43, 0x46, 0x41, 0x20, 0x46, 0xe0, 0x6c, 0xe2, 0x14b, 0x20, 0x42, 0x45, 0x41, 0x43, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x72, 0x1ce, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x20, 0x28, 0x42, 0x45, 0x41, ++0x43, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x65, 0x65, 0x66, 0x61, 0x20, 0x79, 0x61, 0x74, 0x69, 0x20, ++0x42, 0x43, 0x45, 0x41, 0x4f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x259, 0x6c, 0xe1, 0x14b, 0x20, 0x43, 0x46, ++0x41, 0x20, 0x28, 0x42, 0x45, 0x41, 0x43, 0x29, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x72, 0xe1, 0x14b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x6f, 0x6c, 0x61, 0x69, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x46, 0x72, 0x61, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x20, 0x42, 0x45, 0x41, 0x43, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x20, 0x441, 0x43e, 0x43b, 0x43a, 0x443, 0x43e, 0x431, ++0x430, 0x439, 0x430, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x20, 0x441, ++0x43e, 0x43b, 0x43a, 0x443, 0x43e, 0x431, 0x430, 0x439, 0x430, 0x3b, 0x49, 0x68, 0x65, 0x6c, 0x61, 0x20, 0x79, 0x61, 0x20, 0x54, ++0x61, 0x6e, 0x73, 0x61, 0x6e, 0x69, 0x79, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0xa55e, 0xa524, 0xa52b, 0xa569, 0x20, ++0xa55c, 0xa55e, 0xa54c, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x4c, 0x61, 0x69, 0x62, 0x68, 0x69, 0x79, 0x61, 0x20, 0x44, ++0x61, 0x6c, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x46, 0x25b, 0x6c, 0xe2, 0x14b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x20, 0x43, 0x46, 0x41, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x73, 0x68, ++0x69, 0x72, 0xe8, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x66, 0x65, 0x6c, 0xe1, 0x14b, 0x20, 0x43, 0x46, 0x41, 0x3b, ++0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x20, 0x930, 0x92a, 0x947, 0x93d, 0x3b, 0x3b, 0x92d, 0x93e, ++0x930, 0x924, 0x940, 0x20, 0x930, 0x92a, 0x947, 0x93d, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x20, 0x930, 0x92a, ++0x947, 0x93d, 0x3b, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x9a8, 0x20, 0x9b0, 0x9c1, 0x9aa, 0x9bf, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x3b, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x9a8, 0x20, 0x9b0, 0x9c1, 0x9aa, 0x9bf, 0x3b, 0x1c65, 0x1c64, ++0x1c67, 0x1c5a, 0x1c5b, 0x20, 0x1c68, 0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x3b, 0x1c65, 0x1c64, 0x1c67, 0x1c5a, ++0x1c5b, 0x20, 0x1c68, 0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x1c65, 0x1c64, 0x1c67, 0x1c5a, 0x1c5b, 0x20, 0x1c68, ++0x1c6e, 0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x3b, 0x3b, 0x1c65, 0x1c64, 0x1c67, 0x1c5a, 0x1c5b, 0x20, 0x1c68, 0x1c6e, ++0x1c71, 0x1c5f, 0x1c5c, 0x20, 0x1c74, 0x1c5f, 0x1c60, 0x1c5f, 0x3b, 0x62f, 0x6cc, 0x646, 0x627, 0x631, 0x6cc, 0x20, 0x639, 0x6ce, 0x631, 0x627, ++0x642, 0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x695, 0x6cc, 0x627, 0x6b5, 0x6cc, 0x20, 0x626, 0x6ce, 0x631, 0x627, 0x646, ++0x6cc, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, ++0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, ++0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x6a, 0x3b, 0x65, 0x75, 0x72, 0x61, 0x3b, 0x3b, 0x65, 0x75, ++0x72, 0x6f, 0x77, 0x3b, 0x65, 0x75, 0x72, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, ++0x92f, 0x20, 0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x92d, 0x93e, 0x930, 0x924, 0x940, 0x92f, 0x20, ++0x930, 0x941, 0x92a, 0x92f, 0x93e, 0x3b, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x20, 0x631, 0x6cc, 0x627, 0x644, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x3b, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x20, 0x631, 0x6cc, 0x627, 0x644, 0x3b, 0x6e2f, 0x5e63, 0x3b, 0x3b, 0x3b, 0x3b, 0x3b, ++0x3b, 0x6e2f, 0x5e63, 0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x50, 0x69, 0x73, 0x6f, 0x3b, ++0x3b, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, 0x3b, 0x3b, 0x3b, 0x3b, ++0x4d, 0x67, 0x61, 0x20, 0x50, 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, 0x73, 0x6f, 0x3b, ++0x4e, 0x61, 0x69, 0x6a, 0xed, 0x72, 0x69, 0xe1, 0x20, 0x4e, 0x61, 0xed, 0x72, 0x61, 0x3b, 0x3b, 0x4e, 0x61, 0x69, 0x6a, ++0xed, 0x72, 0x69, 0xe1, 0x20, 0x6e, 0x61, 0xed, 0x72, 0x61, 0x3b, 0x3b, 0x3b, 0x3b, 0x4e, 0x61, 0x69, 0x6a, 0xed, 0x72, ++0x69, 0xe1, 0x20, 0x6e, 0x61, 0xed, 0x72, 0x61, 0x73, 0x3b + }; + + static const ushort currency_format_data[] = { +@@ -4348,236 +4339,234 @@ static const ushort endonyms_data[] = { + 0x6c, 0x61, 0x75, 0x50, 0x61, 0x70, 0x75, 0x61, 0x20, 0x4e, 0x65, 0x77, 0x20, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x50, + 0x68, 0x69, 0x6c, 0x69, 0x70, 0x70, 0x69, 0x6e, 0x65, 0x73, 0x50, 0x69, 0x74, 0x63, 0x61, 0x69, 0x72, 0x6e, 0x20, 0x49, + 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x50, 0x75, 0x65, 0x72, 0x74, 0x6f, 0x20, 0x52, 0x69, 0x63, 0x6f, 0x52, 0x77, 0x61, +-0x6e, 0x64, 0x61, 0x53, 0x74, 0x20, 0x4b, 0x69, 0x74, 0x74, 0x73, 0x20, 0x26, 0x20, 0x4e, 0x65, 0x76, 0x69, 0x73, 0x53, +-0x74, 0x20, 0x4c, 0x75, 0x63, 0x69, 0x61, 0x53, 0x74, 0x20, 0x56, 0x69, 0x6e, 0x63, 0x65, 0x6e, 0x74, 0x20, 0x26, 0x20, +-0x47, 0x72, 0x65, 0x6e, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x53, 0x61, 0x6d, 0x6f, 0x61, 0x53, 0x65, 0x79, 0x63, 0x68, +-0x65, 0x6c, 0x6c, 0x65, 0x73, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, 0x53, 0x69, 0x6e, +-0x67, 0x61, 0x70, 0x6f, 0x72, 0x65, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x69, 0x61, 0x53, 0x6f, 0x6c, 0x6f, 0x6d, 0x6f, +-0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, +-0x61, 0x53, 0x74, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x45, 0x73, 0x77, 0x61, 0x74, +-0x69, 0x6e, 0x69, 0x53, 0x77, 0x65, 0x64, 0x65, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x7a, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, +-0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x54, 0x6f, 0x6b, 0x65, 0x6c, 0x61, 0x75, 0x54, 0x6f, 0x6e, 0x67, 0x61, +-0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, 0x6f, 0x54, 0x75, 0x72, +-0x6b, 0x73, 0x20, 0x26, 0x20, 0x43, 0x61, 0x69, 0x63, 0x6f, 0x73, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x54, +-0x75, 0x76, 0x61, 0x6c, 0x75, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x41, 0x72, +-0x61, 0x62, 0x20, 0x45, 0x6d, 0x69, 0x72, 0x61, 0x74, 0x65, 0x73, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x45, +-0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, 0x69, 0x6e, 0x67, 0x64, 0x6f, 0x6d, +-0x55, 0x2e, 0x53, 0x2e, 0x20, 0x4f, 0x75, 0x74, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, +-0x73, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, 0x56, 0x69, 0x72, 0x67, +-0x69, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x56, 0x69, 0x72, 0x67, 0x69, +-0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x5a, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x5a, 0x69, 0x6d, 0x62, 0x61, +-0x62, 0x77, 0x65, 0x44, 0x69, 0x65, 0x67, 0x6f, 0x20, 0x47, 0x61, 0x72, 0x63, 0x69, 0x61, 0x49, 0x73, 0x6c, 0x65, 0x20, +-0x6f, 0x66, 0x20, 0x4d, 0x61, 0x6e, 0x4a, 0x65, 0x72, 0x73, 0x65, 0x79, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x53, 0x75, +-0x64, 0x61, 0x6e, 0x53, 0x69, 0x6e, 0x74, 0x20, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x57, 0x6f, 0x72, 0x6c, 0x64, +-0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x65, 0x73, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x4d, 0x6f, 0x6e, 0x64, 0x6f, +-0x65, 0x65, 0x73, 0x74, 0x69, 0x45, 0x65, 0x73, 0x74, 0x69, 0x66, 0xf8, 0x72, 0x6f, 0x79, 0x73, 0x6b, 0x74, 0x46, 0xf8, +-0x72, 0x6f, 0x79, 0x61, 0x72, 0x73, 0x75, 0x6f, 0x6d, 0x69, 0x53, 0x75, 0x6f, 0x6d, 0x69, 0x66, 0x72, 0x61, 0x6e, 0xe7, +-0x61, 0x69, 0x73, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6c, 0x67, 0xe9, 0x72, 0x69, 0x65, 0x42, 0x65, 0x6c, 0x67, +-0x69, 0x71, 0x75, 0x65, 0x42, 0xe9, 0x6e, 0x69, 0x6e, 0x42, 0x75, 0x72, 0x6b, 0x69, 0x6e, 0x61, 0x20, 0x46, 0x61, 0x73, +-0x6f, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x6f, 0x75, 0x6e, 0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x20, 0x63, 0x61, +-0x6e, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x52, 0xe9, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x71, 0x75, 0x65, 0x20, 0x63, 0x65, 0x6e, +-0x74, 0x72, 0x61, 0x66, 0x72, 0x69, 0x63, 0x61, 0x69, 0x6e, 0x65, 0x54, 0x63, 0x68, 0x61, 0x64, 0x43, 0x6f, 0x6d, 0x6f, +-0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x67, 0x6f, 0x2d, 0x4b, 0x69, 0x6e, 0x73, 0x68, 0x61, 0x73, 0x61, 0x43, 0x6f, 0x6e, +-0x67, 0x6f, 0x2d, 0x42, 0x72, 0x61, 0x7a, 0x7a, 0x61, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x43, 0xf4, 0x74, 0x65, 0x20, 0x64, +-0x2019, 0x49, 0x76, 0x6f, 0x69, 0x72, 0x65, 0x44, 0x6a, 0x69, 0x62, 0x6f, 0x75, 0x74, 0x69, 0x47, 0x75, 0x69, 0x6e, 0xe9, +-0x65, 0x20, 0xe9, 0x71, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x65, 0x20, +-0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x79, 0x6e, 0xe9, 0x73, 0x69, 0x65, 0x20, 0x66, +-0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x65, 0x47, 0x61, 0x62, 0x6f, 0x6e, 0x47, 0x75, 0x61, 0x64, 0x65, 0x6c, 0x6f, +-0x75, 0x70, 0x65, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x65, 0x48, 0x61, 0xef, 0x74, 0x69, 0x4c, 0x75, 0x78, 0x65, 0x6d, 0x62, +-0x6f, 0x75, 0x72, 0x67, 0x4d, 0x61, 0x6c, 0x69, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x4d, 0x61, +-0x75, 0x72, 0x69, 0x74, 0x61, 0x6e, 0x69, 0x65, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x63, 0x65, 0x4d, 0x61, 0x79, 0x6f, 0x74, +-0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x61, 0x63, 0x6f, 0x4d, 0x61, 0x72, 0x6f, 0x63, 0x4e, 0x6f, 0x75, 0x76, 0x65, 0x6c, 0x6c, +-0x65, 0x2d, 0x43, 0x61, 0x6c, 0xe9, 0x64, 0x6f, 0x6e, 0x69, 0x65, 0x4e, 0x69, 0x67, 0x65, 0x72, 0x4c, 0x61, 0x20, 0x52, +-0xe9, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0xe9, 0x6e, 0xe9, 0x67, 0x61, 0x6c, 0x53, 0x61, 0x69, 0x6e, 0x74, 0x2d, 0x50, +-0x69, 0x65, 0x72, 0x72, 0x65, 0x2d, 0x65, 0x74, 0x2d, 0x4d, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x6f, 0x6e, 0x66, 0x72, 0x61, +-0x6e, 0xe7, 0x61, 0x69, 0x73, 0x20, 0x73, 0x75, 0x69, 0x73, 0x73, 0x65, 0x53, 0x75, 0x69, 0x73, 0x73, 0x65, 0x53, 0x79, +-0x72, 0x69, 0x65, 0x54, 0x6f, 0x67, 0x6f, 0x54, 0x75, 0x6e, 0x69, 0x73, 0x69, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x69, 0x73, +-0x2d, 0x65, 0x74, 0x2d, 0x46, 0x75, 0x74, 0x75, 0x6e, 0x61, 0x53, 0x61, 0x69, 0x6e, 0x74, 0x2d, 0x42, 0x61, 0x72, 0x74, +-0x68, 0xe9, 0x6c, 0x65, 0x6d, 0x79, 0x53, 0x61, 0x69, 0x6e, 0x74, 0x2d, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x46, 0x72, +-0x79, 0x73, 0x6b, 0x4e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0xe2, 0x6e, 0x47, 0xe0, 0x69, 0x64, 0x68, 0x6c, 0x69, 0x67, 0x41, +-0x6e, 0x20, 0x52, 0xec, 0x6f, 0x67, 0x68, 0x61, 0x63, 0x68, 0x64, 0x20, 0x41, 0x6f, 0x6e, 0x61, 0x69, 0x63, 0x68, 0x74, +-0x65, 0x67, 0x61, 0x6c, 0x65, 0x67, 0x6f, 0x45, 0x73, 0x70, 0x61, 0xf1, 0x61, 0x10e5, 0x10d0, 0x10e0, 0x10d7, 0x10e3, 0x10da, 0x10d8, +-0x10e1, 0x10d0, 0x10e5, 0x10d0, 0x10e0, 0x10d7, 0x10d5, 0x10d4, 0x10da, 0x10dd, 0x44, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x44, 0x65, 0x75, +-0x74, 0x73, 0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0xd6, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x69, 0x63, 0x68, 0x69, 0x73, +-0x63, 0x68, 0x65, 0x73, 0x20, 0x44, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0xd6, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x69, +-0x63, 0x68, 0x42, 0x65, 0x6c, 0x67, 0x69, 0x65, 0x6e, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x65, 0x6e, 0x4c, 0x69, 0x65, 0x63, +-0x68, 0x74, 0x65, 0x6e, 0x73, 0x74, 0x65, 0x69, 0x6e, 0x4c, 0x75, 0x78, 0x65, 0x6d, 0x62, 0x75, 0x72, 0x67, 0x53, 0x63, +-0x68, 0x77, 0x65, 0x69, 0x7a, 0x65, 0x72, 0x20, 0x48, 0x6f, 0x63, 0x68, 0x64, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x53, +-0x63, 0x68, 0x77, 0x65, 0x69, 0x7a, 0x395, 0x3bb, 0x3bb, 0x3b7, 0x3bd, 0x3b9, 0x3ba, 0x3ac, 0x395, 0x3bb, 0x3bb, 0x3ac, 0x3b4, 0x3b1, +-0x39a, 0x3cd, 0x3c0, 0x3c1, 0x3bf, 0x3c2, 0x6b, 0x61, 0x6c, 0x61, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x75, 0x74, 0x4b, 0x61, 0x6c, +-0x61, 0x61, 0x6c, 0x6c, 0x69, 0x74, 0x20, 0x4e, 0x75, 0x6e, 0x61, 0x61, 0x74, 0xa97, 0xac1, 0xa9c, 0xab0, 0xabe, 0xaa4, 0xac0, +-0xaad, 0xabe, 0xab0, 0xaa4, 0x48, 0x61, 0x75, 0x73, 0x61, 0x4e, 0x61, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, 0x47, 0x61, 0x6e, +-0x61, 0x4e, 0x69, 0x6a, 0x61, 0x72, 0x5e2, 0x5d1, 0x5e8, 0x5d9, 0x5ea, 0x5d9, 0x5e9, 0x5e8, 0x5d0, 0x5dc, 0x939, 0x93f, 0x928, 0x94d, +-0x926, 0x940, 0x92d, 0x93e, 0x930, 0x924, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x4d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x6f, 0x72, +-0x73, 0x7a, 0xe1, 0x67, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0xcd, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x49, 0x6e, +-0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x67, 0x75, 0x61, 0x4d, 0x75, +-0x6e, 0x64, 0x6f, 0x47, 0x61, 0x65, 0x69, 0x6c, 0x67, 0x65, 0xc9, 0x69, 0x72, 0x65, 0x61, 0x6e, 0x20, 0x52, 0xed, 0x6f, +-0x63, 0x68, 0x74, 0x20, 0x41, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x74, 0x68, 0x65, 0x69, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x6e, +-0x6f, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x53, 0x61, 0x6e, 0x20, 0x4d, 0x61, 0x72, 0x69, 0x6e, 0x6f, 0x53, 0x76, 0x69, +-0x7a, 0x7a, 0x65, 0x72, 0x61, 0x43, 0x69, 0x74, 0x74, 0xe0, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x56, 0x61, 0x74, 0x69, 0x63, +-0x61, 0x6e, 0x6f, 0x65e5, 0x672c, 0x8a9e, 0x65e5, 0x672c, 0x4a, 0x61, 0x77, 0x61, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0xe9, 0x73, 0x69, +-0x61, 0xc95, 0xca8, 0xccd, 0xca8, 0xca1, 0xcad, 0xcbe, 0xcb0, 0xca4, 0x6a9, 0x672, 0x634, 0x64f, 0x631, 0x6c1, 0x650, 0x646, 0x62f, 0x648, +-0x633, 0x62a, 0x627, 0x646, 0x49b, 0x430, 0x437, 0x430, 0x49b, 0x20, 0x442, 0x456, 0x43b, 0x456, 0x49a, 0x430, 0x437, 0x430, 0x49b, 0x441, +-0x442, 0x430, 0x43d, 0x4b, 0x69, 0x6e, 0x79, 0x61, 0x72, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x55, 0x20, 0x52, 0x77, 0x61, 0x6e, +-0x64, 0x61, 0x43a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x447, 0x430, 0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x441, 0x442, 0x430, 0x43d, +-0xd55c, 0xad6d, 0xc5b4, 0xb300, 0xd55c, 0xbbfc, 0xad6d, 0xc870, 0xc120, 0xbbfc, 0xc8fc, 0xc8fc, 0xc758, 0xc778, 0xbbfc, 0xacf5, 0xd654, 0xad6d, 0x6b, 0x75, +-0x72, 0x64, 0xee, 0x54, 0x69, 0x72, 0x6b, 0x69, 0x79, 0x65, 0x49, 0x6b, 0x69, 0x72, 0x75, 0x6e, 0x64, 0x69, 0x55, 0x62, +-0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0xea5, 0xeb2, 0xea7, 0x6c, 0x61, 0x74, 0x76, 0x69, 0x65, 0x161, 0x75, 0x4c, 0x61, 0x74, +-0x76, 0x69, 0x6a, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0xe1, 0x6c, 0x61, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0xed, 0x6b, 0x69, +-0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0xf3, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x6b, 0x72, 0x61, 0x74, 0xed, 0x6b, +-0x69, 0x41, 0x6e, 0x67, 0xf3, 0x6c, 0x61, 0x52, 0x65, 0x70, 0x69, 0x62, 0x69, 0x6b, 0x69, 0x20, 0x79, 0x61, 0x20, 0x41, +-0x66, 0x72, 0xed, 0x6b, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0xe1, 0x74, 0x69, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x69, +-0x65, 0x74, 0x75, 0x76, 0x69, 0x173, 0x4c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x61, 0x43c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, +-0x441, 0x43a, 0x438, 0x421, 0x435, 0x432, 0x435, 0x440, 0x43d, 0x430, 0x20, 0x41c, 0x430, 0x43a, 0x435, 0x434, 0x43e, 0x43d, 0x438, 0x458, +-0x430, 0x4d, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x4d, 0x61, 0x64, 0x61, 0x67, 0x61, 0x73, 0x69, 0x6b, 0x61, 0x72, +-0x61, 0x4d, 0x65, 0x6c, 0x61, 0x79, 0x75, 0x42, 0x72, 0x75, 0x6e, 0x65, 0x69, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x75, +-0x72, 0x61, 0xd2e, 0xd32, 0xd2f, 0xd3e, 0xd33, 0xd02, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0x4d, 0x61, 0x6c, 0x74, 0x69, 0x4d, +-0x101, 0x6f, 0x72, 0x69, 0x41, 0x6f, 0x74, 0x65, 0x61, 0x72, 0x6f, 0x61, 0x92e, 0x930, 0x93e, 0x920, 0x940, 0x43c, 0x43e, 0x43d, +-0x433, 0x43e, 0x43b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x928, 0x947, 0x92a, 0x93e, 0x932, +-0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x62, 0x6f, 0x6b, 0x6d, 0xe5, 0x6c, 0x4e, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x76, 0x61, +-0x6c, 0x62, 0x61, 0x72, 0x64, 0x20, 0x6f, 0x67, 0x20, 0x4a, 0x61, 0x6e, 0x20, 0x4d, 0x61, 0x79, 0x65, 0x6e, 0xb13, 0xb21, +-0xb3c, 0xb3f, 0xb06, 0xb2d, 0xb3e, 0xb30, 0xb24, 0x67e, 0x69a, 0x62a, 0x648, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, +-0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x641, 0x627, 0x631, 0x633, 0x6cc, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x62f, 0x631, 0x6cc, +-0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x50, 0x6f, 0x6c, 0x73, 0x6b, 0x61, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xea, +-0x73, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x41, 0x6e, 0x67, 0x6f, 0x6c, 0x61, 0x43, 0x61, 0x62, 0x6f, 0x20, 0x56, 0x65, +-0x72, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x6f, 0x72, 0x2d, 0x4c, 0x65, 0x73, 0x74, 0x65, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x20, +-0x45, 0x71, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x2d, 0x42, 0x69, 0x73, 0x73, +-0x61, 0x75, 0x4c, 0x75, 0x78, 0x65, 0x6d, 0x62, 0x75, 0x72, 0x67, 0x6f, 0x4d, 0x61, 0x63, 0x61, 0x75, 0x2c, 0x20, 0x52, +-0x41, 0x45, 0x20, 0x64, 0x61, 0x20, 0x43, 0x68, 0x69, 0x6e, 0x61, 0x4d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x71, 0x75, +-0x65, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xea, 0x73, 0x20, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x75, 0x50, 0x6f, +-0x72, 0x74, 0x75, 0x67, 0x61, 0x6c, 0x53, 0xe3, 0x6f, 0x20, 0x54, 0x6f, 0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, +-0x6e, 0x63, 0x69, 0x70, 0x65, 0x53, 0x75, 0xed, 0xe7, 0x61, 0xa2a, 0xa70, 0xa1c, 0xa3e, 0xa2c, 0xa40, 0xa2d, 0xa3e, 0xa30, 0xa24, +-0x67e, 0x646, 0x62c, 0x627, 0x628, 0x6cc, 0x52, 0x75, 0x6e, 0x61, 0x73, 0x69, 0x6d, 0x69, 0x50, 0x65, 0x72, 0xfa, 0x42, 0x6f, +-0x6c, 0x69, 0x76, 0x69, 0x61, 0x45, 0x63, 0x75, 0x61, 0x64, 0x6f, 0x72, 0x72, 0x75, 0x6d, 0x61, 0x6e, 0x74, 0x73, 0x63, +-0x68, 0x53, 0x76, 0x69, 0x7a, 0x72, 0x61, 0x72, 0x6f, 0x6d, 0xe2, 0x6e, 0x103, 0x52, 0x6f, 0x6d, 0xe2, 0x6e, 0x69, 0x61, +-0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x20, 0x4d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x61, 0x440, 0x443, 0x441, +-0x441, 0x43a, 0x438, 0x439, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x44f, 0x41a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x442, 0x430, 0x43d, 0x41a, +-0x438, 0x440, 0x433, 0x438, 0x437, 0x438, 0x44f, 0x41c, 0x43e, 0x43b, 0x434, 0x43e, 0x432, 0x430, 0x423, 0x43a, 0x440, 0x430, 0x438, 0x43d, +-0x430, 0x53, 0xe4, 0x6e, 0x67, 0xf6, 0x4b, 0xf6, 0x64, 0xf6, 0x72, 0xf6, 0x73, 0xea, 0x73, 0x65, 0x20, 0x74, 0xee, 0x20, +-0x42, 0xea, 0x61, 0x66, 0x72, 0xee, 0x6b, 0x61, 0x441, 0x440, 0x43f, 0x441, 0x43a, 0x438, 0x421, 0x440, 0x431, 0x438, 0x458, 0x430, +-0x73, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x43, 0x72, 0x6e, 0x61, 0x20, 0x47, 0x6f, 0x72, 0x61, 0x53, 0x72, 0x62, 0x69, 0x6a, +-0x61, 0x411, 0x43e, 0x441, 0x43d, 0x430, 0x20, 0x438, 0x20, 0x425, 0x435, 0x440, 0x446, 0x435, 0x433, 0x43e, 0x432, 0x438, 0x43d, 0x430, +-0x426, 0x440, 0x43d, 0x430, 0x20, 0x413, 0x43e, 0x440, 0x430, 0x41a, 0x43e, 0x441, 0x43e, 0x432, 0x43e, 0x4b, 0x6f, 0x73, 0x6f, 0x76, +-0x6f, 0x438, 0x440, 0x43e, 0x43d, 0x413, 0x443, 0x44b, 0x440, 0x434, 0x437, 0x44b, 0x441, 0x442, 0x43e, 0x43d, 0x423, 0x4d5, 0x440, 0x4d5, +-0x441, 0x435, 0x63, 0x68, 0x69, 0x53, 0x68, 0x6f, 0x6e, 0x61, 0x633, 0x646, 0x68c, 0x64a, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, 0x627, +-0x646, 0x938, 0x93f, 0x928, 0x94d, 0x927, 0x940, 0xdc3, 0xdd2, 0xd82, 0xdc4, 0xdbd, 0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, +-0xd9a, 0xdcf, 0xdc0, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x10d, 0x69, 0x6e, 0x61, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x73, +-0x6b, 0x6f, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x161, 0x10d, 0x69, 0x6e, 0x61, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x69, +-0x6a, 0x61, 0x53, 0x6f, 0x6f, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x53, 0x6f, 0x6f, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x79, 0x61, +-0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, 0x49, 0x74, 0x6f, 0x6f, 0x62, 0x69, 0x79, 0x61, 0x65, 0x73, 0x70, 0x61, 0xf1, +-0x6f, 0x6c, 0x20, 0x64, 0x65, 0x20, 0x45, 0x73, 0x70, 0x61, 0xf1, 0x61, 0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x41, +-0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61, 0x42, 0x65, 0x6c, 0x69, 0x63, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x65, 0x43, +-0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x43, 0x6f, 0x73, 0x74, 0x61, 0x20, 0x52, 0x69, 0x63, 0x61, 0x43, 0x75, 0x62, +-0x61, 0x52, 0x65, 0x70, 0xfa, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x20, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, +-0x61, 0x45, 0x6c, 0x20, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x64, 0x6f, 0x72, 0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x20, 0x45, +-0x63, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x75, 0x61, 0x74, 0x65, 0x6d, 0x61, 0x6c, 0x61, 0x48, 0x6f, +-0x6e, 0x64, 0x75, 0x72, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x20, 0x64, 0x65, 0x20, 0x4d, 0xe9, 0x78, +-0x69, 0x63, 0x6f, 0x4d, 0xe9, 0x78, 0x69, 0x63, 0x6f, 0x4e, 0x69, 0x63, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x50, 0x61, +-0x6e, 0x61, 0x6d, 0xe1, 0x50, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, 0x46, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, +-0x73, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, 0x64, 0x6f, 0x73, 0x55, 0x72, 0x75, 0x67, 0x75, +-0x61, 0x79, 0x56, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, 0x61, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x69, 0x61, 0x73, 0x65, +-0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x20, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x6e, 0x6f, 0x4c, 0x61, 0x74, 0x69, 0x6e, 0x6f, 0x61, 0x6d, 0xe9, 0x72, 0x69, 0x63, 0x61, 0x43, 0x65, 0x75, 0x74, 0x61, +-0x20, 0x79, 0x20, 0x4d, 0x65, 0x6c, 0x69, 0x6c, 0x6c, 0x61, 0x42, 0x61, 0x73, 0x61, 0x20, 0x53, 0x75, 0x6e, 0x64, 0x61, +-0x4b, 0x69, 0x73, 0x77, 0x61, 0x68, 0x69, 0x6c, 0x69, 0x4a, 0x61, 0x6d, 0x68, 0x75, 0x72, 0x69, 0x20, 0x79, 0x61, 0x20, +-0x4b, 0x69, 0x64, 0x65, 0x6d, 0x6f, 0x6b, 0x72, 0x61, 0x73, 0x69, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, +-0x6f, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0x53, 0x76, 0x65, 0x72, 0x69, 0x67, 0x65, 0xc5, 0x6c, 0x61, 0x6e, 0x64, +-0x442, 0x43e, 0x4b7, 0x438, 0x43a, 0x4e3, 0x422, 0x43e, 0x4b7, 0x438, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0xba4, 0xbae, 0xbbf, 0xbb4, +-0xbcd, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0xbbe, 0xbae, 0xbb2, 0xbc7, 0xb9a, 0xbbf, 0xbaf, 0xbbe, 0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, +-0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, 0x442, 0x430, 0x442, 0x430, 0x440, 0xc24, 0xc46, 0xc32, +-0xc41, 0xc17, 0xc41, 0xc2d, 0xc3e, 0xc30, 0xc24, 0xc26, 0xc47, 0xc36, 0xc02, 0xe44, 0xe17, 0xe22, 0xf56, 0xf7c, 0xf51, 0xf0b, 0xf66, 0xf90, +-0xf51, 0xf0b, 0xf62, 0xf92, 0xfb1, 0xf0b, 0xf53, 0xf42, 0xf62, 0xf92, 0xfb1, 0xf0b, 0xf42, 0xf62, 0xf0b, 0x1275, 0x130d, 0x122d, 0x129b, 0x12a4, +-0x122d, 0x1275, 0x122b, 0x6c, 0x65, 0x61, 0x20, 0x66, 0x61, 0x6b, 0x61, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x54, 0xfc, 0x72, 0x6b, +-0xe7, 0x65, 0x54, 0xfc, 0x72, 0x6b, 0x69, 0x79, 0x65, 0x4b, 0x131, 0x62, 0x72, 0x131, 0x73, 0x74, 0xfc, 0x72, 0x6b, 0x6d, +-0x65, 0x6e, 0x20, 0x64, 0x69, 0x6c, 0x69, 0x54, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x626, +-0x6c7, 0x64a, 0x63a, 0x6c7, 0x631, 0x686, 0x6d5, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x443, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, +-0x43a, 0x430, 0x423, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x430, 0x627, 0x631, 0x62f, 0x648, 0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6f, 0x2018, +-0x7a, 0x62, 0x65, 0x6b, 0x4f, 0x2bb, 0x7a, 0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, 0x6f, 0x6e, 0x627, 0x648, 0x632, 0x628, 0x6cc, +-0x6a9, 0x45e, 0x437, 0x431, 0x435, 0x43a, 0x447, 0x430, 0x40e, 0x437, 0x431, 0x435, 0x43a, 0x438, 0x441, 0x442, 0x43e, 0x43d, 0x54, 0x69, +-0x1ebf, 0x6e, 0x67, 0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x56, 0x69, 0x1ec7, 0x74, 0x20, 0x4e, 0x61, 0x6d, 0x56, 0x6f, 0x6c, 0x61, +-0x70, 0xfc, 0x6b, 0x43, 0x79, 0x6d, 0x72, 0x61, 0x65, 0x67, 0x59, 0x20, 0x44, 0x65, 0x79, 0x72, 0x6e, 0x61, 0x73, 0x20, ++0x6e, 0x64, 0x61, 0x53, 0x74, 0x2e, 0x20, 0x4b, 0x69, 0x74, 0x74, 0x73, 0x20, 0x26, 0x20, 0x4e, 0x65, 0x76, 0x69, 0x73, ++0x53, 0x74, 0x2e, 0x20, 0x4c, 0x75, 0x63, 0x69, 0x61, 0x53, 0x74, 0x2e, 0x20, 0x56, 0x69, 0x6e, 0x63, 0x65, 0x6e, 0x74, ++0x20, 0x26, 0x20, 0x47, 0x72, 0x65, 0x6e, 0x61, 0x64, 0x69, 0x6e, 0x65, 0x73, 0x53, 0x61, 0x6d, 0x6f, 0x61, 0x53, 0x65, ++0x79, 0x63, 0x68, 0x65, 0x6c, 0x6c, 0x65, 0x73, 0x53, 0x69, 0x65, 0x72, 0x72, 0x61, 0x20, 0x4c, 0x65, 0x6f, 0x6e, 0x65, ++0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, 0x65, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x69, 0x61, 0x53, 0x6f, 0x6c, ++0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x53, 0x6f, 0x75, 0x74, 0x68, 0x20, 0x41, 0x66, ++0x72, 0x69, 0x63, 0x61, 0x53, 0x74, 0x2e, 0x20, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x45, ++0x73, 0x77, 0x61, 0x74, 0x69, 0x6e, 0x69, 0x53, 0x77, 0x65, 0x64, 0x65, 0x6e, 0x53, 0x77, 0x69, 0x74, 0x7a, 0x65, 0x72, ++0x6c, 0x61, 0x6e, 0x64, 0x54, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, 0x61, 0x54, 0x6f, 0x6b, 0x65, 0x6c, 0x61, 0x75, 0x54, ++0x6f, 0x6e, 0x67, 0x61, 0x54, 0x72, 0x69, 0x6e, 0x69, 0x64, 0x61, 0x64, 0x20, 0x26, 0x20, 0x54, 0x6f, 0x62, 0x61, 0x67, ++0x6f, 0x54, 0x75, 0x72, 0x6b, 0x73, 0x20, 0x26, 0x20, 0x43, 0x61, 0x69, 0x63, 0x6f, 0x73, 0x20, 0x49, 0x73, 0x6c, 0x61, ++0x6e, 0x64, 0x73, 0x54, 0x75, 0x76, 0x61, 0x6c, 0x75, 0x55, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x55, 0x6e, 0x69, 0x74, 0x65, ++0x64, 0x20, 0x41, 0x72, 0x61, 0x62, 0x20, 0x45, 0x6d, 0x69, 0x72, 0x61, 0x74, 0x65, 0x73, 0x42, 0x72, 0x69, 0x74, 0x69, ++0x73, 0x68, 0x20, 0x45, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x55, 0x6e, 0x69, 0x74, 0x65, 0x64, 0x20, 0x4b, 0x69, 0x6e, ++0x67, 0x64, 0x6f, 0x6d, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x4f, 0x75, 0x74, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x49, 0x73, ++0x6c, 0x61, 0x6e, 0x64, 0x73, 0x56, 0x61, 0x6e, 0x75, 0x61, 0x74, 0x75, 0x42, 0x72, 0x69, 0x74, 0x69, 0x73, 0x68, 0x20, ++0x56, 0x69, 0x72, 0x67, 0x69, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x55, 0x2e, 0x53, 0x2e, 0x20, 0x56, ++0x69, 0x72, 0x67, 0x69, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x5a, 0x61, 0x6d, 0x62, 0x69, 0x61, 0x5a, ++0x69, 0x6d, 0x62, 0x61, 0x62, 0x77, 0x65, 0x44, 0x69, 0x65, 0x67, 0x6f, 0x20, 0x47, 0x61, 0x72, 0x63, 0x69, 0x61, 0x49, ++0x73, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x61, 0x6e, 0x4a, 0x65, 0x72, 0x73, 0x65, 0x79, 0x53, 0x6f, 0x75, 0x74, ++0x68, 0x20, 0x53, 0x75, 0x64, 0x61, 0x6e, 0x53, 0x69, 0x6e, 0x74, 0x20, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x65, 0x6e, 0x57, ++0x6f, 0x72, 0x6c, 0x64, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x65, 0x73, 0x70, 0x65, 0x72, 0x61, 0x6e, 0x74, 0x6f, 0x4d, ++0x6f, 0x6e, 0x64, 0x6f, 0x65, 0x65, 0x73, 0x74, 0x69, 0x45, 0x65, 0x73, 0x74, 0x69, 0x66, 0xf8, 0x72, 0x6f, 0x79, 0x73, ++0x6b, 0x74, 0x46, 0xf8, 0x72, 0x6f, 0x79, 0x61, 0x72, 0x73, 0x75, 0x6f, 0x6d, 0x69, 0x53, 0x75, 0x6f, 0x6d, 0x69, 0x66, ++0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x46, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6c, 0x67, 0xe9, 0x72, 0x69, 0x65, ++0x42, 0x65, 0x6c, 0x67, 0x69, 0x71, 0x75, 0x65, 0x42, 0xe9, 0x6e, 0x69, 0x6e, 0x42, 0x75, 0x72, 0x6b, 0x69, 0x6e, 0x61, ++0x20, 0x46, 0x61, 0x73, 0x6f, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x6f, 0x75, 0x6e, 0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, ++0x73, 0x20, 0x63, 0x61, 0x6e, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x52, 0xe9, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x71, 0x75, 0x65, ++0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x66, 0x72, 0x69, 0x63, 0x61, 0x69, 0x6e, 0x65, 0x54, 0x63, 0x68, 0x61, 0x64, ++0x43, 0x6f, 0x6d, 0x6f, 0x72, 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x67, 0x6f, 0x2d, 0x4b, 0x69, 0x6e, 0x73, 0x68, 0x61, 0x73, ++0x61, 0x43, 0x6f, 0x6e, 0x67, 0x6f, 0x2d, 0x42, 0x72, 0x61, 0x7a, 0x7a, 0x61, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x43, 0xf4, ++0x74, 0x65, 0x20, 0x64, 0x2019, 0x49, 0x76, 0x6f, 0x69, 0x72, 0x65, 0x44, 0x6a, 0x69, 0x62, 0x6f, 0x75, 0x74, 0x69, 0x47, ++0x75, 0x69, 0x6e, 0xe9, 0x65, 0x20, 0xe9, 0x71, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x65, 0x47, 0x75, 0x79, ++0x61, 0x6e, 0x65, 0x20, 0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x65, 0x50, 0x6f, 0x6c, 0x79, 0x6e, 0xe9, 0x73, ++0x69, 0x65, 0x20, 0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x65, 0x47, 0x61, 0x62, 0x6f, 0x6e, 0x47, 0x75, 0x61, ++0x64, 0x65, 0x6c, 0x6f, 0x75, 0x70, 0x65, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x65, 0x48, 0x61, 0xef, 0x74, 0x69, 0x4c, 0x75, ++0x78, 0x65, 0x6d, 0x62, 0x6f, 0x75, 0x72, 0x67, 0x4d, 0x61, 0x6c, 0x69, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x69, 0x71, ++0x75, 0x65, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x61, 0x6e, 0x69, 0x65, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x63, 0x65, 0x4d, ++0x61, 0x79, 0x6f, 0x74, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x61, 0x63, 0x6f, 0x4d, 0x61, 0x72, 0x6f, 0x63, 0x4e, 0x6f, 0x75, ++0x76, 0x65, 0x6c, 0x6c, 0x65, 0x2d, 0x43, 0x61, 0x6c, 0xe9, 0x64, 0x6f, 0x6e, 0x69, 0x65, 0x4e, 0x69, 0x67, 0x65, 0x72, ++0x4c, 0x61, 0x20, 0x52, 0xe9, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0xe9, 0x6e, 0xe9, 0x67, 0x61, 0x6c, 0x53, 0x61, 0x69, ++0x6e, 0x74, 0x2d, 0x50, 0x69, 0x65, 0x72, 0x72, 0x65, 0x2d, 0x65, 0x74, 0x2d, 0x4d, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x6f, ++0x6e, 0x66, 0x72, 0x61, 0x6e, 0xe7, 0x61, 0x69, 0x73, 0x20, 0x73, 0x75, 0x69, 0x73, 0x73, 0x65, 0x53, 0x75, 0x69, 0x73, ++0x73, 0x65, 0x53, 0x79, 0x72, 0x69, 0x65, 0x54, 0x6f, 0x67, 0x6f, 0x54, 0x75, 0x6e, 0x69, 0x73, 0x69, 0x65, 0x57, 0x61, ++0x6c, 0x6c, 0x69, 0x73, 0x2d, 0x65, 0x74, 0x2d, 0x46, 0x75, 0x74, 0x75, 0x6e, 0x61, 0x53, 0x61, 0x69, 0x6e, 0x74, 0x2d, ++0x42, 0x61, 0x72, 0x74, 0x68, 0xe9, 0x6c, 0x65, 0x6d, 0x79, 0x53, 0x61, 0x69, 0x6e, 0x74, 0x2d, 0x4d, 0x61, 0x72, 0x74, ++0x69, 0x6e, 0x46, 0x72, 0x79, 0x73, 0x6b, 0x4e, 0x65, 0x64, 0x65, 0x72, 0x6c, 0xe2, 0x6e, 0x47, 0xe0, 0x69, 0x64, 0x68, ++0x6c, 0x69, 0x67, 0x41, 0x6e, 0x20, 0x52, 0xec, 0x6f, 0x67, 0x68, 0x61, 0x63, 0x68, 0x64, 0x20, 0x41, 0x6f, 0x6e, 0x61, ++0x69, 0x63, 0x68, 0x74, 0x65, 0x67, 0x61, 0x6c, 0x65, 0x67, 0x6f, 0x45, 0x73, 0x70, 0x61, 0xf1, 0x61, 0x10e5, 0x10d0, 0x10e0, ++0x10d7, 0x10e3, 0x10da, 0x10d8, 0x10e1, 0x10d0, 0x10e5, 0x10d0, 0x10e0, 0x10d7, 0x10d5, 0x10d4, 0x10da, 0x10dd, 0x44, 0x65, 0x75, 0x74, 0x73, 0x63, ++0x68, 0x44, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0xd6, 0x73, 0x74, 0x65, 0x72, 0x72, 0x65, 0x69, ++0x63, 0x68, 0x69, 0x73, 0x63, 0x68, 0x65, 0x73, 0x20, 0x44, 0x65, 0x75, 0x74, 0x73, 0x63, 0x68, 0xd6, 0x73, 0x74, 0x65, ++0x72, 0x72, 0x65, 0x69, 0x63, 0x68, 0x42, 0x65, 0x6c, 0x67, 0x69, 0x65, 0x6e, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x65, 0x6e, ++0x4c, 0x69, 0x65, 0x63, 0x68, 0x74, 0x65, 0x6e, 0x73, 0x74, 0x65, 0x69, 0x6e, 0x4c, 0x75, 0x78, 0x65, 0x6d, 0x62, 0x75, ++0x72, 0x67, 0x53, 0x63, 0x68, 0x77, 0x65, 0x69, 0x7a, 0x65, 0x72, 0x20, 0x48, 0x6f, 0x63, 0x68, 0x64, 0x65, 0x75, 0x74, ++0x73, 0x63, 0x68, 0x53, 0x63, 0x68, 0x77, 0x65, 0x69, 0x7a, 0x395, 0x3bb, 0x3bb, 0x3b7, 0x3bd, 0x3b9, 0x3ba, 0x3ac, 0x395, 0x3bb, ++0x3bb, 0x3ac, 0x3b4, 0x3b1, 0x39a, 0x3cd, 0x3c0, 0x3c1, 0x3bf, 0x3c2, 0x6b, 0x61, 0x6c, 0x61, 0x61, 0x6c, 0x6c, 0x69, 0x73, 0x75, ++0x74, 0x4b, 0x61, 0x6c, 0x61, 0x61, 0x6c, 0x6c, 0x69, 0x74, 0x20, 0x4e, 0x75, 0x6e, 0x61, 0x61, 0x74, 0xa97, 0xac1, 0xa9c, ++0xab0, 0xabe, 0xaa4, 0xac0, 0xaad, 0xabe, 0xab0, 0xaa4, 0x48, 0x61, 0x75, 0x73, 0x61, 0x4e, 0x61, 0x6a, 0x65, 0x72, 0x69, 0x79, ++0x61, 0x47, 0x61, 0x6e, 0x61, 0x4e, 0x69, 0x6a, 0x61, 0x72, 0x5e2, 0x5d1, 0x5e8, 0x5d9, 0x5ea, 0x5d9, 0x5e9, 0x5e8, 0x5d0, 0x5dc, ++0x939, 0x93f, 0x928, 0x94d, 0x926, 0x940, 0x92d, 0x93e, 0x930, 0x924, 0x6d, 0x61, 0x67, 0x79, 0x61, 0x72, 0x4d, 0x61, 0x67, 0x79, ++0x61, 0x72, 0x6f, 0x72, 0x73, 0x7a, 0xe1, 0x67, 0xed, 0x73, 0x6c, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0xcd, 0x73, 0x6c, 0x61, ++0x6e, 0x64, 0x49, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x73, 0x69, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x67, ++0x75, 0x61, 0x4d, 0x75, 0x6e, 0x64, 0x6f, 0x47, 0x61, 0x65, 0x69, 0x6c, 0x67, 0x65, 0xc9, 0x69, 0x72, 0x65, 0x61, 0x6e, ++0x20, 0x52, 0xed, 0x6f, 0x63, 0x68, 0x74, 0x20, 0x41, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x74, 0x68, 0x65, 0x69, 0x74, 0x61, ++0x6c, 0x69, 0x61, 0x6e, 0x6f, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x61, 0x53, 0x61, 0x6e, 0x20, 0x4d, 0x61, 0x72, 0x69, 0x6e, ++0x6f, 0x53, 0x76, 0x69, 0x7a, 0x7a, 0x65, 0x72, 0x61, 0x43, 0x69, 0x74, 0x74, 0xe0, 0x20, 0x64, 0x65, 0x6c, 0x20, 0x56, ++0x61, 0x74, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x65e5, 0x672c, 0x8a9e, 0x65e5, 0x672c, 0x4a, 0x61, 0x77, 0x61, 0x49, 0x6e, 0x64, 0x6f, ++0x6e, 0xe9, 0x73, 0x69, 0x61, 0xc95, 0xca8, 0xccd, 0xca8, 0xca1, 0xcad, 0xcbe, 0xcb0, 0xca4, 0x6a9, 0x672, 0x634, 0x64f, 0x631, 0x6c1, ++0x650, 0x646, 0x62f, 0x648, 0x633, 0x62a, 0x627, 0x646, 0x49b, 0x430, 0x437, 0x430, 0x49b, 0x20, 0x442, 0x456, 0x43b, 0x456, 0x49a, 0x430, ++0x437, 0x430, 0x49b, 0x441, 0x442, 0x430, 0x43d, 0x4b, 0x69, 0x6e, 0x79, 0x61, 0x72, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x55, 0x20, ++0x52, 0x77, 0x61, 0x6e, 0x64, 0x61, 0x43a, 0x44b, 0x440, 0x433, 0x44b, 0x437, 0x447, 0x430, 0x41a, 0x44b, 0x440, 0x433, 0x44b, 0x437, ++0x441, 0x442, 0x430, 0x43d, 0xd55c, 0xad6d, 0xc5b4, 0xb300, 0xd55c, 0xbbfc, 0xad6d, 0xc870, 0xc120, 0xbbfc, 0xc8fc, 0xc8fc, 0xc758, 0xc778, 0xbbfc, 0xacf5, ++0xd654, 0xad6d, 0x6b, 0x75, 0x72, 0x64, 0xee, 0x54, 0x69, 0x72, 0x6b, 0x69, 0x79, 0x65, 0x49, 0x6b, 0x69, 0x72, 0x75, 0x6e, ++0x64, 0x69, 0x55, 0x62, 0x75, 0x72, 0x75, 0x6e, 0x64, 0x69, 0xea5, 0xeb2, 0xea7, 0x6c, 0x61, 0x74, 0x76, 0x69, 0x65, 0x161, ++0x75, 0x4c, 0x61, 0x74, 0x76, 0x69, 0x6a, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0xe1, 0x6c, 0x61, 0x52, 0x65, 0x70, 0x75, 0x62, ++0x6c, 0xed, 0x6b, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0xf3, 0x20, 0x44, 0x65, 0x6d, 0x6f, 0x6b, 0x72, ++0x61, 0x74, 0xed, 0x6b, 0x69, 0x41, 0x6e, 0x67, 0xf3, 0x6c, 0x61, 0x52, 0x65, 0x70, 0x69, 0x62, 0x69, 0x6b, 0x69, 0x20, ++0x79, 0x61, 0x20, 0x41, 0x66, 0x72, 0xed, 0x6b, 0x61, 0x20, 0x79, 0x61, 0x20, 0x4b, 0xe1, 0x74, 0x69, 0x4b, 0x6f, 0x6e, ++0x67, 0x6f, 0x6c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x69, 0x173, 0x4c, 0x69, 0x65, 0x74, 0x75, 0x76, 0x61, 0x43c, 0x430, 0x43a, ++0x435, 0x434, 0x43e, 0x43d, 0x441, 0x43a, 0x438, 0x421, 0x435, 0x432, 0x435, 0x440, 0x43d, 0x430, 0x20, 0x41c, 0x430, 0x43a, 0x435, 0x434, ++0x43e, 0x43d, 0x438, 0x458, 0x430, 0x4d, 0x61, 0x6c, 0x61, 0x67, 0x61, 0x73, 0x79, 0x4d, 0x61, 0x64, 0x61, 0x67, 0x61, 0x73, ++0x69, 0x6b, 0x61, 0x72, 0x61, 0x4d, 0x65, 0x6c, 0x61, 0x79, 0x75, 0x42, 0x72, 0x75, 0x6e, 0x65, 0x69, 0x53, 0x69, 0x6e, ++0x67, 0x61, 0x70, 0x75, 0x72, 0x61, 0xd2e, 0xd32, 0xd2f, 0xd3e, 0xd33, 0xd02, 0xd07, 0xd28, 0xd4d, 0xd24, 0xd4d, 0xd2f, 0x4d, 0x61, ++0x6c, 0x74, 0x69, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6f, 0x20, 0x4d, 0x101, 0x6f, 0x72, 0x69, 0x41, 0x6f, 0x74, 0x65, 0x61, ++0x72, 0x6f, 0x61, 0x92e, 0x930, 0x93e, 0x920, 0x940, 0x43c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, 0x41c, 0x43e, 0x43d, 0x433, 0x43e, 0x43b, ++0x928, 0x947, 0x92a, 0x93e, 0x932, 0x940, 0x928, 0x947, 0x92a, 0x93e, 0x932, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x62, 0x6f, 0x6b, ++0x6d, 0xe5, 0x6c, 0x4e, 0x6f, 0x72, 0x67, 0x65, 0x53, 0x76, 0x61, 0x6c, 0x62, 0x61, 0x72, 0x64, 0x20, 0x6f, 0x67, 0x20, ++0x4a, 0x61, 0x6e, 0x20, 0x4d, 0x61, 0x79, 0x65, 0x6e, 0xb13, 0xb21, 0xb3c, 0xb3f, 0xb06, 0xb2d, 0xb3e, 0xb30, 0xb24, 0x67e, 0x69a, ++0x62a, 0x648, 0x627, 0x641, 0x63a, 0x627, 0x646, 0x633, 0x62a, 0x627, 0x646, 0x67e, 0x627, 0x6a9, 0x633, 0x62a, 0x627, 0x646, 0x641, 0x627, ++0x631, 0x633, 0x6cc, 0x627, 0x6cc, 0x631, 0x627, 0x646, 0x62f, 0x631, 0x6cc, 0x70, 0x6f, 0x6c, 0x73, 0x6b, 0x69, 0x50, 0x6f, 0x6c, ++0x73, 0x6b, 0x61, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xea, 0x73, 0x42, 0x72, 0x61, 0x73, 0x69, 0x6c, 0x41, 0x6e, ++0x67, 0x6f, 0x6c, 0x61, 0x43, 0x61, 0x62, 0x6f, 0x20, 0x56, 0x65, 0x72, 0x64, 0x65, 0x54, 0x69, 0x6d, 0x6f, 0x72, 0x2d, ++0x4c, 0x65, 0x73, 0x74, 0x65, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x20, 0x45, 0x71, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, ++0x6c, 0x47, 0x75, 0x69, 0x6e, 0xe9, 0x2d, 0x42, 0x69, 0x73, 0x73, 0x61, 0x75, 0x4c, 0x75, 0x78, 0x65, 0x6d, 0x62, 0x75, ++0x72, 0x67, 0x6f, 0x4d, 0x61, 0x63, 0x61, 0x75, 0x2c, 0x20, 0x52, 0x41, 0x45, 0x20, 0x64, 0x61, 0x20, 0x43, 0x68, 0x69, ++0x6e, 0x61, 0x4d, 0x6f, 0xe7, 0x61, 0x6d, 0x62, 0x69, 0x71, 0x75, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x75, 0xea, ++0x73, 0x20, 0x65, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x75, 0x50, 0x6f, 0x72, 0x74, 0x75, 0x67, 0x61, 0x6c, 0x53, 0xe3, 0x6f, ++0x20, 0x54, 0x6f, 0x6d, 0xe9, 0x20, 0x65, 0x20, 0x50, 0x72, 0xed, 0x6e, 0x63, 0x69, 0x70, 0x65, 0x53, 0x75, 0xed, 0xe7, ++0x61, 0xa2a, 0xa70, 0xa1c, 0xa3e, 0xa2c, 0xa40, 0xa2d, 0xa3e, 0xa30, 0xa24, 0x67e, 0x646, 0x62c, 0x627, 0x628, 0x6cc, 0x52, 0x75, 0x6e, ++0x61, 0x73, 0x69, 0x6d, 0x69, 0x50, 0x65, 0x72, 0xfa, 0x42, 0x6f, 0x6c, 0x69, 0x76, 0x69, 0x61, 0x45, 0x63, 0x75, 0x61, ++0x64, 0x6f, 0x72, 0x72, 0x75, 0x6d, 0x61, 0x6e, 0x74, 0x73, 0x63, 0x68, 0x53, 0x76, 0x69, 0x7a, 0x72, 0x61, 0x72, 0x6f, ++0x6d, 0xe2, 0x6e, 0x103, 0x52, 0x6f, 0x6d, 0xe2, 0x6e, 0x69, 0x61, 0x52, 0x65, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, ++0x20, 0x4d, 0x6f, 0x6c, 0x64, 0x6f, 0x76, 0x61, 0x440, 0x443, 0x441, 0x441, 0x43a, 0x438, 0x439, 0x420, 0x43e, 0x441, 0x441, 0x438, ++0x44f, 0x41a, 0x430, 0x437, 0x430, 0x445, 0x441, 0x442, 0x430, 0x43d, 0x41a, 0x438, 0x440, 0x433, 0x438, 0x437, 0x438, 0x44f, 0x41c, 0x43e, ++0x43b, 0x434, 0x43e, 0x432, 0x430, 0x423, 0x43a, 0x440, 0x430, 0x438, 0x43d, 0x430, 0x53, 0xe4, 0x6e, 0x67, 0xf6, 0x4b, 0xf6, 0x64, ++0xf6, 0x72, 0xf6, 0x73, 0xea, 0x73, 0x65, 0x20, 0x74, 0xee, 0x20, 0x42, 0xea, 0x61, 0x66, 0x72, 0xee, 0x6b, 0x61, 0x938, ++0x902, 0x938, 0x94d, 0x915, 0x943, 0x924, 0x20, 0x92d, 0x93e, 0x937, 0x93e, 0x92d, 0x93e, 0x930, 0x924, 0x903, 0x441, 0x440, 0x43f, 0x441, ++0x43a, 0x438, 0x421, 0x440, 0x431, 0x438, 0x458, 0x430, 0x73, 0x72, 0x70, 0x73, 0x6b, 0x69, 0x43, 0x72, 0x6e, 0x61, 0x20, 0x47, ++0x6f, 0x72, 0x61, 0x53, 0x72, 0x62, 0x69, 0x6a, 0x61, 0x411, 0x43e, 0x441, 0x43d, 0x430, 0x20, 0x438, 0x20, 0x425, 0x435, 0x440, ++0x446, 0x435, 0x433, 0x43e, 0x432, 0x438, 0x43d, 0x430, 0x426, 0x440, 0x43d, 0x430, 0x20, 0x413, 0x43e, 0x440, 0x430, 0x41a, 0x43e, 0x441, ++0x43e, 0x432, 0x43e, 0x4b, 0x6f, 0x73, 0x6f, 0x76, 0x6f, 0x438, 0x440, 0x43e, 0x43d, 0x413, 0x443, 0x44b, 0x440, 0x434, 0x437, 0x44b, ++0x441, 0x442, 0x43e, 0x43d, 0x423, 0x4d5, 0x440, 0x4d5, 0x441, 0x435, 0x63, 0x68, 0x69, 0x53, 0x68, 0x6f, 0x6e, 0x61, 0x633, 0x646, ++0x68c, 0x64a, 0x67e, 0x627, 0x6aa, 0x633, 0x62a, 0x627, 0x646, 0x938, 0x93f, 0x928, 0x94d, 0x927, 0x940, 0xdc3, 0xdd2, 0xd82, 0xdc4, 0xdbd, ++0xdc1, 0xdca, 0x200d, 0xdbb, 0xdd3, 0x20, 0xdbd, 0xd82, 0xd9a, 0xdcf, 0xdc0, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x10d, 0x69, 0x6e, ++0x61, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x6f, 0x73, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x161, 0x10d, 0x69, 0x6e, ++0x61, 0x53, 0x6c, 0x6f, 0x76, 0x65, 0x6e, 0x69, 0x6a, 0x61, 0x53, 0x6f, 0x6f, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x53, 0x6f, ++0x6f, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x79, 0x61, 0x4a, 0x61, 0x62, 0x75, 0x75, 0x74, 0x69, 0x49, 0x74, 0x6f, 0x6f, 0x62, ++0x69, 0x79, 0x61, 0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x20, 0x64, 0x65, 0x20, 0x45, 0x73, 0x70, 0x61, 0xf1, 0x61, ++0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x41, 0x72, 0x67, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x61, 0x42, 0x65, 0x6c, 0x69, ++0x63, 0x65, 0x43, 0x68, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x69, 0x61, 0x43, 0x6f, 0x73, 0x74, 0x61, ++0x20, 0x52, 0x69, 0x63, 0x61, 0x43, 0x75, 0x62, 0x61, 0x52, 0x65, 0x70, 0xfa, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x20, 0x44, ++0x6f, 0x6d, 0x69, 0x6e, 0x69, 0x63, 0x61, 0x6e, 0x61, 0x45, 0x6c, 0x20, 0x53, 0x61, 0x6c, 0x76, 0x61, 0x64, 0x6f, 0x72, ++0x47, 0x75, 0x69, 0x6e, 0x65, 0x61, 0x20, 0x45, 0x63, 0x75, 0x61, 0x74, 0x6f, 0x72, 0x69, 0x61, 0x6c, 0x47, 0x75, 0x61, ++0x74, 0x65, 0x6d, 0x61, 0x6c, 0x61, 0x48, 0x6f, 0x6e, 0x64, 0x75, 0x72, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, ++0x6c, 0x20, 0x64, 0x65, 0x20, 0x4d, 0xe9, 0x78, 0x69, 0x63, 0x6f, 0x4d, 0xe9, 0x78, 0x69, 0x63, 0x6f, 0x4e, 0x69, 0x63, ++0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x50, 0x61, 0x6e, 0x61, 0x6d, 0xe1, 0x50, 0x61, 0x72, 0x61, 0x67, 0x75, 0x61, 0x79, ++0x46, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x45, 0x73, 0x74, 0x61, 0x64, 0x6f, 0x73, 0x20, 0x55, 0x6e, 0x69, ++0x64, 0x6f, 0x73, 0x55, 0x72, 0x75, 0x67, 0x75, 0x61, 0x79, 0x56, 0x65, 0x6e, 0x65, 0x7a, 0x75, 0x65, 0x6c, 0x61, 0x43, ++0x61, 0x6e, 0x61, 0x72, 0x69, 0x61, 0x73, 0x65, 0x73, 0x70, 0x61, 0xf1, 0x6f, 0x6c, 0x20, 0x6c, 0x61, 0x74, 0x69, 0x6e, ++0x6f, 0x61, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x6e, 0x6f, 0x4c, 0x61, 0x74, 0x69, 0x6e, 0x6f, 0x61, 0x6d, 0xe9, 0x72, ++0x69, 0x63, 0x61, 0x43, 0x65, 0x75, 0x74, 0x61, 0x20, 0x79, 0x20, 0x4d, 0x65, 0x6c, 0x69, 0x6c, 0x6c, 0x61, 0x42, 0x61, ++0x73, 0x61, 0x20, 0x53, 0x75, 0x6e, 0x64, 0x61, 0x4b, 0x69, 0x73, 0x77, 0x61, 0x68, 0x69, 0x6c, 0x69, 0x4a, 0x61, 0x6d, ++0x68, 0x75, 0x72, 0x69, 0x20, 0x79, 0x61, 0x20, 0x4b, 0x69, 0x64, 0x65, 0x6d, 0x6f, 0x6b, 0x72, 0x61, 0x73, 0x69, 0x61, ++0x20, 0x79, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x6f, 0x73, 0x76, 0x65, 0x6e, 0x73, 0x6b, 0x61, 0x53, 0x76, 0x65, 0x72, ++0x69, 0x67, 0x65, 0xc5, 0x6c, 0x61, 0x6e, 0x64, 0x442, 0x43e, 0x4b7, 0x438, 0x43a, 0x4e3, 0x422, 0x43e, 0x4b7, 0x438, 0x43a, 0x438, ++0x441, 0x442, 0x43e, 0x43d, 0xba4, 0xbae, 0xbbf, 0xbb4, 0xbcd, 0xb87, 0xba8, 0xbcd, 0xba4, 0xbbf, 0xbaf, 0xbbe, 0xbae, 0xbb2, 0xbc7, 0xb9a, ++0xbbf, 0xbaf, 0xbbe, 0xb9a, 0xbbf, 0xb99, 0xbcd, 0xb95, 0xbaa, 0xbcd, 0xbaa, 0xbc2, 0xbb0, 0xbcd, 0xb87, 0xbb2, 0xb99, 0xbcd, 0xb95, 0xbc8, ++0x442, 0x430, 0x442, 0x430, 0x440, 0xc24, 0xc46, 0xc32, 0xc41, 0xc17, 0xc41, 0xc2d, 0xc3e, 0xc30, 0xc24, 0xc26, 0xc47, 0xc36, 0xc02, 0xe44, ++0xe17, 0xe22, 0xf56, 0xf7c, 0xf51, 0xf0b, 0xf66, 0xf90, 0xf51, 0xf0b, 0xf62, 0xf92, 0xfb1, 0xf0b, 0xf53, 0xf42, 0xf62, 0xf92, 0xfb1, 0xf0b, ++0xf42, 0xf62, 0xf0b, 0x1275, 0x130d, 0x122d, 0x12a4, 0x122d, 0x1275, 0x122b, 0x6c, 0x65, 0x61, 0x20, 0x66, 0x61, 0x6b, 0x61, 0x74, 0x6f, ++0x6e, 0x67, 0x61, 0x54, 0xfc, 0x72, 0x6b, 0xe7, 0x65, 0x54, 0xfc, 0x72, 0x6b, 0x69, 0x79, 0x65, 0x4b, 0x131, 0x62, 0x72, ++0x131, 0x73, 0x74, 0xfc, 0x72, 0x6b, 0x6d, 0x65, 0x6e, 0x20, 0x64, 0x69, 0x6c, 0x69, 0x54, 0xfc, 0x72, 0x6b, 0x6d, 0x65, ++0x6e, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x626, 0x6c7, 0x64a, 0x63a, 0x6c7, 0x631, 0x686, 0x6d5, 0x62c, 0x6c7, 0x6ad, 0x6af, 0x648, 0x443, ++0x43a, 0x440, 0x430, 0x457, 0x43d, 0x441, 0x44c, 0x43a, 0x430, 0x423, 0x43a, 0x440, 0x430, 0x457, 0x43d, 0x430, 0x627, 0x631, 0x62f, 0x648, ++0x628, 0x6be, 0x627, 0x631, 0x62a, 0x6f, 0x2018, 0x7a, 0x62, 0x65, 0x6b, 0x4f, 0x2bb, 0x7a, 0x62, 0x65, 0x6b, 0x69, 0x73, 0x74, ++0x6f, 0x6e, 0x627, 0x648, 0x632, 0x628, 0x6cc, 0x6a9, 0x45e, 0x437, 0x431, 0x435, 0x43a, 0x447, 0x430, 0x40e, 0x437, 0x431, 0x435, 0x43a, ++0x438, 0x441, 0x442, 0x43e, 0x43d, 0x54, 0x69, 0x1ebf, 0x6e, 0x67, 0x20, 0x56, 0x69, 0x1ec7, 0x74, 0x56, 0x69, 0x1ec7, 0x74, 0x20, ++0x4e, 0x61, 0x6d, 0x43, 0x79, 0x6d, 0x72, 0x61, 0x65, 0x67, 0x59, 0x20, 0x44, 0x65, 0x79, 0x72, 0x6e, 0x61, 0x73, 0x20, + 0x55, 0x6e, 0x65, 0x64, 0x69, 0x67, 0x57, 0x6f, 0x6c, 0x6f, 0x66, 0x53, 0x65, 0x6e, 0x65, 0x67, 0x61, 0x61, 0x6c, 0x69, + 0x73, 0x69, 0x58, 0x68, 0x6f, 0x73, 0x61, 0x65, 0x4d, 0x7a, 0x61, 0x6e, 0x74, 0x73, 0x69, 0x20, 0x41, 0x66, 0x72, 0x69, + 0x6b, 0x61, 0x5d9, 0x5d9, 0x5b4, 0x5d3, 0x5d9, 0x5e9, 0x5d5, 0x5d5, 0x5e2, 0x5dc, 0x5d8, 0xc8, 0x64, 0xe8, 0x20, 0x59, 0x6f, 0x72, +-0xf9, 0x62, 0xe1, 0x4f, 0x72, 0x69, 0x6c, 0x1eb9, 0x300, 0x2d, 0xe8, 0x64, 0xe8, 0x20, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, +-0xed, 0xe0, 0x4f, 0x72, 0xed, 0x6c, 0x25b, 0x301, 0xe8, 0x64, 0x65, 0x20, 0x42, 0x25b, 0x300, 0x6e, 0x25b, 0x300, 0x69, 0x73, +-0x69, 0x5a, 0x75, 0x6c, 0x75, 0x69, 0x4e, 0x69, 0x6e, 0x67, 0x69, 0x7a, 0x69, 0x6d, 0x75, 0x20, 0x41, 0x66, 0x72, 0x69, +-0x6b, 0x61, 0x6e, 0x79, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x4e, 0x6f, 0x72, 0x65, 0x67, 0x62, 0x6f, 0x73, 0x61, 0x6e, 0x73, +-0x6b, 0x69, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x438, 0x47, 0x61, 0x65, 0x6c, 0x67, 0x45, 0x6c, 0x6c, 0x61, 0x6e, +-0x20, 0x56, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x77, 0x65, 0x6b, 0x52, 0x79, 0x77, 0x76, 0x61, +-0x6e, 0x65, 0x74, 0x68, 0x20, 0x55, 0x6e, 0x79, 0x73, 0x41, 0x6b, 0x61, 0x6e, 0x47, 0x61, 0x61, 0x6e, 0x61, 0x915, 0x94b, +-0x902, 0x915, 0x923, 0x940, 0x41, 0x73, 0x1ee5, 0x73, 0x1ee5, 0x20, 0x49, 0x67, 0x62, 0x6f, 0x4e, 0x61, 0x1ecb, 0x6a, 0x1ecb, 0x72, +-0x1ecb, 0x61, 0x4b, 0x69, 0x6b, 0x61, 0x6d, 0x62, 0x61, 0x66, 0x75, 0x72, 0x6c, 0x61, 0x6e, 0x49, 0x74, 0x61, 0x6c, 0x69, +-0x65, 0x45, 0x28b, 0x65, 0x67, 0x62, 0x65, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x6e, 0x75, 0x74, 0x6f, 0x6d, 0x65, 0x54, +-0x6f, 0x67, 0x6f, 0x20, 0x6e, 0x75, 0x74, 0x6f, 0x6d, 0x65, 0x2bb, 0x14c, 0x6c, 0x65, 0x6c, 0x6f, 0x20, 0x48, 0x61, 0x77, +-0x61, 0x69, 0x2bb, 0x69, 0x2bb, 0x41, 0x6d, 0x65, 0x6c, 0x69, 0x6b, 0x61, 0x20, 0x48, 0x75, 0x69, 0x20, 0x50, 0x16b, 0x20, +-0x2bb, 0x49, 0x61, 0x46, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, +-0x53, 0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, 0x65, 0x72, 0x74, 0xfc, 0xfc, 0x74, 0x73, 0x63, 0x68, 0x53, 0x63, 0x68, 0x77, +-0x69, 0x69, 0x7a, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x72, 0x69, 0x69, 0x63, 0x68, 0x4c, 0x69, 0xe4, 0x63, 0x68, 0x74, 0x65, +-0x73, 0x63, 0x68, 0x74, 0xe4, 0x69, 0xa188, 0xa320, 0xa259, 0xa34f, 0xa1e9, 0x4e, 0x65, 0x64, 0x64, 0x65, 0x72, 0x73, 0x61, 0x73, +-0x73, 0x2019, 0x73, 0x63, 0x68, 0x44, 0xfc, 0xfc, 0x74, 0x73, 0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0x4e, 0x65, 0x64, 0x64, +-0x65, 0x72, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x6e, 0x64, 0x61, 0x76, 0x76, 0x69, 0x73, 0xe1, 0x6d, 0x65, 0x67, 0x69, 0x65, +-0x6c, 0x6c, 0x61, 0x4e, 0x6f, 0x72, 0x67, 0x61, 0x53, 0x75, 0x6f, 0x70, 0x6d, 0x61, 0x52, 0x75, 0x6f, 0x167, 0x167, 0x61, +-0x45, 0x6b, 0x65, 0x67, 0x75, 0x73, 0x69, 0x69, 0x4b, 0x69, 0x74, 0x61, 0x69, 0x74, 0x61, 0x50, 0x75, 0x6c, 0x61, 0x61, +-0x72, 0x42, 0x75, 0x72, 0x6b, 0x69, 0x62, 0x61, 0x61, 0x20, 0x46, 0x61, 0x61, 0x73, 0x6f, 0x4b, 0x61, 0x6d, 0x65, 0x72, +-0x75, 0x75, 0x6e, 0x47, 0x61, 0x6d, 0x6d, 0x62, 0x69, 0x47, 0x61, 0x6e, 0x61, 0x61, 0x47, 0x69, 0x6e, 0x65, 0x47, 0x69, +-0x6e, 0x65, 0x2d, 0x42, 0x69, 0x73, 0x61, 0x61, 0x77, 0x6f, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x79, 0x61, 0x61, 0x4d, +-0x75, 0x72, 0x69, 0x74, 0x61, 0x6e, 0x69, 0x4e, 0x69, 0x6a, 0x65, 0x65, 0x72, 0x4e, 0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, +-0x61, 0x61, 0x53, 0x65, 0x72, 0x61, 0x61, 0x20, 0x6c, 0x69, 0x79, 0x6f, 0x6e, 0x47, 0x69, 0x6b, 0x75, 0x79, 0x75, 0x4b, +-0x69, 0x73, 0x61, 0x6d, 0x70, 0x75, 0x72, 0x73, 0x65, 0x6e, 0x61, 0x69, 0x73, 0x69, 0x4e, 0x64, 0x65, 0x62, 0x65, 0x6c, +-0x65, 0x4b, 0x69, 0x68, 0x6f, 0x72, 0x6f, 0x6d, 0x62, 0x6f, 0x2d5c, 0x2d30, 0x2d5b, 0x2d4d, 0x2d43, 0x2d49, 0x2d5c, 0x2d4d, 0x2d4e, 0x2d56, +-0x2d54, 0x2d49, 0x2d31, 0x54, 0x61, 0x73, 0x68, 0x65, 0x6c, 0x1e25, 0x69, 0x79, 0x74, 0x6c, 0x6d, 0x263, 0x72, 0x69, 0x62, 0x54, +-0x61, 0x71, 0x62, 0x61, 0x79, 0x6c, 0x69, 0x74, 0x4c, 0x65, 0x7a, 0x7a, 0x61, 0x79, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x79, +-0x61, 0x6e, 0x6b, 0x6f, 0x72, 0x65, 0x48, 0x69, 0x62, 0x65, 0x6e, 0x61, 0x48, 0x75, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x6e, +-0x69, 0x61, 0x4b, 0x79, 0x69, 0x76, 0x75, 0x6e, 0x6a, 0x6f, 0x62, 0x61, 0x6d, 0x61, 0x6e, 0x61, 0x6b, 0x61, 0x6e, 0x4b, +-0x129, 0x65, 0x6d, 0x62, 0x75, 0x13e3, 0x13b3, 0x13a9, 0x13cc, 0x13ca, 0x20, 0x13a2, 0x13f3, 0x13be, 0x13b5, 0x13cd, 0x13d4, 0x13c5, 0x20, 0x13cd, +-0x13a6, 0x13da, 0x13a9, 0x6b, 0x72, 0x65, 0x6f, 0x6c, 0x20, 0x6d, 0x6f, 0x72, 0x69, 0x73, 0x69, 0x65, 0x6e, 0x4d, 0x6f, 0x72, +-0x69, 0x73, 0x43, 0x68, 0x69, 0x6d, 0x61, 0x6b, 0x6f, 0x6e, 0x64, 0x65, 0x4b, 0x268, 0x6c, 0x61, 0x61, 0x6e, 0x67, 0x69, +-0x54, 0x61, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0xed, 0x61, 0x4c, 0x75, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x59, 0x75, 0x67, 0x61, +-0x6e, 0x64, 0x61, 0x49, 0x63, 0x68, 0x69, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x6b, 0x61, 0x62, 0x75, 0x76, 0x65, 0x72, 0x64, +-0x69, 0x61, 0x6e, 0x75, 0x4b, 0x61, 0x62, 0x75, 0x20, 0x56, 0x65, 0x72, 0x64, 0x69, 0x4b, 0x129, 0x6d, 0x129, 0x72, 0x169, +-0x4b, 0x61, 0x6c, 0x65, 0x6e, 0x6a, 0x69, 0x6e, 0x45, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, +-0x4b, 0x68, 0x6f, 0x65, 0x6b, 0x68, 0x6f, 0x65, 0x67, 0x6f, 0x77, 0x61, 0x62, 0x4e, 0x61, 0x6d, 0x69, 0x62, 0x69, 0x61, +-0x62, 0x4b, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x61, 0x6d, 0x65, 0x4b, 0xf6, 0x6c, 0x73, 0x63, 0x68, 0x44, 0x6f, 0xfc, 0x74, +-0x73, 0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x61, 0x54, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0x69, 0x61, 0x4f, 0x6c, +-0x75, 0x73, 0x6f, 0x67, 0x61, 0x4c, 0x75, 0x6c, 0x75, 0x68, 0x69, 0x61, 0x4b, 0x69, 0x70, 0x61, 0x72, 0x65, 0x54, 0x61, +-0x64, 0x68, 0x61, 0x6e, 0x69, 0x61, 0x4b, 0x69, 0x74, 0x65, 0x73, 0x6f, 0x4b, 0x65, 0x6e, 0x69, 0x61, 0x4b, 0x6f, 0x79, +-0x72, 0x61, 0x20, 0x63, 0x69, 0x69, 0x6e, 0x69, 0x4d, 0x61, 0x61, 0x6c, 0x69, 0x4b, 0x69, 0x72, 0x75, 0x77, 0x61, 0x44, +-0x68, 0x6f, 0x6c, 0x75, 0x6f, 0x52, 0x75, 0x6b, 0x69, 0x67, 0x61, 0x54, 0x61, 0x6d, 0x61, 0x7a, 0x69, 0x263, 0x74, 0x20, +-0x6e, 0x20, 0x6c, 0x61, 0x1e6d, 0x6c, 0x61, 0x1e63, 0x4d, 0x65, 0x1e5b, 0x1e5b, 0x75, 0x6b, 0x4b, 0x6f, 0x79, 0x72, 0x61, 0x62, +-0x6f, 0x72, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x6e, 0x69, 0x4b, 0x69, 0x73, 0x68, 0x61, 0x6d, 0x62, 0x61, 0x61, 0x92c, 0x921, +-0x93c, 0x94b, 0x43d, 0x43e, 0x445, 0x447, 0x438, 0x439, 0x43d, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x446, 0x435, 0x440, 0x43a, 0x43e, 0x432, +-0x43d, 0x43e, 0x441, 0x43b, 0x43e, 0x432, 0x435, 0x301, 0x43d, 0x441, 0x43a, 0x457, 0x439, 0x440, 0x461, 0x441, 0x441, 0x456, 0x301, 0x430, +-0x54, 0x73, 0x68, 0x69, 0x6c, 0x75, 0x62, 0x61, 0x44, 0x69, 0x74, 0x75, 0x6e, 0x67, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, +-0x6f, 0x6e, 0x67, 0x75, 0x4c, 0xeb, 0x74, 0x7a, 0x65, 0x62, 0x75, 0x65, 0x72, 0x67, 0x65, 0x73, 0x63, 0x68, 0x4c, 0xeb, +-0x74, 0x7a, 0x65, 0x62, 0x75, 0x65, 0x72, 0x67, 0x41, 0x67, 0x68, 0x65, 0x6d, 0x4b, 0xe0, 0x6d, 0xe0, 0x6c, 0xfb, 0x14b, +-0x181, 0xe0, 0x73, 0xe0, 0x61, 0x4b, 0xe0, 0x6d, 0x25b, 0x300, 0x72, 0xfb, 0x6e, 0x5a, 0x61, 0x72, 0x6d, 0x61, 0x63, 0x69, +-0x69, 0x6e, 0x65, 0x4e, 0x69, 0x17e, 0x65, 0x72, 0x64, 0x75, 0xe1, 0x6c, 0xe1, 0x6a, 0x6f, 0x6f, 0x6c, 0x61, 0x53, 0x65, +-0x6e, 0x65, 0x67, 0x61, 0x6c, 0x65, 0x77, 0x6f, 0x6e, 0x64, 0x6f, 0x4b, 0x61, 0x6d, 0x259, 0x72, 0xfa, 0x6e, 0x72, 0x69, +-0x6b, 0x70, 0x61, 0x6b, 0x61, 0x6d, 0x25b, 0x72, 0xfa, 0x6e, 0x4d, 0x61, 0x6b, 0x75, 0x61, 0x55, 0x6d, 0x6f, 0x7a, 0x61, +-0x6d, 0x62, 0x69, 0x6b, 0x69, 0x4d, 0x55, 0x4e, 0x44, 0x41, 0x14a, 0x6b, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x14b, 0x4b, 0x77, +-0x61, 0x73, 0x69, 0x6f, 0x4b, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x6e, 0x54, 0x68, 0x6f, 0x6b, 0x20, 0x4e, 0x61, 0x74, 0x68, +-0x441, 0x430, 0x445, 0x430, 0x20, 0x442, 0x44b, 0x43b, 0x430, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x49, 0x73, +-0x68, 0x69, 0x73, 0x61, 0x6e, 0x67, 0x75, 0x54, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0x69, 0x79, 0x61, 0x54, 0x61, 0x73, 0x61, +-0x77, 0x61, 0x71, 0x20, 0x73, 0x65, 0x6e, 0x6e, 0x69, 0xa559, 0xa524, 0xa55e, 0xa524, 0xa52b, 0xa569, 0x56, 0x61, 0x69, 0x4c, 0x61, +-0x69, 0x62, 0x68, 0x69, 0x79, 0x61, 0x57, 0x61, 0x6c, 0x73, 0x65, 0x72, 0x53, 0x63, 0x68, 0x77, 0x69, 0x7a, 0x6e, 0x75, +-0x61, 0x73, 0x75, 0x65, 0x4b, 0x65, 0x6d, 0x65, 0x6c, 0xfa, 0x6e, 0x61, 0x73, 0x74, 0x75, 0x72, 0x69, 0x61, 0x6e, 0x75, +-0x4e, 0x64, 0x61, 0xa78c, 0x61, 0x4b, 0x61, 0x6d, 0x25b, 0x6c, 0xfb, 0x6e, 0x6b, 0x61, 0x6b, 0x254, 0x4b, 0x61, 0x6d, 0x25b, +-0x72, 0x75, 0x6e, 0x6d, 0x65, 0x74, 0x61, 0x2bc, 0x4b, 0x61, 0x6d, 0x61, 0x6c, 0x75, 0x6e, 0x53, 0x68, 0x77, 0xf3, 0x14b, +-0xf2, 0x20, 0x6e, 0x67, 0x69, 0x65, 0x6d, 0x62, 0x254, 0x254, 0x6e, 0x4b, 0xe0, 0x6d, 0x61, 0x6c, 0xfb, 0x6d, 0x9ae, 0x9c8, +-0x9a4, 0x9c8, 0x9b2, 0x9cb, 0x9a8, 0x9cd, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x1c65, 0x1c5f, 0x1c71, 0x1c5b, 0x1c5f, 0x1c72, +-0x1c64, 0x1c64, 0x1c71, 0x1c70, 0x1c64, 0x1c6d, 0x1c5f, 0x4c, 0x61, 0x6b, 0x21f, 0xf3, 0x6c, 0x2bc, 0x69, 0x79, 0x61, 0x70, 0x69, 0x4d, +-0xed, 0x6c, 0x61, 0x68, 0x61, 0x14b, 0x73, 0x6b, 0x61, 0x20, 0x54, 0x21f, 0x61, 0x6d, 0xe1, 0x6b, 0x21f, 0x6f, 0x10d, 0x68, +-0x65, 0x2d5c, 0x2d30, 0x2d4e, 0x2d30, 0x2d63, 0x2d49, 0x2d56, 0x2d5c, 0x6a9, 0x648, 0x631, 0x62f, 0x6cc, 0x6cc, 0x20, 0x646, 0x627, 0x648, 0x6d5, +-0x646, 0x62f, 0x6cc, 0x639, 0x6ce, 0x631, 0x627, 0x642, 0x626, 0x6ce, 0x631, 0x627, 0x646, 0x64, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x65, +-0x72, 0x62, 0x161, 0x107, 0x69, 0x6e, 0x61, 0x4e, 0x69, 0x6d, 0x73, 0x6b, 0x61, 0x68, 0x6f, 0x72, 0x6e, 0x6a, 0x6f, 0x73, +-0x65, 0x72, 0x62, 0x161, 0x107, 0x69, 0x6e, 0x61, 0x4e, 0x11b, 0x6d, 0x73, 0x6b, 0x61, 0x70, 0x72, 0x16b, 0x73, 0x69, 0x73, +-0x6b, 0x61, 0x6e, 0x73, 0x77, 0x12b, 0x74, 0x61, 0x69, 0x61, 0x6e, 0x61, 0x72, 0xe2, 0x161, 0x6b, 0x69, 0x65, 0x6c, 0xe2, +-0x53, 0x75, 0x6f, 0x6d, 0xe2, 0x92e, 0x948, 0x925, 0x93f, 0x932, 0x940, 0x645, 0x627, 0x632, 0x631, 0x648, 0x646, 0x6cc, 0x644, 0x6ca, +-0x631, 0x6cc, 0x20, 0x634, 0x648, 0x645, 0x627, 0x644, 0x6cc, 0x7cb5, 0x8a9e, 0x4e2d, 0x83ef, 0x4eba, 0x6c11, 0x5171, 0x548c, 0x570b, 0x9999, 0x6e2f, +-0x7279, 0x5225, 0x884c, 0x653f, 0x5340, 0x7ca4, 0x8bed, 0x4e2d, 0x534e, 0x4eba, 0x6c11, 0x5171, 0x548c, 0x56fd, 0x42, 0x69, 0x6e, 0x69, 0x73, 0x61, +-0x79, 0x61, 0x4e, 0x61, 0x69, 0x6a, 0xed, 0x72, 0x69, 0xe1, 0x20, 0x50, 0xed, 0x6a, 0x69, 0x6e, 0x4e, 0x61, 0x69, 0x6a, +-0xed, 0x72, 0x69, 0x61 ++0xf9, 0x62, 0xe1, 0x4e, 0xe0, 0xec, 0x6a, 0xed, 0x72, 0xed, 0xe0, 0x42, 0x25b, 0x300, 0x6e, 0x25b, 0x300, 0x69, 0x73, 0x69, ++0x5a, 0x75, 0x6c, 0x75, 0x69, 0x4e, 0x69, 0x6e, 0x67, 0x69, 0x7a, 0x69, 0x6d, 0x75, 0x20, 0x41, 0x66, 0x72, 0x69, 0x6b, ++0x61, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x20, 0x6e, 0x79, 0x6e, 0x6f, 0x72, 0x73, 0x6b, 0x4e, 0x6f, 0x72, 0x65, 0x67, 0x62, ++0x6f, 0x73, 0x61, 0x6e, 0x73, 0x6b, 0x69, 0x431, 0x43e, 0x441, 0x430, 0x43d, 0x441, 0x43a, 0x438, 0x47, 0x61, 0x65, 0x6c, 0x67, ++0x45, 0x6c, 0x6c, 0x61, 0x6e, 0x20, 0x56, 0x61, 0x6e, 0x6e, 0x69, 0x6e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x77, 0x65, 0x6b, ++0x52, 0x79, 0x77, 0x76, 0x61, 0x6e, 0x65, 0x74, 0x68, 0x20, 0x55, 0x6e, 0x79, 0x73, 0x41, 0x6b, 0x61, 0x6e, 0x47, 0x61, ++0x61, 0x6e, 0x61, 0x915, 0x94b, 0x902, 0x915, 0x923, 0x940, 0x49, 0x67, 0x62, 0x6f, 0x4e, 0x61, 0x1ecb, 0x6a, 0x1ecb, 0x72, 0x1ecb, ++0x61, 0x4b, 0x69, 0x6b, 0x61, 0x6d, 0x62, 0x61, 0x66, 0x75, 0x72, 0x6c, 0x61, 0x6e, 0x49, 0x74, 0x61, 0x6c, 0x69, 0x65, ++0x45, 0x28b, 0x65, 0x67, 0x62, 0x65, 0x47, 0x68, 0x61, 0x6e, 0x61, 0x20, 0x6e, 0x75, 0x74, 0x6f, 0x6d, 0x65, 0x54, 0x6f, ++0x67, 0x6f, 0x20, 0x6e, 0x75, 0x74, 0x6f, 0x6d, 0x65, 0x2bb, 0x14c, 0x6c, 0x65, 0x6c, 0x6f, 0x20, 0x48, 0x61, 0x77, 0x61, ++0x69, 0x2bb, 0x69, 0x2bb, 0x41, 0x6d, 0x65, 0x6c, 0x69, 0x6b, 0x61, 0x20, 0x48, 0x75, 0x69, 0x20, 0x50, 0x16b, 0x20, 0x2bb, ++0x49, 0x61, 0x46, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x6f, 0x50, 0x69, 0x6c, 0x69, 0x70, 0x69, 0x6e, 0x61, 0x73, 0x53, ++0x63, 0x68, 0x77, 0x69, 0x69, 0x7a, 0x65, 0x72, 0x74, 0xfc, 0xfc, 0x74, 0x73, 0x63, 0x68, 0x53, 0x63, 0x68, 0x77, 0x69, ++0x69, 0x7a, 0x46, 0x72, 0x61, 0x6e, 0x6b, 0x72, 0x69, 0x69, 0x63, 0x68, 0x4c, 0x69, 0xe4, 0x63, 0x68, 0x74, 0x65, 0x73, ++0x63, 0x68, 0x74, 0xe4, 0x69, 0xa188, 0xa320, 0xa259, 0xa34f, 0xa1e9, 0x4e, 0x65, 0x64, 0x64, 0x65, 0x72, 0x73, 0x61, 0x73, 0x73, ++0x2019, 0x73, 0x63, 0x68, 0x44, 0xfc, 0xfc, 0x74, 0x73, 0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0x4e, 0x65, 0x64, 0x64, 0x65, ++0x72, 0x6c, 0x61, 0x6e, 0x6e, 0x65, 0x6e, 0x64, 0x61, 0x76, 0x76, 0x69, 0x73, 0xe1, 0x6d, 0x65, 0x67, 0x69, 0x65, 0x6c, ++0x6c, 0x61, 0x4e, 0x6f, 0x72, 0x67, 0x61, 0x53, 0x75, 0x6f, 0x70, 0x6d, 0x61, 0x52, 0x75, 0x6f, 0x167, 0x167, 0x61, 0x45, ++0x6b, 0x65, 0x67, 0x75, 0x73, 0x69, 0x69, 0x4b, 0x69, 0x74, 0x61, 0x69, 0x74, 0x61, 0x50, 0x75, 0x6c, 0x61, 0x61, 0x72, ++0x42, 0x75, 0x72, 0x6b, 0x69, 0x62, 0x61, 0x61, 0x20, 0x46, 0x61, 0x61, 0x73, 0x6f, 0x4b, 0x61, 0x6d, 0x65, 0x72, 0x75, ++0x75, 0x6e, 0x47, 0x61, 0x6d, 0x6d, 0x62, 0x69, 0x47, 0x61, 0x6e, 0x61, 0x61, 0x47, 0x69, 0x6e, 0x65, 0x47, 0x69, 0x6e, ++0x65, 0x2d, 0x42, 0x69, 0x73, 0x61, 0x61, 0x77, 0x6f, 0x4c, 0x69, 0x62, 0x65, 0x72, 0x69, 0x79, 0x61, 0x61, 0x4d, 0x75, ++0x72, 0x69, 0x74, 0x61, 0x6e, 0x69, 0x4e, 0x69, 0x6a, 0x65, 0x65, 0x72, 0x4e, 0x69, 0x6a, 0x65, 0x72, 0x69, 0x79, 0x61, ++0x61, 0x53, 0x65, 0x72, 0x61, 0x61, 0x20, 0x6c, 0x69, 0x79, 0x6f, 0x6e, 0x47, 0x69, 0x6b, 0x75, 0x79, 0x75, 0x4b, 0x69, ++0x73, 0x61, 0x6d, 0x70, 0x75, 0x72, 0x73, 0x65, 0x6e, 0x61, 0x69, 0x73, 0x69, 0x4e, 0x64, 0x65, 0x62, 0x65, 0x6c, 0x65, ++0x4b, 0x69, 0x68, 0x6f, 0x72, 0x6f, 0x6d, 0x62, 0x6f, 0x2d5c, 0x2d30, 0x2d5b, 0x2d4d, 0x2d43, 0x2d49, 0x2d5c, 0x2d4d, 0x2d4e, 0x2d56, 0x2d54, ++0x2d49, 0x2d31, 0x54, 0x61, 0x73, 0x68, 0x65, 0x6c, 0x1e25, 0x69, 0x79, 0x74, 0x6c, 0x6d, 0x263, 0x72, 0x69, 0x62, 0x54, 0x61, ++0x71, 0x62, 0x61, 0x79, 0x6c, 0x69, 0x74, 0x4c, 0x65, 0x7a, 0x7a, 0x61, 0x79, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x79, 0x61, ++0x6e, 0x6b, 0x6f, 0x72, 0x65, 0x48, 0x69, 0x62, 0x65, 0x6e, 0x61, 0x48, 0x75, 0x74, 0x61, 0x6e, 0x7a, 0x61, 0x6e, 0x69, ++0x61, 0x4b, 0x79, 0x69, 0x76, 0x75, 0x6e, 0x6a, 0x6f, 0x62, 0x61, 0x6d, 0x61, 0x6e, 0x61, 0x6b, 0x61, 0x6e, 0x4b, 0x129, ++0x65, 0x6d, 0x62, 0x75, 0x13e3, 0x13b3, 0x13a9, 0x13cc, 0x13ca, 0x20, 0x13a2, 0x13f3, 0x13be, 0x13b5, 0x13cd, 0x13d4, 0x13c5, 0x20, 0x13cd, 0x13a6, ++0x13da, 0x13a9, 0x6b, 0x72, 0x65, 0x6f, 0x6c, 0x20, 0x6d, 0x6f, 0x72, 0x69, 0x73, 0x69, 0x65, 0x6e, 0x4d, 0x6f, 0x72, 0x69, ++0x73, 0x43, 0x68, 0x69, 0x6d, 0x61, 0x6b, 0x6f, 0x6e, 0x64, 0x65, 0x4b, 0x268, 0x6c, 0x61, 0x61, 0x6e, 0x67, 0x69, 0x54, ++0x61, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0xed, 0x61, 0x4c, 0x75, 0x67, 0x61, 0x6e, 0x64, 0x61, 0x59, 0x75, 0x67, 0x61, 0x6e, ++0x64, 0x61, 0x49, 0x63, 0x68, 0x69, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x6b, 0x61, 0x62, 0x75, 0x76, 0x65, 0x72, 0x64, 0x69, ++0x61, 0x6e, 0x75, 0x4b, 0x61, 0x62, 0x75, 0x20, 0x56, 0x65, 0x72, 0x64, 0x69, 0x4b, 0x129, 0x6d, 0x129, 0x72, 0x169, 0x4b, ++0x61, 0x6c, 0x65, 0x6e, 0x6a, 0x69, 0x6e, 0x45, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x20, 0x4b, 0x65, 0x6e, 0x79, 0x61, 0x4b, ++0x68, 0x6f, 0x65, 0x6b, 0x68, 0x6f, 0x65, 0x67, 0x6f, 0x77, 0x61, 0x62, 0x4e, 0x61, 0x6d, 0x69, 0x62, 0x69, 0x61, 0x62, ++0x4b, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x61, 0x6d, 0x65, 0x4b, 0xf6, 0x6c, 0x73, 0x63, 0x68, 0x44, 0x6f, 0xfc, 0x74, 0x73, ++0x63, 0x68, 0x6c, 0x61, 0x6e, 0x64, 0x4d, 0x61, 0x61, 0x54, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0x69, 0x61, 0x4f, 0x6c, 0x75, ++0x73, 0x6f, 0x67, 0x61, 0x4c, 0x75, 0x6c, 0x75, 0x68, 0x69, 0x61, 0x4b, 0x69, 0x70, 0x61, 0x72, 0x65, 0x54, 0x61, 0x64, ++0x68, 0x61, 0x6e, 0x69, 0x61, 0x4b, 0x69, 0x74, 0x65, 0x73, 0x6f, 0x4b, 0x65, 0x6e, 0x69, 0x61, 0x4b, 0x6f, 0x79, 0x72, ++0x61, 0x20, 0x63, 0x69, 0x69, 0x6e, 0x69, 0x4d, 0x61, 0x61, 0x6c, 0x69, 0x4b, 0x69, 0x72, 0x75, 0x77, 0x61, 0x44, 0x68, ++0x6f, 0x6c, 0x75, 0x6f, 0x52, 0x75, 0x6b, 0x69, 0x67, 0x61, 0x54, 0x61, 0x6d, 0x61, 0x7a, 0x69, 0x263, 0x74, 0x20, 0x6e, ++0x20, 0x6c, 0x61, 0x1e6d, 0x6c, 0x61, 0x1e63, 0x4d, 0x65, 0x1e5b, 0x1e5b, 0x75, 0x6b, 0x4b, 0x6f, 0x79, 0x72, 0x61, 0x62, 0x6f, ++0x72, 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x6e, 0x69, 0x4b, 0x69, 0x73, 0x68, 0x61, 0x6d, 0x62, 0x61, 0x61, 0x92c, 0x921, 0x93c, ++0x94b, 0x43d, 0x43e, 0x445, 0x447, 0x438, 0x439, 0x43d, 0x420, 0x43e, 0x441, 0x441, 0x438, 0x54, 0x73, 0x68, 0x69, 0x6c, 0x75, 0x62, ++0x61, 0x44, 0x69, 0x74, 0x75, 0x6e, 0x67, 0x61, 0x20, 0x77, 0x61, 0x20, 0x4b, 0x6f, 0x6e, 0x67, 0x75, 0x4c, 0xeb, 0x74, ++0x7a, 0x65, 0x62, 0x75, 0x65, 0x72, 0x67, 0x65, 0x73, 0x63, 0x68, 0x4c, 0xeb, 0x74, 0x7a, 0x65, 0x62, 0x75, 0x65, 0x72, ++0x67, 0x41, 0x67, 0x68, 0x65, 0x6d, 0x4b, 0xe0, 0x6d, 0xe0, 0x6c, 0xfb, 0x14b, 0x181, 0xe0, 0x73, 0xe0, 0x61, 0x4b, 0xe0, ++0x6d, 0x25b, 0x300, 0x72, 0xfb, 0x6e, 0x5a, 0x61, 0x72, 0x6d, 0x61, 0x63, 0x69, 0x69, 0x6e, 0x65, 0x4e, 0x69, 0x17e, 0x65, ++0x72, 0x64, 0x75, 0xe1, 0x6c, 0xe1, 0x6a, 0x6f, 0x6f, 0x6c, 0x61, 0x53, 0x65, 0x6e, 0x65, 0x67, 0x61, 0x6c, 0x65, 0x77, ++0x6f, 0x6e, 0x64, 0x6f, 0x4b, 0x61, 0x6d, 0x259, 0x72, 0xfa, 0x6e, 0x72, 0x69, 0x6b, 0x70, 0x61, 0x6b, 0x61, 0x6d, 0x25b, ++0x72, 0xfa, 0x6e, 0x4d, 0x61, 0x6b, 0x75, 0x61, 0x55, 0x6d, 0x6f, 0x7a, 0x61, 0x6d, 0x62, 0x69, 0x6b, 0x69, 0x4d, 0x55, ++0x4e, 0x44, 0x41, 0x14a, 0x6b, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x14b, 0x4b, 0x77, 0x61, 0x73, 0x69, 0x6f, 0x4b, 0x61, 0x6d, ++0x65, 0x72, 0x75, 0x6e, 0x54, 0x68, 0x6f, 0x6b, 0x20, 0x4e, 0x61, 0x74, 0x68, 0x441, 0x430, 0x445, 0x430, 0x20, 0x442, 0x44b, ++0x43b, 0x430, 0x410, 0x440, 0x430, 0x441, 0x441, 0x44b, 0x44b, 0x439, 0x430, 0x49, 0x73, 0x68, 0x69, 0x73, 0x61, 0x6e, 0x67, 0x75, ++0x54, 0x61, 0x6e, 0x73, 0x61, 0x6e, 0x69, 0x79, 0x61, 0x54, 0x61, 0x73, 0x61, 0x77, 0x61, 0x71, 0x20, 0x73, 0x65, 0x6e, ++0x6e, 0x69, 0xa559, 0xa524, 0xa55e, 0xa524, 0xa52b, 0xa569, 0x56, 0x61, 0x69, 0x4c, 0x61, 0x69, 0x62, 0x68, 0x69, 0x79, 0x61, 0x57, ++0x61, 0x6c, 0x73, 0x65, 0x72, 0x53, 0x63, 0x68, 0x77, 0x69, 0x7a, 0x6e, 0x75, 0x61, 0x73, 0x75, 0x65, 0x4b, 0x65, 0x6d, ++0x65, 0x6c, 0xfa, 0x6e, 0x61, 0x73, 0x74, 0x75, 0x72, 0x69, 0x61, 0x6e, 0x75, 0x4e, 0x64, 0x61, 0xa78c, 0x61, 0x4b, 0x61, ++0x6d, 0x25b, 0x6c, 0xfb, 0x6e, 0x6b, 0x61, 0x6b, 0x254, 0x4b, 0x61, 0x6d, 0x25b, 0x72, 0x75, 0x6e, 0x6d, 0x65, 0x74, 0x61, ++0x2bc, 0x4b, 0x61, 0x6d, 0x61, 0x6c, 0x75, 0x6e, 0x53, 0x68, 0x77, 0xf3, 0x14b, 0xf2, 0x20, 0x6e, 0x67, 0x69, 0x65, 0x6d, ++0x62, 0x254, 0x254, 0x6e, 0x4b, 0xe0, 0x6d, 0x61, 0x6c, 0xfb, 0x6d, 0x921, 0x94b, 0x917, 0x930, 0x940, 0x9ae, 0x9c8, 0x9a4, 0x9c8, ++0x9b2, 0x9cb, 0x9a8, 0x9cd, 0x987, 0x9a8, 0x9cd, 0x9a6, 0x9bf, 0x9af, 0x9bc, 0x9be, 0x1c65, 0x1c5f, 0x1c71, 0x1c5b, 0x1c5f, 0x1c72, 0x1c64, 0x1c64, ++0x1c71, 0x1c70, 0x1c64, 0x1c6d, 0x1c5f, 0x4c, 0x61, 0x6b, 0x21f, 0xf3, 0x6c, 0x2bc, 0x69, 0x79, 0x61, 0x70, 0x69, 0x4d, 0xed, 0x6c, ++0x61, 0x68, 0x61, 0x14b, 0x73, 0x6b, 0x61, 0x20, 0x54, 0x21f, 0x61, 0x6d, 0xe1, 0x6b, 0x21f, 0x6f, 0x10d, 0x68, 0x65, 0x2d5c, ++0x2d30, 0x2d4e, 0x2d30, 0x2d63, 0x2d49, 0x2d56, 0x2d5c, 0x6a9, 0x648, 0x631, 0x62f, 0x6cc, 0x6cc, 0x20, 0x646, 0x627, 0x648, 0x6d5, 0x646, 0x62f, ++0x6cc, 0x639, 0x6ce, 0x631, 0x627, 0x642, 0x626, 0x6ce, 0x631, 0x627, 0x646, 0x64, 0x6f, 0x6c, 0x6e, 0x6f, 0x73, 0x65, 0x72, 0x62, ++0x161, 0x107, 0x69, 0x6e, 0x61, 0x4e, 0x69, 0x6d, 0x73, 0x6b, 0x61, 0x68, 0x6f, 0x72, 0x6e, 0x6a, 0x6f, 0x73, 0x65, 0x72, ++0x62, 0x161, 0x107, 0x69, 0x6e, 0x61, 0x4e, 0x11b, 0x6d, 0x73, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x72, 0xe2, 0x161, 0x6b, 0x69, ++0x65, 0x6c, 0xe2, 0x53, 0x75, 0x6f, 0x6d, 0xe2, 0x92e, 0x948, 0x925, 0x93f, 0x932, 0x940, 0x645, 0x627, 0x632, 0x631, 0x648, 0x646, ++0x6cc, 0x644, 0x6ca, 0x631, 0x6cc, 0x20, 0x634, 0x648, 0x645, 0x627, 0x644, 0x6cc, 0x7cb5, 0x8a9e, 0x4e2d, 0x83ef, 0x4eba, 0x6c11, 0x5171, 0x548c, ++0x570b, 0x9999, 0x6e2f, 0x7279, 0x5225, 0x884c, 0x653f, 0x5340, 0x7ca4, 0x8bed, 0x4e2d, 0x534e, 0x4eba, 0x6c11, 0x5171, 0x548c, 0x56fd, 0x42, 0x69, 0x6e, ++0x69, 0x73, 0x61, 0x79, 0x61, 0x4e, 0x61, 0x69, 0x6a, 0xed, 0x72, 0x69, 0xe1, 0x20, 0x50, 0xed, 0x6a, 0x69, 0x6e, 0x4e, ++0x61, 0x69, 0x6a, 0xed, 0x72, 0x69, 0x61 + }; + + static const char language_name_list[] = +diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp +index f9ec7678fe..02a9fe3a30 100644 +--- a/src/corelib/text/qstring.cpp ++++ b/src/corelib/text/qstring.cpp +@@ -1331,11 +1331,11 @@ const QString::Null QString::null = { }; + \macro QT_RESTRICTED_CAST_FROM_ASCII + \relates QString + +- Defining this macro disables most automatic conversions from source +- literals and 8-bit data to unicode QStrings, but allows the use of ++ Disables most automatic conversions from source literals and 8-bit data ++ to unicode QStrings, but allows the use of + the \c{QChar(char)} and \c{QString(const char (&ch)[N]} constructors, +- and the \c{QString::operator=(const char (&ch)[N])} assignment operator +- giving most of the type-safety benefits of \c QT_NO_CAST_FROM_ASCII ++ and the \c{QString::operator=(const char (&ch)[N])} assignment operator. ++ This gives most of the type-safety benefits of \c QT_NO_CAST_FROM_ASCII + but does not require user code to wrap character and string literals + with QLatin1Char, QLatin1String or similar. + +@@ -1358,7 +1358,7 @@ const QString::Null QString::null = { }; + \macro QT_NO_CAST_TO_ASCII + \relates QString + +- disables automatic conversion from QString to 8-bit strings (char *) ++ Disables automatic conversion from QString to 8-bit strings (char *). + + \sa QT_NO_CAST_FROM_ASCII, QT_RESTRICTED_CAST_FROM_ASCII, QT_NO_CAST_FROM_BYTEARRAY + */ +@@ -1616,23 +1616,18 @@ const QString::Null QString::null = { }; + Latin-1, but there is always the risk that an implicit conversion + from or to \c{const char *} is done using the wrong 8-bit + encoding. To minimize these risks, you can turn off these implicit +- conversions by defining the following two preprocessor symbols: ++ conversions by defining some of the following preprocessor symbols: + + \list +- \li \c QT_NO_CAST_FROM_ASCII disables automatic conversions from ++ \li \l QT_NO_CAST_FROM_ASCII disables automatic conversions from + C string literals and pointers to Unicode. +- \li \c QT_RESTRICTED_CAST_FROM_ASCII allows automatic conversions ++ \li \l QT_RESTRICTED_CAST_FROM_ASCII allows automatic conversions + from C characters and character arrays, but disables automatic + conversions from character pointers to Unicode. +- \li \c QT_NO_CAST_TO_ASCII disables automatic conversion from QString ++ \li \l QT_NO_CAST_TO_ASCII disables automatic conversion from QString + to C strings. + \endlist + +- One way to define these preprocessor symbols globally for your +- application is to add the following entry to your \l {Creating Project Files}{qmake project file}: +- +- \snippet code/src_corelib_tools_qstring.cpp 0 +- + You then need to explicitly call fromUtf8(), fromLatin1(), + or fromLocal8Bit() to construct a QString from an + 8-bit string, or use the lightweight QLatin1String class, for +@@ -1769,7 +1764,7 @@ const QString::Null QString::null = { }; + and the \c{'+'} will automatically be performed as the + \c{QStringBuilder} \c{'%'} everywhere. + +- \section1 Maximum size and out-of-memory conditions ++ \section1 Maximum Size and Out-of-memory Conditions + + The current version of QString is limited to just under 2 GB (2^31 bytes) + in size. The exact value is architecture-dependent, since it depends on the +@@ -3296,7 +3291,7 @@ QString& QString::replace(QChar ch, const QString &after, Qt::CaseSensitivity cs + + replace_helper(indices, pos, 1, after.constData(), after.d->size); + +- if (Q_LIKELY(index == -1)) // Nothing left to replace ++ if (Q_LIKELY(index == size())) // Nothing left to replace + break; + // The call to replace_helper just moved what index points at: + index += pos*(after.d->size - 1); +@@ -4563,13 +4558,13 @@ int QString::lastIndexOf(const QRegularExpression &re, int from, QRegularExpress + return -1; + } + +- int endpos = (from < 0) ? (size() + from + 1) : (from + 1); ++ int endpos = (from < 0) ? (size() + from + 1) : (from); + QRegularExpressionMatchIterator iterator = re.globalMatch(*this); + int lastIndex = -1; + while (iterator.hasNext()) { + QRegularExpressionMatch match = iterator.next(); + int start = match.capturedStart(); +- if (start < endpos) { ++ if (start <= endpos) { + lastIndex = start; + if (rmatch) + *rmatch = std::move(match); +@@ -4626,10 +4621,16 @@ bool QString::contains(const QRegularExpression &re, QRegularExpressionMatch *rm + Returns the number of times the regular expression \a re matches + in the string. + +- This function counts overlapping matches, so in the example +- below, there are four instances of "ana" or "ama": ++ For historical reasons, this function counts overlapping matches, ++ so in the example below, there are four instances of "ana" or ++ "ama": + + \snippet qstring/main.cpp 95 ++ ++ This behavior is different from simply iterating over the matches ++ in the string using QRegularExpressionMatchIterator. ++ ++ \sa QRegularExpression::globalMatch() + */ + int QString::count(const QRegularExpression &re) const + { +@@ -4640,7 +4641,7 @@ int QString::count(const QRegularExpression &re) const + int count = 0; + int index = -1; + int len = length(); +- while (index < len - 1) { ++ while (index <= len - 1) { + QRegularExpressionMatch match = re.match(*this, index + 1); + if (!match.hasMatch()) + break; +diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h +index 5a4ac497e0..8b71c014e0 100644 +--- a/src/corelib/text/qstring.h ++++ b/src/corelib/text/qstring.h +@@ -1231,6 +1231,10 @@ public: + { return operator=(QChar::fromLatin1(c)); } + inline QT_ASCII_CAST_WARN QCharRef &operator=(uchar c) + { return operator=(QChar::fromLatin1(c)); } ++#else ++ // prevent char -> int promotion, bypassing QT_NO_CAST_FROM_ASCII ++ QCharRef &operator=(char c) = delete; ++ QCharRef &operator=(uchar c) = delete; + #endif + inline QCharRef &operator=(const QCharRef &c) { return operator=(QChar(c)); } + inline QCharRef &operator=(ushort rc) { return operator=(QChar(rc)); } +@@ -2024,13 +2028,13 @@ inline int QStringRef::localeAwareCompare(const QString &s) const + inline int QStringRef::localeAwareCompare(const QStringRef &s) const + { return QString::localeAwareCompare_helper(constData(), length(), s.constData(), s.length()); } + inline int QStringRef::localeAwareCompare(QStringView s) const +-{ return QString::localeAwareCompare_helper(constData(), length(), s.data(), s.size()); } ++{ return QString::localeAwareCompare_helper(constData(), length(), s.data(), int(s.size())); } + inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QString &s2) + { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } + inline int QStringRef::localeAwareCompare(const QStringRef &s1, const QStringRef &s2) + { return QString::localeAwareCompare_helper(s1.constData(), s1.length(), s2.constData(), s2.length()); } + inline int QStringRef::localeAwareCompare(QStringView s1, QStringView s2) +-{ return QString::localeAwareCompare_helper(s1.data(), s1.size(), s2.data(), s2.size()); } ++{ return QString::localeAwareCompare_helper(s1.data(), int(s1.size()), s2.data(), int(s2.size())); } + + #if QT_STRINGVIEW_LEVEL < 2 + inline bool QStringRef::contains(const QString &s, Qt::CaseSensitivity cs) const +diff --git a/src/corelib/text/qstringview.cpp b/src/corelib/text/qstringview.cpp +index 1cbfb90d0f..c9e9aeee9d 100644 +--- a/src/corelib/text/qstringview.cpp ++++ b/src/corelib/text/qstringview.cpp +@@ -705,8 +705,6 @@ QT_BEGIN_NAMESPACE + + If \a cs is Qt::CaseSensitive (the default), the comparison is case sensitive; + otherwise the comparison is case-insensitive. +- +- \sa operator==(), operator<(), operator>() + */ + + /*! +@@ -720,8 +718,6 @@ QT_BEGIN_NAMESPACE + + If \a cs is Qt::CaseSensitive (the default), the comparison is case sensitive; + otherwise the comparison is case-insensitive. +- +- \sa operator==(), operator<(), operator>() + */ + + /*! +diff --git a/src/corelib/text/qt_attribution.json b/src/corelib/text/qt_attribution.json +index c555209f19..05c088e923 100644 +--- a/src/corelib/text/qt_attribution.json ++++ b/src/corelib/text/qt_attribution.json +@@ -30,7 +30,7 @@ + world's languages, with the largest and most extensive standard repository of locale data + available.", + "Homepage": "http://cldr.unicode.org/", +- "Version": "v36", ++ "Version": "v38", + "License": "// as specified in https://spdx.org/licenses/Unicode-DFS-2016.html", + "License": "Unicode License Agreement - Data Files and Software (2016)", + "LicenseId": "Unicode-DFS-2016", +diff --git a/src/corelib/thread/qmutex.cpp b/src/corelib/thread/qmutex.cpp +index 9bfd50f2d9..7097122d8e 100644 +--- a/src/corelib/thread/qmutex.cpp ++++ b/src/corelib/thread/qmutex.cpp +@@ -152,6 +152,7 @@ public: + + /*! + \enum QMutex::RecursionMode ++ \obsolete Use QRecursiveMutex to create a recursive mutex. + + \value Recursive In this mode, a thread can lock the same mutex + multiple times and the mutex won't be unlocked +@@ -173,6 +174,7 @@ public: + + /*! + Constructs a new mutex. The mutex is created in an unlocked state. ++ \obsolete Use QRecursiveMutex to create a recursive mutex. + + If \a mode is QMutex::Recursive, a thread can lock the same mutex + multiple times and the mutex won't be unlocked until a +@@ -197,7 +199,7 @@ QMutex::QMutex(RecursionMode mode) + QMutex::~QMutex() + { + QMutexData *d = d_ptr.loadRelaxed(); +- if (isRecursive()) { ++ if (QBasicMutex::isRecursive()) { + delete static_cast(d); + } else if (d) { + #ifndef QT_LINUX_FUTEX +@@ -613,7 +615,7 @@ bool QBasicMutex::lockInternal(int timeout) QT_MUTEX_LOCK_NOEXCEPT + // is set to the BigNumber magic value set in unlockInternal() + int old_waiters; + do { +- old_waiters = d->waiters.loadRelaxed(); ++ old_waiters = d->waiters.loadAcquire(); + if (old_waiters == -QMutexPrivate::BigNumber) { + // we are unlocking, and the thread that unlocks is about to change d to 0 + // we try to acquire the mutex by changing to dummyLocked() +diff --git a/src/corelib/thread/qmutex.h b/src/corelib/thread/qmutex.h +index 93c4bf23e8..b2e2640ba2 100644 +--- a/src/corelib/thread/qmutex.h ++++ b/src/corelib/thread/qmutex.h +@@ -129,13 +129,21 @@ private: + class Q_CORE_EXPORT QMutex : public QBasicMutex + { + public: +-#if defined(Q_COMPILER_CONSTEXPR) ++#if defined(Q_COMPILER_CONSTEXPR) && !defined(Q_CC_INTEL) + constexpr QMutex() = default; + #else + QMutex() { d_ptr.storeRelaxed(nullptr); } + #endif ++#if QT_DEPRECATED_SINCE(5,15) + enum RecursionMode { NonRecursive, Recursive }; ++ QT_DEPRECATED_VERSION_X(5, 15, "Use QRecursiveMutex instead of a recursive QMutex") + explicit QMutex(RecursionMode mode); ++ ++ QT_DEPRECATED_VERSION_X(5, 15, "Use QRecursiveMutex instead of a recursive QMutex") ++ bool isRecursive() const noexcept ++ { return QBasicMutex::isRecursive(); } ++#endif ++ + ~QMutex(); + + // BasicLockable concept +@@ -166,9 +174,6 @@ public: + } + #endif + +- bool isRecursive() const noexcept +- { return QBasicMutex::isRecursive(); } +- + private: + Q_DISABLE_COPY(QMutex) + friend class QMutexLocker; +diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp +index 88b058f410..0f1da4dc9b 100644 +--- a/src/corelib/thread/qwaitcondition_unix.cpp ++++ b/src/corelib/thread/qwaitcondition_unix.cpp +@@ -213,7 +213,7 @@ bool QWaitCondition::wait(QMutex *mutex, QDeadlineTimer deadline) + { + if (! mutex) + return false; +- if (mutex->isRecursive()) { ++ if (static_cast(mutex)->isRecursive()) { + qWarning("QWaitCondition: cannot wait on recursive mutexes"); + return false; + } +diff --git a/src/corelib/time/qcalendar.cpp b/src/corelib/time/qcalendar.cpp +index 7700ce5b8d..4139ed877d 100644 +--- a/src/corelib/time/qcalendar.cpp ++++ b/src/corelib/time/qcalendar.cpp +@@ -86,17 +86,20 @@ struct Registry { + + bool registerName(QCalendarBackend *calendar, const QString &name) + { +- if (byName.find(name) != byName.end()) { +- qWarning() << "Calendar name" << name +- << "is already taken, new calendar will not be registered."; +- return false; ++ Q_ASSERT(!name.isEmpty()); ++ const auto found = byName.find(name); ++ if (found != byName.end()) { ++ // Re-registering a calendar with a name it has already is OK (and ++ // can be used to test whether its constructor successfully ++ // registered its primary name). ++ return found.value() == calendar; + } + byName.insert(name, calendar); + return true; + } + void addCalendar(QCalendarBackend *calendar, const QString &name, QCalendar::System id) + { +- if (!registerName(calendar, name)) ++ if (name.isEmpty() || !registerName(calendar, name)) + return; + Q_ASSERT(byId.size() >= size_t(id)); + if (id == QCalendar::System::User) { +@@ -138,28 +141,44 @@ Q_GLOBAL_STATIC(Registry, calendarRegistry); + + static const QCalendarBackend *backendFromEnum(QCalendar::System system) + { ++ QCalendarBackend *backend = nullptr; + switch (system) { + case QCalendar::System::Gregorian: +- return new QGregorianCalendar; ++ backend = new QGregorianCalendar; ++ break; + #ifndef QT_BOOTSTRAPPED + case QCalendar::System::Julian: +- return new QJulianCalendar; ++ backend = new QJulianCalendar; ++ break; + case QCalendar::System::Milankovic: +- return new QMilankovicCalendar; ++ backend = new QMilankovicCalendar; ++ break; + #endif + #if QT_CONFIG(jalalicalendar) + case QCalendar::System::Jalali: +- return new QJalaliCalendar; ++ backend = new QJalaliCalendar; ++ break; + #endif + #if QT_CONFIG(islamiccivilcalendar) + case QCalendar::System::IslamicCivil: +- return new QIslamicCivilCalendar; ++ backend = new QIslamicCivilCalendar; ++ break; + #else // When highest-numbered system isn't enabled, ensure we have a case for Last: + case QCalendar::System::Last: + #endif + case QCalendar::System::User: + Q_UNREACHABLE(); + } ++ if (!backend) ++ return backend; ++ const QString name = backend->name(); ++ // Check for successful registration: ++ if (calendarRegistry->registerName(backend, name)) ++ return backend; ++ delete backend; ++ const auto found = calendarRegistry->byName.find(name); ++ if (found != calendarRegistry->byName.end()) ++ return found.value(); + return nullptr; + } + +@@ -176,11 +195,12 @@ static const QCalendarBackend *backendFromEnum(QCalendar::System system) + implemented. On construction, the backend is registered with its primary + name. + +- A backend may also be registered with aliases, where the calendar is known +- by several names. Registering with the name used by CLDR (the Unicode +- consortium's Common Locale Data Repository) is recommended, particularly +- when interacting with third-party software. Once a backend is registered for +- a name, QCalendar can be constructed using that name to select the backend. ++ A backend, once successfully registered with its primary name, may also be ++ registered with aliases, where the calendar is known by several ++ names. Registering with the name used by CLDR (the Unicode consortium's ++ Common Locale Data Repository) is recommended, particularly when interacting ++ with third-party software. Once a backend is registered for a name, ++ QCalendar can be constructed using that name to select the backend. + + Each calendar backend must inherit from QCalendarBackend and implement its + pure virtual methods. It may also override some other virtual methods, as +@@ -200,22 +220,67 @@ static const QCalendarBackend *backendFromEnum(QCalendar::System system) + */ + + /*! +- Constructs the calendar and registers it under \a name using \a id. ++ Constructs the calendar and registers it under \a name using \a system. ++ ++ On successful registration, the calendar backend registry takes over ++ ownership of the instance and shall delete it on program exit in the course ++ of the registry's own destruction. The instance can determine whether it was ++ successfully registered by calling registerAlias() with the same \a name it ++ passed to this base-class constructor. If that returns \c false, the ++ instance has not been registered, QCalendar cannot use it, it should not ++ attempt to register any other aliases and the code that instantiated the ++ backend is responsible for deleting it. ++ ++ The \a system is optional and should only be passed by built-in ++ implementations of the standard calendars documented in \l ++ QCalendar::System. Custom backends should not pass \a system. ++ ++ Only one backend instance should ever be registered for any given \a system: ++ in the event of a backend being created when one with the same \a system ++ already exists, the new backend is not registered. The \a name passed with a ++ \a system (other than \l{QCalendar::System}{User}) must be the \c{name()} of ++ the backend constructed. ++ ++ The \a name must be non-empty and unique; after one backend has been ++ registered for a name or alias, no other backend can be registered with that ++ name. The presence of another backend registered with the same name may mean ++ the backend is redundant, as the system already has a backend to handle the ++ given calendar type. ++ ++ \note \c{QCalendar(name).isValid()} will return true precisely when the ++ given \c name is in use already. This can be used as a test before ++ instantiating a backend with the given \c name. ++ ++ \sa calendarId(), calendarSystem(), registerAlias() + */ +-QCalendarBackend::QCalendarBackend(const QString &name, QCalendar::System id) ++QCalendarBackend::QCalendarBackend(const QString &name, QCalendar::System system) + { +- calendarRegistry->addCalendar(this, name, id); ++ Q_ASSERT(!name.isEmpty()); ++ calendarRegistry->addCalendar(this, name, system); + } + + /*! + Destroys the calendar. + +- Never call this from user code. Each calendar backend, once instantiated, +- shall exist for the lifetime of the program. Its destruction is taken care +- of by destruction of the registry of calendar backends and their names. ++ Client code should only call this if instantiation failed to register the ++ backend, as revealed by the instanee failing to registerAlias() with the ++ name it passed to this base-class's constructor. Only a backend that fails ++ to register can safely be deleted; and the client code that instantiated it ++ is indeed responsible for deleting it. ++ ++ Once a backend has been successfully registered, there may be QCalendar ++ instances using it; deleting it while they still reference it would lead to ++ undefined behavior. Such a backend shall be deleted when the calendar ++ backend registry is deleted on program exit; the registry takes over ++ ownership of the instance on successful registration. ++ ++ \sa registerAlias() + */ + QCalendarBackend::~QCalendarBackend() + { ++ // Either the registry is destroying itself, in which case it takes care of ++ // dropping any references to this, or this never got registered, so there ++ // is no need to tell the registry to forget it. + } + + /*! +@@ -600,15 +665,20 @@ QStringList QCalendarBackend::availableCalendars() + its name will be included in the list of available calendars and the + calendar can be instantiated by name. + +- Returns \c false if the given \a name is already in use, otherwise it +- registers this calendar backend and returns \c true. ++ Returns \c false if the given \a name is already in use by a different ++ backend or \c true if this calendar is already registered with this ++ name. (This can be used, with its primary name, to test whether a backend's ++ construction successfully registered it.) Otherwise it registers this ++ calendar backend for this name and returns \c true. + + \sa availableCalendars(), fromName() + */ + bool QCalendarBackend::registerAlias(const QString &name) + { +- if (calendarRegistry.isDestroyed()) ++ if (calendarRegistry.isDestroyed() || name.isEmpty()) + return false; ++ // Constructing this accessed the registry, so ensured it exists: ++ Q_ASSERT(calendarRegistry.exists()); + return calendarRegistry->registerName(this, name); + } + +@@ -737,7 +807,8 @@ QCalendar::QCalendar() + QCalendar::QCalendar(QCalendar::System system) + : d(QCalendarBackend::fromEnum(system)) + { +- Q_ASSERT(d); ++ // If system is valid, we should get a valid d for that system. ++ Q_ASSERT(uint(system) > uint(QCalendar::System::Last) || (d && d->calendarSystem() == system)); + } + + QCalendar::QCalendar(QLatin1String name) +diff --git a/src/corelib/time/qcalendarbackend_p.h b/src/corelib/time/qcalendarbackend_p.h +index 21506e9e2c..c9f934fef9 100644 +--- a/src/corelib/time/qcalendarbackend_p.h ++++ b/src/corelib/time/qcalendarbackend_p.h +@@ -123,7 +123,7 @@ public: + static QStringList availableCalendars(); + + protected: +- QCalendarBackend(const QString &name, QCalendar::System id = QCalendar::System::User); ++ QCalendarBackend(const QString &name, QCalendar::System system = QCalendar::System::User); + + // Locale support: + virtual const QCalendarLocale *localeMonthIndexData() const = 0; +diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp +index 756264a00e..a2816e87f4 100644 +--- a/src/corelib/time/qdatetime.cpp ++++ b/src/corelib/time/qdatetime.cpp +@@ -240,7 +240,7 @@ static int fromOffsetString(QStringView offsetString, bool *valid) noexcept + const QStringView hhRef = time.left(qMin(hhLen, time.size())); + bool ok = false; + const int hour = C.toInt(hhRef, &ok); +- if (!ok) ++ if (!ok || hour > 23) // More generous than QTimeZone::MaxUtcOffsetSecs + return 0; + + const QStringView mmRef = time.mid(qMin(mmIndex, time.size())); +@@ -5502,7 +5502,13 @@ QT_WARNING_POP + + \snippet code/src_corelib_tools_qdatetime.cpp 12 + +- If the format is not satisfied, an invalid QDateTime is returned. ++ If the format is not satisfied, an invalid QDateTime is returned. If the ++ format is satisfied but \a string represents an invalid date-time (e.g. in a ++ gap skipped by a time-zone transition), an invalid QDateTime is returned, ++ whose toMSecsSinceEpoch() represents a near-by date-time that is ++ valid. Passing that to fromMSecsSinceEpoch() will produce a valid date-time ++ that isn't faithfully represented by the string parsed. ++ + The expressions that don't have leading zeroes (d, M, h, m, s, z) will be + greedy. This means that they will use two digits even if this will + put them outside the range and/or leave too few digits for other +@@ -5557,7 +5563,7 @@ QDateTime QDateTime::fromString(const QString &string, const QString &format, QC + + QDateTimeParser dt(QMetaType::QDateTime, QDateTimeParser::FromString, cal); + // dt.setDefaultLocale(QLocale::c()); ### Qt 6 +- if (dt.parseFormat(format) && dt.fromString(string, &datetime)) ++ if (dt.parseFormat(format) && (dt.fromString(string, &datetime) || !datetime.isValid())) + return datetime; + #else + Q_UNUSED(string); +diff --git a/src/corelib/time/qhijricalendar_data_p.h b/src/corelib/time/qhijricalendar_data_p.h +index a44201e259..0083e6b31b 100644 +--- a/src/corelib/time/qhijricalendar_data_p.h ++++ b/src/corelib/time/qhijricalendar_data_p.h +@@ -59,8 +59,8 @@ QT_BEGIN_NAMESPACE + // GENERATED PART STARTS HERE + + /* +- This part of the file was generated on 2020-10-27 from the +- Common Locale Data Repository v37 ++ This part of the file was generated on 2020-11-09 from the ++ Common Locale Data Repository v38 + + http://www.unicode.org/cldr/ + +@@ -353,6 +353,7 @@ static const QCalendarLocale locale_data[] = { + { 67, 7, 217,{ 0,79 },{ 3885,110 },{ 215,27 },{ 0,79 },{ 3885,110 },{ 215,27 }}, // Kurdish/Latin/Turkey + { 68, 7, 35,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Rundi/Latin/Burundi + { 69, 23, 117,{ 3995,76 },{ 4071,96 },{ 215,27 },{ 4167,78 },{ 4071,96 },{ 215,27 }}, // Lao/Lao/Laos ++ { 70, 7, 230,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Latin/Latin/Vatican City State + { 71, 7, 118,{ 0,79 },{ 4245,109 },{ 215,27 },{ 0,79 },{ 4245,109 },{ 215,27 }}, // Latvian/Latin/Latvia + { 72, 7, 49,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Lingala/Latin/Congo Kinshasa + { 72, 7, 6,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Lingala/Latin/Angola +@@ -424,17 +425,17 @@ static const QCalendarLocale locale_data[] = { + { 102, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Southern Sotho/Latin/South Africa + { 103, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tswana/Latin/South Africa + { 104, 7, 240,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Shona/Latin/Zimbabwe +- { 105, 1, 163,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Sindhi/Arabic/Pakistan ++ { 105, 1, 163,{ 7163,92 },{ 7163,92 },{ 215,27 },{ 7163,92 },{ 7163,92 },{ 215,27 }}, // Sindhi/Arabic/Pakistan + { 105, 13, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Sindhi/Devanagari/India + { 106, 32, 198,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Sinhala/Sinhala/Sri Lanka + { 107, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Swati/Latin/South Africa +- { 108, 7, 191,{ 7163,79 },{ 7242,136 },{ 215,27 },{ 7163,79 },{ 7242,136 },{ 215,27 }}, // Slovak/Latin/Slovakia ++ { 108, 7, 191,{ 7255,79 },{ 7334,136 },{ 215,27 },{ 7255,79 },{ 7334,136 },{ 215,27 }}, // Slovak/Latin/Slovakia + { 109, 7, 192,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Slovenian/Latin/Slovenia +- { 110, 7, 194,{ 7378,75 },{ 7453,132 },{ 215,27 },{ 7585,79 },{ 7664,131 },{ 215,27 }}, // Somali/Latin/Somalia +- { 110, 7, 59,{ 7378,75 },{ 7453,132 },{ 215,27 },{ 7585,79 },{ 7664,131 },{ 215,27 }}, // Somali/Latin/Djibouti +- { 110, 7, 69,{ 7378,75 },{ 7453,132 },{ 215,27 },{ 7585,79 },{ 7664,131 },{ 215,27 }}, // Somali/Latin/Ethiopia +- { 110, 7, 111,{ 7378,75 },{ 7453,132 },{ 215,27 },{ 7585,79 },{ 7664,131 },{ 215,27 }}, // Somali/Latin/Kenya +- { 111, 7, 197,{ 5227,79 },{ 7795,107 },{ 215,27 },{ 5227,79 },{ 7795,107 },{ 215,27 }}, // Spanish/Latin/Spain ++ { 110, 7, 194,{ 7470,75 },{ 7545,132 },{ 215,27 },{ 7677,79 },{ 7756,131 },{ 215,27 }}, // Somali/Latin/Somalia ++ { 110, 7, 59,{ 7470,75 },{ 7545,132 },{ 215,27 },{ 7677,79 },{ 7756,131 },{ 215,27 }}, // Somali/Latin/Djibouti ++ { 110, 7, 69,{ 7470,75 },{ 7545,132 },{ 215,27 },{ 7677,79 },{ 7756,131 },{ 215,27 }}, // Somali/Latin/Ethiopia ++ { 110, 7, 111,{ 7470,75 },{ 7545,132 },{ 215,27 },{ 7677,79 },{ 7756,131 },{ 215,27 }}, // Somali/Latin/Kenya ++ { 111, 7, 197,{ 5227,79 },{ 7887,107 },{ 215,27 },{ 5227,79 },{ 7887,107 },{ 215,27 }}, // Spanish/Latin/Spain + { 111, 7, 10,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Argentina + { 111, 7, 22,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Belize + { 111, 7, 26,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Bolivia +@@ -446,7 +447,7 @@ static const QCalendarLocale locale_data[] = { + { 111, 7, 61,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Dominican Republic + { 111, 7, 63,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Ecuador + { 111, 7, 65,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/El Salvador +- { 111, 7, 66,{ 5227,79 },{ 7795,107 },{ 215,27 },{ 5227,79 },{ 7795,107 },{ 215,27 }}, // Spanish/Latin/Equatorial Guinea ++ { 111, 7, 66,{ 5227,79 },{ 7887,107 },{ 215,27 },{ 5227,79 },{ 7887,107 },{ 215,27 }}, // Spanish/Latin/Equatorial Guinea + { 111, 7, 90,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Guatemala + { 111, 7, 96,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Honduras + { 111, 7, 139,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Mexico +@@ -454,47 +455,47 @@ static const QCalendarLocale locale_data[] = { + { 111, 7, 166,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Panama + { 111, 7, 168,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Paraguay + { 111, 7, 169,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Peru +- { 111, 7, 170,{ 5227,79 },{ 7795,107 },{ 215,27 },{ 5227,79 },{ 7795,107 },{ 215,27 }}, // Spanish/Latin/Philippines ++ { 111, 7, 170,{ 5227,79 },{ 7887,107 },{ 215,27 },{ 5227,79 },{ 7887,107 },{ 215,27 }}, // Spanish/Latin/Philippines + { 111, 7, 174,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Puerto Rico + { 111, 7, 225,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/United States + { 111, 7, 227,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Uruguay + { 111, 7, 231,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Venezuela +- { 111, 7, 238,{ 5227,79 },{ 7795,107 },{ 215,27 },{ 5227,79 },{ 7795,107 },{ 215,27 }}, // Spanish/Latin/Canary Islands ++ { 111, 7, 238,{ 5227,79 },{ 7887,107 },{ 215,27 },{ 5227,79 },{ 7887,107 },{ 215,27 }}, // Spanish/Latin/Canary Islands + { 111, 7, 246,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Spanish/Latin/Latin America +- { 111, 7, 250,{ 5227,79 },{ 7795,107 },{ 215,27 },{ 5227,79 },{ 7795,107 },{ 215,27 }}, // Spanish/Latin/Ceuta And Melilla ++ { 111, 7, 250,{ 5227,79 },{ 7887,107 },{ 215,27 },{ 5227,79 },{ 7887,107 },{ 215,27 }}, // Spanish/Latin/Ceuta And Melilla + { 112, 7, 101,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Sundanese/Latin/Indonesia + { 113, 7, 210,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Swahili/Latin/Tanzania + { 113, 7, 49,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Swahili/Latin/Congo Kinshasa + { 113, 7, 111,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Swahili/Latin/Kenya + { 113, 7, 221,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Swahili/Latin/Uganda +- { 114, 7, 205,{ 0,79 },{ 7902,128 },{ 215,27 },{ 0,79 },{ 8030,128 },{ 215,27 }}, // Swedish/Latin/Sweden +- { 114, 7, 73,{ 0,79 },{ 7902,128 },{ 215,27 },{ 0,79 },{ 8030,128 },{ 215,27 }}, // Swedish/Latin/Finland +- { 114, 7, 248,{ 0,79 },{ 7902,128 },{ 215,27 },{ 0,79 },{ 8030,128 },{ 215,27 }}, // Swedish/Latin/Aland Islands ++ { 114, 7, 205,{ 0,79 },{ 7994,128 },{ 215,27 },{ 0,79 },{ 8122,128 },{ 215,27 }}, // Swedish/Latin/Sweden ++ { 114, 7, 73,{ 0,79 },{ 7994,128 },{ 215,27 },{ 0,79 },{ 8122,128 },{ 215,27 }}, // Swedish/Latin/Finland ++ { 114, 7, 248,{ 0,79 },{ 7994,128 },{ 215,27 },{ 0,79 },{ 8122,128 },{ 215,27 }}, // Swedish/Latin/Aland Islands + { 115, 7, 106,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Sardinian/Latin/Italy +- { 116, 2, 209,{ 8158,75 },{ 8233,111 },{ 215,27 },{ 8158,75 },{ 8344,111 },{ 215,27 }}, // Tajik/Cyrillic/Tajikistan +- { 117, 27, 100,{ 8455,73 },{ 8528,92 },{ 215,27 },{ 8455,73 },{ 8528,92 },{ 215,27 }}, // Tamil/Tamil/India +- { 117, 27, 130,{ 8455,73 },{ 8528,92 },{ 215,27 },{ 8455,73 },{ 8528,92 },{ 215,27 }}, // Tamil/Tamil/Malaysia +- { 117, 27, 190,{ 8455,73 },{ 8528,92 },{ 215,27 },{ 8455,73 },{ 8528,92 },{ 215,27 }}, // Tamil/Tamil/Singapore +- { 117, 27, 198,{ 8455,73 },{ 8528,92 },{ 215,27 },{ 8455,73 },{ 8528,92 },{ 215,27 }}, // Tamil/Tamil/Sri Lanka ++ { 116, 2, 209,{ 8250,75 },{ 8325,111 },{ 215,27 },{ 8250,75 },{ 8436,111 },{ 215,27 }}, // Tajik/Cyrillic/Tajikistan ++ { 117, 27, 100,{ 8547,73 },{ 8620,92 },{ 215,27 },{ 8547,73 },{ 8620,92 },{ 215,27 }}, // Tamil/Tamil/India ++ { 117, 27, 130,{ 8547,73 },{ 8620,92 },{ 215,27 },{ 8547,73 },{ 8620,92 },{ 215,27 }}, // Tamil/Tamil/Malaysia ++ { 117, 27, 190,{ 8547,73 },{ 8620,92 },{ 215,27 },{ 8547,73 },{ 8620,92 },{ 215,27 }}, // Tamil/Tamil/Singapore ++ { 117, 27, 198,{ 8547,73 },{ 8620,92 },{ 215,27 },{ 8547,73 },{ 8620,92 },{ 215,27 }}, // Tamil/Tamil/Sri Lanka + { 118, 2, 178,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tatar/Cyrillic/Russia +- { 119, 28, 100,{ 8620,75 },{ 8695,96 },{ 215,27 },{ 8620,75 },{ 79,107 },{ 215,27 }}, // Telugu/Telugu/India +- { 120, 30, 211,{ 8791,90 },{ 8881,103 },{ 215,27 },{ 8791,90 },{ 8881,103 },{ 215,27 }}, // Thai/Thai/Thailand ++ { 119, 28, 100,{ 8712,75 },{ 8787,96 },{ 215,27 },{ 8712,75 },{ 79,107 },{ 215,27 }}, // Telugu/Telugu/India ++ { 120, 30, 211,{ 8883,90 },{ 8973,103 },{ 215,27 },{ 8883,90 },{ 8973,103 },{ 215,27 }}, // Thai/Thai/Thailand + { 121, 31, 44,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tibetan/Tibetan/China + { 121, 31, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tibetan/Tibetan/India + { 122, 14, 69,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tigrinya/Ethiopic/Ethiopia + { 122, 14, 67,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tigrinya/Ethiopic/Eritrea +- { 123, 7, 214,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tongan/Latin/Tonga ++ { 123, 7, 214,{ 9076,61 },{ 9137,100 },{ 215,27 },{ 9076,61 },{ 9137,100 },{ 215,27 }}, // Tongan/Latin/Tonga + { 124, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tsonga/Latin/South Africa +- { 125, 7, 217,{ 8984,84 },{ 9068,111 },{ 215,27 },{ 8984,84 },{ 9068,111 },{ 215,27 }}, // Turkish/Latin/Turkey +- { 125, 7, 56,{ 8984,84 },{ 9068,111 },{ 215,27 },{ 8984,84 },{ 9068,111 },{ 215,27 }}, // Turkish/Latin/Cyprus ++ { 125, 7, 217,{ 9237,84 },{ 9321,111 },{ 215,27 },{ 9237,84 },{ 9321,111 },{ 215,27 }}, // Turkish/Latin/Turkey ++ { 125, 7, 56,{ 9237,84 },{ 9321,111 },{ 215,27 },{ 9237,84 },{ 9321,111 },{ 215,27 }}, // Turkish/Latin/Cyprus + { 126, 7, 218,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Turkmen/Latin/Turkmenistan +- { 128, 1, 44,{ 9179,119 },{ 9179,119 },{ 215,27 },{ 9179,119 },{ 9179,119 },{ 215,27 }}, // Uighur/Arabic/China +- { 129, 2, 222,{ 9298,72 },{ 9370,104 },{ 215,27 },{ 9474,82 },{ 9370,104 },{ 215,27 }}, // Ukrainian/Cyrillic/Ukraine +- { 130, 1, 163,{ 9556,99 },{ 9655,97 },{ 215,27 },{ 9556,99 },{ 9655,97 },{ 215,27 }}, // Urdu/Arabic/Pakistan +- { 130, 1, 100,{ 9556,99 },{ 9655,97 },{ 215,27 },{ 9556,99 },{ 9655,97 },{ 215,27 }}, // Urdu/Arabic/India +- { 131, 7, 228,{ 9752,83 },{ 9835,123 },{ 215,27 },{ 9752,83 },{ 9835,123 },{ 215,27 }}, // Uzbek/Latin/Uzbekistan ++ { 128, 1, 44,{ 9432,119 },{ 9432,119 },{ 215,27 },{ 9432,119 },{ 9432,119 },{ 215,27 }}, // Uighur/Arabic/China ++ { 129, 2, 222,{ 9551,72 },{ 9623,104 },{ 215,27 },{ 9727,82 },{ 9623,104 },{ 215,27 }}, // Ukrainian/Cyrillic/Ukraine ++ { 130, 1, 163,{ 9809,99 },{ 9908,97 },{ 215,27 },{ 10005,97 },{ 9908,97 },{ 215,27 }}, // Urdu/Arabic/Pakistan ++ { 130, 1, 100,{ 9809,99 },{ 9908,97 },{ 215,27 },{ 10005,97 },{ 9908,97 },{ 215,27 }}, // Urdu/Arabic/India ++ { 131, 7, 228,{ 10102,83 },{ 10185,123 },{ 215,27 },{ 10102,83 },{ 10185,123 },{ 215,27 }}, // Uzbek/Latin/Uzbekistan + { 131, 1, 1,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Uzbek/Arabic/Afghanistan +- { 131, 2, 228,{ 0,79 },{ 9958,115 },{ 215,27 },{ 0,79 },{ 9958,115 },{ 215,27 }}, // Uzbek/Cyrillic/Uzbekistan ++ { 131, 2, 228,{ 0,79 },{ 10308,115 },{ 215,27 },{ 0,79 },{ 10308,115 },{ 215,27 }}, // Uzbek/Cyrillic/Uzbekistan + { 132, 7, 232,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Vietnamese/Latin/Vietnam + { 133, 7, 260,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Volapuk/Latin/World + { 134, 7, 224,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Welsh/Latin/United Kingdom +@@ -505,7 +506,7 @@ static const QCalendarLocale locale_data[] = { + { 138, 7, 23,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Yoruba/Latin/Benin + { 140, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Zulu/Latin/South Africa + { 141, 7, 161,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Norwegian Nynorsk/Latin/Norway +- { 142, 7, 27,{ 10073,75 },{ 10148,99 },{ 215,27 },{ 10073,75 },{ 10148,99 },{ 215,27 }}, // Bosnian/Latin/Bosnia And Herzegowina ++ { 142, 7, 27,{ 10423,75 },{ 10498,100 },{ 215,27 },{ 10423,75 },{ 10498,100 },{ 215,27 }}, // Bosnian/Latin/Bosnia And Herzegowina + { 142, 2, 27,{ 6638,70 },{ 6708,91 },{ 215,27 },{ 6638,70 },{ 6799,98 },{ 215,27 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina + { 143, 29, 131,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Divehi/Thaana/Maldives + { 144, 7, 251,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Manx/Latin/Isle Of Man +@@ -524,8 +525,8 @@ static const QCalendarLocale locale_data[] = { + { 158, 7, 157,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Jju/Latin/Nigeria + { 159, 7, 106,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Friulian/Latin/Italy + { 160, 7, 195,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Venda/Latin/South Africa +- { 161, 7, 83,{ 10247,48 },{ 10295,87 },{ 215,27 },{ 10247,48 },{ 10295,87 },{ 215,27 }}, // Ewe/Latin/Ghana +- { 161, 7, 212,{ 10247,48 },{ 10295,87 },{ 215,27 },{ 10247,48 },{ 10295,87 },{ 215,27 }}, // Ewe/Latin/Togo ++ { 161, 7, 83,{ 10598,48 },{ 10646,87 },{ 215,27 },{ 10598,48 },{ 10646,87 },{ 215,27 }}, // Ewe/Latin/Ghana ++ { 161, 7, 212,{ 10598,48 },{ 10646,87 },{ 215,27 },{ 10598,48 },{ 10646,87 },{ 215,27 }}, // Ewe/Latin/Togo + { 162, 14, 69,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Walamo/Ethiopic/Ethiopia + { 163, 7, 225,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Hawaiian/Latin/United States + { 164, 7, 157,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Tyap/Latin/Nigeria +@@ -605,6 +606,7 @@ static const QCalendarLocale locale_data[] = { + { 220, 2, 178,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Chuvash/Cyrillic/Russia + { 230, 7, 49,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Luba Katanga/Latin/Congo Kinshasa + { 231, 7, 125,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Luxembourgish/Latin/Luxembourg ++ { 232, 7, 225,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Navaho/Latin/United States + { 236, 7, 21,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Walloon/Latin/Belgium + { 237, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Aghem/Latin/Cameroon + { 238, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Basaa/Latin/Cameroon +@@ -624,12 +626,13 @@ static const QCalendarLocale locale_data[] = { + { 252, 7, 121,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Vai/Latin/Liberia + { 253, 7, 206,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Walser/Latin/Switzerland + { 254, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Yangben/Latin/Cameroon +- { 256, 7, 197,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 10382,143 },{ 215,27 }}, // Asturian/Latin/Spain ++ { 256, 7, 197,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 10733,143 },{ 215,27 }}, // Asturian/Latin/Spain + { 257, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Ngomba/Latin/Cameroon + { 258, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Kako/Latin/Cameroon + { 259, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Meta/Latin/Cameroon + { 260, 7, 37,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Ngiemboon/Latin/Cameroon + { 261, 7, 197,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Aragonese/Latin/Spain ++ { 275, 13, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Dogri/Devanagari/India + { 290, 11, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Manipuri/Bengali/India + { 290, 72, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Manipuri/Meitei Mayek/India + { 304, 78, 100,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Santali/Ol Chiki/India +@@ -658,7 +661,7 @@ static const QCalendarLocale locale_data[] = { + { 349, 1, 102,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Northern Luri/Arabic/Iran + { 349, 1, 103,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Northern Luri/Arabic/Iraq + { 357, 6, 97,{ 930,72 },{ 930,72 },{ 215,27 },{ 930,72 },{ 930,72 },{ 215,27 }}, // Cantonese/Traditional Han/Hong Kong +- { 357, 5, 44,{ 10525,72 },{ 10525,72 },{ 215,27 },{ 10525,72 },{ 10525,72 },{ 215,27 }}, // Cantonese/Simplified Han/China ++ { 357, 5, 44,{ 10876,72 },{ 10876,72 },{ 215,27 },{ 10876,72 },{ 10876,72 },{ 215,27 }}, // Cantonese/Simplified Han/China + { 358, 138, 225,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Osage/Osage/United States + { 360, 7, 260,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Ido/Latin/World + { 361, 7, 260,{ 0,79 },{ 79,107 },{ 215,27 },{ 0,79 },{ 79,107 },{ 215,27 }}, // Lojban/Latin/World +@@ -1033,178 +1036,196 @@ static const ushort months_data[] = { + 0x64, 0x61, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x111, 0x61, 0x62, + 0x3b, 0x160, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x160, 0x61, 0x76, 0x61, + 0x6c, 0x3b, 0x44, 0x75, 0x2bb, 0x6c, 0x2d, 0x4b, 0x69, 0x2bb, 0x64, 0x61, 0x3b, 0x44, 0x75, 0x2bb, 0x6c, 0x2d, 0x68, 0x69, +-0x111, 0x61, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, +-0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x64, 0x17e, 0x75, 0x6d, +-0x2e, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x64, 0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x161, +-0x61, 0x75, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x68, +-0x2e, 0x3b, 0x61, 0x6c, 0x2d, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, +-0x72, 0x61, 0x62, 0xed, 0xb4, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0xed, 0xb4, +-0x61, 0x74, 0x68, 0x2d, 0x74, 0x68, 0xe1, 0x6e, 0xed, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x6c, 0x2d, +-0xfa, 0x6c, 0xe1, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x6c, 0x2d, 0xe1, 0x63, 0x68, 0x69, 0x72, 0x61, +-0x3b, 0x72, 0x61, 0x64, 0x17e, 0x61, 0x62, 0x3b, 0x161, 0x61, 0xb4, 0x20, 0x62, 0xe1, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, +-0x64, 0xe1, 0x6e, 0x3b, 0x161, 0x61, 0x75, 0x76, 0xe1, 0x6c, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x61, 0xb4, +-0x20, 0x64, 0x61, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x64, 0x17e, 0x61, 0x3b, 0x4d, 0x75, +-0x78, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, +-0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, +-0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x44, +-0x75, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x75, 0x6c, 0x2d, 0x58, 0x2e, 0x3b, 0x4d, 0x75, 0x78, 0x61, 0x72, 0x72, 0x61, +-0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, +-0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x4a, 0x75, +-0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, +-0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x63, +-0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, +-0x44, 0x75, 0x6c, 0x20, 0x61, 0x6c, 0x2d, 0x71, 0x61, 0x63, 0x64, 0x61, 0x68, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x78, 0x69, +-0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d, 0x75, 0x78, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, +-0x49, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, +-0x2e, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, +-0x53, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, +-0x2d, 0x48, 0x2e, 0x3b, 0x4d, 0x75, 0x78, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, +-0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, 0x20, +-0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x61, +-0x77, 0x77, 0x61, 0x6c, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, +-0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, +-0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x61, 0x6c, 0x2d, 0x71, 0x61, +-0x63, 0x64, 0x61, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x78, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, +-0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x72, 0x61, +-0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, +-0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, +-0x72, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2bb, +-0x6c, 0x2d, 0x71, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, +-0x68, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, +-0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, +-0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, +-0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x52, 0x61, 0x6a, 0x61, +-0x62, 0x3b, 0x53, 0x68, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, +-0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x67, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x44, 0x68, +-0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, +-0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, +-0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, +-0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x61, 0x6b, 0x68, +-0x69, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, +-0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c, 0x2d, +-0x67, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x41c, 0x443, +-0x4b3, 0x2e, 0x3b, 0x421, 0x430, 0x444, 0x2e, 0x3b, 0x420, 0x430, 0x431, 0x2e, 0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x2e, 0x20, +-0x49, 0x49, 0x3b, 0x4b6, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x3b, 0x4b6, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x420, 0x430, +-0x4b7, 0x2e, 0x3b, 0x428, 0x430, 0x2e, 0x3b, 0x420, 0x430, 0x43c, 0x2e, 0x3b, 0x428, 0x430, 0x432, 0x2e, 0x3b, 0x414, 0x445, 0x443, +-0x43b, 0x2d, 0x49a, 0x2e, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x4b2, 0x2e, 0x3b, 0x43c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, +-0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x435, +-0x44a, 0x20, 0x49, 0x49, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x4b7, +-0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x441, 0x43e, 0x43d, 0x438, 0x3b, 0x440, 0x430, 0x4b7, 0x430, 0x431, 0x3b, +-0x428, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x430, 0x43b, +-0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x49a, 0x438, 0x434, 0x430, 0x4b3, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x4b2, 0x438, 0x4b7, +-0x4b7, 0x430, 0x4b3, 0x3b, 0x43c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, +-0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x49, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, +-0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, +-0x441, 0x43e, 0x43d, 0x438, 0x3b, 0x440, 0x430, 0x4b7, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, 0x43c, +-0x430, 0x434, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x414, 0x445, 0x443, 0x442, 0x2d, 0x49a, 0x438, 0x434, +-0x430, 0x4b3, 0x3b, 0x414, 0x445, 0x443, 0x442, 0x2d, 0x4b2, 0x438, 0x4b7, 0x4b7, 0x430, 0x4b3, 0x3b, 0xbae, 0xbc1, 0xbb9, 0x2e, 0x3b, +-0xb9a, 0xb83, 0xbaa, 0x2e, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x31, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, +-0x2e, 0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0x2e, 0x20, 0x32, 0x3b, 0xbb0, 0xb9c, 0x2e, 0x3b, 0xbb7, 0xb83, 0x2e, 0x3b, 0xbb0, +-0xbae, 0x2e, 0x3b, 0xbb7, 0xbb5, 0xbcd, 0x2e, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xb95, 0xb83, 0x2e, 0x3b, 0xba4, 0xbc1, 0xbb2, +-0xbcd, 0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc1, 0xbb9, 0xbb0, 0xbcd, 0xbb0, 0xbae, 0xbcd, 0x3b, 0xb9a, 0xb83, 0xbaa, +-0xbb0, 0xbcd, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x31, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, +-0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, 0x20, 0x32, 0x3b, 0xbb0, 0xb9c, 0xbaa, 0xbcd, 0x3b, 0xbb7, 0xb83, 0xbaa, 0xbbe, +-0xba9, 0xbcd, 0x3b, 0xbb0, 0xbae, 0xbb2, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xbb7, 0xbb5, 0xbcd, 0xbb5, 0xbbe, 0xbb2, 0xbcd, 0x3b, 0xba4, 0xbc1, +-0xbb2, 0xbcd, 0x20, 0xb95, 0xb83, 0xba4, 0xbbe, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0xb9c, 0xbbe, 0x3b, +-0xc2e, 0xc41, 0xc39, 0x2e, 0x3b, 0xc38, 0xc2b, 0x2e, 0x3b, 0xc30, 0x2e, 0x20, 0x49, 0x3b, 0xc30, 0x2e, 0x20, 0x49, 0x49, 0x3b, +-0xc1c, 0xc41, 0xc2e, 0x2e, 0x20, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xc30, 0xc1c, 0x2e, 0x3b, 0xc37, +-0xc2c, 0xc3e, 0x2e, 0x3b, 0xc30, 0xc02, 0xc1c, 0xc3e, 0x2e, 0x3b, 0xc37, 0xc35, 0xc4d, 0xc35, 0xc3e, 0x2e, 0x3b, 0xc27, 0xc41, 0xc32, +-0xc4d, 0x2d, 0xc15, 0xc3f, 0x2e, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc39, 0xc3f, 0x2e, 0x3b, 0xc2e, 0xc41, 0xc39, 0xc30, 0xc4d, +-0xc30, 0xc02, 0x3b, 0xc38, 0xc2b, 0xc30, 0xc4d, 0x3b, 0xc30, 0xc2c, 0xc40, 0x20, 0x49, 0x3b, 0xc30, 0xc2c, 0xc40, 0x20, 0x49, 0x49, +-0x3b, 0xc1c, 0xc41, 0xc2e, 0xc26, 0xc3e, 0x20, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0xc26, 0xc3e, 0x20, 0x49, 0x49, 0x3b, 0xc30, 0xc1c, +-0xc2c, 0xc4d, 0x3b, 0xc37, 0xc2c, 0xc3e, 0xc28, 0xc4d, 0x3b, 0xc30, 0xc02, 0xc1c, 0xc3e, 0xc28, 0xc4d, 0x3b, 0xc37, 0xc35, 0xc4d, 0xc35, +-0xc3e, 0xc32, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc15, 0xc3f, 0x20, 0xc26, 0xc3e, 0xc39, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, +-0xc4d, 0x2d, 0xc39, 0xc3f, 0xc1c, 0xc4d, 0xc1c, 0xc3e, 0xc39, 0xc4d, 0x3b, 0xe21, 0xe38, 0xe2e, 0xe31, 0xe23, 0x2e, 0x3b, 0xe40, 0xe28, +-0xe32, 0xe30, 0x2e, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x49, 0x3b, 0xe08, +-0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x49, 0x3b, 0xe40, 0xe23, +-0xe32, 0xe30, 0x2e, 0x3b, 0xe0a, 0xe30, 0xe2d, 0xe4c, 0x2e, 0x3b, 0xe40, 0xe23, 0xe32, 0xe30, 0xe21, 0xe30, 0x2e, 0x3b, 0xe40, 0xe0a, +-0xe32, 0xe27, 0x2e, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, 0xe34, 0xe2d, 0xe3a, 0x2e, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0x2e, +-0x3b, 0xe21, 0xe38, 0xe2e, 0xe30, 0xe23, 0xe4c, 0xe23, 0xe2d, 0xe21, 0x3b, 0xe0b, 0xe2d, 0xe1f, 0xe32, 0xe23, 0xe4c, 0x3b, 0xe23, 0xe2d, +-0xe1a, 0xe35, 0x20, 0x49, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, +-0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x49, 0x3b, 0xe23, 0xe2d, 0xe08, 0xe31, 0xe1a, 0x3b, 0xe0a, 0xe30, +-0xe2d, 0xe30, 0xe1a, 0xe32, 0xe19, 0x3b, 0xe23, 0xe2d, 0xe21, 0xe30, 0xe14, 0xe2d, 0xe19, 0x3b, 0xe40, 0xe0a, 0xe32, 0xe27, 0xe31, 0xe25, +-0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, 0xe34, 0xe2d, 0xe3a, 0xe14, 0xe30, 0xe2e, 0xe3a, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0xe0d, +-0xe30, 0xe2e, 0xe3a, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x2e, 0x65, +-0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0x2e, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x43, 0x2e, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, +-0x43, 0x2e, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x52, 0x65, 0x63, 0x65, 0x70, 0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, +-0x61, 0x6d, 0x2e, 0x3b, 0x15e, 0x65, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x6c, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, +-0x69, 0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x65, 0x6d, 0x3b, 0x53, 0x61, 0x66, +-0x65, 0x72, 0x3b, 0x52, 0x65, 0x62, 0x69, 0xfc, 0x6c, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0x65, 0x62, 0x69, 0xfc, +-0x6c, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x43, 0x65, 0x6d, 0x61, 0x7a, 0x69, 0x79, 0x65, 0x6c, 0x65, 0x76, 0x76, 0x65, 0x6c, +-0x3b, 0x43, 0x65, 0x6d, 0x61, 0x7a, 0x69, 0x79, 0x65, 0x6c, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x52, 0x65, 0x63, 0x65, 0x70, +-0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a, 0x61, 0x6e, 0x3b, 0x15e, 0x65, 0x76, 0x76, 0x61, +-0x6c, 0x3b, 0x5a, 0x69, 0x6c, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, 0x69, 0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, 0x3b, 0x645, +-0x6c7, 0x6be, 0x6d5, 0x631, 0x631, 0x6d5, 0x645, 0x3b, 0x633, 0x6d5, 0x67e, 0x6d5, 0x631, 0x3b, 0x631, 0x6d5, 0x628, 0x649, 0x626, 0x6c7, +-0x644, 0x626, 0x6d5, 0x6cb, 0x6cb, 0x6d5, 0x644, 0x3b, 0x631, 0x6d5, 0x628, 0x649, 0x626, 0x6c7, 0x644, 0x626, 0x627, 0x62e, 0x649, 0x631, +-0x3b, 0x62c, 0x6d5, 0x645, 0x627, 0x62f, 0x649, 0x64a, 0x6d5, 0x644, 0x626, 0x6d5, 0x6cb, 0x6cb, 0x6d5, 0x644, 0x3b, 0x62c, 0x6d5, 0x645, +-0x627, 0x62f, 0x649, 0x64a, 0x6d5, 0x644, 0x626, 0x627, 0x62e, 0x649, 0x631, 0x3b, 0x631, 0x6d5, 0x62c, 0x6d5, 0x628, 0x3b, 0x634, 0x6d5, +-0x626, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x627, 0x645, 0x649, 0x632, 0x627, 0x646, 0x3b, 0x634, 0x6d5, 0x6cb, 0x6cb, 0x627, 0x644, 0x3b, +-0x632, 0x6c7, 0x644, 0x642, 0x6d5, 0x626, 0x62f, 0x6d5, 0x3b, 0x632, 0x6c7, 0x644, 0x6be, 0x6d5, 0x62c, 0x62c, 0x6d5, 0x3b, 0x43c, 0x443, +-0x445, 0x3b, 0x441, 0x430, 0x444, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, +-0x3b, 0x434, 0x436, 0x443, 0x43c, 0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, +-0x3b, 0x448, 0x430, 0x430, 0x431, 0x3b, 0x440, 0x430, 0x43c, 0x3b, 0x434, 0x430, 0x432, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, +-0x43a, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x3b, 0x43c, 0x443, 0x445, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, +-0x430, 0x444, 0x430, 0x440, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, +-0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x49, +-0x3b, 0x440, 0x430, 0x434, 0x436, 0x430, 0x431, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x440, 0x430, 0x43c, 0x430, 0x434, +-0x430, 0x43d, 0x3b, 0x434, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x430, 0x430, 0x434, +-0x430, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x456, 0x434, 0x436, 0x430, 0x3b, 0x43c, 0x443, 0x445, 0x2e, 0x3b, 0x441, +-0x430, 0x444, 0x2e, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, +-0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, +-0x2e, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x2e, 0x3b, 0x440, 0x430, 0x43c, 0x2e, 0x3b, 0x434, 0x430, 0x432, 0x2e, 0x3b, 0x437, 0x443, +-0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x2e, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x2e, 0x3b, 0x645, 0x62d, 0x631, 0x645, +-0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x631, 0x628, 0x6cc, +-0x639, 0x20, 0x627, 0x644, 0x62b, 0x651, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, +-0x651, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x62b, 0x651, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, +-0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, +-0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, 0x6c3, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, +-0x635, 0x641, 0x631, 0x3b, 0x631, 0x20, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x631, 0x20, 0x628, 0x6cc, +-0x639, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, +-0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, +-0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, +-0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, 0x6c3, 0x3b, 0x4d, 0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, +-0x2e, 0x3b, 0x52, 0x6f, 0x62, 0x2e, 0x20, 0x61, 0x76, 0x76, 0x2e, 0x3b, 0x52, 0x6f, 0x62, 0x2e, 0x20, 0x6f, 0x78, 0x2e, +-0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x61, 0x76, 0x76, 0x2e, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x6f, 0x78, 0x2e, 0x3b, +-0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x76, 0x2e, +-0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x71, 0x2e, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, +-0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x6f, 0x62, 0x69, 0x2019, 0x20, 0x75, 0x6c, 0x2d, 0x61, +-0x76, 0x76, 0x61, 0x6c, 0x3b, 0x52, 0x6f, 0x62, 0x69, 0x2019, 0x20, 0x75, 0x6c, 0x2d, 0x6f, 0x78, 0x69, 0x72, 0x3b, 0x4a, +-0x75, 0x6d, 0x61, 0x64, 0x20, 0x75, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x20, +-0x75, 0x6c, 0x2d, 0x6f, 0x78, 0x69, 0x72, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2019, 0x62, 0x6f, +-0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x76, 0x76, 0x6f, 0x6c, 0x3b, 0x5a, 0x75, +-0x6c, 0x2d, 0x71, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x41c, 0x443, +-0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, +-0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, +-0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, +-0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, +-0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, +-0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, 0x436, 0x430, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, +-0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x69, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x69, 0x69, 0x3b, 0x64, 0x17e, +-0x75, 0x6d, 0x2e, 0x20, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x69, 0x69, 0x3b, 0x72, 0x65, 0x64, 0x17e, 0x2e, +-0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x161, 0x65, 0x2e, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x6b, 0x2e, +-0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x65, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x65, +-0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x69, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x69, 0x69, 0x3b, 0x64, +-0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x69, 0x3b, +-0x72, 0x65, 0x64, 0x17e, 0x65, 0x62, 0x3b, 0x161, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x7a, 0x61, +-0x6e, 0x3b, 0x161, 0x65, 0x76, 0x61, 0x6c, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x7a, 0x75, 0x6c, +-0x2d, 0x68, 0x69, 0x64, 0x17e, 0x65, 0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, +-0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, +-0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, +-0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x69, +-0x1ebd, 0x3b, 0x64, 0x61, 0x6d, 0x25b, 0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, +-0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, +-0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, +-0x65, 0x3b, 0x64, 0x65, 0x20, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x61, 0x66, +-0x61, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x62, +-0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x64, 0x65, +-0x20, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, +-0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, +-0x6e, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x44, 0x68, 0x75, 0x2bb, +-0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, 0x64, 0x65, 0x20, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x69, +-0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x7a46, 0x54c8, 0x5170, 0x59c6, 0x6708, 0x3b, 0x8272, 0x6cd5, 0x5c14, 0x6708, 0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, +-0x49, 0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x4e3b, 0x9a6c, 0x8fbe, 0x6708, 0x20, 0x49, 0x3b, 0x4e3b, 0x9a6c, 0x8fbe, 0x6708, +-0x20, 0x49, 0x49, 0x3b, 0x8d56, 0x54f2, 0x535c, 0x6708, 0x3b, 0x820d, 0x5c14, 0x90a6, 0x6708, 0x3b, 0x8d56, 0x4e70, 0x4e39, 0x6708, 0x3b, 0x95ea, +-0x74e6, 0x9c81, 0x6708, 0x3b, 0x90fd, 0x5c14, 0x5580, 0x5c14, 0x5fb7, 0x6708, 0x3b, 0x90fd, 0x5c14, 0x9ed1, 0x54f2, 0x6708, 0x3b ++0x111, 0x61, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x64a, 0x639, 0x20, 0x627, 0x644, 0x627, ++0x648, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x627, 0x62e, 0x631, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, ++0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x64a, 0x20, 0x627, 0x644, 0x627, 0x62e, 0x631, 0x3b, 0x631, 0x62c, ++0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, ++0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, 0x6c1, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, ++0x73, 0x61, 0x66, 0x2e, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, ++0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, 0x64, ++0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, 0x161, 0x61, 0x75, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, ++0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x61, 0x6c, 0x2d, 0x6d, 0x75, 0x68, ++0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, 0xed, 0xb4, 0x20, 0x61, 0x6c, ++0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0xed, 0xb4, 0x61, 0x74, 0x68, 0x2d, 0x74, 0x68, 0xe1, 0x6e, ++0xed, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0xe1, 0x64, 0xe1, 0x20, 0x6c, 0x2d, 0xfa, 0x6c, 0xe1, 0x3b, 0x64, 0x17e, 0x75, 0x6d, ++0xe1, 0x64, 0xe1, 0x20, 0x6c, 0x2d, 0xe1, 0x63, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x64, 0x17e, 0x61, 0x62, 0x3b, ++0x161, 0x61, 0xb4, 0x20, 0x62, 0xe1, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, 0x161, 0x61, 0x75, 0x76, ++0xe1, 0x6c, 0x3b, 0x64, 0x68, 0xfa, 0x20, 0x6c, 0x2d, 0x6b, 0x61, 0xb4, 0x20, 0x64, 0x61, 0x3b, 0x64, 0x68, 0xfa, 0x20, ++0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x64, 0x17e, 0x61, 0x3b, 0x4d, 0x75, 0x78, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, ++0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, ++0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, ++0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x44, 0x75, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x75, ++0x6c, 0x2d, 0x58, 0x2e, 0x3b, 0x4d, 0x75, 0x78, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, ++0x52, 0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, ++0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, ++0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, ++0x69, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, ++0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x61, 0x6c, 0x2d, 0x71, ++0x61, 0x63, 0x64, 0x61, 0x68, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x78, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d, 0x75, 0x78, ++0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, ++0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x52, 0x61, 0x6a, ++0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x2e, 0x3b, 0x44, 0x68, ++0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x2e, 0x3b, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x2e, 0x3b, 0x4d, 0x75, 0x78, 0x61, ++0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, ++0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x63, 0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, ++0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x6a, 0x75, 0x6d, ++0x61, 0x64, 0x61, 0x20, 0x61, 0x6c, 0x2d, 0x74, 0x68, 0x61, 0x6e, 0x69, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, ++0x68, 0x61, 0x63, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, ++0x61, 0x6c, 0x3b, 0x44, 0x75, 0x6c, 0x20, 0x61, 0x6c, 0x2d, 0x71, 0x61, 0x63, 0x64, 0x61, 0x3b, 0x44, 0x75, 0x6c, 0x20, ++0x78, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, ++0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x6a, ++0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x49, 0x3b, 0x72, 0x61, ++0x6a, 0x61, 0x62, 0x3b, 0x73, 0x68, 0x61, 0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0xe1, 0x6e, 0x3b, ++0x73, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x71, 0x69, 0x2bb, 0x64, 0x61, 0x68, ++0x3b, 0x64, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, ++0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, ++0x77, 0x61, 0x6c, 0x3b, 0x52, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b, 0x4a, ++0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, ++0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2019, 0x62, 0x61, ++0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x53, 0x68, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x44, 0x68, ++0x75, 0x2d, 0x6c, 0x2d, 0x67, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x44, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, ++0x61, 0x3b, 0x6d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x72, 0x61, 0x62, ++0x69, 0x2019, 0x20, 0x61, 0x6c, 0x2d, 0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2019, 0x20, 0x61, 0x6c, ++0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x3b, 0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x75, 0x6c, 0x61, 0x3b, ++0x6a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x2d, 0x6c, 0x2d, 0x61, 0x6b, 0x68, 0x69, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x6a, 0x61, ++0x62, 0x3b, 0x73, 0x68, 0x61, 0x2019, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x73, 0x68, ++0x61, 0x77, 0x77, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x75, 0x2d, 0x6c, 0x2d, 0x67, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x64, 0x68, ++0x75, 0x2d, 0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x41c, 0x443, 0x4b3, 0x2e, 0x3b, 0x421, 0x430, 0x444, 0x2e, 0x3b, ++0x420, 0x430, 0x431, 0x2e, 0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x4b6, 0x443, 0x43c, 0x2e, 0x20, ++0x49, 0x3b, 0x4b6, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x420, 0x430, 0x4b7, 0x2e, 0x3b, 0x428, 0x430, 0x2e, 0x3b, 0x420, ++0x430, 0x43c, 0x2e, 0x3b, 0x428, 0x430, 0x432, 0x2e, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x49a, 0x2e, 0x3b, 0x414, 0x445, 0x443, ++0x43b, 0x2d, 0x4b2, 0x2e, 0x3b, 0x43c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, ++0x420, 0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x3b, 0x420, 0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x49, 0x3b, 0x4b7, 0x438, 0x43c, ++0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, ++0x2d, 0x441, 0x43e, 0x43d, 0x438, 0x3b, 0x440, 0x430, 0x4b7, 0x430, 0x431, 0x3b, 0x428, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, ++0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x49a, 0x438, ++0x434, 0x430, 0x4b3, 0x3b, 0x414, 0x445, 0x443, 0x43b, 0x2d, 0x4b2, 0x438, 0x4b7, 0x4b7, 0x430, 0x4b3, 0x3b, 0x43c, 0x443, 0x4b3, 0x430, ++0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x3b, 0x420, ++0x430, 0x431, 0x435, 0x44a, 0x20, 0x49, 0x49, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x443, 0x43b, ++0x43e, 0x3b, 0x4b7, 0x438, 0x43c, 0x43e, 0x434, 0x438, 0x2d, 0x443, 0x43b, 0x2d, 0x441, 0x43e, 0x43d, 0x438, 0x3b, 0x440, 0x430, 0x4b7, ++0x430, 0x431, 0x3b, 0x428, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x428, 0x430, 0x432, ++0x432, 0x430, 0x43b, 0x3b, 0x414, 0x445, 0x443, 0x442, 0x2d, 0x49a, 0x438, 0x434, 0x430, 0x4b3, 0x3b, 0x414, 0x445, 0x443, 0x442, 0x2d, ++0x4b2, 0x438, 0x4b7, 0x4b7, 0x430, 0x4b3, 0x3b, 0xbae, 0xbc1, 0xbb9, 0x2e, 0x3b, 0xb9a, 0xb83, 0xbaa, 0x2e, 0x3b, 0xbb0, 0xbaa, 0xbbf, ++0x20, 0x31, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, 0x2e, 0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0x2e, ++0x20, 0x32, 0x3b, 0xbb0, 0xb9c, 0x2e, 0x3b, 0xbb7, 0xb83, 0x2e, 0x3b, 0xbb0, 0xbae, 0x2e, 0x3b, 0xbb7, 0xbb5, 0xbcd, 0x2e, 0x3b, ++0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xb95, 0xb83, 0x2e, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0x2e, 0x3b, ++0xbae, 0xbc1, 0xbb9, 0xbb0, 0xbcd, 0xbb0, 0xbae, 0xbcd, 0x3b, 0xb9a, 0xb83, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x31, ++0x3b, 0xbb0, 0xbaa, 0xbbf, 0x20, 0x32, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, 0x20, 0x31, 0x3b, 0xb9c, 0xbc1, 0xbae, 0xba4, 0xbbe, ++0x20, 0x32, 0x3b, 0xbb0, 0xb9c, 0xbaa, 0xbcd, 0x3b, 0xbb7, 0xb83, 0xbaa, 0xbbe, 0xba9, 0xbcd, 0x3b, 0xbb0, 0xbae, 0xbb2, 0xbbe, 0xba9, ++0xbcd, 0x3b, 0xbb7, 0xbb5, 0xbcd, 0xbb5, 0xbbe, 0xbb2, 0xbcd, 0x3b, 0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xb95, 0xb83, 0xba4, 0xbbe, 0x3b, ++0xba4, 0xbc1, 0xbb2, 0xbcd, 0x20, 0xbb9, 0xbbf, 0xb9c, 0xbcd, 0xb9c, 0xbbe, 0x3b, 0xc2e, 0xc41, 0xc39, 0x2e, 0x3b, 0xc38, 0xc2b, 0x2e, ++0x3b, 0xc30, 0x2e, 0x20, 0x49, 0x3b, 0xc30, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0x2e, 0x20, 0x49, 0x3b, 0xc1c, ++0xc41, 0xc2e, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0xc30, 0xc1c, 0x2e, 0x3b, 0xc37, 0xc2c, 0xc3e, 0x2e, 0x3b, 0xc30, 0xc02, 0xc1c, 0xc3e, ++0x2e, 0x3b, 0xc37, 0xc35, 0xc4d, 0xc35, 0xc3e, 0x2e, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc15, 0xc3f, 0x2e, 0x3b, 0xc27, 0xc41, ++0xc32, 0xc4d, 0x2d, 0xc39, 0xc3f, 0x2e, 0x3b, 0xc2e, 0xc41, 0xc39, 0xc30, 0xc4d, 0xc30, 0xc02, 0x3b, 0xc38, 0xc2b, 0xc30, 0xc4d, 0x3b, ++0xc30, 0xc2c, 0xc40, 0x20, 0x49, 0x3b, 0xc30, 0xc2c, 0xc40, 0x20, 0x49, 0x49, 0x3b, 0xc1c, 0xc41, 0xc2e, 0xc26, 0xc3e, 0x20, 0x49, ++0x3b, 0xc1c, 0xc41, 0xc2e, 0xc26, 0xc3e, 0x20, 0x49, 0x49, 0x3b, 0xc30, 0xc1c, 0xc2c, 0xc4d, 0x3b, 0xc37, 0xc2c, 0xc3e, 0xc28, 0xc4d, ++0x3b, 0xc30, 0xc02, 0xc1c, 0xc3e, 0xc28, 0xc4d, 0x3b, 0xc37, 0xc35, 0xc4d, 0xc35, 0xc3e, 0xc32, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, ++0x2d, 0xc15, 0xc3f, 0x20, 0xc26, 0xc3e, 0xc39, 0xc4d, 0x3b, 0xc27, 0xc41, 0xc32, 0xc4d, 0x2d, 0xc39, 0xc3f, 0xc1c, 0xc4d, 0xc1c, 0xc3e, ++0xc39, 0xc4d, 0x3b, 0xe21, 0xe38, 0xe2e, 0xe31, 0xe23, 0x2e, 0x3b, 0xe40, 0xe28, 0xe32, 0xe30, 0x2e, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, ++0x20, 0x49, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x3b, ++0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x49, 0x3b, 0xe40, 0xe23, 0xe32, 0xe30, 0x2e, 0x3b, 0xe0a, 0xe30, 0xe2d, 0xe4c, ++0x2e, 0x3b, 0xe40, 0xe23, 0xe32, 0xe30, 0xe21, 0xe30, 0x2e, 0x3b, 0xe40, 0xe0a, 0xe32, 0xe27, 0x2e, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, ++0xe34, 0xe2d, 0xe3a, 0x2e, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0x2e, 0x3b, 0xe21, 0xe38, 0xe2e, 0xe30, 0xe23, 0xe4c, 0xe23, ++0xe2d, 0xe21, 0x3b, 0xe0b, 0xe2d, 0xe1f, 0xe32, 0xe23, 0xe4c, 0x3b, 0xe23, 0xe2d, 0xe1a, 0xe35, 0x20, 0x49, 0x3b, 0xe23, 0xe2d, 0xe1a, ++0xe35, 0x20, 0x49, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, 0x20, 0x49, 0x3b, 0xe08, 0xe38, 0xe21, 0xe32, 0xe14, 0xe32, ++0x20, 0x49, 0x49, 0x3b, 0xe23, 0xe2d, 0xe08, 0xe31, 0xe1a, 0x3b, 0xe0a, 0xe30, 0xe2d, 0xe30, 0xe1a, 0xe32, 0xe19, 0x3b, 0xe23, 0xe2d, ++0xe21, 0xe30, 0xe14, 0xe2d, 0xe19, 0x3b, 0xe40, 0xe0a, 0xe32, 0xe27, 0xe31, 0xe25, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe01, 0xe34, 0xe2d, 0xe3a, ++0xe14, 0xe30, 0xe2e, 0xe3a, 0x3b, 0xe0b, 0xe38, 0xe25, 0xe2b, 0xe34, 0xe08, 0xe0d, 0xe30, 0xe2e, 0xe3a, 0x3b, 0x4d, 0x75, 0x68, 0x3b, ++0x53, 0x61, 0x66, 0x3b, 0x4c, 0x61, 0x70, 0x20, 0x49, 0x3b, 0x4c, 0x61, 0x70, 0x20, 0x49, 0x49, 0x3b, 0x53, 0x75, 0x6d, ++0x20, 0x49, 0x3b, 0x53, 0x75, 0x6d, 0x20, 0x49, 0x49, 0x3b, 0x4c, 0x61, 0x73, 0x3b, 0x53, 0x61, 0x2bb, 0x61, 0x3b, 0x4c, ++0x61, 0x6d, 0x3b, 0x53, 0x61, 0x76, 0x3b, 0x53, 0x16b, 0x2d, 0x6b, 0x3b, 0x53, 0x16b, 0x2d, 0x68, 0x3b, 0x4d, 0x75, 0x68, ++0x61, 0x6c, 0x61, 0x6d, 0x69, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x6c, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x12b, 0x20, 0x49, 0x3b, ++0x4c, 0x61, 0x70, 0x12b, 0x20, 0x49, 0x49, 0x3b, 0x53, 0x75, 0x6d, 0x61, 0x74, 0x101, 0x20, 0x49, 0x3b, 0x53, 0x75, 0x6d, ++0x61, 0x74, 0x101, 0x20, 0x49, 0x49, 0x3b, 0x4c, 0x61, 0x73, 0x61, 0x70, 0x69, 0x3b, 0x53, 0x61, 0x2bb, 0x61, 0x70, 0x101, ++0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x6d, 0x61, 0x74, 0x101, 0x6e, 0x69, 0x3b, 0x53, 0x61, 0x76, 0x101, 0x6c, 0x69, 0x3b, 0x53, ++0x16b, 0x2d, 0x6b, 0x61, 0x2bb, 0x61, 0x74, 0x61, 0x3b, 0x53, 0x16b, 0x2d, 0x68, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x75, 0x68, ++0x61, 0x72, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x2e, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0x2e, ++0x61, 0x68, 0x69, 0x72, 0x3b, 0x43, 0x2e, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x43, 0x2e, 0x61, 0x68, 0x69, 0x72, 0x3b, ++0x52, 0x65, 0x63, 0x65, 0x70, 0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x15e, 0x65, 0x76, ++0x76, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x6c, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x5a, 0x69, 0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, ++0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x65, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x52, 0x65, 0x62, 0x69, ++0xfc, 0x6c, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x52, 0x65, 0x62, 0x69, 0xfc, 0x6c, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x43, ++0x65, 0x6d, 0x61, 0x7a, 0x69, 0x79, 0x65, 0x6c, 0x65, 0x76, 0x76, 0x65, 0x6c, 0x3b, 0x43, 0x65, 0x6d, 0x61, 0x7a, 0x69, ++0x79, 0x65, 0x6c, 0x61, 0x68, 0x69, 0x72, 0x3b, 0x52, 0x65, 0x63, 0x65, 0x70, 0x3b, 0x15e, 0x61, 0x62, 0x61, 0x6e, 0x3b, ++0x52, 0x61, 0x6d, 0x61, 0x7a, 0x61, 0x6e, 0x3b, 0x15e, 0x65, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x6c, 0x6b, 0x61, ++0x64, 0x65, 0x3b, 0x5a, 0x69, 0x6c, 0x68, 0x69, 0x63, 0x63, 0x65, 0x3b, 0x645, 0x6c7, 0x6be, 0x6d5, 0x631, 0x631, 0x6d5, 0x645, ++0x3b, 0x633, 0x6d5, 0x67e, 0x6d5, 0x631, 0x3b, 0x631, 0x6d5, 0x628, 0x649, 0x626, 0x6c7, 0x644, 0x626, 0x6d5, 0x6cb, 0x6cb, 0x6d5, 0x644, ++0x3b, 0x631, 0x6d5, 0x628, 0x649, 0x626, 0x6c7, 0x644, 0x626, 0x627, 0x62e, 0x649, 0x631, 0x3b, 0x62c, 0x6d5, 0x645, 0x627, 0x62f, 0x649, ++0x64a, 0x6d5, 0x644, 0x626, 0x6d5, 0x6cb, 0x6cb, 0x6d5, 0x644, 0x3b, 0x62c, 0x6d5, 0x645, 0x627, 0x62f, 0x649, 0x64a, 0x6d5, 0x644, 0x626, ++0x627, 0x62e, 0x649, 0x631, 0x3b, 0x631, 0x6d5, 0x62c, 0x6d5, 0x628, 0x3b, 0x634, 0x6d5, 0x626, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x627, ++0x645, 0x649, 0x632, 0x627, 0x646, 0x3b, 0x634, 0x6d5, 0x6cb, 0x6cb, 0x627, 0x644, 0x3b, 0x632, 0x6c7, 0x644, 0x642, 0x6d5, 0x626, 0x62f, ++0x6d5, 0x3b, 0x632, 0x6c7, 0x644, 0x6be, 0x6d5, 0x62c, 0x62c, 0x6d5, 0x3b, 0x43c, 0x443, 0x445, 0x3b, 0x441, 0x430, 0x444, 0x3b, 0x440, ++0x430, 0x431, 0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x20, 0x49, ++0x3b, 0x434, 0x436, 0x443, 0x43c, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x3b, 0x440, ++0x430, 0x43c, 0x3b, 0x434, 0x430, 0x432, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, ++0x2d, 0x445, 0x3b, 0x43c, 0x443, 0x445, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x441, 0x430, 0x444, 0x430, 0x440, 0x3b, 0x440, 0x430, ++0x431, 0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, ++0x20, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x430, 0x434, 0x430, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x430, 0x431, ++0x3b, 0x448, 0x430, 0x430, 0x431, 0x430, 0x43d, 0x3b, 0x440, 0x430, 0x43c, 0x430, 0x434, 0x430, 0x43d, 0x3b, 0x434, 0x430, 0x432, 0x432, ++0x430, 0x43b, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x430, 0x430, 0x434, 0x430, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, ++0x2d, 0x445, 0x456, 0x434, 0x436, 0x430, 0x3b, 0x43c, 0x443, 0x445, 0x2e, 0x3b, 0x441, 0x430, 0x444, 0x2e, 0x3b, 0x440, 0x430, 0x431, ++0x456, 0x20, 0x49, 0x3b, 0x440, 0x430, 0x431, 0x456, 0x20, 0x49, 0x49, 0x3b, 0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x3b, ++0x434, 0x436, 0x443, 0x43c, 0x2e, 0x20, 0x49, 0x49, 0x3b, 0x440, 0x430, 0x434, 0x436, 0x2e, 0x3b, 0x448, 0x430, 0x430, 0x431, 0x2e, ++0x3b, 0x440, 0x430, 0x43c, 0x2e, 0x3b, 0x434, 0x430, 0x432, 0x2e, 0x3b, 0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x43a, 0x2e, 0x3b, ++0x437, 0x443, 0x2d, 0x43b, 0x44c, 0x2d, 0x445, 0x2e, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, ++0x6cc, 0x639, 0x20, 0x627, 0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b, 0x651, 0x627, ++0x646, 0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, ++0x6cc, 0x20, 0x627, 0x644, 0x62b, 0x651, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, ++0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, ++0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, 0x6c3, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x20, 0x628, ++0x6cc, 0x639, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x631, 0x20, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, ++0x6cc, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, ++0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, ++0x627, 0x646, 0x3b, 0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, ++0x644, 0x62d, 0x62c, 0x6c3, 0x3b, 0x645, 0x62d, 0x631, 0x645, 0x3b, 0x635, 0x641, 0x631, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, ++0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x631, 0x628, 0x6cc, 0x639, 0x20, 0x627, 0x644, 0x62b, 0x627, 0x646, 0x6cc, 0x3b, 0x62c, 0x645, ++0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x627, 0x648, 0x651, 0x644, 0x3b, 0x62c, 0x645, 0x627, 0x62f, 0x6cc, 0x20, 0x627, 0x644, 0x62b, ++0x627, 0x646, 0x6cc, 0x3b, 0x631, 0x62c, 0x628, 0x3b, 0x634, 0x639, 0x628, 0x627, 0x646, 0x3b, 0x631, 0x645, 0x636, 0x627, 0x646, 0x3b, ++0x634, 0x648, 0x627, 0x644, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x642, 0x639, 0x62f, 0x6c3, 0x3b, 0x630, 0x648, 0x627, 0x644, 0x62d, 0x62c, ++0x6c3, 0x3b, 0x4d, 0x75, 0x68, 0x2e, 0x3b, 0x53, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x6f, 0x62, 0x2e, 0x20, 0x61, 0x76, 0x76, ++0x2e, 0x3b, 0x52, 0x6f, 0x62, 0x2e, 0x20, 0x6f, 0x78, 0x2e, 0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x61, 0x76, 0x76, 0x2e, ++0x3b, 0x4a, 0x75, 0x6d, 0x2e, 0x20, 0x6f, 0x78, 0x2e, 0x3b, 0x52, 0x61, 0x6a, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x2e, 0x3b, ++0x52, 0x61, 0x6d, 0x2e, 0x3b, 0x53, 0x68, 0x61, 0x76, 0x2e, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x71, 0x2e, 0x3b, 0x5a, 0x75, ++0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x4d, 0x75, 0x68, 0x61, 0x72, 0x72, 0x61, 0x6d, 0x3b, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, ++0x52, 0x6f, 0x62, 0x69, 0x2019, 0x20, 0x75, 0x6c, 0x2d, 0x61, 0x76, 0x76, 0x61, 0x6c, 0x3b, 0x52, 0x6f, 0x62, 0x69, 0x2019, ++0x20, 0x75, 0x6c, 0x2d, 0x6f, 0x78, 0x69, 0x72, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x20, 0x75, 0x6c, 0x2d, 0x61, 0x76, ++0x76, 0x61, 0x6c, 0x3b, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x20, 0x75, 0x6c, 0x2d, 0x6f, 0x78, 0x69, 0x72, 0x3b, 0x52, 0x61, ++0x6a, 0x61, 0x62, 0x3b, 0x53, 0x68, 0x61, 0x2019, 0x62, 0x6f, 0x6e, 0x3b, 0x52, 0x61, 0x6d, 0x61, 0x7a, 0x6f, 0x6e, 0x3b, ++0x53, 0x68, 0x61, 0x76, 0x76, 0x6f, 0x6c, 0x3b, 0x5a, 0x75, 0x6c, 0x2d, 0x71, 0x61, 0x2019, 0x64, 0x61, 0x3b, 0x5a, 0x75, ++0x6c, 0x2d, 0x68, 0x69, 0x6a, 0x6a, 0x61, 0x3b, 0x41c, 0x443, 0x4b3, 0x430, 0x440, 0x440, 0x430, 0x43c, 0x3b, 0x421, 0x430, 0x444, ++0x430, 0x440, 0x3b, 0x420, 0x430, 0x431, 0x438, 0x443, 0x43b, 0x2d, 0x430, 0x432, 0x432, 0x430, 0x43b, 0x3b, 0x420, 0x430, 0x431, 0x438, ++0x443, 0x43b, 0x2d, 0x43e, 0x445, 0x438, 0x440, 0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x43b, 0x43e, ++0x3b, 0x416, 0x443, 0x43c, 0x43e, 0x434, 0x438, 0x443, 0x43b, 0x2d, 0x443, 0x445, 0x440, 0x43e, 0x3b, 0x420, 0x430, 0x436, 0x430, 0x431, ++0x3b, 0x428, 0x430, 0x44a, 0x431, 0x43e, 0x43d, 0x3b, 0x420, 0x430, 0x43c, 0x430, 0x437, 0x43e, 0x43d, 0x3b, 0x428, 0x430, 0x432, 0x432, ++0x43e, 0x43b, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x49b, 0x430, 0x44a, 0x434, 0x430, 0x3b, 0x417, 0x438, 0x43b, 0x2d, 0x4b3, 0x438, 0x436, ++0x436, 0x430, 0x3b, 0x6d, 0x75, 0x68, 0x2e, 0x3b, 0x73, 0x61, 0x66, 0x2e, 0x3b, 0x52, 0x61, 0x62, 0x2e, 0x20, 0x49, 0x3b, ++0x72, 0x61, 0x62, 0x2e, 0x20, 0x69, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x2e, 0x20, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, ++0x2e, 0x20, 0x69, 0x69, 0x3b, 0x72, 0x65, 0x64, 0x17e, 0x2e, 0x3b, 0x161, 0x61, 0x2e, 0x3b, 0x72, 0x61, 0x6d, 0x2e, 0x3b, ++0x161, 0x65, 0x2e, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x6b, 0x2e, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x68, 0x2e, 0x3b, 0x6d, 0x75, ++0x68, 0x61, 0x72, 0x65, 0x6d, 0x3b, 0x73, 0x61, 0x66, 0x65, 0x72, 0x3b, 0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x69, 0x3b, ++0x72, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x69, 0x69, 0x3b, 0x64, 0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x3b, 0x64, ++0x17e, 0x75, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x69, 0x69, 0x3b, 0x72, 0x65, 0x64, 0x17e, 0x65, 0x62, 0x3b, 0x53, 0x68, 0x61, ++0x2bb, 0x62, 0x61, 0x6e, 0x3b, 0x72, 0x61, 0x6d, 0x61, 0x7a, 0x61, 0x6e, 0x3b, 0x161, 0x65, 0x76, 0x61, 0x6c, 0x3b, 0x7a, ++0x75, 0x6c, 0x2d, 0x6b, 0x61, 0x64, 0x65, 0x3b, 0x7a, 0x75, 0x6c, 0x2d, 0x68, 0x69, 0x64, 0x17e, 0x65, 0x3b, 0x64, 0x7a, ++0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, 0x61, ++0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, 0x64, ++0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x74, ++0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x69, 0x1ebd, 0x3b, 0x64, 0x61, 0x6d, 0x25b, 0x3b, 0x6d, 0x61, ++0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, ++0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, 0x6d, ++0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x4d, 0x75, 0x68, 0x61, ++0x72, 0x72, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x61, 0x66, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x62, ++0x69, 0x2bb, 0x20, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x62, 0x69, 0x2bb, 0x20, 0x49, 0x49, 0x3b, 0x64, 0x65, 0x20, ++0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, 0x3b, 0x64, 0x65, 0x20, 0x4a, 0x75, 0x6d, 0x61, 0x64, 0x61, 0x20, 0x49, ++0x49, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x6a, 0x61, 0x62, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x2bb, 0x62, 0x61, ++0x6e, 0x3b, 0x64, 0x65, 0x20, 0x52, 0x61, 0x6d, 0x61, 0x64, 0x61, 0x6e, 0x3b, 0x64, 0x65, 0x20, 0x53, 0x68, 0x61, 0x77, ++0x77, 0x61, 0x6c, 0x3b, 0x64, 0x65, 0x20, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x51, 0x69, 0x2bb, 0x64, 0x61, 0x68, 0x3b, ++0x64, 0x65, 0x20, 0x44, 0x68, 0x75, 0x2bb, 0x6c, 0x2d, 0x48, 0x69, 0x6a, 0x6a, 0x61, 0x68, 0x3b, 0x7a46, 0x54c8, 0x5170, 0x59c6, ++0x6708, 0x3b, 0x8272, 0x6cd5, 0x5c14, 0x6708, 0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, 0x49, 0x3b, 0x8d56, 0x6bd4, 0x6708, 0x20, 0x49, 0x49, 0x3b, ++0x4e3b, 0x9a6c, 0x8fbe, 0x6708, 0x20, 0x49, 0x3b, 0x4e3b, 0x9a6c, 0x8fbe, 0x6708, 0x20, 0x49, 0x49, 0x3b, 0x8d56, 0x54f2, 0x535c, 0x6708, 0x3b, ++0x820d, 0x5c14, 0x90a6, 0x6708, 0x3b, 0x8d56, 0x4e70, 0x4e39, 0x6708, 0x3b, 0x95ea, 0x74e6, 0x9c81, 0x6708, 0x3b, 0x90fd, 0x5c14, 0x5580, 0x5c14, 0x5fb7, ++0x6708, 0x3b, 0x90fd, 0x5c14, 0x9ed1, 0x54f2, 0x6708, 0x3b + }; + // GENERATED PART ENDS HERE + +diff --git a/src/corelib/time/qjalalicalendar_data_p.h b/src/corelib/time/qjalalicalendar_data_p.h +index 096ff175a1..202b5f988a 100644 +--- a/src/corelib/time/qjalalicalendar_data_p.h ++++ b/src/corelib/time/qjalalicalendar_data_p.h +@@ -59,8 +59,8 @@ QT_BEGIN_NAMESPACE + // GENERATED PART STARTS HERE + + /* +- This part of the file was generated on 2020-10-27 from the +- Common Locale Data Repository v37 ++ This part of the file was generated on 2020-11-09 from the ++ Common Locale Data Repository v38 + + http://www.unicode.org/cldr/ + +@@ -353,6 +353,7 @@ static const QCalendarLocale locale_data[] = { + { 67, 7, 217,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Kurdish/Latin/Turkey + { 68, 7, 35,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Rundi/Latin/Burundi + { 69, 23, 117,{ 2030,80 },{ 2110,81 },{ 185,27 },{ 2191,80 },{ 2110,81 },{ 185,27 }}, // Lao/Lao/Laos ++ { 70, 7, 230,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Latin/Latin/Vatican City State + { 71, 7, 118,{ 2271,93 },{ 2271,93 },{ 185,27 },{ 2271,93 },{ 2271,93 },{ 185,27 }}, // Latvian/Latin/Latvia + { 72, 7, 49,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Congo Kinshasa + { 72, 7, 6,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Lingala/Latin/Angola +@@ -605,6 +606,7 @@ static const QCalendarLocale locale_data[] = { + { 220, 2, 178,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Chuvash/Cyrillic/Russia + { 230, 7, 49,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luba Katanga/Latin/Congo Kinshasa + { 231, 7, 125,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Luxembourgish/Latin/Luxembourg ++ { 232, 7, 225,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Navaho/Latin/United States + { 236, 7, 21,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Walloon/Latin/Belgium + { 237, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Aghem/Latin/Cameroon + { 238, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Basaa/Latin/Cameroon +@@ -630,6 +632,7 @@ static const QCalendarLocale locale_data[] = { + { 259, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Meta/Latin/Cameroon + { 260, 7, 37,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Ngiemboon/Latin/Cameroon + { 261, 7, 197,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Aragonese/Latin/Spain ++ { 275, 13, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Dogri/Devanagari/India + { 290, 11, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Manipuri/Bengali/India + { 290, 72, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Manipuri/Meitei Mayek/India + { 304, 78, 100,{ 48,84 },{ 48,84 },{ 185,27 },{ 48,84 },{ 48,84 },{ 185,27 }}, // Santali/Ol Chiki/India +diff --git a/src/corelib/time/qromancalendar_data_p.h b/src/corelib/time/qromancalendar_data_p.h +index 4913734161..465ea68309 100644 +--- a/src/corelib/time/qromancalendar_data_p.h ++++ b/src/corelib/time/qromancalendar_data_p.h +@@ -59,8 +59,8 @@ QT_BEGIN_NAMESPACE + // GENERATED PART STARTS HERE + + /* +- This part of the file was generated on 2020-10-27 from the +- Common Locale Data Repository v37 ++ This part of the file was generated on 2020-11-09 from the ++ Common Locale Data Repository v38 + + http://www.unicode.org/cldr/ + +@@ -111,49 +111,49 @@ static const QCalendarLocale locale_data[] = { + { 8, 1, 260,{ 882,75 },{ 882,75 },{ 957,24 },{ 882,75 },{ 882,75 },{ 957,24 }}, // Arabic/Arabic/World + { 9, 10, 11,{ 1474,48 },{ 1522,94 },{ 1616,24 },{ 1474,48 },{ 1640,106 },{ 1616,24 }}, // Armenian/Armenian/Armenia + { 10, 11, 100,{ 1746,64 },{ 1810,89 },{ 1899,24 },{ 1746,64 },{ 1810,89 },{ 1899,24 }}, // Assamese/Bengali/India +- { 12, 7, 15,{ 1923,48 },{ 1971,77 },{ 418,27 },{ 1923,48 },{ 2048,77 },{ 418,27 }}, // Azerbaijani/Latin/Azerbaijan ++ { 12, 7, 15,{ 1923,48 },{ 1971,77 },{ 418,27 },{ 1923,48 },{ 1971,77 },{ 418,27 }}, // Azerbaijani/Latin/Azerbaijan + { 12, 1, 102,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Azerbaijani/Arabic/Iran +- { 12, 2, 15,{ 2125,48 },{ 2173,77 },{ 418,27 },{ 2125,48 },{ 2250,77 },{ 418,27 }}, // Azerbaijani/Cyrillic/Azerbaijan ++ { 12, 2, 15,{ 2048,48 },{ 2096,77 },{ 418,27 },{ 2048,48 },{ 2173,77 },{ 418,27 }}, // Azerbaijani/Cyrillic/Azerbaijan + { 13, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Bashkir/Cyrillic/Russia +- { 14, 7, 197,{ 2327,60 },{ 2387,93 },{ 2480,24 },{ 2327,60 },{ 2504,105 },{ 2480,24 }}, // Basque/Latin/Spain +- { 15, 11, 18,{ 2609,90 },{ 2609,90 },{ 2699,33 },{ 2732,77 },{ 2609,90 },{ 2699,33 }}, // Bengali/Bengali/Bangladesh +- { 15, 11, 100,{ 2609,90 },{ 2609,90 },{ 2699,33 },{ 2732,77 },{ 2609,90 },{ 2699,33 }}, // Bengali/Bengali/India +- { 16, 31, 25,{ 2809,63 },{ 2872,191 },{ 3063,27 },{ 3090,27 },{ 3117,132 },{ 3249,27 }}, // Dzongkha/Tibetan/Bhutan +- { 19, 7, 74,{ 3276,63 },{ 3339,78 },{ 3417,36 },{ 3276,63 },{ 3339,78 },{ 3417,36 }}, // Breton/Latin/France +- { 20, 2, 33,{ 3453,49 },{ 3502,82 },{ 3584,24 },{ 3453,49 },{ 3502,82 },{ 3584,24 }}, // Bulgarian/Cyrillic/Bulgaria +- { 21, 25, 147,{ 3608,43 },{ 3651,88 },{ 3739,24 },{ 3608,43 },{ 3651,88 },{ 3739,24 }}, // Burmese/Myanmar/Myanmar +- { 22, 2, 20,{ 3763,48 },{ 3811,95 },{ 3906,24 },{ 3930,48 },{ 3978,98 },{ 3906,24 }}, // Belarusian/Cyrillic/Belarus +- { 23, 20, 36,{ 4076,71 },{ 4076,71 },{ 4147,24 },{ 4076,71 },{ 4076,71 },{ 4147,24 }}, // Khmer/Khmer/Cambodia +- { 24, 7, 197,{ 4171,60 },{ 4231,82 },{ 4313,36 },{ 4349,93 },{ 4442,115 },{ 4313,36 }}, // Catalan/Latin/Spain +- { 24, 7, 5,{ 4171,60 },{ 4231,82 },{ 4313,36 },{ 4349,93 },{ 4442,115 },{ 4313,36 }}, // Catalan/Latin/Andorra +- { 24, 7, 74,{ 4171,60 },{ 4231,82 },{ 4313,36 },{ 4349,93 },{ 4442,115 },{ 4313,36 }}, // Catalan/Latin/France +- { 24, 7, 106,{ 4171,60 },{ 4231,82 },{ 4313,36 },{ 4349,93 },{ 4442,115 },{ 4313,36 }}, // Catalan/Latin/Italy +- { 25, 5, 44,{ 4557,39 },{ 4596,38 },{ 418,27 },{ 4557,39 },{ 4596,38 },{ 418,27 }}, // Chinese/Simplified Han/China +- { 25, 5, 97,{ 4557,39 },{ 4596,38 },{ 418,27 },{ 4557,39 },{ 4596,38 },{ 418,27 }}, // Chinese/Simplified Han/Hong Kong +- { 25, 5, 126,{ 4557,39 },{ 4596,38 },{ 418,27 },{ 4557,39 },{ 4596,38 },{ 418,27 }}, // Chinese/Simplified Han/Macau +- { 25, 5, 190,{ 4557,39 },{ 4596,38 },{ 418,27 },{ 4557,39 },{ 4596,38 },{ 418,27 }}, // Chinese/Simplified Han/Singapore +- { 25, 6, 97,{ 4557,39 },{ 4557,39 },{ 418,27 },{ 4557,39 },{ 4557,39 },{ 418,27 }}, // Chinese/Traditional Han/Hong Kong +- { 25, 6, 126,{ 4557,39 },{ 4557,39 },{ 418,27 },{ 4557,39 },{ 4557,39 },{ 418,27 }}, // Chinese/Traditional Han/Macau +- { 25, 6, 208,{ 4557,39 },{ 4557,39 },{ 418,27 },{ 4557,39 },{ 4557,39 },{ 418,27 }}, // Chinese/Traditional Han/Taiwan ++ { 14, 7, 197,{ 2250,60 },{ 2310,93 },{ 2403,24 },{ 2250,60 },{ 2427,105 },{ 2403,24 }}, // Basque/Latin/Spain ++ { 15, 11, 18,{ 2532,90 },{ 2532,90 },{ 2622,33 },{ 2655,77 },{ 2532,90 },{ 2622,33 }}, // Bengali/Bengali/Bangladesh ++ { 15, 11, 100,{ 2532,90 },{ 2532,90 },{ 2622,33 },{ 2655,77 },{ 2532,90 },{ 2622,33 }}, // Bengali/Bengali/India ++ { 16, 31, 25,{ 2732,63 },{ 2795,191 },{ 2986,27 },{ 3013,27 },{ 3040,132 },{ 3172,27 }}, // Dzongkha/Tibetan/Bhutan ++ { 19, 7, 74,{ 3199,63 },{ 3262,78 },{ 3340,36 },{ 3199,63 },{ 3262,78 },{ 3340,36 }}, // Breton/Latin/France ++ { 20, 2, 33,{ 3376,49 },{ 3425,82 },{ 3507,24 },{ 3376,49 },{ 3425,82 },{ 3507,24 }}, // Bulgarian/Cyrillic/Bulgaria ++ { 21, 25, 147,{ 3531,43 },{ 3574,88 },{ 3662,24 },{ 3531,43 },{ 3574,88 },{ 3662,24 }}, // Burmese/Myanmar/Myanmar ++ { 22, 2, 20,{ 3686,48 },{ 3734,95 },{ 3829,24 },{ 3853,48 },{ 3901,98 },{ 3829,24 }}, // Belarusian/Cyrillic/Belarus ++ { 23, 20, 36,{ 3999,71 },{ 3999,71 },{ 4070,24 },{ 3999,71 },{ 3999,71 },{ 4070,24 }}, // Khmer/Khmer/Cambodia ++ { 24, 7, 197,{ 4094,60 },{ 4154,82 },{ 4236,36 },{ 4272,93 },{ 4365,115 },{ 4236,36 }}, // Catalan/Latin/Spain ++ { 24, 7, 5,{ 4094,60 },{ 4154,82 },{ 4236,36 },{ 4272,93 },{ 4365,115 },{ 4236,36 }}, // Catalan/Latin/Andorra ++ { 24, 7, 74,{ 4094,60 },{ 4154,82 },{ 4236,36 },{ 4272,93 },{ 4365,115 },{ 4236,36 }}, // Catalan/Latin/France ++ { 24, 7, 106,{ 4094,60 },{ 4154,82 },{ 4236,36 },{ 4272,93 },{ 4365,115 },{ 4236,36 }}, // Catalan/Latin/Italy ++ { 25, 5, 44,{ 4480,39 },{ 4519,38 },{ 418,27 },{ 4480,39 },{ 4519,38 },{ 418,27 }}, // Chinese/Simplified Han/China ++ { 25, 5, 97,{ 4480,39 },{ 4519,38 },{ 418,27 },{ 4480,39 },{ 4519,38 },{ 418,27 }}, // Chinese/Simplified Han/Hong Kong ++ { 25, 5, 126,{ 4480,39 },{ 4519,38 },{ 418,27 },{ 4480,39 },{ 4519,38 },{ 418,27 }}, // Chinese/Simplified Han/Macau ++ { 25, 5, 190,{ 4480,39 },{ 4519,38 },{ 418,27 },{ 4480,39 },{ 4519,38 },{ 418,27 }}, // Chinese/Simplified Han/Singapore ++ { 25, 6, 97,{ 4480,39 },{ 4480,39 },{ 418,27 },{ 4480,39 },{ 4480,39 },{ 418,27 }}, // Chinese/Traditional Han/Hong Kong ++ { 25, 6, 126,{ 4480,39 },{ 4480,39 },{ 418,27 },{ 4480,39 },{ 4480,39 },{ 418,27 }}, // Chinese/Traditional Han/Macau ++ { 25, 6, 208,{ 4480,39 },{ 4480,39 },{ 418,27 },{ 4480,39 },{ 4480,39 },{ 418,27 }}, // Chinese/Traditional Han/Taiwan + { 26, 7, 74,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Corsican/Latin/France +- { 27, 7, 54,{ 4634,49 },{ 4683,94 },{ 4777,39 },{ 4634,49 },{ 4816,98 },{ 4777,39 }}, // Croatian/Latin/Croatia +- { 27, 7, 27,{ 4634,49 },{ 4683,94 },{ 4777,39 },{ 4634,49 },{ 4816,98 },{ 4777,39 }}, // Croatian/Latin/Bosnia And Herzegowina +- { 28, 7, 57,{ 4914,48 },{ 4962,82 },{ 418,27 },{ 4914,48 },{ 5044,84 },{ 418,27 }}, // Czech/Latin/Czech Republic +- { 29, 7, 58,{ 5128,59 },{ 5187,84 },{ 134,24 },{ 5128,59 },{ 5187,84 },{ 134,24 }}, // Danish/Latin/Denmark +- { 29, 7, 86,{ 5128,59 },{ 5187,84 },{ 134,24 },{ 5128,59 },{ 5187,84 },{ 134,24 }}, // Danish/Latin/Greenland +- { 30, 7, 151,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Netherlands +- { 30, 7, 12,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Aruba +- { 30, 7, 21,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Belgium +- { 30, 7, 152,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Cura Sao +- { 30, 7, 202,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Suriname +- { 30, 7, 255,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Bonaire +- { 30, 7, 256,{ 5271,59 },{ 5330,88 },{ 134,24 },{ 5271,59 },{ 5330,88 },{ 134,24 }}, // Dutch/Latin/Sint Maarten ++ { 27, 7, 54,{ 4557,49 },{ 4606,94 },{ 4700,39 },{ 4557,49 },{ 4739,98 },{ 4700,39 }}, // Croatian/Latin/Croatia ++ { 27, 7, 27,{ 4557,49 },{ 4606,94 },{ 4700,39 },{ 4557,49 },{ 4739,98 },{ 4700,39 }}, // Croatian/Latin/Bosnia And Herzegowina ++ { 28, 7, 57,{ 4837,48 },{ 4885,82 },{ 418,27 },{ 4837,48 },{ 4967,84 },{ 418,27 }}, // Czech/Latin/Czech Republic ++ { 29, 7, 58,{ 5051,59 },{ 5110,84 },{ 134,24 },{ 5051,59 },{ 5110,84 },{ 134,24 }}, // Danish/Latin/Denmark ++ { 29, 7, 86,{ 5051,59 },{ 5110,84 },{ 134,24 },{ 5051,59 },{ 5110,84 },{ 134,24 }}, // Danish/Latin/Greenland ++ { 30, 7, 151,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Netherlands ++ { 30, 7, 12,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Aruba ++ { 30, 7, 21,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Belgium ++ { 30, 7, 152,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Cura Sao ++ { 30, 7, 202,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Suriname ++ { 30, 7, 255,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Bonaire ++ { 30, 7, 256,{ 5194,59 },{ 5253,88 },{ 134,24 },{ 5194,59 },{ 5253,88 },{ 134,24 }}, // Dutch/Latin/Sint Maarten + { 31, 7, 225,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United States + { 31, 3, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // English/Deseret/United States + { 31, 7, 4,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/American Samoa + { 31, 7, 7,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Anguilla + { 31, 7, 9,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Antigua And Barbuda +- { 31, 7, 13,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Australia ++ { 31, 7, 13,{ 0,48 },{ 48,86 },{ 134,24 },{ 5341,51 },{ 48,86 },{ 134,24 }}, // English/Latin/Australia + { 31, 7, 14,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Austria + { 31, 7, 16,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Bahamas + { 31, 7, 19,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Barbados +@@ -164,7 +164,7 @@ static const QCalendarLocale locale_data[] = { + { 31, 7, 31,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/British Indian Ocean Territory + { 31, 7, 35,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Burundi + { 31, 7, 37,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cameroon +- { 31, 7, 38,{ 5418,59 },{ 48,86 },{ 134,24 },{ 5418,59 },{ 48,86 },{ 134,24 }}, // English/Latin/Canada ++ { 31, 7, 38,{ 5392,59 },{ 48,86 },{ 134,24 },{ 5392,59 },{ 48,86 },{ 134,24 }}, // English/Latin/Canada + { 31, 7, 40,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cayman Islands + { 31, 7, 45,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Christmas Island + { 31, 7, 46,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Cocos Islands +@@ -240,7 +240,7 @@ static const QCalendarLocale locale_data[] = { + { 31, 7, 220,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Tuvalu + { 31, 7, 221,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Uganda + { 31, 7, 223,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United Arab Emirates +- { 31, 7, 224,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United Kingdom ++ { 31, 7, 224,{ 5451,49 },{ 48,86 },{ 134,24 },{ 5451,49 },{ 48,86 },{ 134,24 }}, // English/Latin/United Kingdom + { 31, 7, 226,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/United States Minor Outlying Islands + { 31, 7, 229,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Vanuatu + { 31, 7, 233,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/British Virgin Islands +@@ -254,267 +254,268 @@ static const QCalendarLocale locale_data[] = { + { 31, 7, 256,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Sint Maarten + { 31, 7, 260,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/World + { 31, 7, 261,{ 0,48 },{ 48,86 },{ 134,24 },{ 0,48 },{ 48,86 },{ 134,24 }}, // English/Latin/Europe +- { 32, 7, 260,{ 5477,48 },{ 5525,91 },{ 134,24 },{ 5477,48 },{ 5525,91 },{ 134,24 }}, // Esperanto/Latin/World +- { 33, 7, 68,{ 5616,59 },{ 5675,91 },{ 5766,24 },{ 5616,59 },{ 5675,91 },{ 5766,24 }}, // Estonian/Latin/Estonia +- { 34, 7, 71,{ 5790,48 },{ 5838,83 },{ 134,24 },{ 5921,59 },{ 5838,83 },{ 134,24 }}, // Faroese/Latin/Faroe Islands +- { 34, 7, 58,{ 5790,48 },{ 5838,83 },{ 134,24 },{ 5921,59 },{ 5838,83 },{ 134,24 }}, // Faroese/Latin/Denmark +- { 36, 7, 73,{ 5980,69 },{ 6049,105 },{ 6154,24 },{ 6178,93 },{ 6271,129 },{ 6154,24 }}, // Finnish/Latin/Finland +- { 37, 7, 74,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/France +- { 37, 7, 3,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Algeria +- { 37, 7, 21,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Belgium +- { 37, 7, 23,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Benin +- { 37, 7, 34,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Burkina Faso +- { 37, 7, 35,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Burundi +- { 37, 7, 37,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Cameroon +- { 37, 7, 38,{ 6548,64 },{ 6463,85 },{ 134,24 },{ 6548,64 },{ 6463,85 },{ 134,24 }}, // French/Latin/Canada +- { 37, 7, 41,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Central African Republic +- { 37, 7, 42,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Chad +- { 37, 7, 48,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Comoros +- { 37, 7, 49,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Congo Kinshasa +- { 37, 7, 50,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Congo Brazzaville +- { 37, 7, 53,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Ivory Coast +- { 37, 7, 59,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Djibouti +- { 37, 7, 66,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Equatorial Guinea +- { 37, 7, 76,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/French Guiana +- { 37, 7, 77,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/French Polynesia +- { 37, 7, 79,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Gabon +- { 37, 7, 88,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Guadeloupe +- { 37, 7, 91,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Guinea +- { 37, 7, 94,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Haiti +- { 37, 7, 125,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Luxembourg +- { 37, 7, 128,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Madagascar +- { 37, 7, 132,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Mali +- { 37, 7, 135,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Martinique +- { 37, 7, 136,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Mauritania +- { 37, 7, 137,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Mauritius +- { 37, 7, 138,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Mayotte +- { 37, 7, 142,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Monaco +- { 37, 7, 145,{ 6612,61 },{ 6463,85 },{ 134,24 },{ 6612,61 },{ 6463,85 },{ 134,24 }}, // French/Latin/Morocco +- { 37, 7, 153,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/New Caledonia +- { 37, 7, 156,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Niger +- { 37, 7, 176,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Reunion +- { 37, 7, 179,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Rwanda +- { 37, 7, 187,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Senegal +- { 37, 7, 188,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Seychelles +- { 37, 7, 200,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Saint Pierre And Miquelon +- { 37, 7, 206,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Switzerland +- { 37, 7, 207,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Syria +- { 37, 7, 212,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Togo +- { 37, 7, 216,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Tunisia +- { 37, 7, 229,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Vanuatu +- { 37, 7, 235,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Wallis And Futuna Islands +- { 37, 7, 244,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Saint Barthelemy +- { 37, 7, 245,{ 6400,63 },{ 6463,85 },{ 134,24 },{ 6400,63 },{ 6463,85 },{ 134,24 }}, // French/Latin/Saint Martin +- { 38, 7, 151,{ 6673,48 },{ 6721,95 },{ 134,24 },{ 6673,48 },{ 6721,95 },{ 134,24 }}, // Western Frisian/Latin/Netherlands +- { 39, 7, 224,{ 6816,61 },{ 6877,142 },{ 7019,24 },{ 6816,61 },{ 7043,167 },{ 7019,24 }}, // Gaelic/Latin/United Kingdom +- { 40, 7, 197,{ 7210,60 },{ 7270,87 },{ 7357,24 },{ 7381,60 },{ 7441,87 },{ 7528,36 }}, // Galician/Latin/Spain +- { 41, 15, 81,{ 7564,48 },{ 7612,99 },{ 7711,24 },{ 7564,48 },{ 7612,99 },{ 7711,24 }}, // Georgian/Georgian/Georgia +- { 42, 7, 82,{ 7735,48 },{ 7783,83 },{ 134,24 },{ 7866,60 },{ 7783,83 },{ 134,24 }}, // German/Latin/Germany +- { 42, 7, 14,{ 7926,48 },{ 7974,83 },{ 134,24 },{ 8057,59 },{ 7974,83 },{ 134,24 }}, // German/Latin/Austria +- { 42, 7, 21,{ 7735,48 },{ 7783,83 },{ 134,24 },{ 7866,60 },{ 7783,83 },{ 134,24 }}, // German/Latin/Belgium +- { 42, 7, 106,{ 7926,48 },{ 7974,83 },{ 134,24 },{ 8057,59 },{ 7974,83 },{ 134,24 }}, // German/Latin/Italy +- { 42, 7, 123,{ 7735,48 },{ 7783,83 },{ 134,24 },{ 7866,60 },{ 7783,83 },{ 134,24 }}, // German/Latin/Liechtenstein +- { 42, 7, 125,{ 7735,48 },{ 7783,83 },{ 134,24 },{ 7866,60 },{ 7783,83 },{ 134,24 }}, // German/Latin/Luxembourg +- { 42, 7, 206,{ 7735,48 },{ 7783,83 },{ 134,24 },{ 7866,60 },{ 7783,83 },{ 134,24 }}, // German/Latin/Switzerland +- { 43, 16, 85,{ 8116,50 },{ 8166,115 },{ 8281,24 },{ 8305,50 },{ 8355,115 },{ 8281,24 }}, // Greek/Greek/Greece +- { 43, 16, 56,{ 8116,50 },{ 8166,115 },{ 8281,24 },{ 8305,50 },{ 8355,115 },{ 8281,24 }}, // Greek/Greek/Cyprus +- { 44, 7, 86,{ 8470,50 },{ 8520,99 },{ 134,24 },{ 8470,50 },{ 8619,111 },{ 134,24 }}, // Greenlandic/Latin/Greenland ++ { 32, 7, 260,{ 5500,48 },{ 5548,91 },{ 134,24 },{ 5500,48 },{ 5548,91 },{ 134,24 }}, // Esperanto/Latin/World ++ { 33, 7, 68,{ 5639,59 },{ 5698,91 },{ 5789,24 },{ 5639,59 },{ 5698,91 },{ 5789,24 }}, // Estonian/Latin/Estonia ++ { 34, 7, 71,{ 5813,48 },{ 5861,83 },{ 134,24 },{ 5944,59 },{ 5861,83 },{ 134,24 }}, // Faroese/Latin/Faroe Islands ++ { 34, 7, 58,{ 5813,48 },{ 5861,83 },{ 134,24 },{ 5944,59 },{ 5861,83 },{ 134,24 }}, // Faroese/Latin/Denmark ++ { 36, 7, 73,{ 6003,69 },{ 6072,105 },{ 6177,24 },{ 6201,93 },{ 6294,129 },{ 6177,24 }}, // Finnish/Latin/Finland ++ { 37, 7, 74,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/France ++ { 37, 7, 3,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Algeria ++ { 37, 7, 21,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Belgium ++ { 37, 7, 23,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Benin ++ { 37, 7, 34,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Burkina Faso ++ { 37, 7, 35,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Burundi ++ { 37, 7, 37,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Cameroon ++ { 37, 7, 38,{ 6571,64 },{ 6486,85 },{ 134,24 },{ 6571,64 },{ 6486,85 },{ 134,24 }}, // French/Latin/Canada ++ { 37, 7, 41,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Central African Republic ++ { 37, 7, 42,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Chad ++ { 37, 7, 48,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Comoros ++ { 37, 7, 49,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Congo Kinshasa ++ { 37, 7, 50,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Congo Brazzaville ++ { 37, 7, 53,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Ivory Coast ++ { 37, 7, 59,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Djibouti ++ { 37, 7, 66,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Equatorial Guinea ++ { 37, 7, 76,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/French Guiana ++ { 37, 7, 77,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/French Polynesia ++ { 37, 7, 79,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Gabon ++ { 37, 7, 88,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Guadeloupe ++ { 37, 7, 91,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Guinea ++ { 37, 7, 94,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Haiti ++ { 37, 7, 125,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Luxembourg ++ { 37, 7, 128,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Madagascar ++ { 37, 7, 132,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Mali ++ { 37, 7, 135,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Martinique ++ { 37, 7, 136,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Mauritania ++ { 37, 7, 137,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Mauritius ++ { 37, 7, 138,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Mayotte ++ { 37, 7, 142,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Monaco ++ { 37, 7, 145,{ 6635,61 },{ 6486,85 },{ 134,24 },{ 6635,61 },{ 6486,85 },{ 134,24 }}, // French/Latin/Morocco ++ { 37, 7, 153,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/New Caledonia ++ { 37, 7, 156,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Niger ++ { 37, 7, 176,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Reunion ++ { 37, 7, 179,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Rwanda ++ { 37, 7, 187,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Senegal ++ { 37, 7, 188,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Seychelles ++ { 37, 7, 200,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Saint Pierre And Miquelon ++ { 37, 7, 206,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Switzerland ++ { 37, 7, 207,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Syria ++ { 37, 7, 212,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Togo ++ { 37, 7, 216,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Tunisia ++ { 37, 7, 229,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Vanuatu ++ { 37, 7, 235,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Wallis And Futuna Islands ++ { 37, 7, 244,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Saint Barthelemy ++ { 37, 7, 245,{ 6423,63 },{ 6486,85 },{ 134,24 },{ 6423,63 },{ 6486,85 },{ 134,24 }}, // French/Latin/Saint Martin ++ { 38, 7, 151,{ 6696,48 },{ 6744,95 },{ 134,24 },{ 6696,48 },{ 6744,95 },{ 134,24 }}, // Western Frisian/Latin/Netherlands ++ { 39, 7, 224,{ 6839,61 },{ 6900,142 },{ 7042,24 },{ 6839,61 },{ 7066,167 },{ 7042,24 }}, // Gaelic/Latin/United Kingdom ++ { 40, 7, 197,{ 7233,60 },{ 7293,87 },{ 7380,24 },{ 7404,60 },{ 7464,87 },{ 7551,36 }}, // Galician/Latin/Spain ++ { 41, 15, 81,{ 7587,48 },{ 7635,99 },{ 7734,24 },{ 7587,48 },{ 7635,99 },{ 7734,24 }}, // Georgian/Georgian/Georgia ++ { 42, 7, 82,{ 7758,48 },{ 7806,83 },{ 134,24 },{ 7889,60 },{ 7806,83 },{ 134,24 }}, // German/Latin/Germany ++ { 42, 7, 14,{ 7949,48 },{ 7997,83 },{ 134,24 },{ 8080,59 },{ 7997,83 },{ 134,24 }}, // German/Latin/Austria ++ { 42, 7, 21,{ 7758,48 },{ 7806,83 },{ 134,24 },{ 7889,60 },{ 7806,83 },{ 134,24 }}, // German/Latin/Belgium ++ { 42, 7, 106,{ 7949,48 },{ 7997,83 },{ 134,24 },{ 8080,59 },{ 7997,83 },{ 134,24 }}, // German/Latin/Italy ++ { 42, 7, 123,{ 7758,48 },{ 7806,83 },{ 134,24 },{ 7889,60 },{ 7806,83 },{ 134,24 }}, // German/Latin/Liechtenstein ++ { 42, 7, 125,{ 7758,48 },{ 7806,83 },{ 134,24 },{ 7889,60 },{ 7806,83 },{ 134,24 }}, // German/Latin/Luxembourg ++ { 42, 7, 206,{ 7758,48 },{ 7806,83 },{ 134,24 },{ 7889,60 },{ 7806,83 },{ 134,24 }}, // German/Latin/Switzerland ++ { 43, 16, 85,{ 8139,50 },{ 8189,115 },{ 8304,24 },{ 8328,50 },{ 8378,115 },{ 8304,24 }}, // Greek/Greek/Greece ++ { 43, 16, 56,{ 8139,50 },{ 8189,115 },{ 8304,24 },{ 8328,50 },{ 8378,115 },{ 8304,24 }}, // Greek/Greek/Cyprus ++ { 44, 7, 86,{ 8493,50 },{ 8543,99 },{ 134,24 },{ 8493,50 },{ 8642,111 },{ 134,24 }}, // Greenlandic/Latin/Greenland + { 45, 7, 168,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Guarani/Latin/Paraguay +- { 46, 17, 100,{ 8730,67 },{ 8797,87 },{ 8884,31 },{ 8730,67 },{ 8797,87 },{ 8884,31 }}, // Gujarati/Gujarati/India +- { 47, 7, 157,{ 8915,48 },{ 8963,85 },{ 9048,24 },{ 8915,48 },{ 8963,85 },{ 9048,24 }}, // Hausa/Latin/Nigeria ++ { 46, 17, 100,{ 8753,67 },{ 8820,87 },{ 8907,31 },{ 8753,67 },{ 8820,87 },{ 8907,31 }}, // Gujarati/Gujarati/India ++ { 47, 7, 157,{ 8938,48 },{ 8986,85 },{ 9071,24 },{ 8938,48 },{ 8986,85 },{ 9071,24 }}, // Hausa/Latin/Nigeria + { 47, 1, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Hausa/Arabic/Nigeria +- { 47, 7, 83,{ 8915,48 },{ 8963,85 },{ 9048,24 },{ 8915,48 },{ 8963,85 },{ 9048,24 }}, // Hausa/Latin/Ghana +- { 47, 7, 156,{ 8915,48 },{ 8963,85 },{ 9048,24 },{ 8915,48 },{ 8963,85 },{ 9048,24 }}, // Hausa/Latin/Niger +- { 48, 18, 105,{ 9072,58 },{ 9130,72 },{ 418,27 },{ 9072,58 },{ 9130,72 },{ 418,27 }}, // Hebrew/Hebrew/Israel +- { 49, 13, 100,{ 9202,59 },{ 9261,73 },{ 9334,30 },{ 9202,59 },{ 9261,73 },{ 9334,30 }}, // Hindi/Devanagari/India ++ { 47, 7, 83,{ 8938,48 },{ 8986,85 },{ 9071,24 },{ 8938,48 },{ 8986,85 },{ 9071,24 }}, // Hausa/Latin/Ghana ++ { 47, 7, 156,{ 8938,48 },{ 8986,85 },{ 9071,24 },{ 8938,48 },{ 8986,85 },{ 9071,24 }}, // Hausa/Latin/Niger ++ { 48, 18, 105,{ 9095,58 },{ 9153,72 },{ 418,27 },{ 9095,58 },{ 9153,72 },{ 418,27 }}, // Hebrew/Hebrew/Israel ++ { 49, 13, 100,{ 9225,59 },{ 9284,73 },{ 9357,30 },{ 9225,59 },{ 9284,73 },{ 9357,30 }}, // Hindi/Devanagari/India + { 49, 7, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Hindi/Latin/India +- { 50, 7, 98,{ 9364,64 },{ 9428,98 },{ 9526,25 },{ 9364,64 },{ 9428,98 },{ 9526,25 }}, // Hungarian/Latin/Hungary +- { 51, 7, 99,{ 9551,59 },{ 9610,82 },{ 9692,24 },{ 9551,59 },{ 9610,82 },{ 9692,24 }}, // Icelandic/Latin/Iceland +- { 52, 7, 101,{ 9716,48 },{ 9764,87 },{ 134,24 },{ 9716,48 },{ 9764,87 },{ 134,24 }}, // Indonesian/Latin/Indonesia +- { 53, 7, 260,{ 9851,48 },{ 9899,93 },{ 418,27 },{ 9851,48 },{ 9899,93 },{ 9992,24 }}, // Interlingua/Latin/World ++ { 50, 7, 98,{ 9387,64 },{ 9451,98 },{ 9549,25 },{ 9387,64 },{ 9451,98 },{ 9549,25 }}, // Hungarian/Latin/Hungary ++ { 51, 7, 99,{ 9574,59 },{ 9633,82 },{ 9715,24 },{ 9574,59 },{ 9633,82 },{ 9715,24 }}, // Icelandic/Latin/Iceland ++ { 52, 7, 101,{ 9739,48 },{ 9787,87 },{ 134,24 },{ 9739,48 },{ 9787,87 },{ 134,24 }}, // Indonesian/Latin/Indonesia ++ { 53, 7, 260,{ 9874,48 },{ 9922,93 },{ 418,27 },{ 9874,48 },{ 9922,93 },{ 10015,24 }}, // Interlingua/Latin/World + { 55, 44, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Inuktitut/Canadian Aboriginal/Canada + { 55, 7, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Inuktitut/Latin/Canada +- { 57, 7, 104,{ 10016,62 },{ 10078,107 },{ 10185,24 },{ 10016,62 },{ 10078,107 },{ 10185,24 }}, // Irish/Latin/Ireland +- { 57, 7, 224,{ 10016,62 },{ 10078,107 },{ 10185,24 },{ 10016,62 },{ 10078,107 },{ 10185,24 }}, // Irish/Latin/United Kingdom +- { 58, 7, 106,{ 10209,48 },{ 10257,94 },{ 10351,24 },{ 10209,48 },{ 10257,94 },{ 10351,24 }}, // Italian/Latin/Italy +- { 58, 7, 184,{ 10209,48 },{ 10257,94 },{ 10351,24 },{ 10209,48 },{ 10257,94 },{ 10351,24 }}, // Italian/Latin/San Marino +- { 58, 7, 206,{ 10209,48 },{ 10257,94 },{ 10351,24 },{ 10209,48 },{ 10257,94 },{ 10351,24 }}, // Italian/Latin/Switzerland +- { 58, 7, 230,{ 10209,48 },{ 10257,94 },{ 10351,24 },{ 10209,48 },{ 10257,94 },{ 10351,24 }}, // Italian/Latin/Vatican City State +- { 59, 19, 108,{ 4557,39 },{ 4557,39 },{ 418,27 },{ 4557,39 },{ 4557,39 },{ 418,27 }}, // Japanese/Japanese/Japan +- { 60, 7, 101,{ 10375,48 },{ 9764,87 },{ 134,24 },{ 10375,48 },{ 9764,87 },{ 134,24 }}, // Javanese/Latin/Indonesia +- { 61, 21, 100,{ 10423,63 },{ 10486,87 },{ 10573,31 },{ 10604,69 },{ 10486,87 },{ 10573,31 }}, // Kannada/Kannada/India +- { 62, 1, 100,{ 10673,72 },{ 10673,72 },{ 10745,24 },{ 10673,72 },{ 10673,72 },{ 10745,24 }}, // Kashmiri/Arabic/India ++ { 57, 7, 104,{ 10039,62 },{ 10101,107 },{ 10208,24 },{ 10039,62 },{ 10101,107 },{ 10208,24 }}, // Irish/Latin/Ireland ++ { 57, 7, 224,{ 10039,62 },{ 10101,107 },{ 10208,24 },{ 10039,62 },{ 10101,107 },{ 10208,24 }}, // Irish/Latin/United Kingdom ++ { 58, 7, 106,{ 10232,48 },{ 10280,94 },{ 10374,24 },{ 10232,48 },{ 10280,94 },{ 10374,24 }}, // Italian/Latin/Italy ++ { 58, 7, 184,{ 10232,48 },{ 10280,94 },{ 10374,24 },{ 10232,48 },{ 10280,94 },{ 10374,24 }}, // Italian/Latin/San Marino ++ { 58, 7, 206,{ 10232,48 },{ 10280,94 },{ 10374,24 },{ 10232,48 },{ 10280,94 },{ 10374,24 }}, // Italian/Latin/Switzerland ++ { 58, 7, 230,{ 10232,48 },{ 10280,94 },{ 10374,24 },{ 10232,48 },{ 10280,94 },{ 10374,24 }}, // Italian/Latin/Vatican City State ++ { 59, 19, 108,{ 4480,39 },{ 4480,39 },{ 418,27 },{ 4480,39 },{ 4480,39 },{ 418,27 }}, // Japanese/Japanese/Japan ++ { 60, 7, 101,{ 10398,48 },{ 9787,87 },{ 134,24 },{ 10398,48 },{ 9787,87 },{ 134,24 }}, // Javanese/Latin/Indonesia ++ { 61, 21, 100,{ 10446,63 },{ 10509,87 },{ 10596,31 },{ 10627,69 },{ 10509,87 },{ 10596,31 }}, // Kannada/Kannada/India ++ { 62, 1, 100,{ 10696,72 },{ 10696,72 },{ 10768,24 },{ 10696,72 },{ 10696,72 },{ 10768,24 }}, // Kashmiri/Arabic/India + { 62, 13, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kashmiri/Devanagari/India +- { 63, 2, 110,{ 10769,60 },{ 10829,83 },{ 10912,24 },{ 10769,60 },{ 10936,83 },{ 10912,24 }}, // Kazakh/Cyrillic/Kazakhstan +- { 64, 7, 179,{ 11019,60 },{ 11079,101 },{ 418,27 },{ 11019,60 },{ 11079,101 },{ 418,27 }}, // Kinyarwanda/Latin/Rwanda +- { 65, 2, 116,{ 11180,48 },{ 11228,80 },{ 11308,24 },{ 11332,59 },{ 11391,80 },{ 11308,24 }}, // Kirghiz/Cyrillic/Kyrgyzstan +- { 66, 22, 114,{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 }}, // Korean/Korean/South Korea +- { 66, 22, 113,{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 },{ 11471,39 }}, // Korean/Korean/North Korea +- { 67, 7, 217,{ 11510,48 },{ 11558,88 },{ 11646,24 },{ 11510,48 },{ 11670,101 },{ 11646,24 }}, // Kurdish/Latin/Turkey +- { 68, 7, 35,{ 11771,60 },{ 11831,106 },{ 418,27 },{ 11771,60 },{ 11831,106 },{ 418,27 }}, // Rundi/Latin/Burundi +- { 69, 23, 117,{ 11937,61 },{ 11998,75 },{ 418,27 },{ 11937,61 },{ 11998,75 },{ 418,27 }}, // Lao/Lao/Laos +- { 71, 7, 118,{ 12073,65 },{ 12138,101 },{ 134,24 },{ 12073,65 },{ 12138,101 },{ 134,24 }}, // Latvian/Latin/Latvia +- { 72, 7, 49,{ 12239,48 },{ 12287,203 },{ 12490,24 },{ 12239,48 },{ 12287,203 },{ 12490,24 }}, // Lingala/Latin/Congo Kinshasa +- { 72, 7, 6,{ 12239,48 },{ 12287,203 },{ 12490,24 },{ 12239,48 },{ 12287,203 },{ 12490,24 }}, // Lingala/Latin/Angola +- { 72, 7, 41,{ 12239,48 },{ 12287,203 },{ 12490,24 },{ 12239,48 },{ 12287,203 },{ 12490,24 }}, // Lingala/Latin/Central African Republic +- { 72, 7, 50,{ 12239,48 },{ 12287,203 },{ 12490,24 },{ 12239,48 },{ 12287,203 },{ 12490,24 }}, // Lingala/Latin/Congo Brazzaville +- { 73, 7, 124,{ 12514,70 },{ 12584,96 },{ 12680,24 },{ 12514,70 },{ 12704,98 },{ 12680,24 }}, // Lithuanian/Latin/Lithuania +- { 74, 2, 127,{ 12802,61 },{ 12863,85 },{ 12948,24 },{ 12802,61 },{ 12863,85 },{ 12948,24 }}, // Macedonian/Cyrillic/Macedonia +- { 75, 7, 128,{ 12972,48 },{ 13020,92 },{ 134,24 },{ 12972,48 },{ 13020,92 },{ 134,24 }}, // Malagasy/Latin/Madagascar +- { 76, 7, 130,{ 13112,48 },{ 13160,82 },{ 13242,24 },{ 13112,48 },{ 13160,82 },{ 13242,24 }}, // Malay/Latin/Malaysia ++ { 63, 2, 110,{ 10792,60 },{ 10852,83 },{ 10935,24 },{ 10792,60 },{ 10959,83 },{ 10935,24 }}, // Kazakh/Cyrillic/Kazakhstan ++ { 64, 7, 179,{ 11042,60 },{ 11102,101 },{ 418,27 },{ 11042,60 },{ 11102,101 },{ 418,27 }}, // Kinyarwanda/Latin/Rwanda ++ { 65, 2, 116,{ 11203,48 },{ 11251,80 },{ 11331,24 },{ 11355,59 },{ 11414,80 },{ 11331,24 }}, // Kirghiz/Cyrillic/Kyrgyzstan ++ { 66, 22, 114,{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 }}, // Korean/Korean/South Korea ++ { 66, 22, 113,{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 },{ 11494,39 }}, // Korean/Korean/North Korea ++ { 67, 7, 217,{ 11533,48 },{ 11581,88 },{ 11669,24 },{ 11533,48 },{ 11693,101 },{ 11669,24 }}, // Kurdish/Latin/Turkey ++ { 68, 7, 35,{ 11794,60 },{ 11854,106 },{ 418,27 },{ 11794,60 },{ 11854,106 },{ 418,27 }}, // Rundi/Latin/Burundi ++ { 69, 23, 117,{ 11960,61 },{ 12021,75 },{ 418,27 },{ 11960,61 },{ 12021,75 },{ 418,27 }}, // Lao/Lao/Laos ++ { 70, 7, 230,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Latin/Latin/Vatican City State ++ { 71, 7, 118,{ 12096,65 },{ 12161,101 },{ 134,24 },{ 12096,65 },{ 12161,101 },{ 134,24 }}, // Latvian/Latin/Latvia ++ { 72, 7, 49,{ 12262,48 },{ 12310,203 },{ 12513,24 },{ 12262,48 },{ 12310,203 },{ 12513,24 }}, // Lingala/Latin/Congo Kinshasa ++ { 72, 7, 6,{ 12262,48 },{ 12310,203 },{ 12513,24 },{ 12262,48 },{ 12310,203 },{ 12513,24 }}, // Lingala/Latin/Angola ++ { 72, 7, 41,{ 12262,48 },{ 12310,203 },{ 12513,24 },{ 12262,48 },{ 12310,203 },{ 12513,24 }}, // Lingala/Latin/Central African Republic ++ { 72, 7, 50,{ 12262,48 },{ 12310,203 },{ 12513,24 },{ 12262,48 },{ 12310,203 },{ 12513,24 }}, // Lingala/Latin/Congo Brazzaville ++ { 73, 7, 124,{ 12537,70 },{ 12607,96 },{ 12703,24 },{ 12537,70 },{ 12727,98 },{ 12703,24 }}, // Lithuanian/Latin/Lithuania ++ { 74, 2, 127,{ 12825,61 },{ 12886,85 },{ 12971,24 },{ 12825,61 },{ 12886,85 },{ 12971,24 }}, // Macedonian/Cyrillic/Macedonia ++ { 75, 7, 128,{ 12995,48 },{ 13043,92 },{ 134,24 },{ 12995,48 },{ 13043,92 },{ 134,24 }}, // Malagasy/Latin/Madagascar ++ { 76, 7, 130,{ 13135,48 },{ 13183,82 },{ 13265,24 },{ 13135,48 },{ 13183,82 },{ 13265,24 }}, // Malay/Latin/Malaysia + { 76, 1, 130,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Malay/Arabic/Malaysia +- { 76, 7, 32,{ 13112,48 },{ 13160,82 },{ 13242,24 },{ 13112,48 },{ 13160,82 },{ 13242,24 }}, // Malay/Latin/Brunei +- { 76, 7, 101,{ 13112,48 },{ 13160,82 },{ 13242,24 },{ 13112,48 },{ 13160,82 },{ 13242,24 }}, // Malay/Latin/Indonesia +- { 76, 7, 190,{ 13112,48 },{ 13160,82 },{ 13242,24 },{ 13112,48 },{ 13160,82 },{ 13242,24 }}, // Malay/Latin/Singapore +- { 77, 24, 100,{ 13266,62 },{ 13328,88 },{ 13416,32 },{ 13266,62 },{ 13328,88 },{ 13416,32 }}, // Malayalam/Malayalam/India +- { 78, 7, 133,{ 13448,48 },{ 13496,86 },{ 13582,36 },{ 13448,48 },{ 13496,86 },{ 13618,24 }}, // Maltese/Latin/Malta +- { 79, 7, 154,{ 13642,59 },{ 13701,133 },{ 13834,24 },{ 13642,59 },{ 13701,133 },{ 13834,24 }}, // Maori/Latin/New Zealand +- { 80, 13, 100,{ 13858,66 },{ 13924,86 },{ 14010,32 },{ 13858,66 },{ 13924,86 },{ 14010,32 }}, // Marathi/Devanagari/India +- { 82, 2, 143,{ 14042,99 },{ 14141,192 },{ 14333,38 },{ 14042,99 },{ 14371,192 },{ 14333,38 }}, // Mongolian/Cyrillic/Mongolia ++ { 76, 7, 32,{ 13135,48 },{ 13183,82 },{ 13265,24 },{ 13135,48 },{ 13183,82 },{ 13265,24 }}, // Malay/Latin/Brunei ++ { 76, 7, 101,{ 13135,48 },{ 13183,82 },{ 13265,24 },{ 13135,48 },{ 13183,82 },{ 13265,24 }}, // Malay/Latin/Indonesia ++ { 76, 7, 190,{ 13135,48 },{ 13183,82 },{ 13265,24 },{ 13135,48 },{ 13183,82 },{ 13265,24 }}, // Malay/Latin/Singapore ++ { 77, 24, 100,{ 13289,62 },{ 13351,88 },{ 13439,32 },{ 13289,62 },{ 13351,88 },{ 13439,32 }}, // Malayalam/Malayalam/India ++ { 78, 7, 133,{ 13471,48 },{ 13519,86 },{ 13605,36 },{ 13471,48 },{ 13519,86 },{ 13641,24 }}, // Maltese/Latin/Malta ++ { 79, 7, 154,{ 13665,59 },{ 13724,133 },{ 13857,24 },{ 13665,59 },{ 13724,133 },{ 13857,24 }}, // Maori/Latin/New Zealand ++ { 80, 13, 100,{ 13881,66 },{ 13947,86 },{ 14033,32 },{ 13881,66 },{ 13947,86 },{ 14033,32 }}, // Marathi/Devanagari/India ++ { 82, 2, 143,{ 14065,99 },{ 14164,192 },{ 14356,38 },{ 14065,99 },{ 14394,192 },{ 14356,38 }}, // Mongolian/Cyrillic/Mongolia + { 82, 8, 44,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mongolian/Mongolian/China +- { 84, 13, 150,{ 14563,85 },{ 14563,85 },{ 14648,53 },{ 14563,85 },{ 14563,85 },{ 14701,52 }}, // Nepali/Devanagari/Nepal +- { 84, 13, 100,{ 14563,85 },{ 14563,85 },{ 14648,53 },{ 14563,85 },{ 14563,85 },{ 14701,52 }}, // Nepali/Devanagari/India +- { 85, 7, 161,{ 5790,48 },{ 14753,83 },{ 134,24 },{ 5921,59 },{ 14753,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Norway +- { 85, 7, 203,{ 5790,48 },{ 14753,83 },{ 134,24 },{ 5921,59 },{ 14753,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands ++ { 84, 13, 150,{ 14586,85 },{ 14586,85 },{ 14671,53 },{ 14586,85 },{ 14586,85 },{ 14724,52 }}, // Nepali/Devanagari/Nepal ++ { 84, 13, 100,{ 14586,85 },{ 14586,85 },{ 14671,53 },{ 14586,85 },{ 14586,85 },{ 14724,52 }}, // Nepali/Devanagari/India ++ { 85, 7, 161,{ 5813,48 },{ 14776,83 },{ 134,24 },{ 5944,59 },{ 14776,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Norway ++ { 85, 7, 203,{ 5813,48 },{ 14776,83 },{ 134,24 },{ 5944,59 },{ 14776,83 },{ 134,24 }}, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands + { 86, 7, 74,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Occitan/Latin/France +- { 87, 26, 100,{ 14836,86 },{ 14836,86 },{ 14922,32 },{ 14836,86 },{ 14836,86 },{ 14922,32 }}, // Oriya/Oriya/India +- { 88, 1, 1,{ 14954,68 },{ 15022,69 },{ 418,27 },{ 15091,69 },{ 15091,69 },{ 15160,24 }}, // Pashto/Arabic/Afghanistan +- { 88, 1, 163,{ 14954,68 },{ 15022,69 },{ 418,27 },{ 15091,69 },{ 15091,69 },{ 15160,24 }}, // Pashto/Arabic/Pakistan +- { 89, 1, 102,{ 15184,70 },{ 15184,70 },{ 15254,24 },{ 15278,74 },{ 15278,74 },{ 15254,24 }}, // Persian/Arabic/Iran +- { 89, 1, 1,{ 15352,68 },{ 15352,68 },{ 15160,24 },{ 15420,62 },{ 15352,68 },{ 15160,24 }}, // Persian/Arabic/Afghanistan +- { 90, 7, 172,{ 15482,48 },{ 15530,97 },{ 15627,24 },{ 15482,48 },{ 15651,99 },{ 15750,24 }}, // Polish/Latin/Poland +- { 91, 7, 30,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Brazil +- { 91, 7, 6,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Angola +- { 91, 7, 39,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Cape Verde +- { 91, 7, 62,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/East Timor +- { 91, 7, 66,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Equatorial Guinea +- { 91, 7, 92,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Guinea Bissau +- { 91, 7, 125,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Luxembourg +- { 91, 7, 126,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Macau +- { 91, 7, 146,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Mozambique +- { 91, 7, 173,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Portugal +- { 91, 7, 185,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Sao Tome And Principe +- { 91, 7, 206,{ 15774,60 },{ 15834,89 },{ 134,24 },{ 15774,60 },{ 15834,89 },{ 134,24 }}, // Portuguese/Latin/Switzerland +- { 92, 4, 100,{ 15923,50 },{ 15973,68 },{ 16041,28 },{ 15923,50 },{ 15973,68 },{ 16041,28 }}, // Punjabi/Gurmukhi/India +- { 92, 1, 163,{ 16069,67 },{ 16069,67 },{ 418,27 },{ 16069,67 },{ 16069,67 },{ 418,27 }}, // Punjabi/Arabic/Pakistan +- { 93, 7, 169,{ 16136,48 },{ 16184,88 },{ 418,27 },{ 16136,48 },{ 16184,88 },{ 418,27 }}, // Quechua/Latin/Peru +- { 93, 7, 26,{ 16136,48 },{ 16184,88 },{ 418,27 },{ 16136,48 },{ 16184,88 },{ 418,27 }}, // Quechua/Latin/Bolivia +- { 93, 7, 63,{ 16136,48 },{ 16184,88 },{ 418,27 },{ 16136,48 },{ 16184,88 },{ 418,27 }}, // Quechua/Latin/Ecuador +- { 94, 7, 206,{ 16272,67 },{ 16339,92 },{ 16431,24 },{ 16272,67 },{ 16455,125 },{ 16431,24 }}, // Romansh/Latin/Switzerland +- { 95, 7, 177,{ 16580,60 },{ 16640,98 },{ 16738,24 },{ 16580,60 },{ 16640,98 },{ 16738,24 }}, // Romanian/Latin/Romania +- { 95, 7, 141,{ 16580,60 },{ 16640,98 },{ 16738,24 },{ 16580,60 },{ 16640,98 },{ 16738,24 }}, // Romanian/Latin/Moldova +- { 96, 2, 178,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Russia +- { 96, 2, 20,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Belarus +- { 96, 2, 110,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Kazakhstan +- { 96, 2, 116,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Kyrgyzstan +- { 96, 2, 141,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Moldova +- { 96, 2, 222,{ 16762,62 },{ 11391,80 },{ 11308,24 },{ 16824,62 },{ 16886,82 },{ 11308,24 }}, // Russian/Cyrillic/Ukraine +- { 98, 7, 41,{ 16968,48 },{ 17016,91 },{ 17107,24 },{ 16968,48 },{ 17016,91 },{ 17107,24 }}, // Sango/Latin/Central African Republic +- { 99, 13, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sanskrit/Devanagari/India +- { 100, 2, 243,{ 17131,48 },{ 17179,81 },{ 12948,24 },{ 17131,48 },{ 17179,81 },{ 12948,24 }}, // Serbian/Cyrillic/Serbia +- { 100, 7, 27,{ 17260,48 },{ 17308,81 },{ 9992,24 },{ 17260,48 },{ 17308,81 },{ 9992,24 }}, // Serbian/Latin/Bosnia And Herzegowina +- { 100, 7, 242,{ 17389,50 },{ 17308,81 },{ 9992,24 },{ 17389,50 },{ 17308,81 },{ 9992,24 }}, // Serbian/Latin/Montenegro +- { 100, 7, 243,{ 17260,48 },{ 17308,81 },{ 9992,24 },{ 17260,48 },{ 17308,81 },{ 9992,24 }}, // Serbian/Latin/Serbia +- { 100, 2, 27,{ 17131,48 },{ 17179,81 },{ 12948,24 },{ 17131,48 },{ 17179,81 },{ 12948,24 }}, // Serbian/Cyrillic/Bosnia And Herzegowina +- { 100, 2, 242,{ 17439,50 },{ 17179,81 },{ 12948,24 },{ 17439,50 },{ 17179,81 },{ 12948,24 }}, // Serbian/Cyrillic/Montenegro +- { 100, 2, 257,{ 17439,50 },{ 17179,81 },{ 12948,24 },{ 17439,50 },{ 17179,81 },{ 12948,24 }}, // Serbian/Cyrillic/Kosovo +- { 100, 7, 257,{ 17389,50 },{ 17308,81 },{ 9992,24 },{ 17389,50 },{ 17308,81 },{ 9992,24 }}, // Serbian/Latin/Kosovo +- { 101, 2, 81,{ 17489,63 },{ 17552,82 },{ 11308,24 },{ 17634,60 },{ 17694,86 },{ 11308,24 }}, // Ossetic/Cyrillic/Georgia +- { 101, 2, 178,{ 17489,63 },{ 17552,82 },{ 11308,24 },{ 17634,60 },{ 17694,86 },{ 11308,24 }}, // Ossetic/Cyrillic/Russia ++ { 87, 26, 100,{ 14859,86 },{ 14859,86 },{ 14945,32 },{ 14859,86 },{ 14859,86 },{ 14945,32 }}, // Oriya/Oriya/India ++ { 88, 1, 1,{ 14977,68 },{ 15045,69 },{ 418,27 },{ 15114,69 },{ 15114,69 },{ 15183,24 }}, // Pashto/Arabic/Afghanistan ++ { 88, 1, 163,{ 14977,68 },{ 15045,69 },{ 418,27 },{ 15114,69 },{ 15114,69 },{ 15183,24 }}, // Pashto/Arabic/Pakistan ++ { 89, 1, 102,{ 15207,70 },{ 15207,70 },{ 15277,24 },{ 15301,74 },{ 15301,74 },{ 15277,24 }}, // Persian/Arabic/Iran ++ { 89, 1, 1,{ 15375,68 },{ 15375,68 },{ 15183,24 },{ 15443,62 },{ 15375,68 },{ 15183,24 }}, // Persian/Arabic/Afghanistan ++ { 90, 7, 172,{ 15505,48 },{ 15553,97 },{ 15650,24 },{ 15505,48 },{ 15674,99 },{ 15773,24 }}, // Polish/Latin/Poland ++ { 91, 7, 30,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Brazil ++ { 91, 7, 6,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Angola ++ { 91, 7, 39,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Cape Verde ++ { 91, 7, 62,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/East Timor ++ { 91, 7, 66,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Equatorial Guinea ++ { 91, 7, 92,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Guinea Bissau ++ { 91, 7, 125,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Luxembourg ++ { 91, 7, 126,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Macau ++ { 91, 7, 146,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Mozambique ++ { 91, 7, 173,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Portugal ++ { 91, 7, 185,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Sao Tome And Principe ++ { 91, 7, 206,{ 15797,60 },{ 15857,89 },{ 134,24 },{ 15797,60 },{ 15857,89 },{ 134,24 }}, // Portuguese/Latin/Switzerland ++ { 92, 4, 100,{ 15946,50 },{ 15996,68 },{ 16064,28 },{ 15946,50 },{ 15996,68 },{ 16064,28 }}, // Punjabi/Gurmukhi/India ++ { 92, 1, 163,{ 16092,67 },{ 16092,67 },{ 418,27 },{ 16092,67 },{ 16092,67 },{ 418,27 }}, // Punjabi/Arabic/Pakistan ++ { 93, 7, 169,{ 16159,48 },{ 16207,88 },{ 418,27 },{ 16159,48 },{ 16207,88 },{ 418,27 }}, // Quechua/Latin/Peru ++ { 93, 7, 26,{ 16159,48 },{ 16207,88 },{ 418,27 },{ 16159,48 },{ 16207,88 },{ 418,27 }}, // Quechua/Latin/Bolivia ++ { 93, 7, 63,{ 16159,48 },{ 16207,88 },{ 418,27 },{ 16159,48 },{ 16207,88 },{ 418,27 }}, // Quechua/Latin/Ecuador ++ { 94, 7, 206,{ 16295,67 },{ 16362,92 },{ 16454,24 },{ 16295,67 },{ 16478,125 },{ 16454,24 }}, // Romansh/Latin/Switzerland ++ { 95, 7, 177,{ 16603,60 },{ 16663,98 },{ 16761,24 },{ 16603,60 },{ 16663,98 },{ 16761,24 }}, // Romanian/Latin/Romania ++ { 95, 7, 141,{ 16603,60 },{ 16663,98 },{ 16761,24 },{ 16603,60 },{ 16663,98 },{ 16761,24 }}, // Romanian/Latin/Moldova ++ { 96, 2, 178,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Russia ++ { 96, 2, 20,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Belarus ++ { 96, 2, 110,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Kazakhstan ++ { 96, 2, 116,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Kyrgyzstan ++ { 96, 2, 141,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Moldova ++ { 96, 2, 222,{ 16785,62 },{ 11414,80 },{ 11331,24 },{ 16847,62 },{ 16909,82 },{ 11331,24 }}, // Russian/Cyrillic/Ukraine ++ { 98, 7, 41,{ 16991,48 },{ 17039,91 },{ 17130,24 },{ 16991,48 },{ 17039,91 },{ 17130,24 }}, // Sango/Latin/Central African Republic ++ { 99, 13, 100,{ 17154,83 },{ 17237,120 },{ 418,27 },{ 17154,83 },{ 17237,120 },{ 17357,29 }}, // Sanskrit/Devanagari/India ++ { 100, 2, 243,{ 17386,48 },{ 17434,81 },{ 12971,24 },{ 17386,48 },{ 17434,81 },{ 12971,24 }}, // Serbian/Cyrillic/Serbia ++ { 100, 7, 27,{ 17515,48 },{ 17563,81 },{ 10015,24 },{ 17515,48 },{ 17563,81 },{ 10015,24 }}, // Serbian/Latin/Bosnia And Herzegowina ++ { 100, 7, 242,{ 17644,50 },{ 17563,81 },{ 10015,24 },{ 17644,50 },{ 17563,81 },{ 10015,24 }}, // Serbian/Latin/Montenegro ++ { 100, 7, 243,{ 17515,48 },{ 17563,81 },{ 10015,24 },{ 17515,48 },{ 17563,81 },{ 10015,24 }}, // Serbian/Latin/Serbia ++ { 100, 2, 27,{ 17386,48 },{ 17434,81 },{ 12971,24 },{ 17386,48 },{ 17434,81 },{ 12971,24 }}, // Serbian/Cyrillic/Bosnia And Herzegowina ++ { 100, 2, 242,{ 17694,50 },{ 17434,81 },{ 12971,24 },{ 17694,50 },{ 17434,81 },{ 12971,24 }}, // Serbian/Cyrillic/Montenegro ++ { 100, 2, 257,{ 17694,50 },{ 17434,81 },{ 12971,24 },{ 17694,50 },{ 17434,81 },{ 12971,24 }}, // Serbian/Cyrillic/Kosovo ++ { 100, 7, 257,{ 17644,50 },{ 17563,81 },{ 10015,24 },{ 17644,50 },{ 17563,81 },{ 10015,24 }}, // Serbian/Latin/Kosovo ++ { 101, 2, 81,{ 17744,63 },{ 17807,82 },{ 11331,24 },{ 17889,60 },{ 17949,86 },{ 11331,24 }}, // Ossetic/Cyrillic/Georgia ++ { 101, 2, 178,{ 17744,63 },{ 17807,82 },{ 11331,24 },{ 17889,60 },{ 17949,86 },{ 11331,24 }}, // Ossetic/Cyrillic/Russia + { 102, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Sotho/Latin/South Africa + { 103, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tswana/Latin/South Africa +- { 104, 7, 240,{ 17780,48 },{ 17828,100 },{ 17928,24 },{ 17780,48 },{ 17828,100 },{ 17928,24 }}, // Shona/Latin/Zimbabwe +- { 105, 1, 163,{ 17952,72 },{ 17952,72 },{ 134,24 },{ 17952,72 },{ 17952,72 },{ 134,24 }}, // Sindhi/Arabic/Pakistan +- { 105, 13, 100,{ 18024,53 },{ 18077,73 },{ 18150,28 },{ 18178,51 },{ 18077,73 },{ 18150,28 }}, // Sindhi/Devanagari/India +- { 106, 32, 198,{ 18229,59 },{ 18288,96 },{ 18384,32 },{ 18416,61 },{ 18288,96 },{ 18384,32 }}, // Sinhala/Sinhala/Sri Lanka ++ { 104, 7, 240,{ 18035,48 },{ 18083,100 },{ 18183,24 },{ 18035,48 },{ 18083,100 },{ 18183,24 }}, // Shona/Latin/Zimbabwe ++ { 105, 1, 163,{ 18207,72 },{ 18207,72 },{ 134,24 },{ 18207,72 },{ 18207,72 },{ 134,24 }}, // Sindhi/Arabic/Pakistan ++ { 105, 13, 100,{ 18279,53 },{ 18332,73 },{ 18405,28 },{ 18433,51 },{ 18332,73 },{ 18405,28 }}, // Sindhi/Devanagari/India ++ { 106, 32, 198,{ 18484,59 },{ 18543,96 },{ 18639,32 },{ 18671,61 },{ 18543,96 },{ 18639,32 }}, // Sinhala/Sinhala/Sri Lanka + { 107, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Swati/Latin/South Africa +- { 108, 7, 191,{ 18477,48 },{ 18525,82 },{ 9992,24 },{ 18477,48 },{ 18607,89 },{ 9992,24 }}, // Slovak/Latin/Slovakia +- { 109, 7, 192,{ 18696,59 },{ 18755,86 },{ 9992,24 },{ 18696,59 },{ 18755,86 },{ 9992,24 }}, // Slovenian/Latin/Slovenia +- { 110, 7, 194,{ 18841,48 },{ 18889,92 },{ 18981,24 },{ 18841,48 },{ 19005,189 },{ 18981,24 }}, // Somali/Latin/Somalia +- { 110, 7, 59,{ 18841,48 },{ 18889,92 },{ 18981,24 },{ 18841,48 },{ 19005,189 },{ 18981,24 }}, // Somali/Latin/Djibouti +- { 110, 7, 69,{ 18841,48 },{ 18889,92 },{ 18981,24 },{ 18841,48 },{ 19005,189 },{ 18981,24 }}, // Somali/Latin/Ethiopia +- { 110, 7, 111,{ 18841,48 },{ 18889,92 },{ 18981,24 },{ 18841,48 },{ 19005,189 },{ 18981,24 }}, // Somali/Latin/Kenya +- { 111, 7, 197,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Spain +- { 111, 7, 10,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Argentina +- { 111, 7, 22,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Belize +- { 111, 7, 26,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Bolivia +- { 111, 7, 30,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Brazil +- { 111, 7, 43,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Chile +- { 111, 7, 47,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Colombia +- { 111, 7, 52,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Costa Rica +- { 111, 7, 55,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Cuba +- { 111, 7, 61,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Dominican Republic +- { 111, 7, 63,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Ecuador +- { 111, 7, 65,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/El Salvador +- { 111, 7, 66,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Equatorial Guinea +- { 111, 7, 90,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Guatemala +- { 111, 7, 96,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Honduras +- { 111, 7, 139,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Mexico +- { 111, 7, 155,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Nicaragua +- { 111, 7, 166,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Panama +- { 111, 7, 168,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Paraguay +- { 111, 7, 169,{ 19428,60 },{ 16184,88 },{ 19344,24 },{ 19488,60 },{ 19548,88 },{ 19344,24 }}, // Spanish/Latin/Peru +- { 111, 7, 170,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Philippines +- { 111, 7, 174,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Puerto Rico +- { 111, 7, 225,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/United States +- { 111, 7, 227,{ 19428,60 },{ 16184,88 },{ 19344,24 },{ 19488,60 },{ 19548,88 },{ 19344,24 }}, // Spanish/Latin/Uruguay +- { 111, 7, 231,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Venezuela +- { 111, 7, 238,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Canary Islands +- { 111, 7, 246,{ 19368,60 },{ 19255,89 },{ 19344,24 },{ 19368,60 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Latin America +- { 111, 7, 250,{ 19194,61 },{ 19255,89 },{ 19344,24 },{ 19194,61 },{ 19255,89 },{ 19344,24 }}, // Spanish/Latin/Ceuta And Melilla +- { 112, 7, 101,{ 19636,48 },{ 19684,87 },{ 19771,24 },{ 19636,48 },{ 19684,87 },{ 19771,24 }}, // Sundanese/Latin/Indonesia +- { 113, 7, 210,{ 19795,48 },{ 19843,84 },{ 134,24 },{ 19795,48 },{ 19843,84 },{ 134,24 }}, // Swahili/Latin/Tanzania +- { 113, 7, 49,{ 19795,48 },{ 19843,84 },{ 134,24 },{ 19795,48 },{ 19843,84 },{ 134,24 }}, // Swahili/Latin/Congo Kinshasa +- { 113, 7, 111,{ 19795,48 },{ 19843,84 },{ 134,24 },{ 19795,48 },{ 19843,84 },{ 134,24 }}, // Swahili/Latin/Kenya +- { 113, 7, 221,{ 19795,48 },{ 19843,84 },{ 134,24 },{ 19795,48 },{ 19843,84 },{ 134,24 }}, // Swahili/Latin/Uganda +- { 114, 7, 205,{ 19927,59 },{ 19986,86 },{ 134,24 },{ 19927,59 },{ 19986,86 },{ 134,24 }}, // Swedish/Latin/Sweden +- { 114, 7, 73,{ 19927,59 },{ 19986,86 },{ 134,24 },{ 19927,59 },{ 19986,86 },{ 134,24 }}, // Swedish/Latin/Finland +- { 114, 7, 248,{ 19927,59 },{ 19986,86 },{ 134,24 },{ 19927,59 },{ 19986,86 },{ 134,24 }}, // Swedish/Latin/Aland Islands ++ { 108, 7, 191,{ 18732,48 },{ 18780,82 },{ 10015,24 },{ 18732,48 },{ 18862,89 },{ 10015,24 }}, // Slovak/Latin/Slovakia ++ { 109, 7, 192,{ 18951,59 },{ 19010,86 },{ 10015,24 },{ 18951,59 },{ 19010,86 },{ 10015,24 }}, // Slovenian/Latin/Slovenia ++ { 110, 7, 194,{ 19096,48 },{ 19144,92 },{ 19236,24 },{ 19096,48 },{ 19260,189 },{ 19236,24 }}, // Somali/Latin/Somalia ++ { 110, 7, 59,{ 19096,48 },{ 19144,92 },{ 19236,24 },{ 19096,48 },{ 19260,189 },{ 19236,24 }}, // Somali/Latin/Djibouti ++ { 110, 7, 69,{ 19096,48 },{ 19144,92 },{ 19236,24 },{ 19096,48 },{ 19260,189 },{ 19236,24 }}, // Somali/Latin/Ethiopia ++ { 110, 7, 111,{ 19096,48 },{ 19144,92 },{ 19236,24 },{ 19096,48 },{ 19260,189 },{ 19236,24 }}, // Somali/Latin/Kenya ++ { 111, 7, 197,{ 19449,49 },{ 19498,89 },{ 19587,24 },{ 19449,49 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Spain ++ { 111, 7, 10,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Argentina ++ { 111, 7, 22,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Belize ++ { 111, 7, 26,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Bolivia ++ { 111, 7, 30,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Brazil ++ { 111, 7, 43,{ 19671,61 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Chile ++ { 111, 7, 47,{ 19671,61 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Colombia ++ { 111, 7, 52,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Costa Rica ++ { 111, 7, 55,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Cuba ++ { 111, 7, 61,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Dominican Republic ++ { 111, 7, 63,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Ecuador ++ { 111, 7, 65,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/El Salvador ++ { 111, 7, 66,{ 19449,49 },{ 19498,89 },{ 19587,24 },{ 19449,49 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Equatorial Guinea ++ { 111, 7, 90,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Guatemala ++ { 111, 7, 96,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Honduras ++ { 111, 7, 139,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Mexico ++ { 111, 7, 155,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Nicaragua ++ { 111, 7, 166,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Panama ++ { 111, 7, 168,{ 19671,61 },{ 19498,89 },{ 19587,24 },{ 19671,61 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Paraguay ++ { 111, 7, 169,{ 19732,60 },{ 16207,88 },{ 19587,24 },{ 19792,60 },{ 19852,88 },{ 19587,24 }}, // Spanish/Latin/Peru ++ { 111, 7, 170,{ 19449,49 },{ 19498,89 },{ 19587,24 },{ 19449,49 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Philippines ++ { 111, 7, 174,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Puerto Rico ++ { 111, 7, 225,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/United States ++ { 111, 7, 227,{ 19732,60 },{ 16207,88 },{ 19587,24 },{ 19792,60 },{ 19852,88 },{ 19587,24 }}, // Spanish/Latin/Uruguay ++ { 111, 7, 231,{ 19671,61 },{ 19498,89 },{ 19587,24 },{ 19671,61 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Venezuela ++ { 111, 7, 238,{ 19449,49 },{ 19498,89 },{ 19587,24 },{ 19449,49 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Canary Islands ++ { 111, 7, 246,{ 19611,60 },{ 19498,89 },{ 19587,24 },{ 19611,60 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Latin America ++ { 111, 7, 250,{ 19449,49 },{ 19498,89 },{ 19587,24 },{ 19449,49 },{ 19498,89 },{ 19587,24 }}, // Spanish/Latin/Ceuta And Melilla ++ { 112, 7, 101,{ 19940,48 },{ 19988,87 },{ 20075,24 },{ 19940,48 },{ 19988,87 },{ 20075,24 }}, // Sundanese/Latin/Indonesia ++ { 113, 7, 210,{ 20099,48 },{ 20147,84 },{ 134,24 },{ 20099,48 },{ 20147,84 },{ 134,24 }}, // Swahili/Latin/Tanzania ++ { 113, 7, 49,{ 20099,48 },{ 20147,84 },{ 134,24 },{ 20099,48 },{ 20147,84 },{ 134,24 }}, // Swahili/Latin/Congo Kinshasa ++ { 113, 7, 111,{ 20099,48 },{ 20147,84 },{ 134,24 },{ 20099,48 },{ 20147,84 },{ 134,24 }}, // Swahili/Latin/Kenya ++ { 113, 7, 221,{ 20099,48 },{ 20147,84 },{ 134,24 },{ 20099,48 },{ 20147,84 },{ 134,24 }}, // Swahili/Latin/Uganda ++ { 114, 7, 205,{ 20231,59 },{ 20290,86 },{ 134,24 },{ 20231,59 },{ 20290,86 },{ 134,24 }}, // Swedish/Latin/Sweden ++ { 114, 7, 73,{ 20231,59 },{ 20290,86 },{ 134,24 },{ 20231,59 },{ 20290,86 },{ 134,24 }}, // Swedish/Latin/Finland ++ { 114, 7, 248,{ 20231,59 },{ 20290,86 },{ 134,24 },{ 20231,59 },{ 20290,86 },{ 134,24 }}, // Swedish/Latin/Aland Islands + { 115, 7, 106,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sardinian/Latin/Italy +- { 116, 2, 209,{ 11180,48 },{ 20072,71 },{ 11308,24 },{ 11180,48 },{ 20072,71 },{ 11308,24 }}, // Tajik/Cyrillic/Tajikistan +- { 117, 27, 100,{ 20143,58 },{ 20201,86 },{ 20287,31 },{ 20143,58 },{ 20201,86 },{ 20287,31 }}, // Tamil/Tamil/India +- { 117, 27, 130,{ 20143,58 },{ 20201,86 },{ 20287,31 },{ 20143,58 },{ 20201,86 },{ 20287,31 }}, // Tamil/Tamil/Malaysia +- { 117, 27, 190,{ 20143,58 },{ 20201,86 },{ 20287,31 },{ 20143,58 },{ 20201,86 },{ 20287,31 }}, // Tamil/Tamil/Singapore +- { 117, 27, 198,{ 20143,58 },{ 20201,86 },{ 20287,31 },{ 20143,58 },{ 20201,86 },{ 20287,31 }}, // Tamil/Tamil/Sri Lanka +- { 118, 2, 178,{ 20318,62 },{ 20380,81 },{ 418,27 },{ 20318,62 },{ 20380,81 },{ 418,27 }}, // Tatar/Cyrillic/Russia +- { 119, 28, 100,{ 20461,62 },{ 20523,86 },{ 20609,31 },{ 20461,62 },{ 20523,86 },{ 20609,31 }}, // Telugu/Telugu/India +- { 120, 30, 211,{ 20640,63 },{ 20703,98 },{ 20640,63 },{ 20640,63 },{ 20703,98 },{ 20640,63 }}, // Thai/Thai/Thailand +- { 121, 31, 44,{ 2809,63 },{ 20801,159 },{ 418,27 },{ 2809,63 },{ 20960,147 },{ 418,27 }}, // Tibetan/Tibetan/China +- { 121, 31, 100,{ 2809,63 },{ 20801,159 },{ 418,27 },{ 2809,63 },{ 20960,147 },{ 418,27 }}, // Tibetan/Tibetan/India +- { 122, 14, 69,{ 21107,36 },{ 21143,54 },{ 21197,24 },{ 21107,36 },{ 21143,54 },{ 21197,24 }}, // Tigrinya/Ethiopic/Ethiopia +- { 122, 14, 67,{ 21107,36 },{ 21143,54 },{ 21197,24 },{ 21107,36 },{ 21143,54 },{ 21197,24 }}, // Tigrinya/Ethiopic/Eritrea +- { 123, 7, 214,{ 21221,51 },{ 21272,87 },{ 21359,24 },{ 21221,51 },{ 21272,87 },{ 21359,24 }}, // Tongan/Latin/Tonga ++ { 116, 2, 209,{ 11203,48 },{ 20376,71 },{ 11331,24 },{ 11203,48 },{ 20376,71 },{ 11331,24 }}, // Tajik/Cyrillic/Tajikistan ++ { 117, 27, 100,{ 20447,58 },{ 20505,86 },{ 20591,31 },{ 20447,58 },{ 20505,86 },{ 20591,31 }}, // Tamil/Tamil/India ++ { 117, 27, 130,{ 20447,58 },{ 20505,86 },{ 20591,31 },{ 20447,58 },{ 20505,86 },{ 20591,31 }}, // Tamil/Tamil/Malaysia ++ { 117, 27, 190,{ 20447,58 },{ 20505,86 },{ 20591,31 },{ 20447,58 },{ 20505,86 },{ 20591,31 }}, // Tamil/Tamil/Singapore ++ { 117, 27, 198,{ 20447,58 },{ 20505,86 },{ 20591,31 },{ 20447,58 },{ 20505,86 },{ 20591,31 }}, // Tamil/Tamil/Sri Lanka ++ { 118, 2, 178,{ 20622,62 },{ 20684,81 },{ 418,27 },{ 20622,62 },{ 20684,81 },{ 418,27 }}, // Tatar/Cyrillic/Russia ++ { 119, 28, 100,{ 20765,62 },{ 20827,86 },{ 20913,31 },{ 20765,62 },{ 20827,86 },{ 20913,31 }}, // Telugu/Telugu/India ++ { 120, 30, 211,{ 20944,63 },{ 21007,98 },{ 20944,63 },{ 20944,63 },{ 21007,98 },{ 20944,63 }}, // Thai/Thai/Thailand ++ { 121, 31, 44,{ 2732,63 },{ 21105,159 },{ 418,27 },{ 2732,63 },{ 21264,147 },{ 418,27 }}, // Tibetan/Tibetan/China ++ { 121, 31, 100,{ 2732,63 },{ 21105,159 },{ 418,27 },{ 2732,63 },{ 21264,147 },{ 418,27 }}, // Tibetan/Tibetan/India ++ { 122, 14, 69,{ 21411,36 },{ 21447,54 },{ 21501,24 },{ 21411,36 },{ 21447,54 },{ 21501,24 }}, // Tigrinya/Ethiopic/Ethiopia ++ { 122, 14, 67,{ 21411,36 },{ 21447,54 },{ 21501,24 },{ 21411,36 },{ 21447,54 },{ 21501,24 }}, // Tigrinya/Ethiopic/Eritrea ++ { 123, 7, 214,{ 21525,51 },{ 21576,87 },{ 21663,24 },{ 21525,51 },{ 21576,87 },{ 21663,24 }}, // Tongan/Latin/Tonga + { 124, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tsonga/Latin/South Africa +- { 125, 7, 217,{ 21383,48 },{ 21431,75 },{ 21506,24 },{ 21383,48 },{ 21431,75 },{ 21506,24 }}, // Turkish/Latin/Turkey +- { 125, 7, 56,{ 21383,48 },{ 21431,75 },{ 21506,24 },{ 21383,48 },{ 21431,75 },{ 21506,24 }}, // Turkish/Latin/Cyprus +- { 126, 7, 218,{ 21530,50 },{ 21580,77 },{ 21657,24 },{ 21681,51 },{ 21732,77 },{ 21657,24 }}, // Turkmen/Latin/Turkmenistan +- { 128, 1, 44,{ 21809,84 },{ 21809,84 },{ 418,27 },{ 21809,84 },{ 21809,84 },{ 418,27 }}, // Uighur/Arabic/China +- { 129, 2, 222,{ 21893,48 },{ 21941,95 },{ 22036,24 },{ 22060,67 },{ 22127,87 },{ 22214,24 }}, // Ukrainian/Cyrillic/Ukraine +- { 130, 1, 163,{ 22238,68 },{ 22238,68 },{ 134,24 },{ 22238,68 },{ 22238,68 },{ 134,24 }}, // Urdu/Arabic/Pakistan +- { 130, 1, 100,{ 22238,68 },{ 22238,68 },{ 134,24 },{ 22238,68 },{ 22238,68 },{ 134,24 }}, // Urdu/Arabic/India +- { 131, 7, 228,{ 22306,48 },{ 22354,75 },{ 22429,24 },{ 22453,48 },{ 22501,75 },{ 22429,24 }}, // Uzbek/Latin/Uzbekistan +- { 131, 1, 1,{ 22576,47 },{ 15352,68 },{ 418,27 },{ 22576,47 },{ 15352,68 },{ 418,27 }}, // Uzbek/Arabic/Afghanistan +- { 131, 2, 228,{ 22623,48 },{ 22671,71 },{ 11308,24 },{ 22623,48 },{ 22671,71 },{ 11308,24 }}, // Uzbek/Cyrillic/Uzbekistan +- { 132, 7, 232,{ 22742,75 },{ 22817,99 },{ 418,27 },{ 22916,75 },{ 22991,99 },{ 418,27 }}, // Vietnamese/Latin/Vietnam +- { 133, 7, 260,{ 23090,48 },{ 23138,74 },{ 23212,24 },{ 23236,48 },{ 23138,74 },{ 23212,24 }}, // Volapuk/Latin/World +- { 134, 7, 224,{ 23284,52 },{ 23336,87 },{ 23423,26 },{ 23449,56 },{ 23336,87 },{ 23423,26 }}, // Welsh/Latin/United Kingdom +- { 135, 7, 187,{ 23505,47 },{ 23552,84 },{ 418,27 },{ 23505,47 },{ 23552,84 },{ 418,27 }}, // Wolof/Latin/Senegal +- { 136, 7, 195,{ 23636,48 },{ 23684,91 },{ 418,27 },{ 23636,48 },{ 23684,91 },{ 418,27 }}, // Xhosa/Latin/South Africa +- { 137, 18, 260,{ 23775,58 },{ 23833,92 },{ 418,27 },{ 23833,92 },{ 23833,92 },{ 418,27 }}, // Yiddish/Hebrew/World +- { 138, 7, 157,{ 23925,40 },{ 23965,73 },{ 24038,27 },{ 24065,55 },{ 24120,121 },{ 24038,27 }}, // Yoruba/Latin/Nigeria +- { 138, 7, 23,{ 24241,41 },{ 24282,74 },{ 24356,27 },{ 24383,56 },{ 24439,134 },{ 24356,27 }}, // Yoruba/Latin/Benin +- { 140, 7, 195,{ 24573,48 },{ 24621,91 },{ 134,24 },{ 24573,48 },{ 24621,91 },{ 24712,24 }}, // Zulu/Latin/South Africa +- { 141, 7, 161,{ 5790,48 },{ 14753,83 },{ 134,24 },{ 24736,59 },{ 14753,83 },{ 134,24 }}, // Norwegian Nynorsk/Latin/Norway +- { 142, 7, 27,{ 24795,48 },{ 24843,83 },{ 9992,24 },{ 24795,48 },{ 24843,83 },{ 9992,24 }}, // Bosnian/Latin/Bosnia And Herzegowina +- { 142, 2, 27,{ 24926,48 },{ 24974,83 },{ 12948,24 },{ 24926,48 },{ 24974,83 },{ 12948,24 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina ++ { 125, 7, 217,{ 21687,48 },{ 21735,75 },{ 21810,24 },{ 21687,48 },{ 21735,75 },{ 21810,24 }}, // Turkish/Latin/Turkey ++ { 125, 7, 56,{ 21687,48 },{ 21735,75 },{ 21810,24 },{ 21687,48 },{ 21735,75 },{ 21810,24 }}, // Turkish/Latin/Cyprus ++ { 126, 7, 218,{ 21834,50 },{ 21884,77 },{ 21961,24 },{ 21985,51 },{ 22036,77 },{ 21961,24 }}, // Turkmen/Latin/Turkmenistan ++ { 128, 1, 44,{ 22113,84 },{ 22113,84 },{ 418,27 },{ 22113,84 },{ 22113,84 },{ 418,27 }}, // Uighur/Arabic/China ++ { 129, 2, 222,{ 22197,48 },{ 22245,95 },{ 22340,24 },{ 22364,67 },{ 22431,87 },{ 22518,24 }}, // Ukrainian/Cyrillic/Ukraine ++ { 130, 1, 163,{ 22542,68 },{ 22542,68 },{ 134,24 },{ 22542,68 },{ 22542,68 },{ 134,24 }}, // Urdu/Arabic/Pakistan ++ { 130, 1, 100,{ 22542,68 },{ 22542,68 },{ 134,24 },{ 22542,68 },{ 22542,68 },{ 134,24 }}, // Urdu/Arabic/India ++ { 131, 7, 228,{ 22610,48 },{ 22658,75 },{ 22733,24 },{ 22757,48 },{ 22805,75 },{ 22733,24 }}, // Uzbek/Latin/Uzbekistan ++ { 131, 1, 1,{ 22880,47 },{ 15375,68 },{ 418,27 },{ 22880,47 },{ 15375,68 },{ 418,27 }}, // Uzbek/Arabic/Afghanistan ++ { 131, 2, 228,{ 22927,48 },{ 22975,71 },{ 11331,24 },{ 22927,48 },{ 22975,71 },{ 11331,24 }}, // Uzbek/Cyrillic/Uzbekistan ++ { 132, 7, 232,{ 23046,75 },{ 23121,99 },{ 418,27 },{ 23220,75 },{ 23295,99 },{ 418,27 }}, // Vietnamese/Latin/Vietnam ++ { 133, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Volapuk/Latin/World ++ { 134, 7, 224,{ 23394,52 },{ 23446,87 },{ 23533,26 },{ 23559,56 },{ 23446,87 },{ 23533,26 }}, // Welsh/Latin/United Kingdom ++ { 135, 7, 187,{ 23615,47 },{ 23662,84 },{ 418,27 },{ 23615,47 },{ 23662,84 },{ 418,27 }}, // Wolof/Latin/Senegal ++ { 136, 7, 195,{ 23746,48 },{ 23794,91 },{ 418,27 },{ 23746,48 },{ 23794,91 },{ 418,27 }}, // Xhosa/Latin/South Africa ++ { 137, 18, 260,{ 23885,58 },{ 23943,92 },{ 418,27 },{ 23943,92 },{ 23943,92 },{ 418,27 }}, // Yiddish/Hebrew/World ++ { 138, 7, 157,{ 24035,40 },{ 24075,73 },{ 24148,27 },{ 24175,55 },{ 24230,121 },{ 24148,27 }}, // Yoruba/Latin/Nigeria ++ { 138, 7, 23,{ 24351,41 },{ 24392,74 },{ 24466,27 },{ 24493,56 },{ 24549,134 },{ 24466,27 }}, // Yoruba/Latin/Benin ++ { 140, 7, 195,{ 24683,48 },{ 24731,91 },{ 134,24 },{ 24683,48 },{ 24731,91 },{ 24822,24 }}, // Zulu/Latin/South Africa ++ { 141, 7, 161,{ 5813,48 },{ 14776,83 },{ 134,24 },{ 24846,59 },{ 14776,83 },{ 134,24 }}, // Norwegian Nynorsk/Latin/Norway ++ { 142, 7, 27,{ 24905,48 },{ 24953,83 },{ 10015,24 },{ 24905,48 },{ 24953,83 },{ 10015,24 }}, // Bosnian/Latin/Bosnia And Herzegowina ++ { 142, 2, 27,{ 25036,48 },{ 25084,83 },{ 12971,24 },{ 25036,48 },{ 25084,83 },{ 12971,24 }}, // Bosnian/Cyrillic/Bosnia And Herzegowina + { 143, 29, 131,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Divehi/Thaana/Maldives +- { 144, 7, 251,{ 25057,102 },{ 25159,140 },{ 418,27 },{ 25057,102 },{ 25159,140 },{ 418,27 }}, // Manx/Latin/Isle Of Man +- { 145, 7, 224,{ 25299,46 },{ 25345,130 },{ 418,27 },{ 25299,46 },{ 25345,130 },{ 418,27 }}, // Cornish/Latin/United Kingdom +- { 146, 7, 83,{ 25475,48 },{ 25523,192 },{ 418,27 },{ 25475,48 },{ 25523,192 },{ 418,27 }}, // Akan/Latin/Ghana +- { 147, 13, 100,{ 25715,59 },{ 25774,86 },{ 418,27 },{ 25774,86 },{ 25774,86 },{ 418,27 }}, // Konkani/Devanagari/India ++ { 144, 7, 251,{ 25167,102 },{ 25269,140 },{ 418,27 },{ 25167,102 },{ 25269,140 },{ 418,27 }}, // Manx/Latin/Isle Of Man ++ { 145, 7, 224,{ 25409,46 },{ 25455,130 },{ 418,27 },{ 25409,46 },{ 25455,130 },{ 418,27 }}, // Cornish/Latin/United Kingdom ++ { 146, 7, 83,{ 25585,48 },{ 25633,192 },{ 418,27 },{ 25585,48 },{ 25633,192 },{ 418,27 }}, // Akan/Latin/Ghana ++ { 147, 13, 100,{ 25825,59 },{ 25884,86 },{ 418,27 },{ 25884,86 },{ 25884,86 },{ 418,27 }}, // Konkani/Devanagari/India + { 148, 7, 83,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Ga/Latin/Ghana +- { 149, 7, 157,{ 25860,48 },{ 25908,87 },{ 25995,24 },{ 25860,48 },{ 25908,87 },{ 25995,24 }}, // Igbo/Latin/Nigeria +- { 150, 7, 111,{ 26019,48 },{ 26067,189 },{ 26256,24 },{ 26019,48 },{ 26067,189 },{ 26256,24 }}, // Kamba/Latin/Kenya ++ { 149, 7, 157,{ 25970,48 },{ 26018,87 },{ 26105,24 },{ 25970,48 },{ 26018,87 },{ 26105,24 }}, // Igbo/Latin/Nigeria ++ { 150, 7, 111,{ 26129,48 },{ 26177,189 },{ 26366,24 },{ 26129,48 },{ 26177,189 },{ 26366,24 }}, // Kamba/Latin/Kenya + { 151, 33, 103,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Syriac/Syriac/Iraq + { 152, 14, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Blin/Ethiopic/Eritrea + { 153, 14, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Geez/Ethiopic/Ethiopia +@@ -522,155 +523,157 @@ static const QCalendarLocale locale_data[] = { + { 156, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Atsam/Latin/Nigeria + { 157, 14, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tigre/Ethiopic/Eritrea + { 158, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Jju/Latin/Nigeria +- { 159, 7, 106,{ 26280,48 },{ 26328,77 },{ 26405,24 },{ 26280,48 },{ 26328,77 },{ 26405,24 }}, // Friulian/Latin/Italy ++ { 159, 7, 106,{ 26390,48 },{ 26438,77 },{ 26515,24 },{ 26390,48 },{ 26438,77 },{ 26515,24 }}, // Friulian/Latin/Italy + { 160, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Venda/Latin/South Africa +- { 161, 7, 83,{ 26429,48 },{ 26477,87 },{ 26564,24 },{ 26429,48 },{ 26477,87 },{ 26564,24 }}, // Ewe/Latin/Ghana +- { 161, 7, 212,{ 26429,48 },{ 26477,87 },{ 26564,24 },{ 26429,48 },{ 26477,87 },{ 26564,24 }}, // Ewe/Latin/Togo ++ { 161, 7, 83,{ 26539,48 },{ 26587,87 },{ 26674,24 },{ 26539,48 },{ 26587,87 },{ 26674,24 }}, // Ewe/Latin/Ghana ++ { 161, 7, 212,{ 26539,48 },{ 26587,87 },{ 26674,24 },{ 26539,48 },{ 26587,87 },{ 26674,24 }}, // Ewe/Latin/Togo + { 162, 14, 69,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Walamo/Ethiopic/Ethiopia +- { 163, 7, 225,{ 26588,59 },{ 26647,95 },{ 418,27 },{ 26588,59 },{ 26647,95 },{ 418,27 }}, // Hawaiian/Latin/United States ++ { 163, 7, 225,{ 26698,59 },{ 26757,95 },{ 418,27 },{ 26698,59 },{ 26757,95 },{ 418,27 }}, // Hawaiian/Latin/United States + { 164, 7, 157,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tyap/Latin/Nigeria + { 165, 7, 129,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Nyanja/Latin/Malawi +- { 166, 7, 170,{ 26742,48 },{ 26790,88 },{ 26878,38 },{ 26742,48 },{ 26790,88 },{ 26742,48 }}, // Filipino/Latin/Philippines +- { 167, 7, 206,{ 7735,48 },{ 26916,86 },{ 134,24 },{ 7735,48 },{ 26916,86 },{ 134,24 }}, // Swiss German/Latin/Switzerland +- { 167, 7, 74,{ 7735,48 },{ 26916,86 },{ 134,24 },{ 7735,48 },{ 26916,86 },{ 134,24 }}, // Swiss German/Latin/France +- { 167, 7, 123,{ 7735,48 },{ 26916,86 },{ 134,24 },{ 7735,48 },{ 26916,86 },{ 134,24 }}, // Swiss German/Latin/Liechtenstein +- { 168, 34, 44,{ 27002,38 },{ 27002,38 },{ 418,27 },{ 27002,38 },{ 27002,38 },{ 418,27 }}, // Sichuan Yi/Yi/China ++ { 166, 7, 170,{ 26852,48 },{ 26900,88 },{ 26988,38 },{ 26852,48 },{ 26900,88 },{ 26852,48 }}, // Filipino/Latin/Philippines ++ { 167, 7, 206,{ 7758,48 },{ 27026,86 },{ 134,24 },{ 7758,48 },{ 27026,86 },{ 134,24 }}, // Swiss German/Latin/Switzerland ++ { 167, 7, 74,{ 7758,48 },{ 27026,86 },{ 134,24 },{ 7758,48 },{ 27026,86 },{ 134,24 }}, // Swiss German/Latin/France ++ { 167, 7, 123,{ 7758,48 },{ 27026,86 },{ 134,24 },{ 7758,48 },{ 27026,86 },{ 134,24 }}, // Swiss German/Latin/Liechtenstein ++ { 168, 34, 44,{ 27112,38 },{ 27112,38 },{ 418,27 },{ 27112,38 },{ 27112,38 },{ 418,27 }}, // Sichuan Yi/Yi/China + { 169, 7, 121,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kpelle/Latin/Liberia +- { 170, 7, 82,{ 27040,59 },{ 27099,85 },{ 134,24 },{ 27040,59 },{ 27099,85 },{ 134,24 }}, // Low German/Latin/Germany +- { 170, 7, 151,{ 27040,59 },{ 27099,85 },{ 134,24 },{ 27040,59 },{ 27099,85 },{ 134,24 }}, // Low German/Latin/Netherlands ++ { 170, 7, 82,{ 27150,59 },{ 27209,85 },{ 134,24 },{ 27150,59 },{ 27209,85 },{ 134,24 }}, // Low German/Latin/Germany ++ { 170, 7, 151,{ 27150,59 },{ 27209,85 },{ 134,24 },{ 27150,59 },{ 27209,85 },{ 134,24 }}, // Low German/Latin/Netherlands + { 171, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // South Ndebele/Latin/South Africa + { 172, 7, 195,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Northern Sotho/Latin/South Africa +- { 173, 7, 161,{ 27184,59 },{ 27243,145 },{ 27388,24 },{ 27184,59 },{ 27243,145 },{ 27388,24 }}, // Northern Sami/Latin/Norway +- { 173, 7, 73,{ 27412,60 },{ 27243,145 },{ 27388,24 },{ 27412,60 },{ 27243,145 },{ 27388,24 }}, // Northern Sami/Latin/Finland +- { 173, 7, 205,{ 27184,59 },{ 27243,145 },{ 27388,24 },{ 27184,59 },{ 27243,145 },{ 27388,24 }}, // Northern Sami/Latin/Sweden ++ { 173, 7, 161,{ 27294,59 },{ 27353,145 },{ 27498,24 },{ 27294,59 },{ 27353,145 },{ 27498,24 }}, // Northern Sami/Latin/Norway ++ { 173, 7, 73,{ 27522,60 },{ 27353,145 },{ 27498,24 },{ 27522,60 },{ 27353,145 },{ 27498,24 }}, // Northern Sami/Latin/Finland ++ { 173, 7, 205,{ 27294,59 },{ 27353,145 },{ 27498,24 },{ 27294,59 },{ 27353,145 },{ 27498,24 }}, // Northern Sami/Latin/Sweden + { 174, 7, 208,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Taroko/Latin/Taiwan +- { 175, 7, 111,{ 27472,48 },{ 27520,88 },{ 27608,24 },{ 27472,48 },{ 27520,88 },{ 27608,24 }}, // Gusii/Latin/Kenya +- { 176, 7, 111,{ 27632,48 },{ 27680,221 },{ 27901,24 },{ 27632,48 },{ 27680,221 },{ 27901,24 }}, // Taita/Latin/Kenya +- { 177, 7, 187,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Senegal +- { 177, 7, 34,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Burkina Faso +- { 177, 7, 37,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Cameroon +- { 177, 7, 80,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Gambia +- { 177, 7, 83,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Ghana +- { 177, 7, 91,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Guinea +- { 177, 7, 92,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Guinea Bissau +- { 177, 7, 121,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Liberia +- { 177, 7, 136,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Mauritania +- { 177, 7, 156,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Niger +- { 177, 7, 157,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Nigeria +- { 177, 7, 189,{ 27925,48 },{ 27973,77 },{ 28050,24 },{ 27925,48 },{ 27973,77 },{ 28050,24 }}, // Fulah/Latin/Sierra Leone +- { 178, 7, 111,{ 28074,48 },{ 28122,185 },{ 28307,24 },{ 28074,48 },{ 28122,185 },{ 28307,24 }}, // Kikuyu/Latin/Kenya +- { 179, 7, 111,{ 28331,48 },{ 28379,173 },{ 28552,24 },{ 28331,48 },{ 28379,173 },{ 28552,24 }}, // Samburu/Latin/Kenya +- { 180, 7, 146,{ 28576,48 },{ 28624,88 },{ 134,24 },{ 28576,48 },{ 28624,88 },{ 134,24 }}, // Sena/Latin/Mozambique +- { 181, 7, 240,{ 28712,52 },{ 28764,112 },{ 28876,24 },{ 28712,52 },{ 28764,112 },{ 28876,24 }}, // North Ndebele/Latin/Zimbabwe +- { 182, 7, 210,{ 28900,39 },{ 28939,194 },{ 29133,24 },{ 28900,39 },{ 28939,194 },{ 29133,24 }}, // Rombo/Latin/Tanzania +- { 183, 9, 145,{ 29157,48 },{ 29205,81 },{ 29286,24 },{ 29157,48 },{ 29205,81 },{ 29286,24 }}, // Tachelhit/Tifinagh/Morocco +- { 183, 7, 145,{ 29310,48 },{ 29358,81 },{ 29439,24 },{ 29310,48 },{ 29358,81 },{ 29439,24 }}, // Tachelhit/Latin/Morocco +- { 184, 7, 3,{ 29463,48 },{ 29511,82 },{ 29593,24 },{ 29617,48 },{ 29665,84 },{ 29749,24 }}, // Kabyle/Latin/Algeria +- { 185, 7, 221,{ 29773,48 },{ 29821,152 },{ 134,24 },{ 29773,48 },{ 29821,152 },{ 134,24 }}, // Nyankole/Latin/Uganda +- { 186, 7, 210,{ 29973,48 },{ 30021,254 },{ 30275,24 },{ 29973,48 },{ 30021,254 },{ 30275,24 }}, // Bena/Latin/Tanzania +- { 187, 7, 210,{ 19795,48 },{ 30299,87 },{ 134,24 },{ 19795,48 },{ 30299,87 },{ 134,24 }}, // Vunjo/Latin/Tanzania +- { 188, 7, 132,{ 30386,47 },{ 30433,92 },{ 30525,24 },{ 30386,47 },{ 30433,92 },{ 30525,24 }}, // Bambara/Latin/Mali ++ { 175, 7, 111,{ 27582,48 },{ 27630,88 },{ 27718,24 },{ 27582,48 },{ 27630,88 },{ 27718,24 }}, // Gusii/Latin/Kenya ++ { 176, 7, 111,{ 27742,48 },{ 27790,221 },{ 28011,24 },{ 27742,48 },{ 27790,221 },{ 28011,24 }}, // Taita/Latin/Kenya ++ { 177, 7, 187,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Senegal ++ { 177, 7, 34,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Burkina Faso ++ { 177, 7, 37,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Cameroon ++ { 177, 7, 80,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Gambia ++ { 177, 7, 83,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Ghana ++ { 177, 7, 91,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Guinea ++ { 177, 7, 92,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Guinea Bissau ++ { 177, 7, 121,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Liberia ++ { 177, 7, 136,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Mauritania ++ { 177, 7, 156,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Niger ++ { 177, 7, 157,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Nigeria ++ { 177, 7, 189,{ 28035,48 },{ 28083,77 },{ 28160,24 },{ 28035,48 },{ 28083,77 },{ 28160,24 }}, // Fulah/Latin/Sierra Leone ++ { 178, 7, 111,{ 28184,48 },{ 28232,185 },{ 28417,24 },{ 28184,48 },{ 28232,185 },{ 28417,24 }}, // Kikuyu/Latin/Kenya ++ { 179, 7, 111,{ 28441,48 },{ 28489,173 },{ 28662,24 },{ 28441,48 },{ 28489,173 },{ 28662,24 }}, // Samburu/Latin/Kenya ++ { 180, 7, 146,{ 28686,48 },{ 28734,88 },{ 134,24 },{ 28686,48 },{ 28734,88 },{ 134,24 }}, // Sena/Latin/Mozambique ++ { 181, 7, 240,{ 28822,52 },{ 28874,112 },{ 28986,24 },{ 28822,52 },{ 28874,112 },{ 28986,24 }}, // North Ndebele/Latin/Zimbabwe ++ { 182, 7, 210,{ 29010,39 },{ 29049,194 },{ 29243,24 },{ 29010,39 },{ 29049,194 },{ 29243,24 }}, // Rombo/Latin/Tanzania ++ { 183, 9, 145,{ 29267,48 },{ 29315,81 },{ 29396,24 },{ 29267,48 },{ 29315,81 },{ 29396,24 }}, // Tachelhit/Tifinagh/Morocco ++ { 183, 7, 145,{ 29420,48 },{ 29468,81 },{ 29549,24 },{ 29420,48 },{ 29468,81 },{ 29549,24 }}, // Tachelhit/Latin/Morocco ++ { 184, 7, 3,{ 29573,48 },{ 29621,82 },{ 29703,24 },{ 29727,48 },{ 29775,84 },{ 29859,24 }}, // Kabyle/Latin/Algeria ++ { 185, 7, 221,{ 29883,48 },{ 29931,152 },{ 134,24 },{ 29883,48 },{ 29931,152 },{ 134,24 }}, // Nyankole/Latin/Uganda ++ { 186, 7, 210,{ 30083,48 },{ 30131,254 },{ 30385,24 },{ 30083,48 },{ 30131,254 },{ 30385,24 }}, // Bena/Latin/Tanzania ++ { 187, 7, 210,{ 20099,48 },{ 30409,87 },{ 134,24 },{ 20099,48 },{ 30409,87 },{ 134,24 }}, // Vunjo/Latin/Tanzania ++ { 188, 7, 132,{ 30496,47 },{ 30543,92 },{ 30635,24 },{ 30496,47 },{ 30543,92 },{ 30635,24 }}, // Bambara/Latin/Mali + { 188, 75, 132,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Bambara/Nko/Mali +- { 189, 7, 111,{ 30549,48 },{ 30597,207 },{ 30804,24 },{ 30549,48 },{ 30597,207 },{ 30804,24 }}, // Embu/Latin/Kenya +- { 190, 12, 225,{ 30828,36 },{ 30864,58 },{ 30922,24 },{ 30828,36 },{ 30864,58 },{ 30922,24 }}, // Cherokee/Cherokee/United States +- { 191, 7, 137,{ 30946,47 },{ 30993,68 },{ 31061,24 },{ 30946,47 },{ 30993,68 },{ 31061,24 }}, // Morisyen/Latin/Mauritius +- { 192, 7, 210,{ 19795,48 },{ 31085,264 },{ 134,24 },{ 19795,48 },{ 31085,264 },{ 134,24 }}, // Makonde/Latin/Tanzania +- { 193, 7, 210,{ 31349,83 },{ 31432,111 },{ 31543,24 },{ 31349,83 },{ 31432,111 },{ 31543,24 }}, // Langi/Latin/Tanzania +- { 194, 7, 221,{ 31567,48 },{ 31615,97 },{ 134,24 },{ 31567,48 },{ 31615,97 },{ 134,24 }}, // Ganda/Latin/Uganda +- { 195, 7, 239,{ 31712,48 },{ 31760,83 },{ 31843,24 },{ 31712,48 },{ 31760,83 },{ 31843,24 }}, // Bemba/Latin/Zambia +- { 196, 7, 39,{ 31867,48 },{ 31915,85 },{ 134,24 },{ 31867,48 },{ 31915,85 },{ 134,24 }}, // Kabuverdianu/Latin/Cape Verde +- { 197, 7, 111,{ 32000,48 },{ 32048,86 },{ 32134,24 },{ 32000,48 },{ 32048,86 },{ 32134,24 }}, // Meru/Latin/Kenya +- { 198, 7, 111,{ 32158,49 },{ 32207,121 },{ 32328,24 },{ 32158,49 },{ 32207,121 },{ 32328,24 }}, // Kalenjin/Latin/Kenya +- { 199, 7, 148,{ 0,48 },{ 32352,136 },{ 134,24 },{ 0,48 },{ 32352,136 },{ 134,24 }}, // Nama/Latin/Namibia +- { 200, 7, 210,{ 19795,48 },{ 30299,87 },{ 134,24 },{ 19795,48 },{ 30299,87 },{ 134,24 }}, // Machame/Latin/Tanzania +- { 201, 7, 82,{ 32488,59 },{ 32547,87 },{ 13242,24 },{ 32634,48 },{ 32547,87 },{ 13242,24 }}, // Colognian/Latin/Germany +- { 202, 7, 111,{ 32682,51 },{ 32733,132 },{ 418,27 },{ 32682,51 },{ 32733,132 },{ 418,27 }}, // Masai/Latin/Kenya +- { 202, 7, 210,{ 32682,51 },{ 32733,132 },{ 418,27 },{ 32682,51 },{ 32733,132 },{ 418,27 }}, // Masai/Latin/Tanzania +- { 203, 7, 221,{ 31567,48 },{ 31615,97 },{ 134,24 },{ 31567,48 },{ 31615,97 },{ 134,24 }}, // Soga/Latin/Uganda +- { 204, 7, 111,{ 32865,48 },{ 19843,84 },{ 134,24 },{ 32865,48 },{ 19843,84 },{ 134,24 }}, // Luyia/Latin/Kenya +- { 205, 7, 210,{ 32913,48 },{ 19843,84 },{ 134,24 },{ 32913,48 },{ 19843,84 },{ 134,24 }}, // Asu/Latin/Tanzania +- { 206, 7, 221,{ 32961,48 },{ 33009,94 },{ 33103,24 },{ 32961,48 },{ 33009,94 },{ 33103,24 }}, // Teso/Latin/Uganda +- { 206, 7, 111,{ 32961,48 },{ 33009,94 },{ 33103,24 },{ 32961,48 },{ 33009,94 },{ 33103,24 }}, // Teso/Latin/Kenya ++ { 189, 7, 111,{ 30659,48 },{ 30707,207 },{ 30914,24 },{ 30659,48 },{ 30707,207 },{ 30914,24 }}, // Embu/Latin/Kenya ++ { 190, 12, 225,{ 30938,36 },{ 30974,58 },{ 31032,24 },{ 30938,36 },{ 30974,58 },{ 31032,24 }}, // Cherokee/Cherokee/United States ++ { 191, 7, 137,{ 31056,47 },{ 31103,68 },{ 31171,24 },{ 31056,47 },{ 31103,68 },{ 31171,24 }}, // Morisyen/Latin/Mauritius ++ { 192, 7, 210,{ 20099,48 },{ 31195,264 },{ 134,24 },{ 20099,48 },{ 31195,264 },{ 134,24 }}, // Makonde/Latin/Tanzania ++ { 193, 7, 210,{ 31459,83 },{ 31542,111 },{ 31653,24 },{ 31459,83 },{ 31542,111 },{ 31653,24 }}, // Langi/Latin/Tanzania ++ { 194, 7, 221,{ 31677,48 },{ 31725,97 },{ 134,24 },{ 31677,48 },{ 31725,97 },{ 134,24 }}, // Ganda/Latin/Uganda ++ { 195, 7, 239,{ 31822,48 },{ 31870,83 },{ 31953,24 },{ 31822,48 },{ 31870,83 },{ 31953,24 }}, // Bemba/Latin/Zambia ++ { 196, 7, 39,{ 31977,48 },{ 32025,85 },{ 134,24 },{ 31977,48 },{ 32025,85 },{ 134,24 }}, // Kabuverdianu/Latin/Cape Verde ++ { 197, 7, 111,{ 32110,48 },{ 32158,86 },{ 32244,24 },{ 32110,48 },{ 32158,86 },{ 32244,24 }}, // Meru/Latin/Kenya ++ { 198, 7, 111,{ 32268,49 },{ 32317,121 },{ 32438,24 },{ 32268,49 },{ 32317,121 },{ 32438,24 }}, // Kalenjin/Latin/Kenya ++ { 199, 7, 148,{ 0,48 },{ 32462,136 },{ 134,24 },{ 0,48 },{ 32462,136 },{ 134,24 }}, // Nama/Latin/Namibia ++ { 200, 7, 210,{ 20099,48 },{ 30409,87 },{ 134,24 },{ 20099,48 },{ 30409,87 },{ 134,24 }}, // Machame/Latin/Tanzania ++ { 201, 7, 82,{ 32598,59 },{ 32657,87 },{ 13265,24 },{ 32744,48 },{ 32657,87 },{ 13265,24 }}, // Colognian/Latin/Germany ++ { 202, 7, 111,{ 32792,51 },{ 32843,132 },{ 418,27 },{ 32792,51 },{ 32843,132 },{ 418,27 }}, // Masai/Latin/Kenya ++ { 202, 7, 210,{ 32792,51 },{ 32843,132 },{ 418,27 },{ 32792,51 },{ 32843,132 },{ 418,27 }}, // Masai/Latin/Tanzania ++ { 203, 7, 221,{ 31677,48 },{ 31725,97 },{ 134,24 },{ 31677,48 },{ 31725,97 },{ 134,24 }}, // Soga/Latin/Uganda ++ { 204, 7, 111,{ 32975,48 },{ 20147,84 },{ 134,24 },{ 32975,48 },{ 20147,84 },{ 134,24 }}, // Luyia/Latin/Kenya ++ { 205, 7, 210,{ 33023,48 },{ 20147,84 },{ 134,24 },{ 33023,48 },{ 20147,84 },{ 134,24 }}, // Asu/Latin/Tanzania ++ { 206, 7, 221,{ 33071,48 },{ 33119,94 },{ 33213,24 },{ 33071,48 },{ 33119,94 },{ 33213,24 }}, // Teso/Latin/Uganda ++ { 206, 7, 111,{ 33071,48 },{ 33119,94 },{ 33213,24 },{ 33071,48 },{ 33119,94 },{ 33213,24 }}, // Teso/Latin/Kenya + { 207, 7, 67,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Saho/Latin/Eritrea +- { 208, 7, 132,{ 33127,46 },{ 33173,88 },{ 33261,24 },{ 33127,46 },{ 33173,88 },{ 33261,24 }}, // Koyra Chiini/Latin/Mali +- { 209, 7, 210,{ 19795,48 },{ 30299,87 },{ 134,24 },{ 19795,48 },{ 30299,87 },{ 134,24 }}, // Rwa/Latin/Tanzania +- { 210, 7, 111,{ 33285,48 },{ 33333,186 },{ 33519,24 },{ 33285,48 },{ 33333,186 },{ 33519,24 }}, // Luo/Latin/Kenya +- { 211, 7, 221,{ 29773,48 },{ 29821,152 },{ 134,24 },{ 29773,48 },{ 29821,152 },{ 134,24 }}, // Chiga/Latin/Uganda +- { 212, 7, 145,{ 33543,48 },{ 33591,86 },{ 33677,24 },{ 33543,48 },{ 33591,86 },{ 33677,24 }}, // Central Morocco Tamazight/Latin/Morocco +- { 213, 7, 132,{ 33127,46 },{ 33173,88 },{ 33261,24 },{ 33127,46 },{ 33173,88 },{ 33261,24 }}, // Koyraboro Senni/Latin/Mali +- { 214, 7, 210,{ 19795,48 },{ 33701,84 },{ 134,24 },{ 19795,48 },{ 33701,84 },{ 134,24 }}, // Shambala/Latin/Tanzania +- { 215, 13, 100,{ 33785,88 },{ 33785,88 },{ 33873,31 },{ 33785,88 },{ 33785,88 },{ 33873,31 }}, // Bodo/Devanagari/India +- { 218, 2, 178,{ 22623,48 },{ 11391,80 },{ 11308,24 },{ 22623,48 },{ 11391,80 },{ 11308,24 }}, // Chechen/Cyrillic/Russia +- { 219, 2, 178,{ 33904,65 },{ 33969,117 },{ 34086,30 },{ 33904,65 },{ 34116,117 },{ 34086,30 }}, // Church/Cyrillic/Russia ++ { 208, 7, 132,{ 33237,46 },{ 33283,88 },{ 33371,24 },{ 33237,46 },{ 33283,88 },{ 33371,24 }}, // Koyra Chiini/Latin/Mali ++ { 209, 7, 210,{ 20099,48 },{ 30409,87 },{ 134,24 },{ 20099,48 },{ 30409,87 },{ 134,24 }}, // Rwa/Latin/Tanzania ++ { 210, 7, 111,{ 33395,48 },{ 33443,186 },{ 33629,24 },{ 33395,48 },{ 33443,186 },{ 33629,24 }}, // Luo/Latin/Kenya ++ { 211, 7, 221,{ 29883,48 },{ 29931,152 },{ 134,24 },{ 29883,48 },{ 29931,152 },{ 134,24 }}, // Chiga/Latin/Uganda ++ { 212, 7, 145,{ 33653,48 },{ 33701,86 },{ 33787,24 },{ 33653,48 },{ 33701,86 },{ 33787,24 }}, // Central Morocco Tamazight/Latin/Morocco ++ { 213, 7, 132,{ 33237,46 },{ 33283,88 },{ 33371,24 },{ 33237,46 },{ 33283,88 },{ 33371,24 }}, // Koyraboro Senni/Latin/Mali ++ { 214, 7, 210,{ 20099,48 },{ 33811,84 },{ 134,24 },{ 20099,48 },{ 33811,84 },{ 134,24 }}, // Shambala/Latin/Tanzania ++ { 215, 13, 100,{ 33895,88 },{ 33895,88 },{ 33983,31 },{ 33895,88 },{ 33895,88 },{ 33983,31 }}, // Bodo/Devanagari/India ++ { 218, 2, 178,{ 22927,48 },{ 11414,80 },{ 11331,24 },{ 22927,48 },{ 11414,80 },{ 11331,24 }}, // Chechen/Cyrillic/Russia ++ { 219, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Church/Cyrillic/Russia + { 220, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Chuvash/Cyrillic/Russia +- { 230, 7, 49,{ 34233,49 },{ 34282,99 },{ 34381,24 },{ 34233,49 },{ 34282,99 },{ 34381,24 }}, // Luba Katanga/Latin/Congo Kinshasa +- { 231, 7, 125,{ 34405,48 },{ 34453,85 },{ 134,24 },{ 34538,59 },{ 34453,85 },{ 134,24 }}, // Luxembourgish/Latin/Luxembourg ++ { 230, 7, 49,{ 34014,49 },{ 34063,99 },{ 34162,24 },{ 34014,49 },{ 34063,99 },{ 34162,24 }}, // Luba Katanga/Latin/Congo Kinshasa ++ { 231, 7, 125,{ 34186,48 },{ 34234,85 },{ 134,24 },{ 34319,59 },{ 34234,85 },{ 134,24 }}, // Luxembourgish/Latin/Luxembourg ++ { 232, 7, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Navaho/Latin/United States + { 236, 7, 21,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Walloon/Latin/Belgium +- { 237, 7, 37,{ 34597,48 },{ 34645,195 },{ 34840,24 },{ 34597,48 },{ 34645,195 },{ 34840,24 }}, // Aghem/Latin/Cameroon +- { 238, 7, 37,{ 34864,48 },{ 34912,90 },{ 35002,24 },{ 34864,48 },{ 34912,90 },{ 35002,24 }}, // Basaa/Latin/Cameroon +- { 239, 7, 156,{ 33127,46 },{ 33173,88 },{ 33261,24 },{ 33127,46 },{ 33173,88 },{ 33261,24 }}, // Zarma/Latin/Niger +- { 240, 7, 37,{ 35026,49 },{ 35075,99 },{ 35174,24 },{ 35026,49 },{ 35075,99 },{ 35174,24 }}, // Duala/Latin/Cameroon +- { 241, 7, 187,{ 35198,36 },{ 35234,82 },{ 35316,24 },{ 35198,36 },{ 35234,82 },{ 35316,24 }}, // Jola Fonyi/Latin/Senegal +- { 242, 7, 37,{ 35340,50 },{ 35390,141 },{ 35531,24 },{ 35340,50 },{ 35390,141 },{ 35531,24 }}, // Ewondo/Latin/Cameroon +- { 243, 7, 37,{ 35555,39 },{ 35594,191 },{ 418,27 },{ 35555,39 },{ 35594,191 },{ 418,27 }}, // Bafia/Latin/Cameroon +- { 244, 7, 146,{ 35785,48 },{ 35833,213 },{ 36046,24 },{ 35785,48 },{ 35833,213 },{ 36046,24 }}, // Makhuwa Meetto/Latin/Mozambique +- { 245, 7, 37,{ 36070,48 },{ 36118,139 },{ 36257,24 },{ 36070,48 },{ 36118,139 },{ 36257,24 }}, // Mundang/Latin/Cameroon +- { 246, 7, 37,{ 36281,51 },{ 36332,143 },{ 418,27 },{ 36281,51 },{ 36332,143 },{ 418,27 }}, // Kwasio/Latin/Cameroon +- { 247, 7, 254,{ 36475,54 },{ 36529,96 },{ 36625,24 },{ 36475,54 },{ 36529,96 },{ 36625,24 }}, // Nuer/Latin/South Sudan +- { 248, 2, 178,{ 36649,50 },{ 36699,116 },{ 36815,24 },{ 36649,50 },{ 36839,121 },{ 36815,24 }}, // Sakha/Cyrillic/Russia +- { 249, 7, 210,{ 36960,48 },{ 37008,117 },{ 418,27 },{ 36960,48 },{ 37008,117 },{ 418,27 }}, // Sangu/Latin/Tanzania +- { 251, 7, 156,{ 33127,46 },{ 33173,88 },{ 33261,24 },{ 33127,46 },{ 33173,88 },{ 33261,24 }}, // Tasawaq/Latin/Niger +- { 252, 35, 121,{ 37125,38 },{ 37163,61 },{ 418,27 },{ 37125,38 },{ 37163,61 },{ 418,27 }}, // Vai/Vai/Liberia ++ { 237, 7, 37,{ 34378,48 },{ 34426,195 },{ 34621,24 },{ 34378,48 },{ 34426,195 },{ 34621,24 }}, // Aghem/Latin/Cameroon ++ { 238, 7, 37,{ 34645,48 },{ 34693,90 },{ 34783,24 },{ 34645,48 },{ 34693,90 },{ 34783,24 }}, // Basaa/Latin/Cameroon ++ { 239, 7, 156,{ 33237,46 },{ 33283,88 },{ 33371,24 },{ 33237,46 },{ 33283,88 },{ 33371,24 }}, // Zarma/Latin/Niger ++ { 240, 7, 37,{ 34807,49 },{ 34856,99 },{ 34955,24 },{ 34807,49 },{ 34856,99 },{ 34955,24 }}, // Duala/Latin/Cameroon ++ { 241, 7, 187,{ 34979,36 },{ 35015,82 },{ 35097,24 },{ 34979,36 },{ 35015,82 },{ 35097,24 }}, // Jola Fonyi/Latin/Senegal ++ { 242, 7, 37,{ 35121,50 },{ 35171,141 },{ 35312,24 },{ 35121,50 },{ 35171,141 },{ 35312,24 }}, // Ewondo/Latin/Cameroon ++ { 243, 7, 37,{ 35336,39 },{ 35375,191 },{ 418,27 },{ 35336,39 },{ 35375,191 },{ 418,27 }}, // Bafia/Latin/Cameroon ++ { 244, 7, 146,{ 35566,48 },{ 35614,213 },{ 35827,24 },{ 35566,48 },{ 35614,213 },{ 35827,24 }}, // Makhuwa Meetto/Latin/Mozambique ++ { 245, 7, 37,{ 35851,48 },{ 35899,139 },{ 36038,24 },{ 35851,48 },{ 35899,139 },{ 36038,24 }}, // Mundang/Latin/Cameroon ++ { 246, 7, 37,{ 36062,51 },{ 36113,143 },{ 418,27 },{ 36062,51 },{ 36113,143 },{ 418,27 }}, // Kwasio/Latin/Cameroon ++ { 247, 7, 254,{ 36256,54 },{ 36310,96 },{ 36406,24 },{ 36256,54 },{ 36310,96 },{ 36406,24 }}, // Nuer/Latin/South Sudan ++ { 248, 2, 178,{ 36430,50 },{ 36480,116 },{ 36596,24 },{ 36430,50 },{ 36620,121 },{ 36596,24 }}, // Sakha/Cyrillic/Russia ++ { 249, 7, 210,{ 36741,48 },{ 36789,117 },{ 418,27 },{ 36741,48 },{ 36789,117 },{ 418,27 }}, // Sangu/Latin/Tanzania ++ { 251, 7, 156,{ 33237,46 },{ 33283,88 },{ 33371,24 },{ 33237,46 },{ 33283,88 },{ 33371,24 }}, // Tasawaq/Latin/Niger ++ { 252, 35, 121,{ 36906,38 },{ 36944,61 },{ 418,27 },{ 36906,38 },{ 36944,61 },{ 418,27 }}, // Vai/Vai/Liberia + { 252, 7, 121,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Vai/Latin/Liberia +- { 253, 7, 206,{ 37224,48 },{ 37272,99 },{ 37371,24 },{ 37224,48 },{ 37272,99 },{ 37371,24 }}, // Walser/Latin/Switzerland +- { 254, 7, 37,{ 37395,51 },{ 37446,191 },{ 418,27 },{ 37395,51 },{ 37446,191 },{ 418,27 }}, // Yangben/Latin/Cameroon +- { 256, 7, 197,{ 37637,48 },{ 37685,85 },{ 37770,24 },{ 37794,48 },{ 37842,117 },{ 37770,24 }}, // Asturian/Latin/Spain +- { 257, 7, 37,{ 37959,174 },{ 37959,174 },{ 418,27 },{ 37959,174 },{ 37959,174 },{ 418,27 }}, // Ngomba/Latin/Cameroon +- { 258, 7, 37,{ 38133,103 },{ 38133,103 },{ 418,27 },{ 38133,103 },{ 38133,103 },{ 418,27 }}, // Kako/Latin/Cameroon +- { 259, 7, 37,{ 38236,137 },{ 38373,142 },{ 38515,36 },{ 38236,137 },{ 38373,142 },{ 38515,36 }}, // Meta/Latin/Cameroon +- { 260, 7, 37,{ 38551,165 },{ 38551,165 },{ 418,27 },{ 38551,165 },{ 38551,165 },{ 418,27 }}, // Ngiemboon/Latin/Cameroon ++ { 253, 7, 206,{ 37005,48 },{ 37053,99 },{ 37152,24 },{ 37005,48 },{ 37053,99 },{ 37152,24 }}, // Walser/Latin/Switzerland ++ { 254, 7, 37,{ 37176,51 },{ 37227,191 },{ 418,27 },{ 37176,51 },{ 37227,191 },{ 418,27 }}, // Yangben/Latin/Cameroon ++ { 256, 7, 197,{ 37418,48 },{ 37466,85 },{ 37551,24 },{ 37575,48 },{ 37623,117 },{ 37551,24 }}, // Asturian/Latin/Spain ++ { 257, 7, 37,{ 37740,174 },{ 37740,174 },{ 418,27 },{ 37740,174 },{ 37740,174 },{ 418,27 }}, // Ngomba/Latin/Cameroon ++ { 258, 7, 37,{ 37914,103 },{ 37914,103 },{ 418,27 },{ 37914,103 },{ 37914,103 },{ 418,27 }}, // Kako/Latin/Cameroon ++ { 259, 7, 37,{ 38017,137 },{ 38154,142 },{ 38296,36 },{ 38017,137 },{ 38154,142 },{ 38296,36 }}, // Meta/Latin/Cameroon ++ { 260, 7, 37,{ 38332,165 },{ 38332,165 },{ 418,27 },{ 38332,165 },{ 38332,165 },{ 418,27 }}, // Ngiemboon/Latin/Cameroon + { 261, 7, 197,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Aragonese/Latin/Spain +- { 290, 11, 100,{ 38716,58 },{ 38774,88 },{ 38862,37 },{ 38774,88 },{ 38774,88 },{ 38899,38 }}, // Manipuri/Bengali/India ++ { 275, 13, 100,{ 38497,60 },{ 38557,73 },{ 38630,30 },{ 38497,60 },{ 38660,73 },{ 38630,30 }}, // Dogri/Devanagari/India ++ { 290, 11, 100,{ 38733,58 },{ 38791,88 },{ 38879,37 },{ 38916,88 },{ 38916,88 },{ 39004,38 }}, // Manipuri/Bengali/India + { 290, 72, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Manipuri/Meitei Mayek/India +- { 304, 78, 100,{ 38937,47 },{ 38984,83 },{ 39067,24 },{ 38937,47 },{ 38984,83 },{ 39067,24 }}, // Santali/Ol Chiki/India ++ { 304, 78, 100,{ 39042,47 },{ 39089,83 },{ 39172,24 },{ 39042,47 },{ 39089,83 },{ 39172,24 }}, // Santali/Ol Chiki/India + { 304, 13, 100,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Santali/Devanagari/India + { 309, 100, 232,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Tai Dam/Tai Viet/Vietnam + { 312, 7, 37,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Akoose/Latin/Cameroon +- { 313, 7, 225,{ 39091,180 },{ 39091,180 },{ 418,27 },{ 39091,180 },{ 39091,180 },{ 418,27 }}, // Lakota/Latin/United States +- { 314, 9, 145,{ 29157,48 },{ 29205,81 },{ 29286,24 },{ 29157,48 },{ 29205,81 },{ 29286,24 }}, // Standard Moroccan Tamazight/Tifinagh/Morocco ++ { 313, 7, 225,{ 39196,180 },{ 39196,180 },{ 418,27 },{ 39196,180 },{ 39196,180 },{ 418,27 }}, // Lakota/Latin/United States ++ { 314, 9, 145,{ 29267,48 },{ 29315,81 },{ 29396,24 },{ 29267,48 },{ 29315,81 },{ 29396,24 }}, // Standard Moroccan Tamazight/Tifinagh/Morocco + { 315, 7, 43,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mapuche/Latin/Chile +- { 316, 1, 103,{ 39271,105 },{ 39271,105 },{ 39376,24 },{ 39271,105 },{ 39271,105 },{ 39376,24 }}, // Central Kurdish/Arabic/Iraq +- { 316, 1, 102,{ 39271,105 },{ 39271,105 },{ 39376,24 },{ 39271,105 },{ 39271,105 },{ 39376,24 }}, // Central Kurdish/Arabic/Iran +- { 317, 7, 82,{ 39400,48 },{ 39448,85 },{ 9992,24 },{ 39533,60 },{ 39593,93 },{ 9992,24 }}, // Lower Sorbian/Latin/Germany +- { 318, 7, 82,{ 39686,48 },{ 39734,86 },{ 9992,24 },{ 39820,60 },{ 39880,93 },{ 9992,24 }}, // Upper Sorbian/Latin/Germany ++ { 316, 1, 103,{ 39376,105 },{ 39376,105 },{ 39481,24 },{ 39376,105 },{ 39376,105 },{ 39481,24 }}, // Central Kurdish/Arabic/Iraq ++ { 316, 1, 102,{ 39376,105 },{ 39376,105 },{ 39481,24 },{ 39376,105 },{ 39376,105 },{ 39481,24 }}, // Central Kurdish/Arabic/Iran ++ { 317, 7, 82,{ 39505,48 },{ 39553,85 },{ 10015,24 },{ 39638,60 },{ 39698,93 },{ 10015,24 }}, // Lower Sorbian/Latin/Germany ++ { 318, 7, 82,{ 39791,48 },{ 39839,86 },{ 10015,24 },{ 39925,60 },{ 39985,93 },{ 10015,24 }}, // Upper Sorbian/Latin/Germany + { 319, 7, 37,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kenyang/Latin/Cameroon + { 320, 7, 38,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Mohawk/Latin/Canada + { 321, 75, 91,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Nko/Nko/Guinea +- { 322, 7, 260,{ 39973,48 },{ 40021,91 },{ 40112,24 },{ 39973,48 },{ 40021,91 },{ 40112,24 }}, // Prussian/Latin/World ++ { 322, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Prussian/Latin/World + { 323, 7, 90,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Kiche/Latin/Guatemala + { 324, 7, 205,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Sami/Latin/Sweden + { 325, 7, 205,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Lule Sami/Latin/Sweden +- { 326, 7, 73,{ 40136,77 },{ 40213,140 },{ 40353,25 },{ 40136,77 },{ 40213,140 },{ 40353,25 }}, // Inari Sami/Latin/Finland ++ { 326, 7, 73,{ 40078,77 },{ 40155,140 },{ 40295,25 },{ 40078,77 },{ 40155,140 },{ 40295,25 }}, // Inari Sami/Latin/Finland + { 327, 7, 73,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Skolt Sami/Latin/Finland + { 328, 7, 13,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Warlpiri/Latin/Australia +- { 339, 13, 100,{ 9202,59 },{ 9261,73 },{ 9334,30 },{ 9202,59 },{ 9261,73 },{ 9334,30 }}, // Maithili/Devanagari/India +- { 346, 1, 102,{ 15184,70 },{ 15184,70 },{ 418,27 },{ 15184,70 },{ 15184,70 },{ 418,27 }}, // Mazanderani/Arabic/Iran +- { 349, 1, 102,{ 40378,77 },{ 40378,77 },{ 418,27 },{ 40378,77 },{ 40378,77 },{ 418,27 }}, // Northern Luri/Arabic/Iran +- { 349, 1, 103,{ 40378,77 },{ 40378,77 },{ 418,27 },{ 40378,77 },{ 40378,77 },{ 418,27 }}, // Northern Luri/Arabic/Iraq +- { 357, 6, 97,{ 4557,39 },{ 4557,39 },{ 418,27 },{ 4557,39 },{ 4557,39 },{ 418,27 }}, // Cantonese/Traditional Han/Hong Kong +- { 357, 5, 44,{ 4557,39 },{ 4596,38 },{ 418,27 },{ 4557,39 },{ 4596,38 },{ 418,27 }}, // Cantonese/Simplified Han/China ++ { 339, 13, 100,{ 9225,59 },{ 9284,73 },{ 9357,30 },{ 9225,59 },{ 9284,73 },{ 9357,30 }}, // Maithili/Devanagari/India ++ { 346, 1, 102,{ 15207,70 },{ 15207,70 },{ 418,27 },{ 15207,70 },{ 15207,70 },{ 418,27 }}, // Mazanderani/Arabic/Iran ++ { 349, 1, 102,{ 40320,77 },{ 40320,77 },{ 418,27 },{ 40320,77 },{ 40320,77 },{ 418,27 }}, // Northern Luri/Arabic/Iran ++ { 349, 1, 103,{ 40320,77 },{ 40320,77 },{ 418,27 },{ 40320,77 },{ 40320,77 },{ 418,27 }}, // Northern Luri/Arabic/Iraq ++ { 357, 6, 97,{ 4480,39 },{ 4480,39 },{ 418,27 },{ 4480,39 },{ 4480,39 },{ 418,27 }}, // Cantonese/Traditional Han/Hong Kong ++ { 357, 5, 44,{ 4480,39 },{ 4519,38 },{ 418,27 },{ 4480,39 },{ 4519,38 },{ 418,27 }}, // Cantonese/Simplified Han/China + { 358, 138, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Osage/Osage/United States + { 360, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Ido/Latin/World + { 361, 7, 260,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Lojban/Latin/World + { 362, 7, 106,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Sicilian/Latin/Italy + { 363, 1, 102,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Southern Kurdish/Arabic/Iran + { 364, 1, 163,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Western Balochi/Arabic/Pakistan +- { 365, 7, 170,{ 26742,48 },{ 26790,88 },{ 40455,24 },{ 40479,46 },{ 26790,88 },{ 40455,24 }}, // Cebuano/Latin/Philippines ++ { 365, 7, 170,{ 26852,48 },{ 26900,88 },{ 40397,24 },{ 26852,48 },{ 26900,88 },{ 40397,24 }}, // Cebuano/Latin/Philippines + { 366, 2, 178,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Erzya/Cyrillic/Russia + { 367, 7, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Chickasaw/Latin/United States + { 368, 7, 225,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Muscogee/Latin/United States + { 369, 7, 172,{ 370,48 },{ 370,48 },{ 418,27 },{ 370,48 },{ 370,48 },{ 418,27 }}, // Silesian/Latin/Poland +- { 370, 7, 157,{ 40525,51 },{ 40576,83 },{ 134,24 },{ 40659,50 },{ 40576,83 },{ 134,24 }}, // Nigerian Pidgin/Latin/Nigeria ++ { 370, 7, 157,{ 40421,51 },{ 40472,83 },{ 134,24 },{ 40555,50 },{ 40472,83 },{ 134,24 }}, // Nigerian Pidgin/Latin/Nigeria + { 0, 0, 0,{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0},{ 0,0}}, // trailing zeros + }; + +@@ -773,1944 +776,1939 @@ static const ushort months_data[] = { + 0x3b, 0x9ab, 0x3b, 0x9ae, 0x3b, 0x98f, 0x3b, 0x9ae, 0x3b, 0x99c, 0x3b, 0x99c, 0x3b, 0x986, 0x3b, 0x99b, 0x3b, 0x985, 0x3b, 0x9a8, + 0x3b, 0x9a1, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, + 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, +-0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, +-0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, +-0x130, 0x79, 0x75, 0x6e, 0x3b, 0x130, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, +-0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, 0x72, +-0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61, +-0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75, +-0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x79, 0x61, +-0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, +-0x6b, 0x61, 0x62, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, +-0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x458, 0x43d, 0x3b, 0x438, 0x458, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43d, +-0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x458, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x408, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, +-0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, +-0x439, 0x3b, 0x418, 0x458, 0x443, 0x43d, 0x3b, 0x418, 0x458, 0x443, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, +-0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x458, 0x430, +-0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, +-0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, +-0x458, 0x443, 0x43d, 0x3b, 0x438, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, +-0x458, 0x430, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x458, 0x430, 0x431, 0x440, 0x3b, +-0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x75, 0x72, 0x74, 0x2e, 0x3b, 0x6f, 0x74, 0x73, 0x2e, 0x3b, 0x6d, 0x61, 0x72, +-0x2e, 0x3b, 0x61, 0x70, 0x69, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x2e, 0x3b, 0x65, 0x6b, 0x61, 0x2e, 0x3b, 0x75, 0x7a, 0x74, +-0x2e, 0x3b, 0x61, 0x62, 0x75, 0x2e, 0x3b, 0x69, 0x72, 0x61, 0x2e, 0x3b, 0x75, 0x72, 0x72, 0x2e, 0x3b, 0x61, 0x7a, 0x61, +-0x2e, 0x3b, 0x61, 0x62, 0x65, 0x2e, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x3b, 0x6f, 0x74, 0x73, +-0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, 0x70, 0x69, 0x72, 0x69, 0x6c, 0x61, +-0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x75, 0x7a, 0x74, 0x61, +-0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x75, +-0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, 0x61, 0x3b, +-0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x49, 0x3b, 0x55, 0x3b, +-0x41, 0x3b, 0x41, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x6f, 0x74, 0x73, 0x61, 0x69, +-0x6c, 0x61, 0x6b, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x6b, 0x3b, 0x61, 0x70, 0x69, 0x72, 0x69, 0x6c, 0x61, +-0x6b, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x6b, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x6b, 0x3b, 0x75, +-0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x6b, 0x3b, 0x69, 0x72, 0x61, +-0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x6b, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x6b, 0x3b, +-0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, 0x61, 0x6b, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ab, +-0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, +-0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, +-0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, +-0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x99c, +-0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x3b, +-0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, 0x9ac, +-0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, +-0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, +-0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, +-0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf22, 0x3b, 0xf5f, +-0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf26, 0x3b, 0xf5f, +-0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf20, 0x3b, +-0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, +-0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, +-0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, +-0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf63, +-0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, +-0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, +-0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, +-0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, +-0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, +-0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, +-0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, +-0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, +-0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0x31, 0x32, 0x3b, 0xf5f, 0xfb3, 0xf0b, +-0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, +-0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, +-0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, +-0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, +-0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, +-0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, +-0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0x34, 0x3b, 0xf25, 0x3b, 0xf26, +-0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0x39, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0x47, 0x65, 0x6e, 0x2e, +-0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x2e, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x2e, 0x3b, 0x45, 0x62, 0x72, 0x2e, 0x3b, 0x4d, +-0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, 0x2e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x2e, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, +-0x47, 0x77, 0x65, 0x6e, 0x2e, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x7a, 0x75, 0x2e, 0x3b, 0x47, +-0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x4d, 0x65, 0x75, 0x72, +-0x7a, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, 0x65, 0x76, 0x65, +-0x6e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x72, 0x65, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x67, 0x6f, +-0x6c, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x72, 0x7a, 0x75, 0x3b, 0x30, 0x31, 0x3b, +-0x30, 0x32, 0x3b, 0x30, 0x33, 0x3b, 0x30, 0x34, 0x3b, 0x30, 0x35, 0x3b, 0x30, 0x36, 0x3b, 0x30, 0x37, 0x3b, 0x30, 0x38, +-0x3b, 0x30, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x44f, 0x43d, 0x443, 0x3b, 0x444, 0x435, 0x432, +-0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, +-0x438, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x435, 0x3b, 0x434, 0x435, +-0x43a, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x43c, 0x430, +-0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, 0x44e, 0x43b, 0x438, +-0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, +-0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, +-0x432, 0x440, 0x438, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, 0x3b, 0x430, 0x3b, +-0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x1014, 0x103a, 0x3b, 0x1016, 0x1031, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, +-0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x3b, 0x1029, 0x3b, 0x1005, 0x1000, 0x103a, 0x3b, 0x1021, 0x1031, +-0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, 0x3b, 0x1007, 0x1014, 0x103a, 0x1014, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, +-0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x1015, 0x103c, 0x102e, 0x3b, +-0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x101c, 0x102d, 0x102f, 0x1004, 0x103a, 0x3b, 0x1029, 0x1002, 0x102f, 0x1010, +-0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x1010, 0x102d, 0x102f, 0x1018, +-0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1012, 0x102e, 0x1007, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1007, +-0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, 0x1007, 0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, 0x1021, 0x3b, 0x1014, +-0x3b, 0x1012, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, +-0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, +-0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44c, 0x3b, +-0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, +-0x43a, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44c, +-0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x430, +-0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x3b, 0x441, 0x43d, +-0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b, 0x43c, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, +-0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, +-0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, +-0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, +-0x443, 0x434, 0x437, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x430, 0x433, 0x430, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, +-0x43a, 0x430, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, +-0x432, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44f, 0x3b, 0x436, 0x43d, 0x456, 0x45e, 0x43d, 0x44f, 0x3b, 0x432, +-0x435, 0x440, 0x430, 0x441, 0x43d, 0x44f, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x430, 0x3b, 0x43b, +-0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x43d, 0x44f, 0x3b, 0x1798, 0x1780, 0x179a, 0x17b6, +-0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2, 0x1797, 0x17c8, 0x3b, 0x1798, 0x17b8, 0x1793, 0x17b6, 0x3b, 0x1798, 0x17c1, 0x179f, 0x17b6, 0x3b, 0x17a7, 0x179f, +-0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7, 0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780, 0x178a, 0x17b6, 0x3b, 0x179f, 0x17b8, 0x17a0, +-0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2, 0x1789, 0x17b6, 0x3b, 0x178f, 0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, 0x1786, 0x17b7, 0x1780, +-0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, 0x17bc, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x1798, 0x3b, 0x1798, 0x3b, 0x17a7, 0x3b, 0x1798, 0x3b, 0x1780, +-0x3b, 0x179f, 0x3b, 0x1780, 0x3b, 0x178f, 0x3b, 0x179c, 0x3b, 0x1792, 0x3b, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, +-0x2e, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, +-0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, +-0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x65, 0x62, +-0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, +-0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x73, 0x65, +-0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, +-0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x4e, 0x3b, 0x46, 0x42, 0x3b, 0x4d, +-0xc7, 0x3b, 0x41, 0x42, 0x3b, 0x4d, 0x47, 0x3b, 0x4a, 0x4e, 0x3b, 0x4a, 0x4c, 0x3b, 0x41, 0x47, 0x3b, 0x53, 0x54, 0x3b, +-0x4f, 0x43, 0x3b, 0x4e, 0x56, 0x3b, 0x44, 0x53, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x64, 0x65, 0x20, +-0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x2e, +-0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, +-0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x64, +-0x2019, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, +-0x2e, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, +-0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x64, 0x65, 0x20, +-0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x69, +-0x6f, 0x6c, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, +-0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x65, +-0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x31, 0x6708, 0x3b, +-0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, 0x3b, 0x38, 0x6708, +-0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x4e00, 0x6708, 0x3b, 0x4e8c, +-0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, 0x516b, 0x6708, 0x3b, +-0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x73, 0x69, 0x6a, 0x3b, 0x76, 0x65, +-0x6c, 0x6a, 0x3b, 0x6f, 0x17e, 0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, +-0x72, 0x70, 0x3b, 0x6b, 0x6f, 0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x74, 0x75, 0x3b, 0x70, +-0x72, 0x6f, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x61, 0x6e, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x61, 0x3b, +-0x6f, 0x17e, 0x75, 0x6a, 0x61, 0x6b, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x61, +-0x6e, 0x6a, 0x3b, 0x6c, 0x69, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x72, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x6b, 0x6f, 0x6c, +-0x6f, 0x76, 0x6f, 0x7a, 0x3b, 0x72, 0x75, 0x6a, 0x61, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, +-0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x69, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x61, 0x63, 0x3b, 0x31, 0x2e, 0x3b, +-0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, 0x3b, 0x38, 0x2e, +-0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x73, 0x69, 0x6a, 0x65, +-0x10d, 0x6e, 0x6a, 0x61, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x65, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x6b, 0x61, 0x3b, +-0x74, 0x72, 0x61, 0x76, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x6e, 0x6a, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x6e, +-0x6a, 0x61, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x61, 0x3b, 0x72, +-0x75, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, +-0x6e, 0x6f, 0x67, 0x61, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x61, 0x3b, 0x6c, 0x65, 0x64, 0x3b, 0xfa, 0x6e, +-0x6f, 0x3b, 0x62, 0x159, 0x65, 0x3b, 0x64, 0x75, 0x62, 0x3b, 0x6b, 0x76, 0x11b, 0x3b, 0x10d, 0x76, 0x6e, 0x3b, 0x10d, 0x76, +-0x63, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x7a, 0xe1, 0x159, 0x3b, 0x159, 0xed, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x70, 0x72, +-0x6f, 0x3b, 0x6c, 0x65, 0x64, 0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x3b, 0x62, 0x159, 0x65, 0x7a, 0x65, 0x6e, 0x3b, +-0x64, 0x75, 0x62, 0x65, 0x6e, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x3b, +-0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x65, 0x6e, 0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, +-0x159, 0xed, 0x6a, 0x65, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, +-0x6e, 0x65, 0x63, 0x3b, 0x6c, 0x65, 0x64, 0x6e, 0x61, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x61, 0x3b, 0x62, 0x159, 0x65, 0x7a, +-0x6e, 0x61, 0x3b, 0x64, 0x75, 0x62, 0x6e, 0x61, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, +-0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x63, 0x65, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x61, 0x3b, 0x7a, 0xe1, +-0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x75, 0x3b, 0x70, +-0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, +-0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, +-0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, +-0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, +-0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, +-0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, +-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, +-0x3b, 0x6d, 0x72, 0x74, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, ++0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, ++0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, ++0x69, 0x79, 0x75, 0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x71, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, ++0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, ++0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, ++0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x458, 0x43d, 0x3b, 0x438, 0x458, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, ++0x441, 0x435, 0x43d, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x458, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x408, 0x430, 0x43d, 0x432, ++0x430, 0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, ++0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x458, 0x443, 0x43d, 0x3b, 0x418, 0x458, 0x443, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, ++0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x41d, ++0x43e, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x458, 0x430, 0x43d, 0x432, 0x430, 0x440, 0x3b, ++0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, ++0x439, 0x3b, 0x438, 0x458, 0x443, 0x43d, 0x3b, 0x438, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, ++0x435, 0x43d, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x458, 0x430, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x458, 0x430, ++0x431, 0x440, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x75, 0x72, 0x74, 0x2e, 0x3b, 0x6f, 0x74, 0x73, 0x2e, 0x3b, ++0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x69, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x2e, 0x3b, 0x65, 0x6b, 0x61, 0x2e, 0x3b, ++0x75, 0x7a, 0x74, 0x2e, 0x3b, 0x61, 0x62, 0x75, 0x2e, 0x3b, 0x69, 0x72, 0x61, 0x2e, 0x3b, 0x75, 0x72, 0x72, 0x2e, 0x3b, ++0x61, 0x7a, 0x61, 0x2e, 0x3b, 0x61, 0x62, 0x65, 0x2e, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x3b, ++0x6f, 0x74, 0x73, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x3b, 0x61, 0x70, 0x69, 0x72, ++0x69, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, 0x3b, 0x75, ++0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x3b, 0x69, 0x72, 0x61, 0x69, 0x6c, ++0x61, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, 0x61, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, ++0x75, 0x61, 0x3b, 0x55, 0x3b, 0x4f, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x49, ++0x3b, 0x55, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x75, 0x72, 0x74, 0x61, 0x72, 0x72, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x6f, 0x74, ++0x73, 0x61, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x78, 0x6f, 0x61, 0x6b, 0x3b, 0x61, 0x70, 0x69, 0x72, ++0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x6d, 0x61, 0x69, 0x61, 0x74, 0x7a, 0x61, 0x6b, 0x3b, 0x65, 0x6b, 0x61, 0x69, 0x6e, 0x61, ++0x6b, 0x3b, 0x75, 0x7a, 0x74, 0x61, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x61, 0x62, 0x75, 0x7a, 0x74, 0x75, 0x61, 0x6b, 0x3b, ++0x69, 0x72, 0x61, 0x69, 0x6c, 0x61, 0x6b, 0x3b, 0x75, 0x72, 0x72, 0x69, 0x61, 0x6b, 0x3b, 0x61, 0x7a, 0x61, 0x72, 0x6f, ++0x61, 0x6b, 0x3b, 0x61, 0x62, 0x65, 0x6e, 0x64, 0x75, 0x61, 0x6b, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, ++0x9c0, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9af, 0x9bc, 0x9be, 0x9b0, 0x9c0, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, ++0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, ++0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, ++0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, ++0x9b0, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x3b, 0x98f, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, ++0x99c, 0x9c1, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x985, 0x3b, 0x9a8, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, ++0x9ab, 0x9c7, 0x9ac, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, ++0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, ++0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x985, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, ++0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf22, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf23, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf24, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf25, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf26, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf27, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf28, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf29, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf21, 0xf20, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf21, 0xf22, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, ++0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, ++0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, ++0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, ++0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, ++0xf0b, 0xf54, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, ++0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, ++0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, ++0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, ++0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf66, 0xfa4, 0xfb1, 0xf72, 0xf0b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, ++0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, 0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, ++0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0xf24, ++0x3b, 0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0xf29, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0x31, 0x32, 0x3b, ++0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf44, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, ++0xfb3, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, ++0xf5f, 0xfb3, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, ++0xfb3, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, ++0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, ++0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf21, 0x3b, 0xf22, 0x3b, 0xf23, 0x3b, 0x34, 0x3b, ++0xf25, 0x3b, 0xf26, 0x3b, 0xf27, 0x3b, 0xf28, 0x3b, 0x39, 0x3b, 0xf21, 0xf20, 0x3b, 0xf21, 0xf21, 0x3b, 0xf21, 0xf22, 0x3b, 0x47, ++0x65, 0x6e, 0x2e, 0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x2e, 0x3b, 0x4d, 0x65, 0x75, 0x72, 0x2e, 0x3b, 0x45, 0x62, 0x72, ++0x2e, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, 0x2e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x2e, 0x3b, 0x45, 0x6f, ++0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, 0x6e, 0x2e, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x7a, 0x75, ++0x2e, 0x3b, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x43, 0x2bc, 0x68, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x4d, ++0x65, 0x75, 0x72, 0x7a, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x65, 0x3b, 0x4d, 0x65, 0x7a, 0x68, ++0x65, 0x76, 0x65, 0x6e, 0x3b, 0x47, 0x6f, 0x75, 0x65, 0x72, 0x65, 0x3b, 0x45, 0x6f, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x65, ++0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x72, 0x7a, 0x75, 0x3b, ++0x30, 0x31, 0x3b, 0x30, 0x32, 0x3b, 0x30, 0x33, 0x3b, 0x30, 0x34, 0x3b, 0x30, 0x35, 0x3b, 0x30, 0x36, 0x3b, 0x30, 0x37, ++0x3b, 0x30, 0x38, 0x3b, 0x30, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x44f, 0x43d, 0x443, 0x3b, ++0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, ++0x3b, 0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x435, ++0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, ++0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x44e, 0x43d, 0x438, 0x3b, ++0x44e, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, 0x438, ++0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, 0x435, ++0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x44f, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x44e, 0x3b, 0x44e, ++0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x1007, 0x1014, 0x103a, 0x3b, 0x1016, 0x1031, 0x3b, 0x1019, 0x1010, ++0x103a, 0x3b, 0x1027, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x3b, 0x1029, 0x3b, 0x1005, 0x1000, 0x103a, ++0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x3b, 0x1014, 0x102d, 0x102f, 0x3b, 0x1012, 0x102e, 0x3b, 0x1007, 0x1014, 0x103a, 0x1014, 0x101d, 0x102b, ++0x101b, 0x102e, 0x3b, 0x1016, 0x1031, 0x1016, 0x1031, 0x102c, 0x103a, 0x101d, 0x102b, 0x101b, 0x102e, 0x3b, 0x1019, 0x1010, 0x103a, 0x3b, 0x1027, 0x1015, ++0x103c, 0x102e, 0x3b, 0x1019, 0x1031, 0x3b, 0x1007, 0x103d, 0x1014, 0x103a, 0x3b, 0x1007, 0x1030, 0x101c, 0x102d, 0x102f, 0x1004, 0x103a, 0x3b, 0x1029, ++0x1002, 0x102f, 0x1010, 0x103a, 0x3b, 0x1005, 0x1000, 0x103a, 0x1010, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1021, 0x1031, 0x102c, 0x1000, 0x103a, 0x1010, ++0x102d, 0x102f, 0x1018, 0x102c, 0x3b, 0x1014, 0x102d, 0x102f, 0x101d, 0x1004, 0x103a, 0x1018, 0x102c, 0x3b, 0x1012, 0x102e, 0x1007, 0x1004, 0x103a, 0x1018, ++0x102c, 0x3b, 0x1007, 0x3b, 0x1016, 0x3b, 0x1019, 0x3b, 0x1027, 0x3b, 0x1019, 0x3b, 0x1007, 0x3b, 0x1007, 0x3b, 0x1029, 0x3b, 0x1005, 0x3b, ++0x1021, 0x3b, 0x1014, 0x3b, 0x1012, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, ++0x430, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, 0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, ++0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, 0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, ++0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x44b, 0x3b, 0x441, 0x430, 0x43a, 0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x441, ++0x430, 0x432, 0x456, 0x43a, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x456, 0x43f, ++0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43d, 0x456, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x435, 0x43d, 0x44c, ++0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, ++0x3b, 0x441, 0x43d, 0x435, 0x436, 0x430, 0x43d, 0x44c, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x43a, 0x3b, 0x43c, 0x3b, 0x447, ++0x3b, 0x43b, 0x3b, 0x436, 0x3b, 0x432, 0x3b, 0x43a, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x441, 0x442, 0x443, 0x3b, 0x43b, 0x44e, 0x442, ++0x3b, 0x441, 0x430, 0x43a, 0x3b, 0x43a, 0x440, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x447, 0x44d, 0x440, 0x3b, 0x43b, 0x456, 0x43f, ++0x3b, 0x436, 0x43d, 0x456, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x43a, 0x430, 0x441, 0x3b, 0x43b, 0x456, 0x441, 0x3b, 0x441, 0x43d, 0x435, ++0x3b, 0x441, 0x442, 0x443, 0x434, 0x437, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x430, 0x433, 0x430, 0x3b, 0x441, 0x430, 0x43a, ++0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43a, 0x440, 0x430, 0x441, 0x430, 0x432, 0x456, 0x43a, 0x430, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, ++0x447, 0x44d, 0x440, 0x432, 0x435, 0x43d, 0x44f, 0x3b, 0x43b, 0x456, 0x43f, 0x435, 0x43d, 0x44f, 0x3b, 0x436, 0x43d, 0x456, 0x45e, 0x43d, ++0x44f, 0x3b, 0x432, 0x435, 0x440, 0x430, 0x441, 0x43d, 0x44f, 0x3b, 0x43a, 0x430, 0x441, 0x442, 0x440, 0x44b, 0x447, 0x43d, 0x456, 0x43a, ++0x430, 0x3b, 0x43b, 0x456, 0x441, 0x442, 0x430, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x441, 0x43d, 0x435, 0x436, 0x43d, 0x44f, 0x3b, 0x1798, ++0x1780, 0x179a, 0x17b6, 0x3b, 0x1780, 0x17bb, 0x1798, 0x17d2, 0x1797, 0x17c8, 0x3b, 0x1798, 0x17b8, 0x1793, 0x17b6, 0x3b, 0x1798, 0x17c1, 0x179f, 0x17b6, ++0x3b, 0x17a7, 0x179f, 0x1797, 0x17b6, 0x3b, 0x1798, 0x17b7, 0x1790, 0x17bb, 0x1793, 0x17b6, 0x3b, 0x1780, 0x1780, 0x17d2, 0x1780, 0x178a, 0x17b6, 0x3b, ++0x179f, 0x17b8, 0x17a0, 0x17b6, 0x3b, 0x1780, 0x1789, 0x17d2, 0x1789, 0x17b6, 0x3b, 0x178f, 0x17bb, 0x179b, 0x17b6, 0x3b, 0x179c, 0x17b7, 0x1785, 0x17d2, ++0x1786, 0x17b7, 0x1780, 0x17b6, 0x3b, 0x1792, 0x17d2, 0x1793, 0x17bc, 0x3b, 0x1798, 0x3b, 0x1780, 0x3b, 0x1798, 0x3b, 0x1798, 0x3b, 0x17a7, 0x3b, ++0x1798, 0x3b, 0x1780, 0x3b, 0x179f, 0x3b, 0x1780, 0x3b, 0x178f, 0x3b, 0x179c, 0x3b, 0x1792, 0x3b, 0x67, 0x65, 0x6e, 0x2e, 0x3b, 0x66, ++0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x67, 0x3b, ++0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, ++0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, ++0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, ++0x69, 0x67, 0x3b, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, ++0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, ++0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x4e, 0x3b, 0x46, ++0x42, 0x3b, 0x4d, 0xc7, 0x3b, 0x41, 0x42, 0x3b, 0x4d, 0x47, 0x3b, 0x4a, 0x4e, 0x3b, 0x4a, 0x4c, 0x3b, 0x41, 0x47, 0x3b, ++0x53, 0x54, 0x3b, 0x4f, 0x43, 0x3b, 0x4e, 0x56, 0x3b, 0x44, 0x53, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x2e, 0x3b, ++0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, ++0x62, 0x72, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, ++0x64, 0x65, 0x20, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, ++0x2e, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x20, ++0x64, 0x65, 0x73, 0x2e, 0x3b, 0x64, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, ++0x72, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0xe7, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, ++0x64, 0x65, 0x20, 0x6d, 0x61, 0x69, 0x67, 0x3b, 0x64, 0x65, 0x20, 0x6a, 0x75, 0x6e, 0x79, 0x3b, 0x64, 0x65, 0x20, 0x6a, ++0x75, 0x6c, 0x69, 0x6f, 0x6c, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, 0x74, ++0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x6e, ++0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x20, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, ++0x31, 0x6708, 0x3b, 0x32, 0x6708, 0x3b, 0x33, 0x6708, 0x3b, 0x34, 0x6708, 0x3b, 0x35, 0x6708, 0x3b, 0x36, 0x6708, 0x3b, 0x37, 0x6708, ++0x3b, 0x38, 0x6708, 0x3b, 0x39, 0x6708, 0x3b, 0x31, 0x30, 0x6708, 0x3b, 0x31, 0x31, 0x6708, 0x3b, 0x31, 0x32, 0x6708, 0x3b, 0x4e00, ++0x6708, 0x3b, 0x4e8c, 0x6708, 0x3b, 0x4e09, 0x6708, 0x3b, 0x56db, 0x6708, 0x3b, 0x4e94, 0x6708, 0x3b, 0x516d, 0x6708, 0x3b, 0x4e03, 0x6708, 0x3b, ++0x516b, 0x6708, 0x3b, 0x4e5d, 0x6708, 0x3b, 0x5341, 0x6708, 0x3b, 0x5341, 0x4e00, 0x6708, 0x3b, 0x5341, 0x4e8c, 0x6708, 0x3b, 0x73, 0x69, 0x6a, ++0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x3b, 0x6f, 0x17e, 0x75, 0x3b, 0x74, 0x72, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x3b, 0x6c, 0x69, ++0x70, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x6b, 0x6f, 0x6c, 0x3b, 0x72, 0x75, 0x6a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x73, 0x74, ++0x75, 0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x73, 0x69, 0x6a, 0x65, 0x10d, 0x61, 0x6e, 0x6a, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, ++0x10d, 0x61, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, 0x61, 0x6b, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x76, ++0x69, 0x62, 0x61, 0x6e, 0x6a, 0x3b, 0x6c, 0x69, 0x70, 0x61, 0x6e, 0x6a, 0x3b, 0x73, 0x72, 0x70, 0x61, 0x6e, 0x6a, 0x3b, ++0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, 0x3b, 0x72, 0x75, 0x6a, 0x61, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, ++0x61, 0x64, 0x3b, 0x73, 0x74, 0x75, 0x64, 0x65, 0x6e, 0x69, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x61, 0x63, 0x3b, ++0x31, 0x2e, 0x3b, 0x32, 0x2e, 0x3b, 0x33, 0x2e, 0x3b, 0x34, 0x2e, 0x3b, 0x35, 0x2e, 0x3b, 0x36, 0x2e, 0x3b, 0x37, 0x2e, ++0x3b, 0x38, 0x2e, 0x3b, 0x39, 0x2e, 0x3b, 0x31, 0x30, 0x2e, 0x3b, 0x31, 0x31, 0x2e, 0x3b, 0x31, 0x32, 0x2e, 0x3b, 0x73, ++0x69, 0x6a, 0x65, 0x10d, 0x6e, 0x6a, 0x61, 0x3b, 0x76, 0x65, 0x6c, 0x6a, 0x61, 0x10d, 0x65, 0x3b, 0x6f, 0x17e, 0x75, 0x6a, ++0x6b, 0x61, 0x3b, 0x74, 0x72, 0x61, 0x76, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x76, 0x69, 0x62, 0x6e, 0x6a, 0x61, 0x3b, 0x6c, ++0x69, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x6a, 0x61, 0x3b, 0x6b, 0x6f, 0x6c, 0x6f, 0x76, 0x6f, 0x7a, ++0x61, 0x3b, 0x72, 0x75, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x61, 0x3b, 0x73, 0x74, ++0x75, 0x64, 0x65, 0x6e, 0x6f, 0x67, 0x61, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x61, 0x3b, 0x6c, 0x65, 0x64, ++0x3b, 0xfa, 0x6e, 0x6f, 0x3b, 0x62, 0x159, 0x65, 0x3b, 0x64, 0x75, 0x62, 0x3b, 0x6b, 0x76, 0x11b, 0x3b, 0x10d, 0x76, 0x6e, ++0x3b, 0x10d, 0x76, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x3b, 0x7a, 0xe1, 0x159, 0x3b, 0x159, 0xed, 0x6a, 0x3b, 0x6c, 0x69, 0x73, ++0x3b, 0x70, 0x72, 0x6f, 0x3b, 0x6c, 0x65, 0x64, 0x65, 0x6e, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x3b, 0x62, 0x159, 0x65, 0x7a, ++0x65, 0x6e, 0x3b, 0x64, 0x75, 0x62, 0x65, 0x6e, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, ++0x65, 0x6e, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x65, 0x63, 0x3b, 0x73, 0x72, 0x70, 0x65, 0x6e, 0x3b, 0x7a, 0xe1, ++0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x65, 0x6e, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x70, 0x72, ++0x6f, 0x73, 0x69, 0x6e, 0x65, 0x63, 0x3b, 0x6c, 0x65, 0x64, 0x6e, 0x61, 0x3b, 0xfa, 0x6e, 0x6f, 0x72, 0x61, 0x3b, 0x62, ++0x159, 0x65, 0x7a, 0x6e, 0x61, 0x3b, 0x64, 0x75, 0x62, 0x6e, 0x61, 0x3b, 0x6b, 0x76, 0x11b, 0x74, 0x6e, 0x61, 0x3b, 0x10d, ++0x65, 0x72, 0x76, 0x6e, 0x61, 0x3b, 0x10d, 0x65, 0x72, 0x76, 0x65, 0x6e, 0x63, 0x65, 0x3b, 0x73, 0x72, 0x70, 0x6e, 0x61, ++0x3b, 0x7a, 0xe1, 0x159, 0xed, 0x3b, 0x159, 0xed, 0x6a, 0x6e, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, ++0x75, 0x3b, 0x70, 0x72, 0x6f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, ++0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, + 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, +-0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, +-0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, +-0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, +-0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, +-0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, +-0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, +-0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, +-0x2e, 0x3b, 0x4f, 0x63, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, +-0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, +-0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x16d, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, +-0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, +-0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6f, 0x3b, 0x6d, 0x61, 0x6a, 0x6f, 0x3b, +-0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x16d, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, +-0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, +-0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6a, 0x61, 0x61, 0x6e, +-0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, +-0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, +-0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, 0x6a, 0x61, 0x61, 0x6e, 0x75, +-0x61, 0x72, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, +-0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, ++0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, ++0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, ++0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, ++0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, ++0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x72, 0x74, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, ++0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, ++0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, ++0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, ++0x6c, 0x3b, 0x6d, 0x65, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, ++0x73, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, ++0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, ++0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, ++0x3b, 0x4a, 0x75, 0x6e, 0x65, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x3b, ++0x4f, 0x63, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, ++0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, ++0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x63, 0x74, 0x2e, ++0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, ++0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, ++0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x3b, 0x4f, 0x63, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, ++0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, ++0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x16d, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, ++0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, ++0x75, 0x61, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6f, 0x3b, 0x6d, 0x61, ++0x6a, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x16d, 0x67, 0x75, 0x73, ++0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x6f, ++0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6a, ++0x61, 0x61, 0x6e, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x3b, ++0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x74, 0x73, 0x3b, 0x6a, 0x61, ++0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x76, 0x65, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0xe4, 0x72, 0x74, 0x73, ++0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, ++0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, ++0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, ++0x65, 0x74, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, ++0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, ++0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, ++0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, ++0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, ++0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, + 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, +-0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x74, 0x73, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x56, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, +-0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, +-0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, +-0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x6a, 0x61, +-0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, +-0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, +-0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, +-0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, +-0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, +-0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, +-0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, +-0x74, 0x61, 0x6d, 0x6d, 0x69, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x3b, 0x68, +-0x75, 0x68, 0x74, 0x69, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x3b, 0x68, 0x65, 0x69, 0x6e, +-0xe4, 0x3b, 0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x72, +-0x61, 0x73, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, +-0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x75, 0x68, +-0x74, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, +-0x75, 0x75, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x73, +-0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, +-0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, +-0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x74, 0x61, +-0x6d, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, +-0x6b, 0x2e, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x2e, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x2e, 0x3b, 0x6b, +-0x65, 0x73, 0xe4, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x2e, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x2e, 0x3b, +-0x73, 0x79, 0x79, 0x73, 0x6b, 0x2e, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, +-0x6b, 0x2e, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, +-0x61, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, +-0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x74, 0x6f, 0x75, 0x6b, +-0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x69, +-0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x73, 0x79, 0x79, +-0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x72, +-0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, +-0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, +-0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, +-0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, +-0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, 0x65, 0x72, 0x3b, 0x6d, +-0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, +-0x75, 0x69, 0x6c, 0x6c, 0x65, 0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, +-0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, +-0xe9, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, +-0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, +-0x75, 0x69, 0x6c, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, +-0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0xe9, 0x76, +-0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x2e, +-0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, +-0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, +-0x3b, 0x4d, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, +-0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, +-0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x77, 0x61, 0x72, +-0x69, 0x73, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x61, 0x69, 0x65, +-0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, +-0x53, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, +-0x76, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x46, 0x61, 0x6f, 0x69, +-0x3b, 0x47, 0x65, 0x61, 0x72, 0x72, 0x3b, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x47, 0x69, 0x62, 0x6c, 0x3b, 0x43, 0xe8, 0x69, +-0x74, 0x3b, 0xd2, 0x67, 0x6d, 0x68, 0x3b, 0x49, 0x75, 0x63, 0x68, 0x3b, 0x4c, 0xf9, 0x6e, 0x61, 0x3b, 0x53, 0x75, 0x6c, +-0x74, 0x3b, 0x44, 0xe0, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x44, 0xf9, 0x62, 0x68, 0x3b, 0x41, 0x6d, 0x20, +-0x46, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x65, 0x61, 0x72, 0x72, 0x61, +-0x6e, 0x3b, 0x41, 0x6d, 0x20, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x6e, +-0x3b, 0x41, 0x6e, 0x20, 0x43, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0xd2, 0x67, 0x6d, +-0x68, 0x69, 0x6f, 0x73, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, 0x3b, 0x41, 0x6e, 0x20, +-0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x75, 0x6c, 0x74, 0x61, 0x69, +-0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, +-0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, 0x64, 0x3b, 0x46, +-0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x43, 0x3b, 0xd2, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x53, +-0x3b, 0x44, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x46, 0x68, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, +-0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x4d, +-0x68, 0xe0, 0x72, 0x74, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x69, 0x62, 0x6c, 0x65, 0x61, 0x6e, 0x3b, 0x64, +-0x68, 0x65, 0x6e, 0x20, 0x43, 0x68, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0xd2, 0x67, +-0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, 0x3b, 0x64, 0x68, +-0x65, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, +-0x75, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, +-0x64, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, +-0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, 0x64, 0x3b, 0x58, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, +-0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, +-0x58, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x75, 0x74, 0x2e, 0x3b, +-0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, +-0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, +-0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, +-0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x58, 0x3b, 0x46, +-0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, +-0x3b, 0x78, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, +-0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, +-0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, +-0x3b, 0x78, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, +-0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, +-0x78, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, +-0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, +-0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x78, 0x2e, 0x3b, 0x66, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, +-0x6d, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x73, 0x2e, 0x3b, 0x6f, 0x2e, 0x3b, 0x6e, 0x2e, +-0x3b, 0x64, 0x2e, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x3b, +-0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x3b, +-0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x10d5, 0x10d0, 0x10e0, 0x10d8, 0x3b, +-0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2, 0x10d8, 0x3b, 0x10d0, 0x10de, 0x10e0, 0x10d8, +-0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x10d8, +-0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x10e2, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, +-0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, +-0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d7, 0x3b, 0x10db, 0x3b, 0x10d0, 0x3b, 0x10db, +-0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +-0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, +-0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, +-0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, +-0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, +-0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +-0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, +-0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, +-0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, +-0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0xe4, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, +-0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, +-0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0xe4, 0x6e, 0x6e, 0x65, 0x72, +-0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, +-0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, +-0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0xe4, 0x6e, +-0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, +-0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, +-0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, +-0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, +-0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, +-0x3ad, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x3a6, 0x3b5, 0x3b2, +-0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3c0, 0x3c1, +-0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b9, 0x3bf, 0x3c2, 0x3b, +-0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3, 0x3c4, 0x3bf, 0x3c2, 0x3b, 0x3a3, 0x3b5, +-0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, +-0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, +-0x3b, 0x399, 0x3b, 0x3a6, 0x3b, 0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, 0x3b, 0x3a3, 0x3b, 0x39f, +-0x3b, 0x39d, 0x3b, 0x394, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, +-0x3b, 0x39c, 0x3b1, 0x390, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3b, 0x391, 0x3c5, 0x3b3, 0x3b, 0x3a3, +-0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, +-0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, +-0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, 0x390, 0x3bf, 0x3c5, +-0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c5, 0x3b3, +-0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf, 0x3c5, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39f, +-0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x394, +-0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x3b, 0x6d, +-0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, +-0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, +-0x6a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, 0x69, 0x3b, 0x6d, +-0x61, 0x72, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6a, 0x69, 0x3b, 0x6a, +-0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x67, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x73, +-0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x6e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x6a, +-0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, 0x69, 0x70, 0x3b, +-0x6d, 0x61, 0x72, 0x73, 0x69, 0x70, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x69, 0x6c, 0x69, 0x70, 0x3b, 0x6d, 0x61, 0x61, 0x6a, +-0x69, 0x70, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x70, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x70, 0x3b, 0x61, 0x67, 0x67, +-0x75, 0x73, 0x74, 0x69, 0x70, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x6f, 0x6b, +-0x74, 0x6f, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x64, +-0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, 0xaab, 0xac7, 0xaac, +-0xacd, 0xab0, 0xac1, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, +-0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, +-0xac7, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, 0xa9c, 0xabe, 0xaa8, +-0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaae, 0xabe, 0xab0, +-0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, +-0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa91, +-0xa95, 0xacd, 0xa9f, 0xacb, 0xaac, 0xab0, 0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0xaae, +-0xacd, 0xaac, 0xab0, 0x3b, 0xa9c, 0xabe, 0x3b, 0xaab, 0xac7, 0x3b, 0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, +-0x3b, 0xa9c, 0xac1, 0x3b, 0xa91, 0x3b, 0xab8, 0x3b, 0xa91, 0x3b, 0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +-0x61, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x66, 0x69, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, +-0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, 0x77, 0x3b, 0x44, +-0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, 0x69, 0x72, 0x75, +-0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x41, 0x66, 0x69, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, 0x79, 0x75, 0x3b, +-0x59, 0x75, 0x6e, 0x69, 0x3b, 0x59, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x53, 0x61, 0x74, +-0x75, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, 0x62, 0x61, 0x3b, +-0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, +-0x59, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5f3, 0x3b, 0x5e4, 0x5d1, 0x5e8, +-0x5f3, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, +-0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5f3, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5f3, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5f3, 0x3b, +-0x5e0, 0x5d5, 0x5d1, 0x5f3, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5f3, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, 0x5d1, 0x5e8, 0x5d5, +-0x5d0, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, +-0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5de, 0x5d1, 0x5e8, +-0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5d1, +-0x5e8, 0x3b, 0x91c, 0x928, 0x970, 0x3b, 0x92b, 0x93c, 0x930, 0x970, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, +-0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x970, 0x3b, 0x905, 0x917, 0x970, 0x3b, +-0x938, 0x93f, 0x924, 0x970, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x970, 0x3b, 0x928, 0x935, 0x970, 0x3b, 0x926, 0x93f, 0x938, 0x970, +-0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x93c, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, +-0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, +-0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, +-0x3b, 0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, +-0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, +-0x3b, 0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x2e, +-0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, +-0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, +-0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, +-0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, 0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x73, 0x3b, 0x6d, +-0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, 0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, 0x73, 0x3b, 0x61, +-0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +-0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, +-0x41, 0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, +-0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, +-0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0xe1, 0x67, 0xfa, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, +-0x6e, 0xf3, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, +-0x72, 0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0x61, 0xed, 0x3b, +-0x6a, 0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, 0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, 0x65, 0x6d, 0x62, +-0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, +-0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0xc1, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +-0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, +-0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, +-0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, +-0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, +-0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, +-0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6d, 0x61, +-0x72, 0x74, 0x69, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, +-0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, +-0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +-0x72, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, +-0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x45, 0x61, 0x6e, 0x3b, +-0x46, 0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, 0x65, 0x61, 0x6c, +-0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, 0x46, 0xf3, 0x6d, +-0x68, 0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, 0x3b, 0x45, 0x61, +-0x6e, 0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, 0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, +-0x69, 0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, 0x4d, 0x65, 0x69, +-0x74, 0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, 0x61, 0x3b, 0x4d, +-0x65, 0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, 0x61, 0x64, 0x68, +-0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x4e, 0x6f, 0x6c, +-0x6c, 0x61, 0x69, 0x67, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4c, +-0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, +-0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67, 0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, 0x61, 0x67, 0x6f, +-0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x67, 0x65, 0x6e, +-0x6e, 0x61, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, +-0x61, 0x70, 0x72, 0x69, 0x6c, 0x65, 0x3b, 0x6d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x67, 0x69, 0x75, 0x67, 0x6e, 0x6f, +-0x3b, 0x6c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, +-0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x74, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, +-0x65, 0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +-0x3b, 0x47, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +-0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, +-0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, +-0x65, 0x73, 0x3b, 0xc9c, 0xca8, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, +-0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, +-0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, +-0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, +-0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, +-0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, +-0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, +-0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, 0xcc6, 0x3b, 0xcae, 0xcbe, +-0x3b, 0xc8f, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0x3b, 0xc9c, 0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, 0x3b, 0xc85, 0x3b, 0xca8, +-0x3b, 0xca1, 0xcbf, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcae, +-0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, +-0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, +-0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0x62c, 0x646, 0x624, 0x631, 0x6cc, 0x3b, 0x641, +-0x631, 0x624, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x655, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x654, +-0x3b, 0x62c, 0x648, 0x657, 0x646, 0x3b, 0x62c, 0x648, 0x657, 0x644, 0x627, 0x6cc, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, +-0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x657, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, +-0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, +-0x3b, 0x633, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x49b, 0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, 0x2e, 0x3b, 0x43d, +-0x430, 0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c, 0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, 0x2e, 0x3b, 0x448, +-0x456, 0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b, 0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, 0x2e, 0x3b, 0x49b, +-0x430, 0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x2e, 0x3b, 0x49a, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x410, 0x49b, 0x43f, 0x430, +-0x43d, 0x3b, 0x41d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x421, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x41c, 0x430, 0x43c, 0x44b, 0x440, +-0x3b, 0x41c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x428, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x422, 0x430, 0x43c, 0x44b, 0x437, 0x3b, +-0x49a, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49a, 0x430, 0x440, 0x430, 0x448, +-0x430, 0x3b, 0x416, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x49a, 0x3b, 0x410, 0x3b, 0x41d, 0x3b, 0x421, 0x3b, +-0x41c, 0x3b, 0x41c, 0x3b, 0x428, 0x3b, 0x422, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x416, 0x3b, 0x49b, 0x430, 0x4a3, 0x442, +-0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, 0x4d9, 0x443, 0x456, +-0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, 0x43b, 0x434, 0x435, +-0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, 0x430, 0x437, 0x430, +-0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x6d, +-0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x2e, 0x3b, 0x67, +-0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, 0x2e, 0x3b, 0x6e, +-0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, 0x2e, 0x3b, 0x4d, +-0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x3b, +-0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, 0x72, 0x61, 0x6e, +-0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x4b, +-0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, 0x69, 0x72, 0x61, +-0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, 0x7a, 0x61, 0x3b, +-0x42f, 0x43d, 0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, 0x430, 0x439, 0x3b, +-0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, 0x43a, 0x442, 0x3b, +-0x41d, 0x43e, 0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, +-0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, +-0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, +-0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, +-0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x42f, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, 0x3b, 0x418, 0x3b, +-0x418, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, +-0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, +-0x3b, 0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, +-0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x444, 0x435, +-0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, +-0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, +-0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, +-0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, 0x33, 0xc6d4, 0x3b, +-0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, 0x3b, 0x31, 0x30, +-0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0x72, 0xea, 0x62, 0x3b, 0x72, 0x65, 0x15f, 0x3b, 0x61, 0x64, +-0x61, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x67, 0x75, 0x6c, 0x3b, 0x70, 0xfb, 0x15f, 0x3b, 0x74, 0xee, 0x72, 0x3b, 0x67, 0x65, +-0x6c, 0x3b, 0x72, 0x65, 0x7a, 0x3b, 0x6b, 0x65, 0x77, 0x3b, 0x73, 0x65, 0x72, 0x3b, 0x62, 0x65, 0x72, 0x3b, 0x72, 0xea, +-0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x3b, 0x72, 0x65, 0x15f, 0x65, 0x6d, 0xee, 0x3b, 0x61, 0x64, 0x61, 0x72, 0x3b, 0x61, +-0x76, 0x72, 0xea, 0x6c, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0x3b, 0x74, 0xee, +-0x72, 0x6d, 0x65, 0x68, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, 0x3b, +-0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0x3b, 0x62, 0x65, 0x72, 0x66, +-0x61, 0x6e, 0x62, 0x61, 0x72, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x50, 0x3b, 0x54, 0x3b, +-0x47, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0xea, 0x3b, +-0x72, 0x65, 0x15f, 0x65, 0x6d, 0x69, 0x79, 0xea, 0x3b, 0x61, 0x64, 0x61, 0x72, 0xea, 0x3b, 0x61, 0x76, 0x72, 0xea, 0x6c, +-0xea, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0xea, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0xea, 0x3b, 0x74, 0xee, 0x72, +-0x6d, 0x65, 0x68, 0xea, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0xea, 0x3b, 0x72, 0x65, 0x7a, 0x62, 0x65, 0x72, +-0xea, 0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0xea, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0xea, 0x3b, +-0x62, 0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0xea, 0x3b, 0x4d, 0x75, 0x74, 0x2e, 0x3b, 0x47, 0x61, 0x73, 0x2e, +-0x3b, 0x57, 0x65, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x74, 0x2e, 0x3b, 0x47, 0x69, 0x63, 0x2e, 0x3b, 0x4b, 0x61, 0x6d, 0x2e, +-0x3b, 0x4e, 0x79, 0x61, 0x2e, 0x3b, 0x4b, 0x61, 0x6e, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x2e, 0x3b, 0x55, 0x6b, 0x77, 0x2e, +-0x3b, 0x55, 0x67, 0x75, 0x2e, 0x3b, 0x55, 0x6b, 0x75, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x52, 0x75, 0x68, +-0x75, 0x68, 0x75, 0x6d, 0x61, 0x3b, 0x4e, 0x74, 0x77, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x3b, 0x4e, 0x64, 0x61, 0x6d, +-0x75, 0x6b, 0x69, 0x7a, 0x61, 0x3b, 0x52, 0x75, 0x73, 0x61, 0x6d, 0x61, 0x3b, 0x52, 0x75, 0x68, 0x65, 0x73, 0x68, 0x69, +-0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x6b, 0x61, 0x72, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x6e, 0x64, 0x61, 0x67, 0x61, 0x72, 0x6f, +-0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x47, 0x69, 0x74, 0x75, 0x67, 0x75, 0x74, 0x75, 0x3b, 0x4d, +-0x75, 0x6e, 0x79, 0x6f, 0x6e, 0x79, 0x6f, 0x3b, 0x4b, 0x69, 0x67, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0xea1, 0x2e, 0xe81, +-0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0x2e, 0xe99, 0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe9e, +-0x2e, 0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, 0x3b, 0xe81, 0x2e, +-0xe8d, 0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, 0x3b, 0xea1, 0xeb1, +-0xe87, 0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, 0xea1, 0xeaa, 0xeb2, +-0x3b, 0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, 0xecd, 0xea5, 0xeb0, +-0xe81, 0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, 0xeb8, 0xea5, 0xeb2, +-0x3b, 0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99, 0xea7, 0xeb2, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, +-0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6a, +-0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, +-0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, +-0x6e, 0x76, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x72, +-0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, +-0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x73, 0x3b, 0x73, +-0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x79, +-0x61, 0x6e, 0x3b, 0x66, 0x62, 0x6c, 0x3b, 0x6d, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x79, +-0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x74, 0x3b, 0x73, 0x74, 0x62, 0x3b, 0x254, 0x74, 0x62, 0x3b, 0x6e, +-0x76, 0x62, 0x3b, 0x64, 0x73, 0x62, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x79, 0x61, 0x6d, 0x62, +-0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x73, 0xe1, +-0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, +-0x79, 0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, +-0x74, 0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x6f, 0x74, 0xf3, 0x62, 0xe1, +-0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, +-0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, +-0x61, 0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, +-0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, +-0x254, 0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, +-0x6e, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, +-0x79, 0x3b, 0x79, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x254, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x2e, 0x3b, +-0x76, 0x61, 0x73, 0x2e, 0x3b, 0x6b, 0x6f, 0x76, 0x2e, 0x3b, 0x62, 0x61, 0x6c, 0x2e, 0x3b, 0x67, 0x65, 0x67, 0x2e, 0x3b, +-0x62, 0x69, 0x72, 0x17e, 0x2e, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x2e, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x2e, 0x3b, 0x72, 0x75, +-0x67, 0x73, 0x2e, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x2e, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x2e, 0x3b, 0x67, 0x72, 0x75, +-0x6f, 0x64, 0x2e, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x73, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x6b, +-0x6f, 0x76, 0x61, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, +-0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x72, 0x75, 0x67, 0x70, +-0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x69, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x69, +-0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x69, 0x73, 0x3b, +-0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x53, 0x3b, +-0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x6f, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x6b, +-0x6f, 0x76, 0x6f, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x67, 0x65, 0x67, 0x75, 0x17e, 0x117, +-0x73, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x6f, 0x73, 0x3b, 0x72, 0x75, +-0x67, 0x70, 0x6a, 0x16b, 0x10d, 0x69, 0x6f, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x6f, 0x3b, 0x73, 0x70, 0x61, 0x6c, +-0x69, 0x6f, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x10d, 0x69, 0x6f, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, 0x17e, 0x69, +-0x6f, 0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, +-0x2e, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, +-0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, 0x3b, 0x434, 0x435, +-0x43a, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, 0x440, 0x438, 0x3b, +-0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, +-0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x432, 0x440, +-0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x434, +-0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, 0x3b, 0x458, 0x3b, +-0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +-0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, +-0x41, 0x6f, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, +-0x4a, 0x61, 0x6e, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x4d, 0x61, 0x72, +-0x74, 0x73, 0x61, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x61, 0x3b, +-0x4a, 0x6f, 0x6c, 0x61, 0x79, 0x3b, 0x41, 0x6f, 0x67, 0x6f, 0x73, 0x69, 0x74, 0x72, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x74, +-0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x61, 0x6d, 0x62, +-0x72, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +-0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, +-0x4f, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, +-0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, +-0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, +-0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, +-0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, +-0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, 0xd2e, 0xd3e, 0xd7c, +-0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, +-0x3b, 0xd13, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, 0xd4b, 0x3b, 0xd28, +-0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, 0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, +-0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0xd1a, 0xd4d, 0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0xd7d, 0x3b, +-0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0xd38, 0xd4d, 0xd31, 0xd4d, +-0xd31, 0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd12, 0xd15, 0xd4d, 0x200c, 0xd1f, 0xd4b, +-0xd2c, 0xd7c, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd1c, 0x3b, 0xd2b, 0xd46, +-0x3b, 0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd46, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd13, 0x3b, 0xd38, 0xd46, +-0x3b, 0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, 0x61, 0x72, 0x3b, +-0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x77, 0x3b, +-0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, +-0x61, 0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, +-0x4d, 0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, 0x3b, 0x41, 0x77, +-0x77, 0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x74, 0x75, +-0x62, 0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, 0x6d, 0x62, 0x72, +-0x75, 0x3b, 0x4a, 0x6e, 0x3b, 0x46, 0x72, 0x3b, 0x4d, 0x7a, 0x3b, 0x41, 0x70, 0x3b, 0x4d, 0x6a, 0x3b, 0x120, 0x6e, 0x3b, +-0x4c, 0x6a, 0x3b, 0x41, 0x77, 0x3b, 0x53, 0x74, 0x3b, 0x4f, 0x62, 0x3b, 0x4e, 0x76, 0x3b, 0x44, 0x10b, 0x3b, 0x4a, 0x3b, +-0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, +-0x44, 0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x3b, 0x48, 0x75, 0x69, 0x3b, 0x50, 0x6f, 0x75, 0x3b, 0x50, 0x61, 0x65, 0x3b, 0x48, +-0x61, 0x72, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x3b, +-0x4d, 0x61, 0x68, 0x75, 0x3b, 0x4e, 0x75, 0x6b, 0x75, 0x3b, 0x52, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, +-0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x74, 0x101, 0x74, 0x65, 0x61, 0x3b, 0x48, 0x75, 0x69, 0x74, 0x61, 0x6e, 0x67, 0x75, 0x72, +-0x75, 0x3b, 0x50, 0x6f, 0x75, 0x74, 0x16b, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x50, 0x61, 0x65, 0x6e, 0x67, +-0x61, 0x77, 0x68, 0x101, 0x77, 0x68, 0x101, 0x3b, 0x48, 0x61, 0x72, 0x61, 0x74, 0x75, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, +-0x72, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x3b, 0x48, 0x65, 0x72, 0x65, 0x74, 0x75, 0x72, +-0x69, 0x6b, 0x14d, 0x6b, 0x101, 0x3b, 0x4d, 0x61, 0x68, 0x75, 0x72, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, +-0x61, 0x2d, 0x101, 0x2d, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61, 0x2d, 0x101, 0x2d, +-0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, 0x68, 0x65, 0x61, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x50, 0x3b, +-0x50, 0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x48, 0x3b, 0x91c, 0x93e, +-0x928, 0x947, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, +-0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x3b, 0x938, 0x92a, 0x94d, +-0x91f, 0x947, 0x902, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x3b, 0x921, 0x93f, +-0x938, 0x947, 0x902, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, +-0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, +-0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, +-0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, +-0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, +-0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, 0x928, 0x94b, 0x3b, 0x921, +-0x93f, 0x3b, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x33, 0x2d, +-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x34, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x35, 0x2d, 0x440, 0x20, 0x441, 0x430, +-0x440, 0x3b, 0x36, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x37, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x38, 0x2d, +-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x39, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x30, 0x2d, 0x440, 0x20, 0x441, +-0x430, 0x440, 0x3b, 0x31, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, +-0x3b, 0x41d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x425, 0x43e, 0x451, 0x440, 0x434, +-0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x413, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, +-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x4e9, 0x440, 0x4e9, 0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, +-0x440, 0x3b, 0x422, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x417, 0x443, 0x440, 0x433, +-0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, +-0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x41d, 0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, +-0x441, 0x430, 0x440, 0x3b, 0x415, 0x441, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x430, +-0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, +-0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, +-0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x49, 0x3b, 0x49, 0x49, 0x3b, 0x49, 0x49, +-0x49, 0x3b, 0x49, 0x56, 0x3b, 0x56, 0x3b, 0x56, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x49, 0x3b, 0x49, +-0x58, 0x3b, 0x58, 0x3b, 0x58, 0x49, 0x3b, 0x58, 0x49, 0x49, 0x3b, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, +-0x20, 0x441, 0x430, 0x440, 0x3b, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, +-0x433, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, 0x4e9, 0x440, 0x4e9, +-0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x442, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, +-0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x437, 0x443, 0x440, 0x433, 0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, +-0x430, 0x440, 0x3b, 0x434, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x43d, +-0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x435, 0x441, 0x434, 0x4af, 0x433, 0x44d, +-0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, +-0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, +-0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, +-0x430, 0x440, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, 0x940, 0x3b, 0x92e, +-0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, +-0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, 0x92e, 0x94d, 0x92c, +-0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x921, +-0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, +-0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, +-0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, +-0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, +-0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, +-0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, +-0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, +-0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, +-0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, +-0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xb1c, 0xb3e, 0xb28, 0xb41, +-0xb06, 0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb43, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, 0xb4d, 0xb1a, 0x3b, +-0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, 0xb3e, 0xb07, 0x3b, +-0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb05, 0xb15, 0xb4d, +-0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, 0xb2e, 0xb4d, 0xb2c, +-0xb30, 0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e, 0x3b, 0xb05, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb1c, +-0xb41, 0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28, 0x3b, 0xb21, 0xb3f, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, ++0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, ++0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, ++0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, ++0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, ++0x73, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, ++0x73, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x3b, 0x68, ++0x65, 0x69, 0x6e, 0xe4, 0x3b, 0x65, 0x6c, 0x6f, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x3b, 0x6d, ++0x61, 0x72, 0x72, 0x61, 0x73, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x75, 0x75, ++0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, 0x61, 0x6c, 0x69, 0x73, 0x6b, 0x75, 0x75, 0x3b, ++0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x3b, 0x6b, 0x65, ++0x73, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, ++0x75, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x3b, 0x6d, 0x61, ++0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, 0x3b, 0x54, 0x3b, 0x48, ++0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x48, 0x3b, 0x45, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4a, ++0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x61, ++0x6c, 0x69, 0x73, 0x6b, 0x2e, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x2e, 0x3b, 0x74, 0x6f, 0x75, 0x6b, 0x6f, 0x6b, ++0x2e, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x2e, 0x3b, 0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x2e, 0x3b, 0x65, 0x6c, 0x6f, ++0x6b, 0x2e, 0x3b, 0x73, 0x79, 0x79, 0x73, 0x6b, 0x2e, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x2e, 0x3b, 0x6d, 0x61, 0x72, ++0x72, 0x61, 0x73, 0x6b, 0x2e, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x2e, 0x3b, 0x74, 0x61, 0x6d, 0x6d, 0x69, 0x6b, ++0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x65, 0x6c, 0x6d, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6d, 0x61, 0x61, 0x6c, ++0x69, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x68, 0x75, 0x68, 0x74, 0x69, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x74, ++0x6f, 0x75, 0x6b, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6b, 0x65, 0x73, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, ++0x68, 0x65, 0x69, 0x6e, 0xe4, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x65, 0x6c, 0x6f, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, ++0x73, 0x79, 0x79, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6c, 0x6f, 0x6b, 0x61, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, ++0x6d, 0x61, 0x72, 0x72, 0x61, 0x73, 0x6b, 0x75, 0x75, 0x74, 0x61, 0x3b, 0x6a, 0x6f, 0x75, 0x6c, 0x75, 0x6b, 0x75, 0x75, ++0x74, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, ++0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, 0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, ++0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, ++0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x72, 0x3b, 0x66, 0xe9, 0x76, 0x72, 0x69, 0x65, ++0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, ++0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x65, 0x74, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, ++0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, ++0x65, 0x3b, 0x64, 0xe9, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x2e, 0x3b, 0x66, 0xe9, 0x76, ++0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x69, ++0x6e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, ++0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, ++0x66, 0xe9, 0x76, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, ++0x75, 0x69, 0x2e, 0x3b, 0x6a, 0x75, 0x69, 0x6c, 0x2e, 0x3b, 0x61, 0x6f, 0xfb, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, ++0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0xe9, 0x63, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, ++0x46, 0x65, 0x62, 0x3b, 0x4d, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, ++0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, ++0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, ++0x77, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, ++0x61, 0x69, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, ++0x75, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, ++0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x69, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x46, ++0x61, 0x6f, 0x69, 0x3b, 0x47, 0x65, 0x61, 0x72, 0x72, 0x3b, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x47, 0x69, 0x62, 0x6c, 0x3b, ++0x43, 0xe8, 0x69, 0x74, 0x3b, 0xd2, 0x67, 0x6d, 0x68, 0x3b, 0x49, 0x75, 0x63, 0x68, 0x3b, 0x4c, 0xf9, 0x6e, 0x61, 0x3b, ++0x53, 0x75, 0x6c, 0x74, 0x3b, 0x44, 0xe0, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x44, 0xf9, 0x62, 0x68, 0x3b, ++0x41, 0x6d, 0x20, 0x46, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, 0x63, 0x68, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x65, 0x61, ++0x72, 0x72, 0x61, 0x6e, 0x3b, 0x41, 0x6d, 0x20, 0x4d, 0xe0, 0x72, 0x74, 0x3b, 0x41, 0x6e, 0x20, 0x47, 0x69, 0x62, 0x6c, ++0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x43, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, ++0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, 0x3b, ++0x41, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x41, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x75, 0x6c, ++0x74, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x41, 0x6e, 0x20, 0x74, ++0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x41, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, ++0x64, 0x3b, 0x46, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x43, 0x3b, 0xd2, 0x3b, 0x49, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, ++0x44, 0x3b, 0x53, 0x3b, 0x44, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x46, 0x68, 0x61, 0x6f, 0x69, 0x6c, 0x6c, 0x65, 0x61, ++0x63, 0x68, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x65, 0x61, 0x72, 0x72, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, ++0x6e, 0x20, 0x4d, 0x68, 0xe0, 0x72, 0x74, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x47, 0x68, 0x69, 0x62, 0x6c, 0x65, 0x61, ++0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x43, 0x68, 0xe8, 0x69, 0x74, 0x65, 0x61, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, ++0x20, 0xd2, 0x67, 0x6d, 0x68, 0x69, 0x6f, 0x73, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x49, 0x75, 0x63, 0x68, 0x61, 0x72, ++0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x4c, 0xf9, 0x6e, 0x61, 0x73, 0x74, 0x61, 0x6c, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, ++0x74, 0x2d, 0x53, 0x75, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x44, 0xe0, 0x6d, 0x68, 0x61, ++0x69, 0x72, 0x3b, 0x64, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x2d, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, 0x64, 0x68, ++0x65, 0x6e, 0x20, 0x44, 0xf9, 0x62, 0x68, 0x6c, 0x61, 0x63, 0x68, 0x64, 0x3b, 0x58, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, ++0x62, 0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, ++0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x75, ++0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x63, 0x2e, 0x3b, 0x58, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, ++0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, ++0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x58, 0x75, 0xf1, 0x6f, 0x3b, 0x58, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x41, 0x67, ++0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x75, 0x74, 0x75, 0x62, 0x72, ++0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, ++0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, ++0x4e, 0x3b, 0x44, 0x3b, 0x78, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, ++0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, 0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x2e, 0x3b, 0x61, ++0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, ++0x65, 0x63, 0x2e, 0x3b, 0x78, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x69, 0x72, 0x6f, ++0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x78, 0x75, ++0xf1, 0x6f, 0x3b, 0x78, 0x75, 0x6c, 0x6c, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, ++0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, ++0x6f, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x78, 0x2e, 0x3b, 0x66, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, ++0x61, 0x2e, 0x3b, 0x6d, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x78, 0x2e, 0x3b, 0x61, 0x2e, 0x3b, 0x73, 0x2e, 0x3b, 0x6f, 0x2e, ++0x3b, 0x6e, 0x2e, 0x3b, 0x64, 0x2e, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x3b, 0x10d0, ++0x10de, 0x10e0, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x3b, 0x10d8, 0x10d5, 0x10da, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x3b, 0x10e1, ++0x10d4, 0x10e5, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x3b, 0x10d8, 0x10d0, 0x10dc, 0x10d5, 0x10d0, ++0x10e0, 0x10d8, 0x3b, 0x10d7, 0x10d4, 0x10d1, 0x10d4, 0x10e0, 0x10d5, 0x10d0, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10e0, 0x10e2, 0x10d8, 0x3b, 0x10d0, ++0x10de, 0x10e0, 0x10d8, 0x10da, 0x10d8, 0x3b, 0x10db, 0x10d0, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, 0x10d5, 0x10dc, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d8, ++0x10d5, 0x10da, 0x10d8, 0x10e1, 0x10d8, 0x3b, 0x10d0, 0x10d2, 0x10d5, 0x10d8, 0x10e1, 0x10e2, 0x10dd, 0x3b, 0x10e1, 0x10d4, 0x10e5, 0x10e2, 0x10d4, 0x10db, ++0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dd, 0x10e5, 0x10e2, 0x10dd, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10dc, 0x10dd, 0x10d4, 0x10db, 0x10d1, ++0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d3, 0x10d4, 0x10d9, 0x10d4, 0x10db, 0x10d1, 0x10d4, 0x10e0, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d7, 0x3b, 0x10db, 0x3b, ++0x10d0, 0x3b, 0x10db, 0x3b, 0x10d8, 0x3b, 0x10d8, 0x3b, 0x10d0, 0x3b, 0x10e1, 0x3b, 0x10dd, 0x3b, 0x10dc, 0x3b, 0x10d3, 0x3b, 0x4a, 0x61, ++0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, ++0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, ++0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, ++0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, ++0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, ++0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, ++0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, ++0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, ++0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, ++0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0xe4, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x72, ++0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, ++0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0xe4, 0x6e, ++0x6e, 0x65, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, ++0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, ++0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, ++0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, ++0x4a, 0xe4, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, ++0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, ++0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x399, ++0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3b, 0x399, ++0x3bf, 0x3cd, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, ++0x3b, 0x39d, 0x3bf, 0x3ad, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, ++0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3ac, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3c1, 0x3c4, 0x3b9, 0x3bf, 0x3c2, 0x3b, ++0x391, 0x3c0, 0x3c1, 0x3af, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39c, 0x3ac, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bd, 0x3b9, ++0x3bf, 0x3c2, 0x3b, 0x399, 0x3bf, 0x3cd, 0x3bb, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x391, 0x3cd, 0x3b3, 0x3bf, 0x3c5, 0x3c3, 0x3c4, 0x3bf, 0x3c2, ++0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3ce, 0x3b2, 0x3c1, 0x3b9, ++0x3bf, 0x3c2, 0x3b, 0x39d, 0x3bf, 0x3ad, 0x3bc, 0x3b2, 0x3c1, 0x3b9, 0x3bf, 0x3c2, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3ad, 0x3bc, 0x3b2, 0x3c1, ++0x3b9, 0x3bf, 0x3c2, 0x3b, 0x399, 0x3b, 0x3a6, 0x3b, 0x39c, 0x3b, 0x391, 0x3b, 0x39c, 0x3b, 0x399, 0x3b, 0x399, 0x3b, 0x391, 0x3b, ++0x3a3, 0x3b, 0x39f, 0x3b, 0x39d, 0x3b, 0x394, 0x3b, 0x399, 0x3b1, 0x3bd, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3b, 0x39c, 0x3b1, 0x3c1, 0x3b, ++0x391, 0x3c0, 0x3c1, 0x3b, 0x39c, 0x3b1, 0x390, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3b, 0x391, 0x3c5, ++0x3b3, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b, 0x399, 0x3b1, ++0x3bd, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x3a6, 0x3b5, 0x3b2, 0x3c1, 0x3bf, 0x3c5, 0x3b1, 0x3c1, 0x3af, 0x3bf, 0x3c5, ++0x3b, 0x39c, 0x3b1, 0x3c1, 0x3c4, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x391, 0x3c0, 0x3c1, 0x3b9, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39c, 0x3b1, ++0x390, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bd, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x399, 0x3bf, 0x3c5, 0x3bb, 0x3af, 0x3bf, 0x3c5, 0x3b, ++0x391, 0x3c5, 0x3b3, 0x3bf, 0x3cd, 0x3c3, 0x3c4, 0x3bf, 0x3c5, 0x3b, 0x3a3, 0x3b5, 0x3c0, 0x3c4, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, ++0x3c5, 0x3b, 0x39f, 0x3ba, 0x3c4, 0x3c9, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x39d, 0x3bf, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, ++0x3c5, 0x3b, 0x394, 0x3b5, 0x3ba, 0x3b5, 0x3bc, 0x3b2, 0x3c1, 0x3af, 0x3bf, 0x3c5, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, ++0x72, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, ++0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, ++0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, ++0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x61, 0x61, 0x6a, ++0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x67, 0x67, 0x75, 0x73, 0x74, ++0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, ++0x69, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, ++0x69, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, ++0x69, 0x70, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x69, 0x70, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x69, 0x6c, 0x69, 0x70, 0x3b, 0x6d, ++0x61, 0x61, 0x6a, 0x69, 0x70, 0x3b, 0x6a, 0x75, 0x75, 0x6e, 0x69, 0x70, 0x3b, 0x6a, 0x75, 0x75, 0x6c, 0x69, 0x70, 0x3b, ++0x61, 0x67, 0x67, 0x75, 0x73, 0x74, 0x69, 0x70, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x70, ++0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, ++0x70, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x69, 0x70, 0x3b, 0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0x3b, ++0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0x3b, 0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, ++0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, 0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, ++0xaaa, 0xacd, 0xa9f, 0xac7, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0x3b, 0xaa8, 0xab5, 0xac7, 0x3b, 0xaa1, 0xabf, 0xab8, 0xac7, 0x3b, ++0xa9c, 0xabe, 0xaa8, 0xacd, 0xaaf, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, 0xaab, 0xac7, 0xaac, 0xacd, 0xab0, 0xac1, 0xa86, 0xab0, 0xac0, 0x3b, ++0xaae, 0xabe, 0xab0, 0xacd, 0xa9a, 0x3b, 0xa8f, 0xaaa, 0xacd, 0xab0, 0xabf, 0xab2, 0x3b, 0xaae, 0xac7, 0x3b, 0xa9c, 0xac2, 0xaa8, 0x3b, ++0xa9c, 0xac1, 0xab2, 0xabe, 0xa88, 0x3b, 0xa91, 0xa97, 0xab8, 0xacd, 0xa9f, 0x3b, 0xab8, 0xaaa, 0xacd, 0xa9f, 0xac7, 0xaae, 0xacd, 0xaac, ++0xab0, 0x3b, 0xa91, 0xa95, 0xacd, 0xa9f, 0xacb, 0xaac, 0xab0, 0x3b, 0xaa8, 0xab5, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xaa1, 0xabf, ++0xab8, 0xac7, 0xaae, 0xacd, 0xaac, 0xab0, 0x3b, 0xa9c, 0xabe, 0x3b, 0xaab, 0xac7, 0x3b, 0xaae, 0xabe, 0x3b, 0xa8f, 0x3b, 0xaae, 0xac7, ++0x3b, 0xa9c, 0xac2, 0x3b, 0xa9c, 0xac1, 0x3b, 0xa91, 0x3b, 0xab8, 0x3b, 0xa91, 0x3b, 0xaa8, 0x3b, 0xaa1, 0xabf, 0x3b, 0x4a, 0x61, ++0x6e, 0x3b, 0x46, 0x61, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x66, 0x69, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, ++0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x61, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x75, ++0x77, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x61, 0x69, 0x72, 0x75, 0x3b, 0x46, 0x61, 0x62, 0x75, 0x72, 0x61, ++0x69, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x3b, 0x41, 0x66, 0x69, 0x72, 0x69, 0x6c, 0x75, 0x3b, 0x4d, 0x61, ++0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x69, 0x3b, 0x59, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, ++0x53, 0x61, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x75, 0x77, 0x61, 0x6d, ++0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, ++0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5f3, 0x3b, ++0x5e4, 0x5d1, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5f3, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, 0x5d9, 0x5d5, ++0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5f3, 0x3b, 0x5e1, 0x5e4, 0x5d8, 0x5f3, 0x3b, 0x5d0, 0x5d5, ++0x5e7, 0x5f3, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5f3, 0x3b, 0x5d3, 0x5e6, 0x5de, 0x5f3, 0x3b, 0x5d9, 0x5e0, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5e4, ++0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5e8, 0x3b, 0x5de, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5e4, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d0, 0x5d9, 0x3b, ++0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e4, 0x5d8, ++0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d0, 0x5d5, 0x5e7, 0x5d8, 0x5d5, 0x5d1, 0x5e8, 0x3b, 0x5e0, 0x5d5, 0x5d1, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x5d3, ++0x5e6, 0x5de, 0x5d1, 0x5e8, 0x3b, 0x91c, 0x928, 0x970, 0x3b, 0x92b, 0x93c, 0x930, 0x970, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, ++0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x970, 0x3b, 0x905, ++0x917, 0x970, 0x3b, 0x938, 0x93f, 0x924, 0x970, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x970, 0x3b, 0x928, 0x935, 0x970, 0x3b, 0x926, ++0x93f, 0x938, 0x970, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x93c, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, ++0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, ++0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, ++0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, ++0x93c, 0x3b, 0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, ++0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, ++0x72, 0x63, 0x2e, 0x3b, 0xe1, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0xe1, 0x6a, 0x2e, 0x3b, 0x6a, 0xfa, 0x6e, 0x2e, 0x3b, 0x6a, ++0xfa, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, ++0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, ++0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0xe1, 0x72, 0x63, 0x69, 0x75, 0x73, 0x3b, 0xe1, 0x70, 0x72, 0x69, 0x6c, 0x69, ++0x73, 0x3b, 0x6d, 0xe1, 0x6a, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6e, 0x69, 0x75, 0x73, 0x3b, 0x6a, 0xfa, 0x6c, 0x69, 0x75, ++0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x7a, 0x74, 0x75, 0x73, 0x3b, 0x73, 0x7a, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, ++0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, ++0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0xc1, 0x3b, 0x4d, 0x3b, 0x4a, ++0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x7a, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, ++0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0xed, 0x3b, 0x6a, 0xfa, ++0x6e, 0x2e, 0x3b, 0x6a, 0xfa, 0x6c, 0x2e, 0x3b, 0xe1, 0x67, 0xfa, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, ++0x74, 0x2e, 0x3b, 0x6e, 0xf3, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0xfa, 0x61, 0x72, 0x3b, ++0x66, 0x65, 0x62, 0x72, 0xfa, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, ++0x61, 0xed, 0x3b, 0x6a, 0xfa, 0x6e, 0xed, 0x3b, 0x6a, 0xfa, 0x6c, 0xed, 0x3b, 0xe1, 0x67, 0xfa, 0x73, 0x74, 0x3b, 0x73, ++0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0xf3, 0x76, ++0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, ++0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0xc1, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, ++0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, ++0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, ++0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, ++0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, ++0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0x65, ++0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, ++0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, ++0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, ++0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x6f, ++0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, ++0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x73, ++0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, ++0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6a, 0x3b, 0x66, 0x3b, 0x6d, ++0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x6a, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x45, ++0x61, 0x6e, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x3b, 0x4d, 0xe1, 0x72, 0x74, 0x61, 0x3b, 0x41, 0x69, 0x62, 0x3b, 0x42, ++0x65, 0x61, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x74, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x3b, 0x4d, ++0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x44, 0x46, 0xf3, 0x6d, 0x68, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x3b, 0x4e, 0x6f, 0x6c, 0x6c, ++0x3b, 0x45, 0x61, 0x6e, 0xe1, 0x69, 0x72, 0x3b, 0x46, 0x65, 0x61, 0x62, 0x68, 0x72, 0x61, 0x3b, 0x4d, 0xe1, 0x72, 0x74, ++0x61, 0x3b, 0x41, 0x69, 0x62, 0x72, 0x65, 0xe1, 0x6e, 0x3b, 0x42, 0x65, 0x61, 0x6c, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x3b, ++0x4d, 0x65, 0x69, 0x74, 0x68, 0x65, 0x61, 0x6d, 0x68, 0x3b, 0x49, 0xfa, 0x69, 0x6c, 0x3b, 0x4c, 0xfa, 0x6e, 0x61, 0x73, ++0x61, 0x3b, 0x4d, 0x65, 0xe1, 0x6e, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x44, 0x65, 0x69, 0x72, 0x65, ++0x61, 0x64, 0x68, 0x20, 0x46, 0xf3, 0x6d, 0x68, 0x61, 0x69, 0x72, 0x3b, 0x53, 0x61, 0x6d, 0x68, 0x61, 0x69, 0x6e, 0x3b, ++0x4e, 0x6f, 0x6c, 0x6c, 0x61, 0x69, 0x67, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, ++0x49, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x67, 0x65, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, ++0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x67, 0x3b, 0x67, 0x69, 0x75, 0x3b, 0x6c, 0x75, 0x67, 0x3b, ++0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x74, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, ++0x67, 0x65, 0x6e, 0x6e, 0x61, 0x69, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x62, 0x72, 0x61, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x72, ++0x7a, 0x6f, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x65, 0x3b, 0x6d, 0x61, 0x67, 0x67, 0x69, 0x6f, 0x3b, 0x67, 0x69, 0x75, ++0x67, 0x6e, 0x6f, 0x3b, 0x6c, 0x75, 0x67, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, ++0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x74, 0x74, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x65, ++0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x47, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, ++0x41, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, ++0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, ++0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, ++0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0xc9c, 0xca8, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, ++0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, ++0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, ++0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, ++0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0xcb2, 0xccd, 0x3b, 0xcae, ++0xcc7, 0x3b, 0xc9c, 0xcc2, 0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0xcb8, 0xccd, 0xc9f, 0xccd, 0x3b, 0xcb8, ++0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc85, 0xc95, 0xccd, 0xc9f, 0xccb, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca8, ++0xcb5, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0xcac, 0xcb0, 0xccd, 0x3b, 0xc9c, 0x3b, 0xcab, 0xcc6, ++0x3b, 0xcae, 0xcbe, 0x3b, 0xc8f, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, 0x3b, 0xc9c, 0xcc1, 0x3b, 0xc86, 0x3b, 0xcb8, 0xcc6, 0x3b, ++0xc85, 0x3b, 0xca8, 0x3b, 0xca1, 0xcbf, 0x3b, 0xc9c, 0xca8, 0xcb5, 0xcb0, 0xcbf, 0x3b, 0xcab, 0xcc6, 0xcac, 0xccd, 0xcb0, 0xcb5, 0xcb0, ++0xcbf, 0x3b, 0xcae, 0xcbe, 0xcb0, 0xccd, 0xc9a, 0xccd, 0x3b, 0xc8f, 0xcaa, 0xccd, 0xcb0, 0xcbf, 0x3b, 0xcae, 0xcc7, 0x3b, 0xc9c, 0xcc2, ++0xca8, 0xccd, 0x3b, 0xc9c, 0xcc1, 0xcb2, 0xcc8, 0x3b, 0xc86, 0xc97, 0x3b, 0xcb8, 0xcc6, 0xcaa, 0xccd, 0xc9f, 0xcc6, 0xc82, 0x3b, 0xc85, ++0xc95, 0xccd, 0xc9f, 0xccb, 0x3b, 0xca8, 0xcb5, 0xcc6, 0xc82, 0x3b, 0xca1, 0xcbf, 0xcb8, 0xcc6, 0xc82, 0x3b, 0x62c, 0x646, 0x624, 0x631, ++0x6cc, 0x3b, 0x641, 0x631, 0x624, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x655, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, ++0x645, 0x6cc, 0x654, 0x3b, 0x62c, 0x648, 0x657, 0x646, 0x3b, 0x62c, 0x648, 0x657, 0x644, 0x627, 0x6cc, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, ++0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x657, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, ++0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, ++0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x49b, 0x430, 0x4a3, 0x2e, 0x3b, 0x430, 0x49b, 0x43f, ++0x2e, 0x3b, 0x43d, 0x430, 0x443, 0x2e, 0x3b, 0x441, 0x4d9, 0x443, 0x2e, 0x3b, 0x43c, 0x430, 0x43c, 0x2e, 0x3b, 0x43c, 0x430, 0x443, ++0x2e, 0x3b, 0x448, 0x456, 0x43b, 0x2e, 0x3b, 0x442, 0x430, 0x43c, 0x2e, 0x3b, 0x49b, 0x44b, 0x440, 0x2e, 0x3b, 0x49b, 0x430, 0x437, ++0x2e, 0x3b, 0x49b, 0x430, 0x440, 0x2e, 0x3b, 0x436, 0x435, 0x43b, 0x2e, 0x3b, 0x49a, 0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x410, ++0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x41d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x421, 0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x41c, 0x430, ++0x43c, 0x44b, 0x440, 0x3b, 0x41c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x428, 0x456, 0x43b, 0x434, 0x435, 0x3b, 0x422, 0x430, 0x43c, ++0x44b, 0x437, 0x3b, 0x49a, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49a, 0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49a, 0x430, ++0x440, 0x430, 0x448, 0x430, 0x3b, 0x416, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, 0x43d, 0x3b, 0x49a, 0x3b, 0x410, 0x3b, 0x41d, ++0x3b, 0x421, 0x3b, 0x41c, 0x3b, 0x41c, 0x3b, 0x428, 0x3b, 0x422, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x49a, 0x3b, 0x416, 0x3b, 0x49b, ++0x430, 0x4a3, 0x442, 0x430, 0x440, 0x3b, 0x430, 0x49b, 0x43f, 0x430, 0x43d, 0x3b, 0x43d, 0x430, 0x443, 0x440, 0x44b, 0x437, 0x3b, 0x441, ++0x4d9, 0x443, 0x456, 0x440, 0x3b, 0x43c, 0x430, 0x43c, 0x44b, 0x440, 0x3b, 0x43c, 0x430, 0x443, 0x441, 0x44b, 0x43c, 0x3b, 0x448, 0x456, ++0x43b, 0x434, 0x435, 0x3b, 0x442, 0x430, 0x43c, 0x44b, 0x437, 0x3b, 0x49b, 0x44b, 0x440, 0x43a, 0x4af, 0x439, 0x435, 0x43a, 0x3b, 0x49b, ++0x430, 0x437, 0x430, 0x43d, 0x3b, 0x49b, 0x430, 0x440, 0x430, 0x448, 0x430, 0x3b, 0x436, 0x435, 0x43b, 0x442, 0x43e, 0x49b, 0x441, 0x430, ++0x43d, 0x3b, 0x6d, 0x75, 0x74, 0x2e, 0x3b, 0x67, 0x61, 0x73, 0x2e, 0x3b, 0x77, 0x65, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, ++0x2e, 0x3b, 0x67, 0x69, 0x63, 0x2e, 0x3b, 0x6b, 0x61, 0x6d, 0x2e, 0x3b, 0x6e, 0x79, 0x61, 0x2e, 0x3b, 0x6b, 0x61, 0x6e, ++0x2e, 0x3b, 0x6e, 0x7a, 0x65, 0x2e, 0x3b, 0x75, 0x6b, 0x77, 0x2e, 0x3b, 0x75, 0x67, 0x75, 0x2e, 0x3b, 0x75, 0x6b, 0x75, ++0x2e, 0x3b, 0x4d, 0x75, 0x74, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, 0x47, 0x61, 0x73, 0x68, 0x79, 0x61, 0x6e, 0x74, 0x61, ++0x72, 0x65, 0x3b, 0x57, 0x65, 0x72, 0x75, 0x72, 0x77, 0x65, 0x3b, 0x4d, 0x61, 0x74, 0x61, 0x3b, 0x47, 0x69, 0x63, 0x75, ++0x72, 0x61, 0x6e, 0x73, 0x69, 0x3b, 0x4b, 0x61, 0x6d, 0x65, 0x6e, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, ++0x61, 0x3b, 0x4b, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x3b, 0x4e, 0x7a, 0x65, 0x6c, 0x69, 0x3b, 0x55, 0x6b, 0x77, 0x61, 0x6b, ++0x69, 0x72, 0x61, 0x3b, 0x55, 0x67, 0x75, 0x73, 0x68, 0x79, 0x69, 0x6e, 0x67, 0x6f, 0x3b, 0x55, 0x6b, 0x75, 0x62, 0x6f, ++0x7a, 0x61, 0x3b, 0x42f, 0x43d, 0x432, 0x3b, 0x424, 0x435, 0x432, 0x3b, 0x41c, 0x430, 0x440, 0x3b, 0x410, 0x43f, 0x440, 0x3b, 0x41c, ++0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x3b, 0x421, 0x435, 0x43d, 0x3b, 0x41e, ++0x43a, 0x442, 0x3b, 0x41d, 0x43e, 0x44f, 0x3b, 0x414, 0x435, 0x43a, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, ++0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, ++0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, ++0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, ++0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x42f, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x3b, 0x41c, ++0x3b, 0x418, 0x3b, 0x418, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x41e, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, ++0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, ++0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, ++0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44c, ++0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, ++0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, ++0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, ++0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x31, 0xc6d4, 0x3b, 0x32, 0xc6d4, 0x3b, ++0x33, 0xc6d4, 0x3b, 0x34, 0xc6d4, 0x3b, 0x35, 0xc6d4, 0x3b, 0x36, 0xc6d4, 0x3b, 0x37, 0xc6d4, 0x3b, 0x38, 0xc6d4, 0x3b, 0x39, 0xc6d4, ++0x3b, 0x31, 0x30, 0xc6d4, 0x3b, 0x31, 0x31, 0xc6d4, 0x3b, 0x31, 0x32, 0xc6d4, 0x3b, 0x72, 0xea, 0x62, 0x3b, 0x72, 0x65, 0x15f, ++0x3b, 0x61, 0x64, 0x61, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x67, 0x75, 0x6c, 0x3b, 0x70, 0xfb, 0x15f, 0x3b, 0x74, 0xee, 0x72, ++0x3b, 0x67, 0x65, 0x6c, 0x3b, 0x72, 0x65, 0x7a, 0x3b, 0x6b, 0x65, 0x77, 0x3b, 0x73, 0x65, 0x72, 0x3b, 0x62, 0x65, 0x72, ++0x3b, 0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, 0x6e, 0x3b, 0x72, 0x65, 0x15f, 0x65, 0x6d, 0xee, 0x3b, 0x61, 0x64, 0x61, ++0x72, 0x3b, 0x61, 0x76, 0x72, 0xea, 0x6c, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, ++0x3b, 0x74, 0xee, 0x72, 0x6d, 0x65, 0x68, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0x3b, 0x72, 0x65, 0x7a, 0x62, ++0x65, 0x72, 0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, 0x7a, 0x3b, 0x62, ++0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0x3b, 0x52, 0x3b, 0x52, 0x3b, 0x41, 0x3b, 0x41, 0x3b, 0x47, 0x3b, 0x50, ++0x3b, 0x54, 0x3b, 0x47, 0x3b, 0x52, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x72, 0xea, 0x62, 0x65, 0x6e, 0x64, 0x61, ++0x6e, 0xea, 0x3b, 0x72, 0x65, 0x15f, 0x65, 0x6d, 0x69, 0x79, 0xea, 0x3b, 0x61, 0x64, 0x61, 0x72, 0xea, 0x3b, 0x61, 0x76, ++0x72, 0xea, 0x6c, 0xea, 0x3b, 0x67, 0x75, 0x6c, 0x61, 0x6e, 0xea, 0x3b, 0x70, 0xfb, 0x15f, 0x70, 0x65, 0x72, 0xea, 0x3b, ++0x74, 0xee, 0x72, 0x6d, 0x65, 0x68, 0xea, 0x3b, 0x67, 0x65, 0x6c, 0x61, 0x77, 0xea, 0x6a, 0xea, 0x3b, 0x72, 0x65, 0x7a, ++0x62, 0x65, 0x72, 0xea, 0x3b, 0x6b, 0x65, 0x77, 0xe7, 0xea, 0x72, 0xea, 0x3b, 0x73, 0x65, 0x72, 0x6d, 0x61, 0x77, 0x65, ++0x7a, 0xea, 0x3b, 0x62, 0x65, 0x72, 0x66, 0x61, 0x6e, 0x62, 0x61, 0x72, 0xea, 0x3b, 0x4d, 0x75, 0x74, 0x2e, 0x3b, 0x47, ++0x61, 0x73, 0x2e, 0x3b, 0x57, 0x65, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x74, 0x2e, 0x3b, 0x47, 0x69, 0x63, 0x2e, 0x3b, 0x4b, ++0x61, 0x6d, 0x2e, 0x3b, 0x4e, 0x79, 0x61, 0x2e, 0x3b, 0x4b, 0x61, 0x6e, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x2e, 0x3b, 0x55, ++0x6b, 0x77, 0x2e, 0x3b, 0x55, 0x67, 0x75, 0x2e, 0x3b, 0x55, 0x6b, 0x75, 0x2e, 0x3b, 0x4e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, ++0x52, 0x75, 0x68, 0x75, 0x68, 0x75, 0x6d, 0x61, 0x3b, 0x4e, 0x74, 0x77, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x3b, 0x4e, ++0x64, 0x61, 0x6d, 0x75, 0x6b, 0x69, 0x7a, 0x61, 0x3b, 0x52, 0x75, 0x73, 0x61, 0x6d, 0x61, 0x3b, 0x52, 0x75, 0x68, 0x65, ++0x73, 0x68, 0x69, 0x3b, 0x4d, 0x75, 0x6b, 0x61, 0x6b, 0x61, 0x72, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x6e, 0x64, 0x61, 0x67, ++0x61, 0x72, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x6b, 0x61, 0x6e, 0x67, 0x61, 0x3b, 0x47, 0x69, 0x74, 0x75, 0x67, 0x75, 0x74, ++0x75, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x6f, 0x6e, 0x79, 0x6f, 0x3b, 0x4b, 0x69, 0x67, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x3b, ++0xea1, 0x2e, 0xe81, 0x2e, 0x3b, 0xe81, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0x2e, 0xe99, 0x2e, 0x3b, 0xea1, 0x2e, 0xeaa, 0x2e, 0x3b, ++0xe9e, 0x2e, 0xe9e, 0x2e, 0x3b, 0xea1, 0xeb4, 0x2e, 0xe96, 0x2e, 0x3b, 0xe81, 0x2e, 0xea5, 0x2e, 0x3b, 0xeaa, 0x2e, 0xeab, 0x2e, ++0x3b, 0xe81, 0x2e, 0xe8d, 0x2e, 0x3b, 0xe95, 0x2e, 0xea5, 0x2e, 0x3b, 0xe9e, 0x2e, 0xe88, 0x2e, 0x3b, 0xe97, 0x2e, 0xea7, 0x2e, ++0x3b, 0xea1, 0xeb1, 0xe87, 0xe81, 0xead, 0xe99, 0x3b, 0xe81, 0xeb8, 0xea1, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb5, 0xe99, 0xeb2, 0x3b, 0xec0, ++0xea1, 0xeaa, 0xeb2, 0x3b, 0xe9e, 0xeb6, 0xe94, 0xeaa, 0xeb0, 0xe9e, 0xeb2, 0x3b, 0xea1, 0xeb4, 0xe96, 0xeb8, 0xe99, 0xeb2, 0x3b, 0xe81, ++0xecd, 0xea5, 0xeb0, 0xe81, 0xebb, 0xe94, 0x3b, 0xeaa, 0xeb4, 0xe87, 0xeab, 0xeb2, 0x3b, 0xe81, 0xeb1, 0xe99, 0xe8d, 0xeb2, 0x3b, 0xe95, ++0xeb8, 0xea5, 0xeb2, 0x3b, 0xe9e, 0xeb0, 0xe88, 0xeb4, 0xe81, 0x3b, 0xe97, 0xeb1, 0xe99, 0xea7, 0xeb2, 0x3b, 0x6a, 0x61, 0x6e, 0x76, ++0x2e, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, ++0x61, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6e, 0x2e, 0x3b, 0x6a, 0x16b, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, ++0x3b, 0x6a, 0x61, 0x6e, 0x76, 0x101, 0x72, 0x69, 0x73, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x101, 0x72, 0x69, 0x73, 0x3b, ++0x6d, 0x61, 0x72, 0x74, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x12b, 0x6c, 0x69, 0x73, 0x3b, 0x6d, 0x61, 0x69, 0x6a, 0x73, 0x3b, ++0x6a, 0x16b, 0x6e, 0x69, 0x6a, 0x73, 0x3b, 0x6a, 0x16b, 0x6c, 0x69, 0x6a, 0x73, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, ++0x73, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x69, ++0x73, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x73, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, ++0x73, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x62, 0x6c, 0x3b, 0x6d, 0x73, 0x69, 0x3b, 0x61, 0x70, 0x6c, 0x3b, 0x6d, 0x61, ++0x69, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x74, 0x3b, 0x73, 0x74, 0x62, 0x3b, 0x254, 0x74, ++0x62, 0x3b, 0x6e, 0x76, 0x62, 0x3b, 0x64, 0x73, 0x62, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x79, ++0x61, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, ++0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x73, 0xe1, 0x74, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, ++0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0xed, 0x6e, 0x65, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, ++0x20, 0x6d, 0xed, 0x74, 0xe1, 0x6e, 0x6f, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x6f, 0x74, ++0xf3, 0x62, 0xe1, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6e, 0x73, 0x61, 0x6d, 0x62, 0x6f, 0x3b, ++0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x6d, 0x77, 0x61, 0x6d, 0x62, 0x65, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, ++0xe1, 0x20, 0x79, 0x61, 0x20, 0x6c, 0x69, 0x62, 0x77, 0x61, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, ++0x7a, 0xf3, 0x6d, 0x69, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, 0x6d, 0x69, 0x20, 0x6e, ++0x61, 0x20, 0x6d, 0x254, 0x30c, 0x6b, 0x254, 0x301, 0x3b, 0x73, 0xe1, 0x6e, 0x7a, 0xe1, 0x20, 0x79, 0x61, 0x20, 0x7a, 0xf3, ++0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0xed, 0x62, 0x61, 0x6c, 0xe9, 0x3b, 0x79, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, ++0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x61, 0x3b, 0x73, 0x3b, 0x254, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x73, 0x61, 0x75, ++0x73, 0x2e, 0x3b, 0x76, 0x61, 0x73, 0x2e, 0x3b, 0x6b, 0x6f, 0x76, 0x2e, 0x3b, 0x62, 0x61, 0x6c, 0x2e, 0x3b, 0x67, 0x65, ++0x67, 0x2e, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x2e, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x2e, 0x3b, 0x72, 0x75, 0x67, 0x70, 0x2e, ++0x3b, 0x72, 0x75, 0x67, 0x73, 0x2e, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x2e, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x2e, 0x3b, ++0x67, 0x72, 0x75, 0x6f, 0x64, 0x2e, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x73, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, ++0x73, 0x3b, 0x6b, 0x6f, 0x76, 0x61, 0x73, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x69, 0x73, 0x3b, 0x67, 0x65, 0x67, ++0x75, 0x17e, 0x117, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x61, 0x3b, 0x72, ++0x75, 0x67, 0x70, 0x6a, 0x16b, 0x74, 0x69, 0x73, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x69, 0x73, 0x3b, 0x73, 0x70, ++0x61, 0x6c, 0x69, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x74, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x6f, 0x64, ++0x69, 0x73, 0x3b, 0x53, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x42, 0x3b, 0x47, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x52, 0x3b, 0x52, ++0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x61, 0x75, 0x73, 0x69, 0x6f, 0x3b, 0x76, 0x61, 0x73, 0x61, 0x72, 0x69, ++0x6f, 0x3b, 0x6b, 0x6f, 0x76, 0x6f, 0x3b, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x67, 0x65, 0x67, ++0x75, 0x17e, 0x117, 0x73, 0x3b, 0x62, 0x69, 0x72, 0x17e, 0x65, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x69, 0x65, 0x70, 0x6f, 0x73, ++0x3b, 0x72, 0x75, 0x67, 0x70, 0x6a, 0x16b, 0x10d, 0x69, 0x6f, 0x3b, 0x72, 0x75, 0x67, 0x73, 0x117, 0x6a, 0x6f, 0x3b, 0x73, ++0x70, 0x61, 0x6c, 0x69, 0x6f, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x69, 0x10d, 0x69, 0x6f, 0x3b, 0x67, 0x72, 0x75, 0x6f, ++0x64, 0x17e, 0x69, 0x6f, 0x3b, 0x458, 0x430, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, ++0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x2e, 0x3b, 0x458, 0x443, 0x43b, 0x2e, 0x3b, 0x430, ++0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x2e, ++0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x438, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x443, 0x430, ++0x440, 0x438, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, ++0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, ++0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x43d, 0x43e, 0x435, 0x43c, 0x432, 0x440, ++0x438, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x43c, 0x432, 0x440, 0x438, 0x3b, 0x458, 0x3b, 0x444, 0x3b, 0x43c, 0x3b, 0x430, 0x3b, 0x43c, ++0x3b, 0x458, 0x3b, 0x458, 0x3b, 0x430, 0x3b, 0x441, 0x3b, 0x43e, 0x3b, 0x43d, 0x3b, 0x434, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, ++0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, 0x6e, 0x3b, 0x4a, ++0x6f, 0x6c, 0x3b, 0x41, 0x6f, 0x67, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, ++0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6f, 0x61, 0x72, 0x79, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x72, 0x79, 0x3b, ++0x4d, 0x61, 0x72, 0x74, 0x73, 0x61, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x6f, ++0x6e, 0x61, 0x3b, 0x4a, 0x6f, 0x6c, 0x61, 0x79, 0x3b, 0x41, 0x6f, 0x67, 0x6f, 0x73, 0x69, 0x74, 0x72, 0x61, 0x3b, 0x53, ++0x65, 0x70, 0x74, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x4e, 0x6f, 0x76, ++0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x61, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, ++0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, ++0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, ++0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, ++0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, ++0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, ++0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, ++0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xd1c, 0xd28, 0xd41, 0x3b, 0xd2b, 0xd46, 0xd2c, 0xd4d, 0xd30, 0xd41, 0x3b, ++0xd2e, 0xd3e, 0xd7c, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, ++0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0x3b, 0xd12, 0xd15, 0xd4d, 0xd1f, ++0xd4b, 0x3b, 0xd28, 0xd35, 0xd02, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0x3b, 0xd1c, 0xd28, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2b, 0xd46, ++0xd2c, 0xd4d, 0xd30, 0xd41, 0xd35, 0xd30, 0xd3f, 0x3b, 0xd2e, 0xd3e, 0xd7c, 0xd1a, 0xd4d, 0xd1a, 0xd4d, 0x3b, 0xd0f, 0xd2a, 0xd4d, 0xd30, ++0xd3f, 0xd7d, 0x3b, 0xd2e, 0xd47, 0xd2f, 0xd4d, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0xd32, 0xd48, 0x3b, 0xd13, 0xd17, 0xd38, ++0xd4d, 0xd31, 0xd4d, 0xd31, 0xd4d, 0x3b, 0xd38, 0xd46, 0xd2a, 0xd4d, 0xd31, 0xd4d, 0xd31, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd12, 0xd15, 0xd4d, ++0x200c, 0xd1f, 0xd4b, 0xd2c, 0xd7c, 0x3b, 0xd28, 0xd35, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd21, 0xd3f, 0xd38, 0xd02, 0xd2c, 0xd7c, 0x3b, 0xd1c, ++0x3b, 0xd2b, 0xd46, 0x3b, 0xd2e, 0xd3e, 0x3b, 0xd0f, 0x3b, 0xd2e, 0xd46, 0x3b, 0xd1c, 0xd42, 0xd7a, 0x3b, 0xd1c, 0xd42, 0x3b, 0xd13, ++0x3b, 0xd38, 0xd46, 0x3b, 0xd12, 0x3b, 0xd28, 0x3b, 0xd21, 0xd3f, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x72, 0x61, 0x3b, 0x4d, ++0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x6a, 0x3b, 0x120, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x41, ++0x77, 0x77, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x10b, 0x3b, 0x4a, ++0x61, 0x6e, 0x6e, 0x61, 0x72, 0x3b, 0x46, 0x72, 0x61, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x41, 0x70, 0x72, ++0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x6a, 0x6a, 0x75, 0x3b, 0x120, 0x75, 0x6e, 0x6a, 0x75, 0x3b, 0x4c, 0x75, 0x6c, 0x6a, 0x75, ++0x3b, 0x41, 0x77, 0x77, 0x69, 0x73, 0x73, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4f, ++0x74, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x10b, 0x65, ++0x6d, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x6e, 0x3b, 0x46, 0x72, 0x3b, 0x4d, 0x7a, 0x3b, 0x41, 0x70, 0x3b, 0x4d, 0x6a, 0x3b, ++0x120, 0x6e, 0x3b, 0x4c, 0x6a, 0x3b, 0x41, 0x77, 0x3b, 0x53, 0x74, 0x3b, 0x4f, 0x62, 0x3b, 0x4e, 0x76, 0x3b, 0x44, 0x10b, ++0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x120, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, ++0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x3b, 0x48, 0x75, 0x69, 0x3b, 0x50, 0x6f, 0x75, 0x3b, 0x50, 0x61, ++0x65, 0x3b, 0x48, 0x61, 0x72, 0x61, 0x3b, 0x50, 0x69, 0x70, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x3b, 0x48, 0x65, ++0x72, 0x65, 0x3b, 0x4d, 0x61, 0x68, 0x75, 0x3b, 0x4e, 0x75, 0x6b, 0x75, 0x3b, 0x52, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, ++0x61, 0x6b, 0x69, 0x3b, 0x4b, 0x6f, 0x68, 0x69, 0x74, 0x101, 0x74, 0x65, 0x61, 0x3b, 0x48, 0x75, 0x69, 0x74, 0x61, 0x6e, ++0x67, 0x75, 0x72, 0x75, 0x3b, 0x50, 0x6f, 0x75, 0x74, 0x16b, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x50, 0x61, ++0x65, 0x6e, 0x67, 0x61, 0x77, 0x68, 0x101, 0x77, 0x68, 0x101, 0x3b, 0x48, 0x61, 0x72, 0x61, 0x74, 0x75, 0x61, 0x3b, 0x50, ++0x69, 0x70, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x14d, 0x6e, 0x67, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x3b, 0x48, 0x65, 0x72, 0x65, ++0x74, 0x75, 0x72, 0x69, 0x6b, 0x14d, 0x6b, 0x101, 0x3b, 0x4d, 0x61, 0x68, 0x75, 0x72, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, ++0x69, 0x6e, 0x67, 0x61, 0x2d, 0x101, 0x2d, 0x6e, 0x75, 0x6b, 0x75, 0x3b, 0x57, 0x68, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x61, ++0x2d, 0x101, 0x2d, 0x72, 0x61, 0x6e, 0x67, 0x69, 0x3b, 0x48, 0x61, 0x6b, 0x69, 0x68, 0x65, 0x61, 0x3b, 0x4b, 0x3b, 0x48, ++0x3b, 0x50, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x50, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x48, ++0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, ++0x92a, 0x94d, 0x930, 0x93f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x3b, ++0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, ++0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, ++0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, ++0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x948, 0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, ++0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, ++0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x93e, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, ++0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x911, 0x3b, 0x938, 0x3b, 0x911, 0x3b, 0x928, ++0x94b, 0x3b, 0x921, 0x93f, 0x3b, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x32, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, ++0x3b, 0x33, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x34, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x35, 0x2d, 0x440, ++0x20, 0x441, 0x430, 0x440, 0x3b, 0x36, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x37, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, ++0x3b, 0x38, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x39, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x30, 0x2d, ++0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x31, 0x2d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x31, 0x32, 0x2d, 0x440, 0x20, ++0x441, 0x430, 0x440, 0x3b, 0x41d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x425, 0x43e, ++0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x413, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, ++0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x4e9, 0x440, 0x4e9, 0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, ++0x20, 0x441, 0x430, 0x440, 0x3b, 0x422, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x417, ++0x443, 0x440, 0x433, 0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x414, 0x43e, 0x43b, 0x43e, ++0x43e, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x41d, 0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, ++0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x415, 0x441, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, ++0x410, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, ++0x20, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x410, 0x440, 0x432, 0x430, 0x43d, ++0x20, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x49, 0x3b, 0x49, 0x49, ++0x3b, 0x49, 0x49, 0x49, 0x3b, 0x49, 0x56, 0x3b, 0x56, 0x3b, 0x56, 0x49, 0x3b, 0x56, 0x49, 0x49, 0x3b, 0x56, 0x49, 0x49, ++0x49, 0x3b, 0x49, 0x58, 0x3b, 0x58, 0x3b, 0x58, 0x49, 0x3b, 0x58, 0x49, 0x49, 0x3b, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, ++0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, ++0x430, 0x440, 0x3b, 0x433, 0x443, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, ++0x4e9, 0x440, 0x4e9, 0x432, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x442, 0x430, 0x432, 0x434, 0x443, ++0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x437, 0x443, 0x440, 0x433, 0x430, 0x430, 0x434, 0x443, 0x433, 0x430, 0x430, ++0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x434, 0x43e, 0x43b, 0x43e, 0x43e, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, ++0x440, 0x3b, 0x43d, 0x430, 0x439, 0x43c, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x435, 0x441, 0x434, ++0x4af, 0x433, 0x44d, 0x44d, 0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x430, 0x432, 0x434, 0x443, 0x433, 0x430, 0x430, 0x440, ++0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x43d, 0x44d, 0x433, 0x434, 0x4af, 0x433, 0x44d, 0x44d, 0x440, ++0x20, 0x441, 0x430, 0x440, 0x3b, 0x430, 0x440, 0x432, 0x430, 0x43d, 0x20, 0x445, 0x43e, 0x451, 0x440, 0x434, 0x443, 0x433, 0x430, 0x430, ++0x440, 0x20, 0x441, 0x430, 0x440, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x905, 0x930, ++0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, ++0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x947, 0x92a, 0x94d, 0x91f, 0x947, ++0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x92e, 0x94d, 0x92c, ++0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x92e, 0x94d, 0x92c, 0x930, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x947, 0x92c, 0x3b, 0x92e, ++0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, ++0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, ++0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x947, 0x92c, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, ++0x930, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x947, 0x92a, 0x3b, ++0x905, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x92d, 0x947, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x6a, 0x61, 0x6e, 0x75, ++0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, ++0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, ++0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, ++0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xb1c, ++0xb3e, 0xb28, 0xb41, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2b, 0xb47, 0xb2c, 0xb43, 0xb06, 0xb30, 0xb40, 0x3b, 0xb2e, 0xb3e, 0xb30, 0xb4d, 0xb1a, ++0xb4d, 0xb1a, 0x3b, 0xb05, 0xb2a, 0xb4d, 0xb30, 0xb47, 0xb32, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, 0xb41, 0xb28, 0x3b, 0xb1c, 0xb41, 0xb32, ++0xb3e, 0xb07, 0x3b, 0xb05, 0xb17, 0xb37, 0xb4d, 0xb1f, 0x3b, 0xb38, 0xb47, 0xb2a, 0xb4d, 0xb1f, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, ++0xb05, 0xb15, 0xb4d, 0xb1f, 0xb4b, 0xb2c, 0xb30, 0x3b, 0xb28, 0xb2d, 0xb47, 0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb21, 0xb3f, 0xb38, 0xb47, ++0xb2e, 0xb4d, 0xb2c, 0xb30, 0x3b, 0xb1c, 0xb3e, 0x3b, 0xb2b, 0xb47, 0x3b, 0xb2e, 0xb3e, 0x3b, 0xb05, 0x3b, 0xb2e, 0xb07, 0x3b, 0xb1c, ++0xb41, 0x3b, 0xb1c, 0xb41, 0x3b, 0xb05, 0x3b, 0xb38, 0xb47, 0x3b, 0xb05, 0x3b, 0xb28, 0x3b, 0xb21, 0xb3f, 0x3b, 0x62c, 0x646, 0x648, ++0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, ++0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, ++0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, ++0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x6d0, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, ++0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, ++0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, ++0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, + 0x641, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, +-0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, +-0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, +-0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x6d0, 0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, +-0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, +-0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, +-0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x628, 0x631, +-0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cd, 0x3b, 0x62c, 0x648, +-0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x67e, 0x62a, 0x645, 0x628, 0x631, +-0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, +-0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, +-0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, 0x645, 0x627, 0x631, +-0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, +-0x647, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, +-0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, 0x3b, 0x645, 0x3b, +-0x622, 0x3b, 0x645, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, +-0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, +-0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x654, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, 0x647, 0x654, 0x3b, +-0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, 0x3b, 0x646, 0x648, +-0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x628, +-0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, +-0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, +-0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, +-0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, +-0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, +-0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, +-0x645, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, 0x3b, 0x6d, 0x61, +-0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, 0x3b, 0x70, 0x61, +-0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, 0x3b, 0x6c, 0x75, +-0x74, 0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x65, 0x63, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, 0x144, 0x3b, 0x6d, +-0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x69, 0x65, 0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, 0x63, 0x3b, 0x73, +-0x69, 0x65, 0x72, 0x70, 0x69, 0x65, 0x144, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, 0x70, 0x61, 0x17a, +-0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, 0x3b, 0x67, 0x72, +-0x75, 0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x43, 0x3b, 0x4c, +-0x3b, 0x53, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x6e, 0x69, 0x61, 0x3b, +-0x6c, 0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x74, 0x6e, 0x69, +-0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x63, 0x61, 0x3b, 0x6c, 0x69, 0x70, 0x63, 0x61, +-0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x15b, 0x6e, 0x69, 0x61, 0x3b, 0x70, +-0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, +-0x61, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, +-0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b, 0x6c, 0x3b, 0x67, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, +-0x65, 0x76, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x2e, 0x3b, 0x6a, +-0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, +-0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x7a, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x65, 0x69, 0x72, +-0x6f, 0x3b, 0x66, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, 0x3b, 0x61, 0x62, +-0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x68, 0x6f, +-0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x6f, 0x75, 0x74, +-0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, 0x65, 0x6d, 0x62, +-0x72, 0x6f, 0x3b, 0xa1c, 0xa28, 0x3b, 0xa2b, 0xa3c, 0xa30, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, +-0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0x3b, 0xa05, 0xa17, 0x3b, 0xa38, 0xa24, 0xa70, 0x3b, +-0xa05, 0xa15, 0xa24, 0xa42, 0x3b, 0xa28, 0xa35, 0xa70, 0x3b, 0xa26, 0xa38, 0xa70, 0x3b, 0xa1c, 0xa28, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2b, +-0xa3c, 0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0xa32, 0x3b, 0xa2e, 0xa08, +-0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, 0xa24, 0x3b, 0xa38, 0xa24, 0xa70, 0xa2c, +-0xa30, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa26, 0xa38, 0xa70, 0xa2c, 0xa30, +-0x3b, 0xa1c, 0x3b, 0xa2b, 0xa3c, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, 0x3b, 0xa1c, 0xa41, 0x3b, 0xa05, +-0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, +-0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, +-0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, +-0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x45, 0x6e, 0x65, 0x3b, ++0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6ab, 0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x67e, 0x62a, ++0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, ++0x628, 0x631, 0x3b, 0x62c, 0x3b, 0x641, 0x3b, 0x645, 0x3b, 0x627, 0x3b, 0x645, 0x3b, 0x62c, 0x3b, 0x62c, 0x3b, 0x627, 0x3b, 0x633, ++0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, 0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x3b, ++0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, ++0x648, 0x626, 0x6cc, 0x647, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, ++0x628, 0x631, 0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x698, 0x3b, 0x641, ++0x3b, 0x645, 0x3b, 0x622, 0x3b, 0x645, 0x3b, 0x698, 0x3b, 0x698, 0x3b, 0x627, 0x3b, 0x633, 0x3b, 0x627, 0x3b, 0x646, 0x3b, 0x62f, ++0x3b, 0x698, 0x627, 0x646, 0x648, 0x6cc, 0x647, 0x654, 0x3b, 0x641, 0x648, 0x631, 0x6cc, 0x647, 0x654, 0x3b, 0x645, 0x627, 0x631, 0x633, ++0x3b, 0x622, 0x648, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x647, 0x654, 0x3b, 0x698, 0x648, 0x626, 0x646, 0x3b, 0x698, 0x648, 0x626, 0x6cc, ++0x647, 0x654, 0x3b, 0x627, 0x648, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x628, 0x631, ++0x3b, 0x646, 0x648, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x627, 0x645, 0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, ++0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, ++0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x67e, 0x62a, ++0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, ++0x628, 0x631, 0x3b, 0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, ++0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x62a, ++0x3b, 0x633, 0x67e, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, ++0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x73, 0x74, 0x79, 0x3b, 0x6c, 0x75, 0x74, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x6b, 0x77, 0x69, ++0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x3b, 0x6c, 0x69, 0x70, 0x3b, 0x73, 0x69, 0x65, 0x3b, 0x77, 0x72, 0x7a, ++0x3b, 0x70, 0x61, 0x17a, 0x3b, 0x6c, 0x69, 0x73, 0x3b, 0x67, 0x72, 0x75, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x65, 0x144, ++0x3b, 0x6c, 0x75, 0x74, 0x79, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x65, 0x63, 0x3b, 0x6b, 0x77, 0x69, 0x65, 0x63, 0x69, 0x65, ++0x144, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x69, 0x65, 0x63, 0x3b, 0x6c, 0x69, 0x70, 0x69, 0x65, ++0x63, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x69, 0x65, 0x144, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x73, 0x69, 0x65, 0x144, 0x3b, ++0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, 0x70, 0x61, 0x64, ++0x3b, 0x67, 0x72, 0x75, 0x64, 0x7a, 0x69, 0x65, 0x144, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, ++0x43, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x4c, 0x3b, 0x47, 0x3b, 0x73, 0x74, 0x79, 0x63, 0x7a, 0x6e, ++0x69, 0x61, 0x3b, 0x6c, 0x75, 0x74, 0x65, 0x67, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x3b, 0x6b, 0x77, 0x69, 0x65, ++0x74, 0x6e, 0x69, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x63, 0x7a, 0x65, 0x72, 0x77, 0x63, 0x61, 0x3b, 0x6c, 0x69, ++0x70, 0x63, 0x61, 0x3b, 0x73, 0x69, 0x65, 0x72, 0x70, 0x6e, 0x69, 0x61, 0x3b, 0x77, 0x72, 0x7a, 0x65, 0x15b, 0x6e, 0x69, ++0x61, 0x3b, 0x70, 0x61, 0x17a, 0x64, 0x7a, 0x69, 0x65, 0x72, 0x6e, 0x69, 0x6b, 0x61, 0x3b, 0x6c, 0x69, 0x73, 0x74, 0x6f, ++0x70, 0x61, 0x64, 0x61, 0x3b, 0x67, 0x72, 0x75, 0x64, 0x6e, 0x69, 0x61, 0x3b, 0x73, 0x3b, 0x6c, 0x3b, 0x6d, 0x3b, 0x6b, ++0x3b, 0x6d, 0x3b, 0x63, 0x3b, 0x6c, 0x3b, 0x73, 0x3b, 0x77, 0x3b, 0x70, 0x3b, 0x6c, 0x3b, 0x67, 0x3b, 0x6a, 0x61, 0x6e, ++0x2e, 0x3b, 0x66, 0x65, 0x76, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, ++0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, ++0x2e, 0x3b, 0x6f, 0x75, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x7a, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, ++0x65, 0x69, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x76, 0x65, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0xe7, 0x6f, ++0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x6a, 0x75, ++0x6c, 0x68, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, ++0x6f, 0x75, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x64, 0x65, 0x7a, ++0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0xa1c, 0xa28, 0x3b, 0xa2b, 0xa3c, 0xa30, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, ++0xa4d, 0xa30, 0xa48, 0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0x3b, 0xa05, 0xa17, 0x3b, 0xa38, ++0xa24, 0xa70, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0x3b, 0xa28, 0xa35, 0xa70, 0x3b, 0xa26, 0xa38, 0xa70, 0x3b, 0xa1c, 0xa28, 0xa35, 0xa30, ++0xa40, 0x3b, 0xa2b, 0xa3c, 0xa30, 0xa35, 0xa30, 0xa40, 0x3b, 0xa2e, 0xa3e, 0xa30, 0xa1a, 0x3b, 0xa05, 0xa2a, 0xa4d, 0xa30, 0xa48, 0xa32, ++0x3b, 0xa2e, 0xa08, 0x3b, 0xa1c, 0xa42, 0xa28, 0x3b, 0xa1c, 0xa41, 0xa32, 0xa3e, 0xa08, 0x3b, 0xa05, 0xa17, 0xa38, 0xa24, 0x3b, 0xa38, ++0xa24, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa05, 0xa15, 0xa24, 0xa42, 0xa2c, 0xa30, 0x3b, 0xa28, 0xa35, 0xa70, 0xa2c, 0xa30, 0x3b, 0xa26, 0xa38, ++0xa70, 0xa2c, 0xa30, 0x3b, 0xa1c, 0x3b, 0xa2b, 0xa3c, 0x3b, 0xa2e, 0xa3e, 0x3b, 0xa05, 0x3b, 0xa2e, 0x3b, 0xa1c, 0xa42, 0x3b, 0xa1c, ++0xa41, 0x3b, 0xa05, 0x3b, 0xa38, 0x3b, 0xa05, 0x3b, 0xa28, 0x3b, 0xa26, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, ++0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x3b, 0x62c, 0x648, ++0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, ++0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x45, ++0x6e, 0x65, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, ++0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x74, 0x3b, 0x4e, ++0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, ++0x3b, 0x4d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x4a, 0x75, ++0x6e, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, ++0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x65, ++0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, ++0x2e, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, ++0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, ++0x3b, 0x73, 0x65, 0x74, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, ++0x2e, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, ++0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, ++0x64, 0x75, 0x72, 0x3b, 0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, ++0x74, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, ++0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x64, 0x61, ++0x20, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x64, ++0x61, 0x20, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x64, 0x61, 0x20, 0x6d, ++0x61, 0x74, 0x67, 0x3b, 0x64, 0x61, 0x20, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x64, 0x61, 0x20, ++0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x64, 0x61, 0x20, 0x73, ++0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x64, ++0x61, 0x20, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, ++0x65, 0x72, 0x3b, 0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, ++0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, ++0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, ++0x63, 0x2e, 0x3b, 0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, ++0x65, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, ++0x3b, 0x69, 0x75, 0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, ++0x3b, 0x6e, 0x6f, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, ++0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, ++0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, ++0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, ++0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, ++0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, ++0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, ++0x2e, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, ++0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, ++0x430, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, ++0x3b, 0x438, 0x44e, 0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, ++0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, ++0x440, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44f, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4d, ++0x62, 0xe4, 0x3b, 0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c, 0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, 0x65, 0x6e, 0x3b, 0x4b, ++0xfc, 0x6b, 0x3b, 0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6b, 0x3b, 0x4e, ++0x79, 0x65, 0x6e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75, 0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, 0x4d, 0x62, 0xe4, 0x6e, ++0x67, 0xfc, 0x3b, 0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b, 0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, 0x3b, 0x46, 0xf6, 0x6e, ++0x64, 0x6f, 0x3b, 0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b, 0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, 0x3b, 0x4d, 0x76, 0x75, ++0x6b, 0x61, 0x3b, 0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, 0x6e, 0x64, 0xfc, 0x72, ++0x75, 0x3b, 0x4b, 0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, ++0x46, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3a, ++0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3a, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, ++0x932, 0x3a, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3a, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3a, 0x3b, 0x905, 0x917, ++0x938, 0x94d, 0x924, 0x3a, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3a, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, ++0x3a, 0x3b, 0x928, 0x935, 0x902, 0x92c, 0x930, 0x3a, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3a, 0x3b, 0x91c, 0x928, 0x935, ++0x930, 0x940, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x92e, 0x93e, 0x930, ++0x94d, 0x91a, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x92e, 0x908, ++0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x91c, 0x942, 0x928, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x92e, 0x93e, ++0x938, 0x903, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x92e, ++0x93e, 0x938, 0x903, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x928, 0x935, 0x902, 0x92c, ++0x930, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x92e, 0x93e, 0x938, 0x903, 0x3b, 0x91c, 0x3b, 0x92b, ++0x3b, 0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, ++0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, ++0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, ++0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, ++0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, ++0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, ++0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, ++0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, ++0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, ++0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, ++0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, ++0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, ++0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, ++0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, ++0x62, 0x61, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, ++0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, ++0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, ++0x431, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, ++0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, ++0x434, 0x435, 0x446, 0x3b, 0x42f, 0x43d, 0x432, 0x2e, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x2e, ++0x3b, 0x410, 0x43f, 0x440, 0x2e, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, ++0x410, 0x432, 0x433, 0x2e, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x41e, 0x43a, 0x442, 0x2e, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, ++0x2e, 0x3b, 0x414, 0x435, 0x43a, 0x2e, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, ++0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x439, 0x3b, ++0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, ++0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, ++0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, ++0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, ++0x44e, 0x43b, 0x44b, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, ++0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44b, 0x3b, 0x444, 0x435, 0x432, 0x440, ++0x430, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x439, 0x44b, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44b, 0x3b, ++0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, ++0x442, 0x44b, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, ++0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44b, 0x3b, 0x4e, 0x64, 0x69, 0x3b, 0x4b, ++0x75, 0x6b, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x76, 0x3b, 0x43, 0x68, 0x6b, 0x3b, 0x43, ++0x68, 0x67, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, 0x3b, 0x4d, 0x62, 0x75, 0x3b, 0x5a, ++0x76, 0x69, 0x3b, 0x4e, 0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a, 0x69, 0x3b, 0x4b, 0x75, 0x72, ++0x75, 0x6d, 0x65, 0x3b, 0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x76, 0x61, 0x62, 0x76, ++0x75, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6e, 0x67, 0x75, 0x72, 0x75, ++0x3b, 0x4e, 0x79, 0x61, 0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x61, ++0x3b, 0x47, 0x75, 0x6d, 0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a, 0x69, 0x3b, 0x5a, 0x76, 0x69, ++0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x43, 0x3b, 0x4e, 0x3b, 0x47, ++0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x64a, 0x628, 0x631, 0x648, 0x631, 0x64a, ++0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x64a, 0x3b, 0x62c, 0x648, 0x646, 0x3b, ++0x62c, 0x648, 0x644, 0x627, 0x621, 0x650, 0x3b, 0x622, 0x6af, 0x633, 0x67d, 0x3b, 0x633, 0x64a, 0x67e, 0x67d, 0x645, 0x628, 0x631, 0x3b, ++0x622, 0x6aa, 0x67d, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x68a, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x91c, ++0x928, 0x3b, 0x92b, 0x930, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x3b, 0x92e, 0x908, 0x3b, ++0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x3b, 0x905, 0x915, 0x94d, ++0x91f, 0x942, 0x3b, 0x928, 0x935, 0x902, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x3b, 0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, ++0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x941, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x908, ++0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, ++0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, ++0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, 0x3b, 0x905, 0x3b, 0x92e, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, ++0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x930, 0x3b, 0x92e, ++0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, ++0x3b, 0x905, 0x917, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x942, 0x3b, 0x928, 0x935, 0x902, 0x3b, 0x926, ++0x93f, 0x938, 0x902, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, ++0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, ++0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, ++0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb8, ++0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, ++0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, 0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, ++0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, ++0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2, ++0x3b, 0xdb4, 0xdd9, 0x3b, 0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, 0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, ++0xdc3, 0xdd0, 0x3b, 0xd94, 0x3b, 0xdb1, 0xdd9, 0x3b, 0xdaf, 0xdd9, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, ++0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, ++0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, ++0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, ++0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, ++0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, ++0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, ++0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, ++0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, ++0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, ++0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x6d, ++0x61, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x61, 0x3b, 0x6d, 0xe1, 0x6a, 0x61, 0x3b, 0x6a, 0xfa, 0x6e, ++0x61, 0x3b, 0x6a, 0xfa, 0x6c, 0x61, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, ++0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, ++0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, ++0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, ++0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x76, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, ++0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, ++0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, ++0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, ++0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, + 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +-0x44, 0x69, 0x63, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, +-0x72, 0x7a, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x6f, +-0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x69, 0x65, 0x6d, +-0x62, 0x72, 0x65, 0x3b, 0x4f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, +-0x65, 0x3b, 0x44, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x73, 0x63, 0x68, 0x61, 0x6e, 0x2e, 0x3b, 0x66, +-0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, +-0x7a, 0x65, 0x72, 0x63, 0x6c, 0x2e, 0x3b, 0x66, 0x61, 0x6e, 0x2e, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, +-0x74, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x73, +-0x63, 0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, +-0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x6d, 0x61, 0x74, 0x67, 0x3b, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, +-0x3b, 0x66, 0x61, 0x6e, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x65, +-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +-0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x64, 0x61, 0x20, 0x73, 0x63, +-0x68, 0x61, 0x6e, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x66, 0x61, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x6d, +-0x61, 0x72, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x72, 0x69, 0x67, 0x6c, 0x3b, 0x64, 0x61, 0x20, 0x6d, 0x61, 0x74, 0x67, +-0x3b, 0x64, 0x61, 0x20, 0x7a, 0x65, 0x72, 0x63, 0x6c, 0x61, 0x64, 0x75, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x66, 0x61, 0x6e, +-0x61, 0x64, 0x75, 0x72, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x75, 0x73, 0x74, 0x3b, 0x64, 0x61, 0x20, 0x73, 0x65, 0x74, 0x74, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x6e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x61, 0x20, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +-0x69, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, +-0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, 0x6e, 0x2e, 0x3b, 0x69, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, +-0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, +-0x69, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x65, 0x3b, 0x6d, +-0x61, 0x72, 0x74, 0x69, 0x65, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x65, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x69, 0x75, +-0x6e, 0x69, 0x65, 0x3b, 0x69, 0x75, 0x6c, 0x69, 0x65, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, +-0x74, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x6f, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x6e, 0x6f, +-0x69, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x69, 0x65, 0x3b, 0x49, 0x3b, +-0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, +-0x44, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, ++0x4c, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x73, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x66, 0x3b, ++0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x61, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x61, 0x61, 0x79, ++0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, ++0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x75, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4f, 0x67, 0x6f, 0x73, 0x74, 0x3b, 0x53, ++0x65, 0x62, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, ++0x66, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, ++0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, ++0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, ++0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x64, 0x64, 0x65, 0x78, 0x61, ++0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, ++0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x69, 0x78, 0x61, ++0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, ++0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, 0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, ++0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x62, 0x6e, ++0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, ++0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x20, 0x69, 0x79, 0x6f, ++0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x65, 0x6e, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, ++0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x67, 0x6f, ++0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x63, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x69, 0x63, 0x3b, 0x65, 0x6e, ++0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, ++0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, ++0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, ++0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, ++0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, ++0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, ++0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, ++0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, ++0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, ++0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, ++0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, ++0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x45, 0x6e, 0x65, 0x2e, 0x3b, 0x46, 0x65, 0x62, ++0x2e, 0x3b, 0x4d, 0x61, 0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x2e, 0x3b, 0x4a, 0x75, 0x6e, ++0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x63, 0x74, ++0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, ++0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, ++0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, ++0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, ++0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, ++0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, ++0x6f, 0x3b, 0x73, 0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, ++0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, ++0x4a, 0x61, 0x6e, 0x3b, 0x50, 0xe9, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0xe9, 0x69, 0x3b, ++0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x73, 0x3b, 0x53, 0xe9, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, ++0x4e, 0x6f, 0x70, 0x3b, 0x44, 0xe9, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x50, 0xe9, 0x62, 0x72, ++0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0xe9, 0x69, ++0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, ++0xe9, 0x70, 0x74, 0xe9, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x70, ++0xe9, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0xe9, 0x73, 0xe9, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x4d, ++0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, ++0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, ++0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, ++0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, ++0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, ++0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, ++0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, ++0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, ++0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, ++0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, ++0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, ++0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, ++0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, ++0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, 0x432, 0x430, ++0x440, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, ++0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, ++0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, ++0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, ++0xbcd, 0x2e, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, ++0x3b, 0xb86, 0xb95, 0x2e, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, ++0xb9f, 0xbbf, 0xb9a, 0x2e, 0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, ++0xbae, 0xbbe, 0xbb0, 0xbcd, 0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, ++0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, ++0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, ++0xbcd, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, ++0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, ++0xbbf, 0x3b, 0x433, 0x44b, 0x439, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, + 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, + 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, +-0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, +-0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, 0x43d, 0x2e, 0x3b, 0x438, 0x44e, 0x43b, 0x2e, 0x3b, 0x430, +-0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, +-0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44f, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44f, +-0x3b, 0x43c, 0x430, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44f, 0x3b, 0x43c, 0x430, 0x44f, 0x3b, 0x438, 0x44e, +-0x43d, 0x44f, 0x3b, 0x438, 0x44e, 0x43b, 0x44f, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435, 0x43d, 0x442, +-0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44f, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44f, 0x3b, +-0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44f, 0x3b, 0x4e, 0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x3b, 0x4d, 0x62, 0xe4, 0x3b, +-0x4e, 0x67, 0x75, 0x3b, 0x42, 0xea, 0x6c, 0x3b, 0x46, 0xf6, 0x6e, 0x3b, 0x4c, 0x65, 0x6e, 0x3b, 0x4b, 0xfc, 0x6b, 0x3b, +-0x4d, 0x76, 0x75, 0x3b, 0x4e, 0x67, 0x62, 0x3b, 0x4e, 0x61, 0x62, 0x3b, 0x4b, 0x61, 0x6b, 0x3b, 0x4e, 0x79, 0x65, 0x6e, +-0x79, 0x65, 0x3b, 0x46, 0x75, 0x6c, 0x75, 0x6e, 0x64, 0xef, 0x67, 0x69, 0x3b, 0x4d, 0x62, 0xe4, 0x6e, 0x67, 0xfc, 0x3b, +-0x4e, 0x67, 0x75, 0x62, 0xf9, 0x65, 0x3b, 0x42, 0xea, 0x6c, 0xe4, 0x77, 0xfc, 0x3b, 0x46, 0xf6, 0x6e, 0x64, 0x6f, 0x3b, +-0x4c, 0x65, 0x6e, 0x67, 0x75, 0x61, 0x3b, 0x4b, 0xfc, 0x6b, 0xfc, 0x72, 0xfc, 0x3b, 0x4d, 0x76, 0x75, 0x6b, 0x61, 0x3b, +-0x4e, 0x67, 0x62, 0x65, 0x72, 0x65, 0x72, 0x65, 0x3b, 0x4e, 0x61, 0x62, 0xe4, 0x6e, 0x64, 0xfc, 0x72, 0x75, 0x3b, 0x4b, +-0x61, 0x6b, 0x61, 0x75, 0x6b, 0x61, 0x3b, 0x4e, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x46, 0x3b, 0x4c, +-0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, +-0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, +-0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, +-0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, +-0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, +-0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, +-0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, +-0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, +-0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, +-0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, +-0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, +-0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, +-0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, +-0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, +-0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x76, +-0x67, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x458, +-0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, +-0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x3b, 0x43e, 0x43a, 0x442, +-0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x42f, 0x43d, 0x432, 0x2e, 0x3b, 0x424, 0x435, 0x432, 0x440, 0x2e, 0x3b, +-0x41c, 0x430, 0x440, 0x442, 0x2e, 0x3b, 0x410, 0x43f, 0x440, 0x2e, 0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, +-0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x2e, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x2e, 0x3b, 0x41e, 0x43a, 0x442, 0x2e, +-0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x414, 0x435, 0x43a, 0x2e, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x44c, 0x3b, 0x424, +-0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x44c, +-0x3b, 0x41c, 0x430, 0x439, 0x3b, 0x418, 0x44e, 0x43d, 0x44c, 0x3b, 0x418, 0x44e, 0x43b, 0x44c, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, +-0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x41d, +-0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x414, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, 0x3b, 0x44f, 0x43d, 0x432, 0x2e, 0x3b, 0x444, +-0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, +-0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, 0x43d, 0x2e, 0x3b, 0x43e, +-0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x44b, +-0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x44a, 0x438, 0x439, 0x44b, 0x3b, 0x430, 0x43f, +-0x440, 0x435, 0x43b, 0x44b, 0x3b, 0x43c, 0x430, 0x439, 0x44b, 0x3b, 0x438, 0x44e, 0x43d, 0x44b, 0x3b, 0x438, 0x44e, 0x43b, 0x44b, 0x3b, +-0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x44b, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43e, 0x43a, 0x442, +-0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44b, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44b, 0x3b, +-0x4e, 0x64, 0x69, 0x3b, 0x4b, 0x75, 0x6b, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x4b, 0x75, 0x62, 0x3b, 0x43, 0x68, 0x76, 0x3b, +-0x43, 0x68, 0x6b, 0x3b, 0x43, 0x68, 0x67, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x47, 0x75, 0x6e, 0x3b, 0x47, 0x75, 0x6d, 0x3b, +-0x4d, 0x62, 0x75, 0x3b, 0x5a, 0x76, 0x69, 0x3b, 0x4e, 0x64, 0x69, 0x72, 0x61, 0x3b, 0x4b, 0x75, 0x6b, 0x61, 0x64, 0x7a, +-0x69, 0x3b, 0x4b, 0x75, 0x72, 0x75, 0x6d, 0x65, 0x3b, 0x4b, 0x75, 0x62, 0x76, 0x75, 0x6d, 0x62, 0x69, 0x3b, 0x43, 0x68, +-0x69, 0x76, 0x61, 0x62, 0x76, 0x75, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x43, 0x68, 0x69, 0x6b, 0x75, +-0x6e, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4e, 0x79, 0x61, 0x6d, 0x61, 0x76, 0x68, 0x75, 0x76, 0x68, 0x75, 0x3b, 0x47, 0x75, +-0x6e, 0x79, 0x61, 0x6e, 0x61, 0x3b, 0x47, 0x75, 0x6d, 0x69, 0x67, 0x75, 0x72, 0x75, 0x3b, 0x4d, 0x62, 0x75, 0x64, 0x7a, +-0x69, 0x3b, 0x5a, 0x76, 0x69, 0x74, 0x61, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x43, 0x3b, +-0x43, 0x3b, 0x4e, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x64a, 0x3b, 0x641, 0x64a, +-0x628, 0x631, 0x648, 0x631, 0x64a, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x64a, 0x644, 0x3b, 0x645, 0x626, 0x64a, +-0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x621, 0x650, 0x3b, 0x622, 0x6af, 0x633, 0x67d, 0x3b, 0x633, 0x64a, 0x67e, +-0x67d, 0x645, 0x628, 0x631, 0x3b, 0x622, 0x6aa, 0x67d, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, 0x68a, 0x633, +-0x645, 0x628, 0x631, 0x3b, 0x91c, 0x928, 0x3b, 0x92b, 0x930, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, +-0x948, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x93f, 0x924, +-0x902, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x942, 0x3b, 0x928, 0x935, 0x902, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x3b, 0x91c, 0x928, 0x935, +-0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x941, 0x3b, 0x905, 0x92a, 0x94d, 0x930, +-0x948, 0x932, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, +-0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x902, +-0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x93c, 0x3b, 0x92e, 0x3b, 0x905, 0x3b, 0x92e, +-0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x3b, 0x91c, 0x928, +-0x3b, 0x92b, 0x930, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x3b, 0x92e, 0x908, 0x3b, 0x91c, +-0x942, 0x928, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x917, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x3b, 0x905, 0x915, 0x94d, 0x91f, 0x942, 0x3b, +-0x928, 0x935, 0x902, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, +-0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, +-0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, +-0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0xda2, 0xdb1, 0xdc0, 0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb4, 0xdd9, 0xdb6, 0xdbb, 0xdc0, +-0xdcf, 0xdbb, 0xdd2, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, +-0xdb8, 0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0xdc3, 0xdca, +-0xdad, 0xdd4, 0x3b, 0xdc3, 0xdd0, 0xdb4, 0xdca, 0xdad, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0xdad, 0xddd, +-0xdb6, 0xdbb, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0xdb8, 0xdca, 0xdb6, 0xdbb, 0xdca, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0xdb8, 0xdca, +-0xdb6, 0xdbb, 0xdca, 0x3b, 0xda2, 0x3b, 0xdb4, 0xdd9, 0x3b, 0xdb8, 0xdcf, 0x3b, 0xd85, 0x3b, 0xdb8, 0xdd0, 0x3b, 0xda2, 0xdd6, 0x3b, +-0xda2, 0xdd6, 0x3b, 0xd85, 0x3b, 0xdc3, 0xdd0, 0x3b, 0xd94, 0x3b, 0xdb1, 0xdd9, 0x3b, 0xdaf, 0xdd9, 0x3b, 0xda2, 0xdb1, 0x3b, 0xdb4, +-0xdd9, 0xdb6, 0x3b, 0xdb8, 0xdcf, 0xdbb, 0xdca, 0xdad, 0xdd4, 0x3b, 0xd85, 0xdb4, 0xdca, 0x200d, 0xdbb, 0xdda, 0xdbd, 0xdca, 0x3b, 0xdb8, +-0xdd0, 0xdba, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdb1, 0xdd2, 0x3b, 0xda2, 0xdd6, 0xdbd, 0xdd2, 0x3b, 0xd85, 0xd9c, 0xddd, 0x3b, 0xdc3, 0xdd0, +-0xdb4, 0xdca, 0x3b, 0xd94, 0xd9a, 0xdca, 0x3b, 0xdb1, 0xddc, 0xdc0, 0xdd0, 0x3b, 0xdaf, 0xdd9, 0xdc3, 0xdd0, 0x3b, 0x6a, 0x61, 0x6e, +-0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, +-0x3b, 0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, +-0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0xe1, 0x72, 0x3b, +-0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x3b, 0x6d, 0xe1, 0x6a, 0x3b, 0x6a, 0xfa, 0x6e, 0x3b, +-0x6a, 0xfa, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, +-0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, +-0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0xe1, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, +-0xe1, 0x72, 0x61, 0x3b, 0x6d, 0x61, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0xed, 0x6c, 0x61, 0x3b, 0x6d, 0xe1, 0x6a, +-0x61, 0x3b, 0x6a, 0xfa, 0x6e, 0x61, 0x3b, 0x6a, 0xfa, 0x6c, 0x61, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, +-0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0xf3, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, +-0x76, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, +-0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, +-0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x76, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, +-0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, +-0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x65, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x69, +-0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x76, +-0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, +-0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, +-0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, +-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x73, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x74, +-0x3b, 0x4e, 0x6f, 0x66, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x61, 0x61, 0x79, 0x6f, 0x3b, 0x46, 0x65, +-0x62, 0x72, 0x61, 0x61, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x69, 0x6c, +-0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4c, 0x75, 0x75, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4f, 0x67, +-0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x62, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, +-0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x66, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x72, +-0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, +-0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x6f, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, +-0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, +-0x64, 0x64, 0x65, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x41, 0x66, 0x72, 0x61, 0x61, 0x64, +-0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x68, 0x61, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, +-0x20, 0x4c, 0x69, 0x78, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x54, 0x6f, 0x64, 0x6f, 0x62, 0x61, +-0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x69, 0x64, 0x65, 0x65, 0x64, 0x61, 0x61, 0x64, 0x3b, 0x42, +-0x69, 0x73, 0x68, 0x61, 0x20, 0x53, 0x61, 0x67, 0x61, 0x61, 0x6c, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, +-0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4b, 0x6f, 0x77, 0x20, 0x69, +-0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x42, 0x69, 0x73, 0x68, 0x61, 0x20, 0x4c, 0x61, 0x62, +-0x61, 0x20, 0x69, 0x79, 0x6f, 0x20, 0x54, 0x6f, 0x62, 0x6e, 0x61, 0x61, 0x64, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, +-0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, +-0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x2e, 0x3b, +-0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, +-0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, +-0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, +-0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, +-0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, +-0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, +-0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, +-0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, +-0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, +-0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x45, 0x6e, 0x65, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0x61, +-0x72, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x79, 0x2e, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, +-0x6c, 0x2e, 0x3b, 0x41, 0x67, 0x6f, 0x2e, 0x3b, 0x53, 0x65, 0x74, 0x2e, 0x3b, 0x4f, 0x63, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, +-0x76, 0x2e, 0x3b, 0x44, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, +-0x72, 0x2e, 0x3b, 0x61, 0x62, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x79, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, +-0x6c, 0x2e, 0x3b, 0x61, 0x67, 0x6f, 0x2e, 0x3b, 0x73, 0x65, 0x74, 0x2e, 0x3b, 0x6f, 0x63, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, +-0x76, 0x2e, 0x3b, 0x64, 0x69, 0x63, 0x2e, 0x3b, 0x65, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, +-0x6f, 0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x6f, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x6f, 0x3b, 0x6a, +-0x75, 0x6e, 0x69, 0x6f, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6f, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x73, 0x65, +-0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x6e, 0x6f, 0x76, 0x69, +-0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x69, 0x63, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +-0x50, 0xe9, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0xe9, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x73, 0x3b, 0x53, 0xe9, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x70, 0x3b, +-0x44, 0xe9, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x50, 0xe9, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, +-0x3b, 0x4d, 0x61, 0x72, 0x65, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0xe9, 0x69, 0x3b, 0x4a, 0x75, 0x6e, +-0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x75, 0x73, 0x3b, 0x53, 0xe9, 0x70, 0x74, 0xe9, +-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x70, 0xe9, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0x44, 0xe9, 0x73, 0xe9, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +-0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, +-0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, ++0x435, 0x43a, 0x2e, 0x3b, 0x433, 0x44b, 0x439, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, ++0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, ++0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, ++0x44c, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, ++0x430, 0x431, 0x440, 0x44c, 0x3b, 0xc1c, 0xc28, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, ++0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, ++0xc06, 0xc17, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0x3b, 0xc28, 0xc35, 0xc02, ++0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, ++0xc3f, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, ++0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, ++0xc4d, 0xc1f, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, ++0xc2c, 0xc30, 0xc4d, 0x3b, 0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0xc3e, ++0x3b, 0xc0f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, ++0x3b, 0xc21, 0xc3f, 0x3b, 0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, ++0xe40, 0xe21, 0x2e, 0xe22, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, ++0x2e, 0x3b, 0xe2a, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, ++0x2e, 0x3b, 0xe18, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, ++0xe31, 0xe19, 0xe18, 0xe4c, 0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, ++0xe24, 0xe29, 0xe20, 0xe32, 0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, ++0xe32, 0xe04, 0xe21, 0x3b, 0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, ++0xe15, 0xe38, 0xe25, 0xe32, 0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, ++0xe27, 0xe32, 0xe04, 0xe21, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, ++0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, ++0xf63, 0xf94, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, ++0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, ++0xfb1, 0xf51, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, ++0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, ++0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, ++0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, ++0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0x3b, 0xf5f, ++0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0x3b, ++0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, ++0xf53, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, ++0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, ++0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, ++0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x3b, 0x1218, 0x130b, 0x3b, ++0x121a, 0x12eb, 0x3b, 0x130d, 0x1295, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x3b, 0x1290, 0x1213, 0x3b, 0x1218, 0x1235, 0x3b, 0x1325, 0x1245, ++0x3b, 0x1215, 0x12f3, 0x3b, 0x1273, 0x1215, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, ++0x121a, 0x12eb, 0x12dd, 0x12eb, 0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, ++0x3b, 0x1218, 0x1235, 0x12a8, 0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, ++0x3b, 0x1325, 0x3b, 0x1208, 0x3b, 0x1218, 0x3b, 0x121a, 0x3b, 0x130d, 0x3b, 0x1230, 0x3b, 0x1213, 0x3b, 0x1290, 0x3b, 0x1218, 0x3b, 0x1325, ++0x3b, 0x1215, 0x3b, 0x1273, 0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, ++0x70, 0x65, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, ++0x65, 0x70, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, ++0x61, 0x6c, 0x69, 0x3b, 0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, ++0x45, 0x70, 0x65, 0x6c, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, ++0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, ++0x2bb, 0x4f, 0x6b, 0x61, 0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, ++0x6d, 0x61, 0x3b, 0x53, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, ++0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, ++0x69, 0x73, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, ++0x79, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, ++0x15e, 0x75, 0x62, 0x61, 0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, ++0x131, 0x73, 0x3b, 0x48, 0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, ++0x75, 0x73, 0x74, 0x6f, 0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, ++0x131, 0x6d, 0x3b, 0x41, 0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, ++0x48, 0x3b, 0x54, 0x3b, 0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0xdd, 0x61, 0x6e, 0x3b, 0x46, 0x65, ++0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, ++0xfd, 0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0xfd, 0x3b, ++0x44, 0x65, 0x6b, 0x3b, 0xdd, 0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, ++0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, 0xfd, ++0x75, 0x6c, 0x3b, 0x41, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4f, ++0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, ++0x3b, 0xdd, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, ++0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0xfd, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x77, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, ++0x72, 0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, ++0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0xfd, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0xfd, 0x61, 0x6e, 0x77, ++0x61, 0x72, 0x3b, 0x66, 0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, ++0x3b, 0x6d, 0x61, 0xfd, 0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, ++0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6e, ++0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x64a, 0x627, 0x646, 0x6cb, 0x627, 0x631, 0x3b, ++0x641, 0x6d0, 0x6cb, 0x631, 0x627, 0x644, 0x3b, 0x645, 0x627, 0x631, 0x62a, 0x3b, 0x626, 0x627, 0x67e, 0x631, 0x6d0, 0x644, 0x3b, 0x645, ++0x627, 0x64a, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x646, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x644, 0x3b, 0x626, 0x627, 0x6cb, 0x63a, 0x6c7, ++0x633, 0x62a, 0x3b, 0x633, 0x6d0, 0x646, 0x62a, 0x6d5, 0x628, 0x649, 0x631, 0x3b, 0x626, 0x6c6, 0x643, 0x62a, 0x6d5, 0x628, 0x649, 0x631, ++0x3b, 0x646, 0x648, 0x64a, 0x627, 0x628, 0x649, 0x631, 0x3b, 0x62f, 0x6d0, 0x643, 0x627, 0x628, 0x649, 0x631, 0x3b, 0x441, 0x456, 0x447, ++0x3b, 0x43b, 0x44e, 0x442, 0x3b, 0x431, 0x435, 0x440, 0x3b, 0x43a, 0x432, 0x456, 0x3b, 0x442, 0x440, 0x430, 0x3b, 0x447, 0x435, 0x440, ++0x3b, 0x43b, 0x438, 0x43f, 0x3b, 0x441, 0x435, 0x440, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x436, 0x43e, 0x432, 0x3b, 0x43b, 0x438, 0x441, ++0x3b, 0x433, 0x440, 0x443, 0x3b, 0x441, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x431, 0x435, ++0x440, 0x435, 0x437, 0x435, 0x43d, 0x44c, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x435, ++0x43d, 0x44c, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x441, 0x435, ++0x440, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x435, ++0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, ++0x421, 0x3b, 0x41b, 0x3b, 0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, ++0x41b, 0x3b, 0x413, 0x3b, 0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, 0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, ++0x432, 0x456, 0x442, 0x2e, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, ++0x2e, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, ++0x438, 0x441, 0x442, 0x2e, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, ++0x43e, 0x433, 0x43e, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, ++0x440, 0x430, 0x432, 0x43d, 0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, ++0x435, 0x440, 0x43f, 0x43d, 0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, ++0x3b, 0x43b, 0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x43d, 0x44f, 0x3b, 0x441, 0x3b, ++0x43b, 0x3b, 0x431, 0x3b, 0x43a, 0x3b, 0x442, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x432, 0x3b, 0x436, 0x3b, 0x43b, 0x3b, ++0x433, 0x3b, 0x62c, 0x646, 0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, ++0x67e, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, ++0x627, 0x6af, 0x633, 0x62a, 0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, ++0x645, 0x628, 0x631, 0x3b, 0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, ++0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49, 0x79, 0x6e, 0x3b, 0x49, 0x79, 0x6c, 0x3b, 0x41, 0x76, ++0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x79, 0x3b, 0x44, 0x65, 0x6b, 0x3b, 0x59, 0x61, ++0x6e, 0x76, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, ++0x65, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49, 0x79, 0x75, 0x6e, 0x3b, 0x49, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, ++0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4e, ++0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, ++0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, ++0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, ++0x3b, 0x69, 0x79, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, ++0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, ++0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75, 0x6e, 0x3b, 0x69, ++0x79, 0x75, 0x6c, 0x3b, 0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6f, ++0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, ++0x62c, 0x646, 0x648, 0x3b, 0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, ++0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, ++0x648, 0x645, 0x3b, 0x62f, 0x633, 0x645, 0x3b, 0x44f, 0x43d, 0x432, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, ++0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, ++0x435, 0x43d, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, ++0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, ++0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, ++0x43d, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x434, ++0x435, 0x43a, 0x430, 0x431, 0x440, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, ++0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x67, 0x20, ++0x36, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x39, 0x3b, ++0x54, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x32, ++0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, 0xe1, ++0x6e, 0x67, 0x20, 0x33, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, ++0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0xe1, ++0x6e, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, ++0x30, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, ++0x74, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, ++0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, ++0x37, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, ++0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, ++0x20, 0x31, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, 0x3b, 0x74, ++0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, ++0x20, 0x36, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, 0x3b, 0x74, ++0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0xe1, 0x6e, ++0x67, 0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, ++0x77, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, ++0x72, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, ++0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, 0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, ++0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, ++0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, ++0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, ++0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, 0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x68, 0x3b, 0x4d, 0x3b, ++0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x68, 0x3b, 0x49, ++0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, ++0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, ++0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x46, ++0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x3b, 0x53, ++0x75, 0x6c, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x77, 0x3b, 0x44, 0x65, ++0x73, 0x3b, 0x53, 0x61, 0x6d, 0x77, 0x69, 0x79, 0x65, 0x65, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x69, 0x79, 0x65, 0x65, 0x3b, ++0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x77, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x65, 0x3b, ++0x53, 0x75, 0x6c, 0x65, 0x74, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, ++0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x77, 0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, ++0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, ++0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, ++0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, ++0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, ++0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, ++0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, ++0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, ++0x65, 0x6d, 0x62, 0x61, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, ++0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, ++0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x3b, 0x5d0, 0x5e7, 0x5d8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x3b, 0x5d3, ++0x5e2, 0x5e6, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x5d5, 0x5d0, 0x5b7, 0x5e8, 0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5b7, ++0x5e8, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9, ++0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e2, 0x5e4, ++0x5bc, 0x5d8, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d0, 0x5e7, 0x5d8, 0x5d0, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, ++0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x3b, 0xc8, ++0x72, 0x3b, 0x1eb8, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x1eb8, 0x300, 0x62, 0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, ++0x3b, 0x4f, 0x77, 0x3b, 0x1ecc, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x1ecc, 0x300, 0x70, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, ++0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, ++0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, ++0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, ++0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, 0x1eb8, 0x3b, 0xcc, 0x3b, 0x1eb8, 0x300, 0x3b, 0xd2, ++0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x1ecc, 0x300, 0x3b, 0x42, 0x3b, 0x1ecc, 0x300, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x3b, ++0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0x3b, 0xcc, 0x67, 0x62, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x3b, ++0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x1eb9, 0x3b, 0xd2, 0x67, 0xfa, 0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, ++0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, ++0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, ++0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, ++0x69, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, ++0x1ecd, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, ++0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, ++0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x190, ++0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x190, 0x300, 0x62, 0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77, ++0x3b, 0x186, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x186, 0x300, 0x70, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b, ++0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x190, 0x300, ++0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0xd2, 0x67, 0xfa, ++0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, ++0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, 0x190, 0x3b, 0xcc, 0x3b, 0x190, 0x300, 0x3b, 0xd2, 0x3b, 0x41, ++0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x186, 0x300, 0x3b, 0x42, 0x3b, 0x186, 0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x3b, 0xc8, ++0x72, 0xe8, 0x6c, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0x3b, 0xcc, 0x67, 0x62, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x3b, 0xd2, ++0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x25b, 0x3b, 0xd2, 0x67, 0xfa, 0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x3b, ++0x42, 0xe9, 0x6c, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, ++0x301, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x72, ++0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, ++0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x73, ++0x68, 0xf9, 0x20, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, ++0x73, 0x68, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x77, 0xe0, 0x72, ++0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x70, ++0x25b, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x45, 0x70, 0x68, 0x3b, 0x4d, ++0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, ++0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, ++0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x68, 0x72, ++0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, ++0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, ++0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, ++0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, ++0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, ++0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, ++0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, ++0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, ++0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, ++0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, ++0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, ++0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, ++0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, ++0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, ++0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, ++0x458, 0x443, 0x43b, 0x3b, 0x430, 0x443, 0x433, 0x3b, 0x441, 0x435, 0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, ++0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, ++0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, ++0x443, 0x43b, 0x438, 0x3b, 0x430, 0x443, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, ++0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, 0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, ++0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x4a, 0x2d, 0x67, 0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, ++0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, ++0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, ++0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, ++0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x2d, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, ++0x2d, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, ++0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, 0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, ++0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, ++0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, ++0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, ++0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, ++0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, ++0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, 0x65, 0x6e, 0x3b, 0x48, 0x77, 0x65, 0x3b, 0x4d, 0x65, 0x75, ++0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x4d, 0x65, 0x74, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, ++0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, 0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, ++0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x48, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x69, ++0x73, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x6d, ++0x69, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b, 0x6d, ++0x69, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, 0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x73, 0x74, ++0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x6e, 0x67, 0x61, 0x6c, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x48, ++0x65, 0x64, 0x72, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x44, 0x75, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, ++0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, ++0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, 0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, ++0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, 0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, ++0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, 0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, ++0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, 0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, ++0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, 0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, ++0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, 0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, ++0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, ++0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, 0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, ++0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, 0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, ++0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, 0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, ++0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, 0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, ++0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b, 0x92e, 0x93e, 0x930, ++0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x940, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, ++0x911, 0x917, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x3b, 0x921, ++0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, ++0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x940, 0x932, 0x3b, 0x92e, 0x947, 0x3b, ++0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x92f, 0x3b, 0x911, 0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, ++0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, 0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, ++0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, ++0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, ++0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, ++0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, ++0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, ++0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, ++0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, ++0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x1ecc, ++0x3b, 0x53, 0x3b, 0x1ecc, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, ++0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, ++0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, 0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, ++0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, ++0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, ++0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, ++0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, ++0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, ++0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, ++0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, ++0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, ++0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, ++0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, ++0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, ++0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, ++0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, ++0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, ++0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, ++0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, ++0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, ++0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x64, ++0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, 0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, ++0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, 0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, ++0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, 0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, ++0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, 0x66, 0x129, 0x65, 0x3b, 0x64, 0x61, 0x6d, 0x61, 0x3b, 0x6d, ++0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, 0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, ++0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, 0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, ++0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x3b, 0x64, 0x3b, 0x74, 0x3b, ++0x61, 0x3b, 0x64, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x61, 0x3b, 0x6b, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x49, 0x61, ++0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, ++0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, ++0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, 0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, ++0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, ++0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, ++0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, 0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, ++0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, ++0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, ++0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, ++0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, ++0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, 0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, ++0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, ++0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, ++0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, 0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, ++0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x75, ++0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, ++0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, ++0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, ++0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, ++0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, ++0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, 0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, ++0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, ++0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, ++0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, ++0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, ++0x72, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, ++0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, ++0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x76, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, ++0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, ++0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, ++0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, ++0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, ++0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, ++0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, ++0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, ++0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, ++0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, ++0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, ++0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, ++0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, ++0x14b, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, ++0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, ++0x76, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, ++0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, ++0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, ++0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, ++0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, ++0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, ++0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, ++0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, ++0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b, 0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, ++0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, ++0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, ++0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, ++0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, ++0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, ++0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, ++0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, ++0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, ++0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, ++0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, ++0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, ++0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, ++0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x77, 0x69, 0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, ++0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, ++0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, ++0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74, 0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, ++0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63, 0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, ++0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75, 0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, ++0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b, 0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, ++0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f, 0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, ++0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, ++0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b, 0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, ++0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d, 0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, ++0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49, 0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, ++0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, ++0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, ++0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, ++0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, ++0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, ++0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, ++0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, ++0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, ++0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f, 0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, ++0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49, 0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, ++0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, ++0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, ++0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, ++0x2019, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, ++0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, ++0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, ++0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, ++0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, ++0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, ++0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, ++0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, ++0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, ++0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, ++0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, ++0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, ++0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, ++0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, ++0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, ++0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x6e, ++0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, ++0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, ++0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, 0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, ++0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, ++0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, ++0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, ++0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, ++0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, ++0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, 0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, ++0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, ++0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, ++0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, ++0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, ++0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, ++0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, ++0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, ++0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, ++0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, ++0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, ++0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x3b, 0x2d49, ++0x2d31, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x3b, 0x2d5b, ++0x2d53, 0x2d5c, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x2d30, 0x2d62, ++0x2d54, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x2d62, 0x2d55, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x2d5a, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x2d49, 0x2d54, 0x3b, 0x2d4e, ++0x2d30, 0x2d62, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x2d62, 0x2d53, 0x2d63, 0x3b, 0x2d56, 0x2d53, ++0x2d5b, 0x2d5c, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x2d31, 0x2d54, 0x3b, 0x2d4f, 0x2d53, ++0x2d61, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d49, 0x3b, 0x2d31, 0x3b, ++0x2d4e, 0x3b, 0x2d49, 0x3b, 0x2d4e, 0x3b, 0x2d62, 0x3b, 0x2d62, 0x3b, 0x2d56, 0x3b, 0x2d5b, 0x3b, 0x2d3d, 0x3b, 0x2d4f, 0x3b, 0x2d37, 0x3b, ++0x69, 0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, 0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, ++0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, 0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, ++0x6e, 0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, 0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, ++0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, ++0x6e, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, ++0x6e, 0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, ++0x64, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, 0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, ++0x3b, 0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, ++0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, ++0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x57, 0x61, 0x6d, 0x3b, 0x44, 0x75, 0x1e7, ++0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, ++0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, ++0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, ++0x3b, 0x54, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x57, 0x61, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, ++0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, ++0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, ++0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, ++0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, 0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, ++0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, ++0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, ++0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, ++0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, ++0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x57, ++0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, 0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b, 0x4b, ++0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, 0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x57, 0x3b, 0x4b, ++0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, 0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, ++0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, ++0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, ++0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x4f, ++0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e, 0x61, ++0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, ++0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b, 0x75, ++0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62, 0x69, ++0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, 0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x48, ++0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, ++0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, ++0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, ++0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, ++0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, 0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, ++0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, ++0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, ++0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, ++0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, ++0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, ++0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, ++0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, ++0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61, 0x20, ++0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, ++0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, 0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, ++0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, ++0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69, 0x3b, ++0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x75, ++0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, ++0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, ++0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x77, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b, 0x7a, ++0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, ++0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65, 0x3b, ++0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, ++0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61, 0x6e, ++0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61, 0x6e, ++0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, ++0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, ++0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b, 0x47, ++0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, 0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, ++0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, ++0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77, 0x65, ++0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, ++0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, ++0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74, 0x61, ++0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, ++0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, ++0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, ++0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, ++0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, 0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, ++0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, ++0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, 0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, ++0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, 0x3b, 0x13a5, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, ++0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, 0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, ++0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, 0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, ++0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a5, 0x13cd, 0x13a9, 0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, ++0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, 0x13da, 0x3b, 0x13c5, 0x3b, 0x13a5, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, ++0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, 0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, ++0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, ++0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d, 0x61, ++0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x79, ++0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, ++0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, 0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, ++0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, 0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, ++0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69, 0x6c, ++0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, ++0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, ++0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, ++0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, ++0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, ++0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x74, ++0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, ++0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, ++0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, ++0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, ++0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, ++0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b, 0x46, ++0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, ++0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77, 0x61, ++0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53, 0x61, ++0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61, 0x74, ++0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268, 0x3b, ++0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b, 0x77, ++0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61, 0x74, ++0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, 0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268, 0x3b, ++0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73, 0x61, ++0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, ++0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61, 0x6e, ++0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x75, ++0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, 0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f, 0x76, ++0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77, 0x61, ++0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d, 0x61, ++0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, ++0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, ++0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, ++0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, ++0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, ++0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, ++0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b, 0x4d, ++0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74, 0x69, ++0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, ++0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, ++0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, ++0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, ++0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75, 0x76, ++0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, ++0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e, ++0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x65, ++0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62, 0x72, 0x75, ++0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41, ++0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, 0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47, ++0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, 0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61, ++0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68, ++0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, 0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a, ++0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, ++0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x63, 0x65, ++0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, ++0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x61, ++0x3b, 0x49, 0x77, 0x6f, 0x3b, 0x4d, 0x61, 0x6d, 0x3b, 0x50, 0x61, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x52, 0x6f, 0x6f, ++0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x4b, 0x70, 0x74, 0x3b, 0x4b, 0x70, 0x61, 0x3b, 0x4d, 0x75, 0x6c, ++0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x2019, 0x61, 0x74, 0x79, 0x61, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61, ++0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x6f, 0x6f, 0x74, 0x6b, 0x75, 0x75, 0x74, 0x3b, 0x4d, 0x61, 0x6d, 0x75, 0x75, 0x74, ++0x3b, 0x50, 0x61, 0x61, 0x67, 0x69, 0x3b, 0x4e, 0x67, 0x2019, 0x65, 0x69, 0x79, 0x65, 0x65, 0x74, 0x3b, 0x52, 0x6f, 0x6f, ++0x70, 0x74, 0x75, 0x69, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x65, 0x74, 0x3b, 0x45, 0x70, 0x65, 0x65, 0x73, 0x6f, 0x3b, 0x4b, ++0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x20, 0x74, 0x61, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, ++0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x62, 0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x2019, 0x3b, 0x4d, 0x3b, ++0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, 0x4e, 0x3b, 0x52, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, ++0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, ++0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, ++0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74, 0x73, 0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, ++0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61, 0x6f, 0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, ++0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61, 0x72, 0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, ++0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, 0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, ++0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73, 0x6f, 0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, ++0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x7a, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, ++0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, 0x2e, 0x3b, 0x4f, 0x75, 0x6a, 0x2e, 0x3b, 0x53, 0xe4, 0x70, ++0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, ++0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72, 0x6f, 0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, ++0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, ++0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, ++0x6f, 0x68, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, ++0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0xe4, 0x62, 0x3b, 0x4d, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x3b, ++0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x4f, 0x75, 0x6a, 0x3b, 0x53, 0xe4, 0x70, 0x3b, ++0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1, 0x3b, ++0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, 0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73, 0x3b, ++0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, 0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e, 0x74, ++0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, 0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b, 0x6e, ++0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, 0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72, 0xed, 0xea, 0x20, ++0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, 0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b, 0x113, ++0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, 0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d, 0xf3, ++0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, 0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301, 0x72, 0xe1, 0x72, ++0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, 0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289, 0x73, ++0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, ++0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, + 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, +-0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, +-0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, +-0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +-0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, +-0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, +-0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, +-0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, +-0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, +-0x72, 0x69, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, +-0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x73, 0x65, 0x70, 0x74, +-0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +-0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x42f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x424, 0x435, +-0x432, 0x440, 0x430, 0x43b, 0x3b, 0x41c, 0x430, 0x440, 0x442, 0x3b, 0x410, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x41c, 0x430, 0x439, 0x3b, +-0x418, 0x44e, 0x43d, 0x3b, 0x418, 0x44e, 0x43b, 0x3b, 0x410, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x421, 0x435, 0x43d, 0x442, 0x44f, +-0x431, 0x440, 0x3b, 0x41e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x41d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x414, 0x435, 0x43a, 0x430, +-0x431, 0x440, 0x3b, 0xb9c, 0xba9, 0x2e, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, 0x2e, 0x3b, 0xb8f, +-0xbaa, 0xbcd, 0x2e, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, 0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0x2e, +-0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0x2e, 0x3b, 0xb85, 0xb95, 0xbcd, 0x2e, 0x3b, 0xba8, 0xbb5, 0x2e, 0x3b, 0xb9f, 0xbbf, 0xb9a, 0x2e, +-0x3b, 0xb9c, 0xba9, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbaa, 0xbbf, 0xbaa, 0xbcd, 0xbb0, 0xbb5, 0xbb0, 0xbbf, 0x3b, 0xbae, 0xbbe, 0xbb0, 0xbcd, +-0xb9a, 0xbcd, 0x3b, 0xb8f, 0xbaa, 0xbcd, 0xbb0, 0xbb2, 0xbcd, 0x3b, 0xbae, 0xbc7, 0x3b, 0xb9c, 0xbc2, 0xba9, 0xbcd, 0x3b, 0xb9c, 0xbc2, +-0xbb2, 0xbc8, 0x3b, 0xb86, 0xb95, 0xbb8, 0xbcd, 0xb9f, 0xbcd, 0x3b, 0xb9a, 0xbc6, 0xbaa, 0xbcd, 0xb9f, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, +-0x3b, 0xb85, 0xb95, 0xbcd, 0xb9f, 0xbcb, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xba8, 0xbb5, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9f, 0xbbf, +-0xb9a, 0xbae, 0xbcd, 0xbaa, 0xbb0, 0xbcd, 0x3b, 0xb9c, 0x3b, 0xbaa, 0xbbf, 0x3b, 0xbae, 0xbbe, 0x3b, 0xb8f, 0x3b, 0xbae, 0xbc7, 0x3b, +-0xb9c, 0xbc2, 0x3b, 0xb9c, 0xbc2, 0x3b, 0xb86, 0x3b, 0xb9a, 0xbc6, 0x3b, 0xb85, 0x3b, 0xba8, 0x3b, 0xb9f, 0xbbf, 0x3b, 0x433, 0x44b, +-0x439, 0x43d, 0x2e, 0x3b, 0x444, 0x435, 0x432, 0x2e, 0x3b, 0x43c, 0x430, 0x440, 0x2e, 0x3b, 0x430, 0x43f, 0x440, 0x2e, 0x3b, 0x43c, +-0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, 0x44c, 0x3b, 0x430, 0x432, 0x433, 0x2e, 0x3b, 0x441, 0x435, +-0x43d, 0x442, 0x2e, 0x3b, 0x43e, 0x43a, 0x442, 0x2e, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x2e, 0x3b, 0x434, 0x435, 0x43a, 0x2e, 0x3b, +-0x433, 0x44b, 0x439, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, 0x440, 0x430, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x440, 0x442, +-0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x44c, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x44c, 0x3b, 0x438, 0x44e, 0x43b, +-0x44c, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43e, 0x43a, +-0x442, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x44c, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, 0x440, 0x44c, +-0x3b, 0xc1c, 0xc28, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0x3b, 0xc2e, 0xc3e, 0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, +-0xc30, 0xc3f, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, 0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0x3b, 0xc38, +-0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0x3b, 0xc28, 0xc35, 0xc02, 0x3b, 0xc21, 0xc3f, 0xc38, +-0xc46, 0xc02, 0x3b, 0xc1c, 0xc28, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2b, 0xc3f, 0xc2c, 0xc4d, 0xc30, 0xc35, 0xc30, 0xc3f, 0x3b, 0xc2e, 0xc3e, +-0xc30, 0xc4d, 0xc1a, 0xc3f, 0x3b, 0xc0f, 0xc2a, 0xc4d, 0xc30, 0xc3f, 0xc32, 0xc4d, 0x3b, 0xc2e, 0xc47, 0x3b, 0xc1c, 0xc42, 0xc28, 0xc4d, +-0x3b, 0xc1c, 0xc41, 0xc32, 0xc48, 0x3b, 0xc06, 0xc17, 0xc38, 0xc4d, 0xc1f, 0xc41, 0x3b, 0xc38, 0xc46, 0xc2a, 0xc4d, 0xc1f, 0xc46, 0xc02, +-0xc2c, 0xc30, 0xc4d, 0x3b, 0xc05, 0xc15, 0xc4d, 0xc1f, 0xc4b, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc28, 0xc35, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, +-0xc21, 0xc3f, 0xc38, 0xc46, 0xc02, 0xc2c, 0xc30, 0xc4d, 0x3b, 0xc1c, 0x3b, 0xc2b, 0xc3f, 0x3b, 0xc2e, 0xc3e, 0x3b, 0xc0f, 0x3b, 0xc2e, +-0xc47, 0x3b, 0xc1c, 0xc42, 0x3b, 0xc1c, 0xc41, 0x3b, 0xc06, 0x3b, 0xc38, 0xc46, 0x3b, 0xc05, 0x3b, 0xc28, 0x3b, 0xc21, 0xc3f, 0x3b, +-0xe21, 0x2e, 0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe1e, 0x2e, 0x3b, 0xe21, 0xe35, 0x2e, 0xe04, 0x2e, 0x3b, 0xe40, 0xe21, 0x2e, 0xe22, +-0x2e, 0x3b, 0xe1e, 0x2e, 0xe04, 0x2e, 0x3b, 0xe21, 0xe34, 0x2e, 0xe22, 0x2e, 0x3b, 0xe01, 0x2e, 0xe04, 0x2e, 0x3b, 0xe2a, 0x2e, +-0xe04, 0x2e, 0x3b, 0xe01, 0x2e, 0xe22, 0x2e, 0x3b, 0xe15, 0x2e, 0xe04, 0x2e, 0x3b, 0xe1e, 0x2e, 0xe22, 0x2e, 0x3b, 0xe18, 0x2e, +-0xe04, 0x2e, 0x3b, 0xe21, 0xe01, 0xe23, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe38, 0xe21, 0xe20, 0xe32, 0xe1e, 0xe31, 0xe19, 0xe18, 0xe4c, +-0x3b, 0xe21, 0xe35, 0xe19, 0xe32, 0xe04, 0xe21, 0x3b, 0xe40, 0xe21, 0xe29, 0xe32, 0xe22, 0xe19, 0x3b, 0xe1e, 0xe24, 0xe29, 0xe20, 0xe32, +-0xe04, 0xe21, 0x3b, 0xe21, 0xe34, 0xe16, 0xe38, 0xe19, 0xe32, 0xe22, 0xe19, 0x3b, 0xe01, 0xe23, 0xe01, 0xe0e, 0xe32, 0xe04, 0xe21, 0x3b, +-0xe2a, 0xe34, 0xe07, 0xe2b, 0xe32, 0xe04, 0xe21, 0x3b, 0xe01, 0xe31, 0xe19, 0xe22, 0xe32, 0xe22, 0xe19, 0x3b, 0xe15, 0xe38, 0xe25, 0xe32, +-0xe04, 0xe21, 0x3b, 0xe1e, 0xe24, 0xe28, 0xe08, 0xe34, 0xe01, 0xe32, 0xe22, 0xe19, 0x3b, 0xe18, 0xe31, 0xe19, 0xe27, 0xe32, 0xe04, 0xe21, +-0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, +-0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, +-0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, +-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, +-0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, +-0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, +-0xf45, 0xf74, 0xf0b, 0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, +-0xf54, 0xf0b, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0xf0b, 0x3b, +-0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf44, 0xf0b, 0xf54, 0xf7c, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf49, 0xf72, 0xf66, +-0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf42, 0xf66, 0xf74, 0xf58, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, +-0xf56, 0xf5e, 0xf72, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf63, 0xf94, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, +-0xf0b, 0xf51, 0xfb2, 0xf74, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf51, 0xf74, 0xf53, 0xf0b, 0xf54, 0x3b, +-0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf62, 0xf92, 0xfb1, 0xf51, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf51, 0xf42, +-0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, +-0xf56, 0xf45, 0xf74, 0xf0b, 0xf42, 0xf45, 0xf72, 0xf42, 0xf0b, 0xf54, 0x3b, 0xf5f, 0xfb3, 0xf0b, 0xf56, 0xf0b, 0xf56, 0xf45, 0xf74, 0xf0b, +-0xf42, 0xf49, 0xf72, 0xf66, 0xf0b, 0xf54, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x3b, 0x1218, 0x130b, 0x3b, 0x121a, 0x12eb, 0x3b, 0x130d, +-0x1295, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x3b, 0x1290, 0x1213, 0x3b, 0x1218, 0x1235, 0x3b, 0x1325, 0x1245, 0x3b, 0x1215, 0x12f3, 0x3b, +-0x1273, 0x1215, 0x3b, 0x1325, 0x122a, 0x3b, 0x1208, 0x12ab, 0x1272, 0x1275, 0x3b, 0x1218, 0x130b, 0x1262, 0x1275, 0x3b, 0x121a, 0x12eb, 0x12dd, 0x12eb, +-0x3b, 0x130d, 0x1295, 0x1266, 0x1275, 0x3b, 0x1230, 0x1290, 0x3b, 0x1213, 0x121d, 0x1208, 0x3b, 0x1290, 0x1213, 0x1230, 0x3b, 0x1218, 0x1235, 0x12a8, +-0x1228, 0x121d, 0x3b, 0x1325, 0x1245, 0x121d, 0x1272, 0x3b, 0x1215, 0x12f3, 0x122d, 0x3b, 0x1273, 0x1215, 0x1233, 0x1235, 0x3b, 0x1325, 0x3b, 0x1208, +-0x3b, 0x1218, 0x3b, 0x121a, 0x3b, 0x130d, 0x3b, 0x1230, 0x3b, 0x1213, 0x3b, 0x1290, 0x3b, 0x1218, 0x3b, 0x1325, 0x3b, 0x1215, 0x3b, 0x1273, +-0x3b, 0x53, 0x101, 0x6e, 0x3b, 0x46, 0x113, 0x70, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x3b, 0x4d, +-0x113, 0x3b, 0x53, 0x75, 0x6e, 0x3b, 0x53, 0x69, 0x75, 0x3b, 0x2bb, 0x41, 0x6f, 0x6b, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x2bb, +-0x4f, 0x6b, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x3b, 0x54, 0x12b, 0x73, 0x3b, 0x53, 0x101, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, +-0x46, 0x113, 0x70, 0x75, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x2bb, 0x61, 0x73, 0x69, 0x3b, 0x2bb, 0x45, 0x70, 0x65, 0x6c, +-0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x113, 0x3b, 0x53, 0x75, 0x6e, 0x65, 0x3b, 0x53, 0x69, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, +-0x41, 0x6f, 0x6b, 0x6f, 0x73, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x69, 0x74, 0x65, 0x6d, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, +-0x74, 0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x14d, 0x76, 0x65, 0x6d, 0x61, 0x3b, 0x54, 0x12b, 0x73, 0x65, 0x6d, 0x61, 0x3b, 0x53, +-0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, +-0x3b, 0x54, 0x3b, 0x4f, 0x63, 0x61, 0x3b, 0x15e, 0x75, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4e, 0x69, 0x73, 0x3b, 0x4d, +-0x61, 0x79, 0x3b, 0x48, 0x61, 0x7a, 0x3b, 0x54, 0x65, 0x6d, 0x3b, 0x41, 0x11f, 0x75, 0x3b, 0x45, 0x79, 0x6c, 0x3b, 0x45, +-0x6b, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x41, 0x72, 0x61, 0x3b, 0x4f, 0x63, 0x61, 0x6b, 0x3b, 0x15e, 0x75, 0x62, 0x61, +-0x74, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x4e, 0x69, 0x73, 0x61, 0x6e, 0x3b, 0x4d, 0x61, 0x79, 0x131, 0x73, 0x3b, 0x48, +-0x61, 0x7a, 0x69, 0x72, 0x61, 0x6e, 0x3b, 0x54, 0x65, 0x6d, 0x6d, 0x75, 0x7a, 0x3b, 0x41, 0x11f, 0x75, 0x73, 0x74, 0x6f, +-0x73, 0x3b, 0x45, 0x79, 0x6c, 0xfc, 0x6c, 0x3b, 0x45, 0x6b, 0x69, 0x6d, 0x3b, 0x4b, 0x61, 0x73, 0x131, 0x6d, 0x3b, 0x41, +-0x72, 0x61, 0x6c, 0x131, 0x6b, 0x3b, 0x4f, 0x3b, 0x15e, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, +-0x41, 0x3b, 0x45, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x41, 0x3b, 0xdd, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x77, 0x3b, 0x4d, 0x61, +-0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, +-0x41, 0x77, 0x67, 0x3b, 0x53, 0x65, 0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0xfd, 0x3b, 0x44, 0x65, 0x6b, 0x3b, +-0xdd, 0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, +-0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x61, 0xfd, 0x3b, 0x49, 0xfd, 0x75, 0x6e, 0x3b, 0x49, 0xfd, 0x75, 0x6c, 0x3b, 0x41, +-0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0xfd, 0x61, +-0x62, 0x72, 0x3b, 0x4e, 0x6f, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0xdd, 0x3b, 0x46, +-0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, +-0x3b, 0xfd, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x77, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, +-0xfd, 0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, +-0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0xfd, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0xfd, 0x61, 0x6e, 0x77, 0x61, 0x72, 0x3b, 0x66, +-0x65, 0x77, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0xfd, +-0x3b, 0x69, 0xfd, 0x75, 0x6e, 0x3b, 0x69, 0xfd, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, +-0x6e, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0xfd, 0x61, 0x62, 0x72, 0x3b, 0x6e, 0x6f, 0xfd, 0x61, 0x62, +-0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x64a, 0x627, 0x646, 0x6cb, 0x627, 0x631, 0x3b, 0x641, 0x6d0, 0x6cb, 0x631, +-0x627, 0x644, 0x3b, 0x645, 0x627, 0x631, 0x62a, 0x3b, 0x626, 0x627, 0x67e, 0x631, 0x6d0, 0x644, 0x3b, 0x645, 0x627, 0x64a, 0x3b, 0x626, +-0x649, 0x64a, 0x6c7, 0x646, 0x3b, 0x626, 0x649, 0x64a, 0x6c7, 0x644, 0x3b, 0x626, 0x627, 0x6cb, 0x63a, 0x6c7, 0x633, 0x62a, 0x3b, 0x633, +-0x6d0, 0x646, 0x62a, 0x6d5, 0x628, 0x649, 0x631, 0x3b, 0x626, 0x6c6, 0x643, 0x62a, 0x6d5, 0x628, 0x649, 0x631, 0x3b, 0x646, 0x648, 0x64a, +-0x627, 0x628, 0x649, 0x631, 0x3b, 0x62f, 0x6d0, 0x643, 0x627, 0x628, 0x649, 0x631, 0x3b, 0x441, 0x456, 0x447, 0x3b, 0x43b, 0x44e, 0x442, +-0x3b, 0x431, 0x435, 0x440, 0x3b, 0x43a, 0x432, 0x456, 0x3b, 0x442, 0x440, 0x430, 0x3b, 0x447, 0x435, 0x440, 0x3b, 0x43b, 0x438, 0x43f, +-0x3b, 0x441, 0x435, 0x440, 0x3b, 0x432, 0x435, 0x440, 0x3b, 0x436, 0x43e, 0x432, 0x3b, 0x43b, 0x438, 0x441, 0x3b, 0x433, 0x440, 0x443, +-0x3b, 0x441, 0x456, 0x447, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x44e, 0x442, 0x438, 0x439, 0x3b, 0x431, 0x435, 0x440, 0x435, 0x437, 0x435, +-0x43d, 0x44c, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x447, +-0x435, 0x440, 0x432, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, 0x438, 0x43f, 0x435, 0x43d, 0x44c, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x435, 0x43d, +-0x44c, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x435, 0x43d, 0x44c, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x435, 0x43d, 0x44c, 0x3b, 0x43b, +-0x438, 0x441, 0x442, 0x43e, 0x43f, 0x430, 0x434, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x435, 0x43d, 0x44c, 0x3b, 0x421, 0x3b, 0x41b, 0x3b, +-0x411, 0x3b, 0x41a, 0x3b, 0x422, 0x3b, 0x427, 0x3b, 0x41b, 0x3b, 0x421, 0x3b, 0x412, 0x3b, 0x416, 0x3b, 0x41b, 0x3b, 0x413, 0x3b, +-0x441, 0x456, 0x447, 0x2e, 0x3b, 0x43b, 0x44e, 0x442, 0x2e, 0x3b, 0x431, 0x435, 0x440, 0x2e, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x2e, +-0x3b, 0x442, 0x440, 0x430, 0x432, 0x2e, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x2e, 0x3b, 0x43b, 0x438, 0x43f, 0x2e, 0x3b, 0x441, 0x435, +-0x440, 0x43f, 0x2e, 0x3b, 0x432, 0x435, 0x440, 0x2e, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x2e, 0x3b, 0x43b, 0x438, 0x441, 0x442, 0x2e, +-0x3b, 0x433, 0x440, 0x443, 0x434, 0x2e, 0x3b, 0x441, 0x456, 0x447, 0x43d, 0x44f, 0x3b, 0x43b, 0x44e, 0x442, 0x43e, 0x433, 0x43e, 0x3b, +-0x431, 0x435, 0x440, 0x435, 0x437, 0x43d, 0x44f, 0x3b, 0x43a, 0x432, 0x456, 0x442, 0x43d, 0x44f, 0x3b, 0x442, 0x440, 0x430, 0x432, 0x43d, +-0x44f, 0x3b, 0x447, 0x435, 0x440, 0x432, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x43f, 0x43d, 0x44f, 0x3b, 0x441, 0x435, 0x440, 0x43f, 0x43d, +-0x44f, 0x3b, 0x432, 0x435, 0x440, 0x435, 0x441, 0x43d, 0x44f, 0x3b, 0x436, 0x43e, 0x432, 0x442, 0x43d, 0x44f, 0x3b, 0x43b, 0x438, 0x441, +-0x442, 0x43e, 0x43f, 0x430, 0x434, 0x430, 0x3b, 0x433, 0x440, 0x443, 0x434, 0x43d, 0x44f, 0x3b, 0x441, 0x3b, 0x43b, 0x3b, 0x431, 0x3b, +-0x43a, 0x3b, 0x442, 0x3b, 0x447, 0x3b, 0x43b, 0x3b, 0x441, 0x3b, 0x432, 0x3b, 0x436, 0x3b, 0x43b, 0x3b, 0x433, 0x3b, 0x62c, 0x646, +-0x648, 0x631, 0x6cc, 0x3b, 0x641, 0x631, 0x648, 0x631, 0x6cc, 0x3b, 0x645, 0x627, 0x631, 0x686, 0x3b, 0x627, 0x67e, 0x631, 0x6cc, 0x644, +-0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, 0x648, 0x644, 0x627, 0x626, 0x6cc, 0x3b, 0x627, 0x6af, 0x633, 0x62a, +-0x3b, 0x633, 0x62a, 0x645, 0x628, 0x631, 0x3b, 0x627, 0x6a9, 0x62a, 0x648, 0x628, 0x631, 0x3b, 0x646, 0x648, 0x645, 0x628, 0x631, 0x3b, +-0x62f, 0x633, 0x645, 0x628, 0x631, 0x3b, 0x59, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, +-0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x49, 0x79, 0x6e, 0x3b, 0x49, 0x79, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x3b, 0x53, 0x65, +-0x6e, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x79, 0x3b, 0x44, 0x65, 0x6b, 0x3b, 0x59, 0x61, 0x6e, 0x76, 0x61, 0x72, +-0x3b, 0x46, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x4d, 0x61, 0x72, 0x74, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x4d, +-0x61, 0x79, 0x3b, 0x49, 0x79, 0x75, 0x6e, 0x3b, 0x49, 0x79, 0x75, 0x6c, 0x3b, 0x41, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, +-0x53, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x4e, 0x6f, 0x79, 0x61, 0x62, +-0x72, 0x3b, 0x44, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x49, +-0x3b, 0x49, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, +-0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x6e, 0x3b, 0x69, 0x79, 0x6c, +-0x3b, 0x61, 0x76, 0x67, 0x3b, 0x73, 0x65, 0x6e, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x79, 0x3b, 0x64, 0x65, 0x6b, +-0x3b, 0x79, 0x61, 0x6e, 0x76, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x76, 0x72, 0x61, 0x6c, 0x3b, 0x6d, 0x61, 0x72, 0x74, 0x3b, +-0x61, 0x70, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x69, 0x79, 0x75, 0x6e, 0x3b, 0x69, 0x79, 0x75, 0x6c, 0x3b, +-0x61, 0x76, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x62, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x61, 0x62, +-0x72, 0x3b, 0x6e, 0x6f, 0x79, 0x61, 0x62, 0x72, 0x3b, 0x64, 0x65, 0x6b, 0x61, 0x62, 0x72, 0x3b, 0x62c, 0x646, 0x648, 0x3b, +-0x641, 0x628, 0x631, 0x3b, 0x645, 0x627, 0x631, 0x3b, 0x627, 0x67e, 0x631, 0x3b, 0x645, 0x6cc, 0x3b, 0x62c, 0x648, 0x646, 0x3b, 0x62c, +-0x648, 0x644, 0x3b, 0x627, 0x6af, 0x633, 0x3b, 0x633, 0x67e, 0x62a, 0x3b, 0x627, 0x6a9, 0x62a, 0x3b, 0x646, 0x648, 0x645, 0x3b, 0x62f, +-0x633, 0x645, 0x3b, 0x44f, 0x43d, 0x432, 0x3b, 0x444, 0x435, 0x432, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, 0x440, 0x3b, 0x43c, +-0x430, 0x439, 0x3b, 0x438, 0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x3b, 0x441, 0x435, 0x43d, 0x3b, 0x43e, +-0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x44f, 0x3b, 0x434, 0x435, 0x43a, 0x3b, 0x44f, 0x43d, 0x432, 0x430, 0x440, 0x3b, 0x444, 0x435, 0x432, +-0x440, 0x430, 0x43b, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x435, 0x43b, 0x3b, 0x43c, 0x430, 0x439, 0x3b, 0x438, +-0x44e, 0x43d, 0x3b, 0x438, 0x44e, 0x43b, 0x3b, 0x430, 0x432, 0x433, 0x443, 0x441, 0x442, 0x3b, 0x441, 0x435, 0x43d, 0x442, 0x44f, 0x431, +-0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x44f, 0x431, 0x440, 0x3b, 0x43d, 0x43e, 0x44f, 0x431, 0x440, 0x3b, 0x434, 0x435, 0x43a, 0x430, 0x431, +-0x440, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x33, 0x3b, +-0x54, 0x68, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, +-0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x38, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0x67, 0x20, +-0x31, 0x30, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x54, 0x68, 0xe1, +-0x6e, 0x67, 0x20, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, +-0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x34, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x54, 0x68, 0xe1, +-0x6e, 0x67, 0x20, 0x36, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, +-0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x39, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x54, 0x68, +-0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, 0x3b, 0x54, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, +-0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x34, 0x3b, +-0x74, 0x68, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x36, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, +-0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x39, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0x67, +-0x20, 0x31, 0x31, 0x3b, 0x74, 0x68, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x3b, 0x74, +-0x68, 0xe1, 0x6e, 0x67, 0x20, 0x32, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x33, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, +-0x20, 0x34, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x35, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x36, 0x3b, 0x74, +-0x68, 0xe1, 0x6e, 0x67, 0x20, 0x37, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x38, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, +-0x20, 0x39, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x30, 0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x31, +-0x3b, 0x74, 0x68, 0xe1, 0x6e, 0x67, 0x20, 0x31, 0x32, 0x3b, 0x79, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0xe4, +-0x7a, 0x3b, 0x70, 0x72, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x67, 0x73, +-0x74, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x6b, 0x3b, 0x79, 0x61, +-0x6e, 0x75, 0x6c, 0x3b, 0x66, 0x65, 0x62, 0x75, 0x6c, 0x3b, 0x6d, 0xe4, 0x7a, 0x75, 0x6c, 0x3b, 0x70, 0x72, 0x69, 0x6c, +-0x75, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x75, 0x6c, 0x3b, 0x79, 0x75, 0x6e, 0x75, 0x6c, 0x3b, 0x79, 0x75, 0x6c, 0x75, 0x6c, +-0x3b, 0x67, 0x75, 0x73, 0x74, 0x75, 0x6c, 0x3b, 0x73, 0x65, 0x74, 0x75, 0x6c, 0x3b, 0x74, 0x6f, 0x62, 0x75, 0x6c, 0x3b, +-0x6e, 0x6f, 0x76, 0x75, 0x6c, 0x3b, 0x64, 0x65, 0x6b, 0x75, 0x6c, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, +-0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x79, 0x61, 0x6e, 0x3b, +-0x66, 0x65, 0x62, 0x3b, 0x6d, 0xe4, 0x7a, 0x3b, 0x70, 0x72, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, +-0x79, 0x75, 0x6c, 0x3b, 0x67, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x74, 0x6f, 0x6e, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, +-0x64, 0x65, 0x6b, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x3b, 0x4d, 0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, +-0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, +-0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x3b, 0x49, 0x6f, 0x6e, 0x61, +-0x77, 0x72, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x72, 0x6f, 0x72, 0x3b, 0x4d, 0x61, 0x77, 0x72, 0x74, 0x68, 0x3b, 0x45, +-0x62, 0x72, 0x69, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x65, 0x66, 0x69, 0x6e, 0x3b, 0x47, 0x6f, +-0x72, 0x66, 0x66, 0x65, 0x6e, 0x6e, 0x61, 0x66, 0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, +-0x79, 0x64, 0x72, 0x65, 0x66, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x77, 0x65, 0x64, 0x64, 0x3b, 0x52, 0x68, 0x61, 0x67, 0x66, +-0x79, 0x72, 0x3b, 0x49, 0x3b, 0x43, 0x68, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, 0x41, 0x3b, +-0x4d, 0x3b, 0x48, 0x3b, 0x54, 0x3b, 0x52, 0x68, 0x3b, 0x49, 0x6f, 0x6e, 0x3b, 0x43, 0x68, 0x77, 0x65, 0x66, 0x3b, 0x4d, +-0x61, 0x77, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4d, 0x65, 0x68, 0x3b, 0x47, 0x6f, 0x72, 0x66, 0x66, +-0x3b, 0x41, 0x77, 0x73, 0x74, 0x3b, 0x4d, 0x65, 0x64, 0x69, 0x3b, 0x48, 0x79, 0x64, 0x3b, 0x54, 0x61, 0x63, 0x68, 0x3b, +-0x52, 0x68, 0x61, 0x67, 0x3b, 0x53, 0x61, 0x6d, 0x3b, 0x46, 0x65, 0x77, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x72, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x3b, 0x53, 0x75, 0x6c, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0xe0, 0x74, 0x3b, +-0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x77, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x53, 0x61, 0x6d, 0x77, 0x69, 0x79, 0x65, 0x65, +-0x3b, 0x46, 0x65, 0x77, 0x72, 0x69, 0x79, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x77, 0x72, 0x69, 0x6c, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x77, 0x65, 0x3b, 0x53, 0x75, 0x6c, 0x65, 0x74, 0x3b, 0x55, 0x74, 0x3b, 0x53, +-0xe0, 0x74, 0x74, 0x75, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, +-0x77, 0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x65, 0x73, 0xe0, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +-0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x74, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +-0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x79, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, +-0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x74, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, +-0x79, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, +-0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x3b, +-0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, 0x5bc, 0x5e8, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, +-0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, 0x5d5, 0x5d9, 0x5d2, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x3b, +-0x5d0, 0x5e7, 0x5d8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x3b, 0x5d9, 0x5d0, 0x5b7, 0x5e0, 0x5d5, 0x5d0, 0x5b7, +-0x5e8, 0x3b, 0x5e4, 0x5bf, 0x5e2, 0x5d1, 0x5e8, 0x5d5, 0x5d0, 0x5b7, 0x5e8, 0x3b, 0x5de, 0x5e2, 0x5e8, 0x5e5, 0x3b, 0x5d0, 0x5b7, 0x5e4, +-0x5bc, 0x5e8, 0x5d9, 0x5dc, 0x3b, 0x5de, 0x5d9, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5e0, 0x5d9, 0x3b, 0x5d9, 0x5d5, 0x5dc, 0x5d9, 0x3b, 0x5d0, +-0x5d5, 0x5d9, 0x5d2, 0x5d5, 0x5e1, 0x5d8, 0x3b, 0x5e1, 0x5e2, 0x5e4, 0x5bc, 0x5d8, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d0, 0x5e7, +-0x5d8, 0x5d0, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5e0, 0x5d0, 0x5d5, 0x5d5, 0x5e2, 0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x5d3, 0x5e2, 0x5e6, 0x5e2, +-0x5de, 0x5d1, 0x5e2, 0x5e8, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x1eb8, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x1eb8, 0x300, +-0x62, 0x3b, 0xd2, 0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77, 0x3b, 0x1ecc, 0x300, 0x77, 0x3b, 0x42, 0xe9, +-0x3b, 0x1ecc, 0x300, 0x70, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x1eb8, 0x72, +-0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, +-0x64, 0x75, 0x3b, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, +-0x1ecc, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, 0x3b, 0x53, 0x3b, +-0xc8, 0x3b, 0x1eb8, 0x3b, 0xcc, 0x3b, 0x1eb8, 0x300, 0x3b, 0xd2, 0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x1ecc, 0x300, 0x3b, +-0x42, 0x3b, 0x1ecc, 0x300, 0x3b, 0x1e62, 0x1eb9, 0x301, 0x72, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, +-0x3b, 0xcc, 0x67, 0x62, 0x3b, 0x1eb8, 0x300, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x1eb9, 0x3b, 0xd2, 0x67, +-0xfa, 0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x1ecc, 0x300, 0x77, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x3b, +-0x4f, 0x1e63, 0xf9, 0x20, 0x1e62, 0x1eb9, 0x301, 0x72, 0x1eb9, 0x301, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, +-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x72, 0x1eb9, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xcc, 0x67, 0x62, 0xe9, +-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1eb8, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, +-0x75, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x41, 0x67, 0x1eb9, 0x6d, 0x1ecd, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, +-0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x77, 0xe0, 0x72, +-0xe0, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x4f, 0x1e63, 0xf9, 0x20, 0x1ecc, 0x300, 0x70, 0x1eb9, 0x300, +-0x3b, 0x53, 0x68, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0x3b, 0x190, 0x72, 0x3b, 0xcc, 0x67, 0x3b, 0x190, 0x300, 0x62, 0x3b, 0xd2, +-0x6b, 0x3b, 0x41, 0x67, 0x3b, 0xd2, 0x67, 0x3b, 0x4f, 0x77, 0x3b, 0x186, 0x300, 0x77, 0x3b, 0x42, 0xe9, 0x3b, 0x186, 0x300, +-0x70, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0xe8, 0x3b, 0x190, 0x72, 0x25b, 0x300, +-0x6e, 0xe0, 0x3b, 0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x64, 0x75, +-0x3b, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, 0x186, 0x300, +-0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0xfa, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x53, 0x3b, 0xc8, 0x3b, +-0x190, 0x3b, 0xcc, 0x3b, 0x190, 0x300, 0x3b, 0xd2, 0x3b, 0x41, 0x3b, 0xd2, 0x3b, 0x4f, 0x3b, 0x186, 0x300, 0x3b, 0x42, 0x3b, +-0x186, 0x300, 0x3b, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x3b, 0xc8, 0x72, 0xe8, 0x6c, 0x3b, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0x3b, +-0xcc, 0x67, 0x62, 0x3b, 0x190, 0x300, 0x62, 0x69, 0x3b, 0xd2, 0x6b, 0xfa, 0x3b, 0x41, 0x67, 0x25b, 0x3b, 0xd2, 0x67, 0xfa, +-0x3b, 0x4f, 0x77, 0x65, 0x3b, 0x186, 0x300, 0x77, 0xe0, 0x3b, 0x42, 0xe9, 0x6c, 0x3b, 0x186, 0x300, 0x70, 0x25b, 0x3b, 0x4f, +-0x73, 0x68, 0xf9, 0x20, 0x53, 0x68, 0x25b, 0x301, 0x72, 0x25b, 0x301, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0xc8, 0x72, 0xe8, +-0x6c, 0xe8, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x72, 0x25b, 0x300, 0x6e, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, +-0xcc, 0x67, 0x62, 0xe9, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x190, 0x300, 0x62, 0x69, 0x62, 0x69, 0x3b, 0x4f, 0x73, 0x68, +-0xf9, 0x20, 0xd2, 0x6b, 0xfa, 0x64, 0x75, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x41, 0x67, 0x25b, 0x6d, 0x254, 0x3b, 0x4f, +-0x73, 0x68, 0xf9, 0x20, 0xd2, 0x67, 0xfa, 0x6e, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x4f, 0x77, 0x65, 0x77, 0x65, 0x3b, +-0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x77, 0xe0, 0x72, 0xe0, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x42, 0xe9, 0x6c, +-0xfa, 0x3b, 0x4f, 0x73, 0x68, 0xf9, 0x20, 0x186, 0x300, 0x70, 0x25b, 0x300, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, +-0x3b, 0x4d, 0x61, 0x73, 0x3b, 0x45, 0x70, 0x68, 0x3b, 0x4d, 0x65, 0x79, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, +-0x3b, 0x41, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, +-0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x77, 0x61, 0x72, 0x69, 0x3b, +-0x4d, 0x61, 0x73, 0x68, 0x69, 0x3b, 0x45, 0x70, 0x68, 0x72, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x79, 0x69, 0x3b, 0x4a, +-0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, +-0x70, 0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x68, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, +-0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, +-0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, +-0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x69, 0x3b, +-0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, +-0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x76, 0x2e, 0x3b, 0x64, 0x65, 0x73, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, +-0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, +-0x75, 0x6c, 0x3b, 0x61, 0x75, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, +-0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x61, +-0x72, 0x74, 0x3b, 0x61, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x6a, 0x75, +-0x6c, 0x69, 0x3b, 0x61, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, +-0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x6e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x64, 0x65, 0x63, +-0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x458, 0x430, 0x43d, 0x3b, 0x444, 0x435, 0x431, 0x3b, 0x43c, 0x430, 0x440, 0x3b, 0x430, 0x43f, +-0x440, 0x3b, 0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x3b, 0x458, 0x443, 0x43b, 0x3b, 0x430, 0x443, 0x433, 0x3b, 0x441, 0x435, +-0x43f, 0x3b, 0x43e, 0x43a, 0x442, 0x3b, 0x43d, 0x43e, 0x432, 0x3b, 0x434, 0x435, 0x446, 0x3b, 0x458, 0x430, 0x43d, 0x443, 0x430, 0x440, +-0x3b, 0x444, 0x435, 0x431, 0x440, 0x443, 0x430, 0x440, 0x3b, 0x43c, 0x430, 0x440, 0x442, 0x3b, 0x430, 0x43f, 0x440, 0x438, 0x43b, 0x3b, +-0x43c, 0x430, 0x458, 0x3b, 0x458, 0x443, 0x43d, 0x438, 0x3b, 0x458, 0x443, 0x43b, 0x438, 0x3b, 0x430, 0x443, 0x433, 0x443, 0x441, 0x442, +-0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x43e, 0x43a, 0x442, 0x43e, 0x431, 0x430, 0x440, 0x3b, 0x43d, +-0x43e, 0x432, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x434, 0x435, 0x446, 0x435, 0x43c, 0x431, 0x430, 0x440, 0x3b, 0x4a, 0x2d, 0x67, +-0x75, 0x65, 0x72, 0x3b, 0x54, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, +-0x76, 0x72, 0x72, 0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x2d, 0x73, 0x6f, 0x75, 0x72, +-0x65, 0x65, 0x3b, 0x4a, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, 0x6e, 0x69, 0x73, 0x74, 0x79, +-0x6e, 0x3b, 0x4d, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, +-0x4d, 0x2d, 0x48, 0x6f, 0x75, 0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x2d, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x4a, +-0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x67, 0x65, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x54, 0x6f, 0x73, 0x68, 0x69, 0x61, 0x67, +-0x68, 0x74, 0x2d, 0x61, 0x72, 0x72, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x79, 0x72, 0x6e, 0x74, 0x3b, 0x41, 0x76, 0x65, 0x72, +-0x69, 0x6c, 0x3b, 0x42, 0x6f, 0x61, 0x6c, 0x64, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x73, 0x6f, 0x75, 0x72, +-0x65, 0x65, 0x3b, 0x4a, 0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x65, 0x65, 0x3b, 0x4c, 0x75, 0x61, +-0x6e, 0x69, 0x73, 0x74, 0x79, 0x6e, 0x3b, 0x4d, 0x65, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4a, +-0x65, 0x72, 0x72, 0x65, 0x79, 0x2d, 0x66, 0x6f, 0x75, 0x79, 0x69, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x48, 0x6f, 0x75, +-0x6e, 0x65, 0x79, 0x3b, 0x4d, 0x65, 0x65, 0x20, 0x6e, 0x79, 0x20, 0x4e, 0x6f, 0x6c, 0x6c, 0x69, 0x63, 0x6b, 0x3b, 0x47, +-0x65, 0x6e, 0x3b, 0x48, 0x77, 0x65, 0x3b, 0x4d, 0x65, 0x75, 0x3b, 0x45, 0x62, 0x72, 0x3b, 0x4d, 0x65, 0x3b, 0x4d, 0x65, +-0x74, 0x3b, 0x47, 0x6f, 0x72, 0x3b, 0x45, 0x73, 0x74, 0x3b, 0x47, 0x77, 0x6e, 0x3b, 0x48, 0x65, 0x64, 0x3b, 0x44, 0x75, +-0x3b, 0x4b, 0x65, 0x76, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x3b, 0x6d, 0x69, 0x73, 0x20, +-0x48, 0x77, 0x65, 0x76, 0x72, 0x65, 0x72, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x75, 0x72, 0x74, 0x68, 0x3b, 0x6d, +-0x69, 0x73, 0x20, 0x45, 0x62, 0x72, 0x65, 0x6c, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4d, 0x65, 0x3b, 0x6d, 0x69, 0x73, 0x20, +-0x4d, 0x65, 0x74, 0x68, 0x65, 0x76, 0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x6f, 0x72, 0x74, 0x68, 0x65, 0x72, +-0x65, 0x6e, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x45, 0x73, 0x74, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x47, 0x77, 0x79, 0x6e, 0x6e, +-0x67, 0x61, 0x6c, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x48, 0x65, 0x64, 0x72, 0x61, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x44, +-0x75, 0x3b, 0x6d, 0x69, 0x73, 0x20, 0x4b, 0x65, 0x76, 0x61, 0x72, 0x64, 0x68, 0x75, 0x3b, 0x53, 0x2d, 0x186, 0x3b, 0x4b, +-0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x186, 0x3b, 0x45, 0x2d, 0x4f, 0x3b, 0x45, 0x2d, 0x4b, 0x3b, 0x4f, 0x2d, 0x41, 0x3b, 0x41, +-0x2d, 0x4b, 0x3b, 0x44, 0x2d, 0x186, 0x3b, 0x46, 0x2d, 0x190, 0x3b, 0x186, 0x2d, 0x41, 0x3b, 0x186, 0x2d, 0x4f, 0x3b, 0x4d, +-0x2d, 0x186, 0x3b, 0x53, 0x61, 0x6e, 0x64, 0x61, 0x2d, 0x186, 0x70, 0x25b, 0x70, 0x254, 0x6e, 0x3b, 0x4b, 0x77, 0x61, 0x6b, +-0x77, 0x61, 0x72, 0x2d, 0x186, 0x67, 0x79, 0x65, 0x66, 0x75, 0x6f, 0x3b, 0x45, 0x62, 0x254, 0x77, 0x2d, 0x186, 0x62, 0x65, +-0x6e, 0x65, 0x6d, 0x3b, 0x45, 0x62, 0x254, 0x62, 0x69, 0x72, 0x61, 0x2d, 0x4f, 0x66, 0x6f, 0x72, 0x69, 0x73, 0x75, 0x6f, +-0x3b, 0x45, 0x73, 0x75, 0x73, 0x6f, 0x77, 0x20, 0x41, 0x6b, 0x65, 0x74, 0x73, 0x65, 0x61, 0x62, 0x61, 0x2d, 0x4b, 0x254, +-0x74, 0x254, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x62, 0x69, 0x72, 0x61, 0x64, 0x65, 0x2d, 0x41, 0x79, 0x25b, 0x77, +-0x6f, 0x68, 0x6f, 0x6d, 0x75, 0x6d, 0x75, 0x3b, 0x41, 0x79, 0x25b, 0x77, 0x6f, 0x68, 0x6f, 0x2d, 0x4b, 0x69, 0x74, 0x61, +-0x77, 0x6f, 0x6e, 0x73, 0x61, 0x3b, 0x44, 0x69, 0x66, 0x75, 0x75, 0x2d, 0x186, 0x73, 0x61, 0x6e, 0x64, 0x61, 0x61, 0x3b, +-0x46, 0x61, 0x6e, 0x6b, 0x77, 0x61, 0x2d, 0x190, 0x62, 0x254, 0x3b, 0x186, 0x62, 0x25b, 0x73, 0x25b, 0x2d, 0x41, 0x68, 0x69, +-0x6e, 0x69, 0x6d, 0x65, 0x3b, 0x186, 0x62, 0x65, 0x72, 0x25b, 0x66, 0x25b, 0x77, 0x2d, 0x4f, 0x62, 0x75, 0x62, 0x75, 0x6f, +-0x3b, 0x4d, 0x75, 0x6d, 0x75, 0x2d, 0x186, 0x70, 0x25b, 0x6e, 0x69, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x3b, +-0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x90f, 0x92a, 0x94d, 0x930, 0x940, 0x3b, 0x92e, +-0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x3b, 0x911, 0x917, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x3b, +-0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x3b, 0x928, 0x94b, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x3b, 0x91c, 0x93e, 0x928, 0x947, 0x935, 0x93e, +-0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, +-0x90f, 0x92a, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x92f, 0x3b, 0x911, +-0x917, 0x938, 0x94d, 0x91f, 0x3b, 0x938, 0x92a, 0x94d, 0x91f, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x911, 0x915, 0x94d, 0x91f, 0x94b, 0x92c, +-0x930, 0x3b, 0x928, 0x94b, 0x935, 0x94d, 0x939, 0x947, 0x902, 0x92c, 0x930, 0x3b, 0x921, 0x93f, 0x938, 0x947, 0x902, 0x92c, 0x930, 0x3b, +-0x4a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, +-0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, +-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x65, 0x6e, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x46, 0x65, 0x62, +-0x72, 0x1ee5, 0x77, 0x61, 0x72, 0x1ecb, 0x3b, 0x4d, 0x61, 0x61, 0x63, 0x68, 0x1ecb, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x65, 0x6c, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x1ecb, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x1ecd, +-0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, +-0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, +-0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x1ecc, 0x3b, 0x53, 0x3b, 0x1ecc, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, +-0x62, 0x65, 0x3b, 0x4b, 0x65, 0x6c, 0x3b, 0x4b, 0x74, 0x169, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x74, 0x6e, 0x3b, 0x54, +-0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x6f, 0x3b, 0x4e, 0x79, 0x61, 0x3b, 0x4b, 0x6e, 0x64, 0x3b, 0x128, 0x6b, 0x75, 0x3b, 0x128, +-0x6b, 0x6d, 0x3b, 0x128, 0x6b, 0x6c, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x65, 0x3b, +-0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6c, 0x129, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, +-0x20, 0x6b, 0x61, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, +-0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x61, 0x69, +-0x20, 0x77, 0x61, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x74, 0x68, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, +-0x61, 0x20, 0x6d, 0x75, 0x6f, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x79, 0x61, +-0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, +-0x77, 0x61, 0x69, 0x20, 0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, 0x77, 0x61, +-0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x129, 0x6d, 0x77, 0x65, 0x3b, 0x4d, 0x77, 0x61, 0x69, 0x20, +-0x77, 0x61, 0x20, 0x129, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6c, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, +-0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x128, 0x3b, 0x128, 0x3b, 0x128, 0x3b, +-0x5a, 0x65, 0x6e, 0x3b, 0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x76, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, +-0x4a, 0x75, 0x67, 0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, +-0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x63, 0x3b, 0x5a, 0x65, 0x6e, 0xe2, 0x72, 0x3b, 0x46, 0x65, 0x76, 0x72, 0xe2, 0x72, +-0x3b, 0x4d, 0x61, 0x72, 0xe7, 0x3b, 0x41, 0x76, 0x72, 0xee, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x67, 0x6e, +-0x3b, 0x4c, 0x75, 0x69, 0x3b, 0x41, 0x76, 0x6f, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, +-0x4f, 0x74, 0x75, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x63, 0x65, +-0x6d, 0x62, 0x61, 0x72, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4c, 0x3b, 0x41, +-0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x64, 0x7a, 0x76, 0x3b, 0x64, 0x7a, 0x64, 0x3b, 0x74, 0x65, 0x64, +-0x3b, 0x61, 0x66, 0x254, 0x3b, 0x64, 0x61, 0x6d, 0x3b, 0x6d, 0x61, 0x73, 0x3b, 0x73, 0x69, 0x61, 0x3b, 0x64, 0x65, 0x61, +-0x3b, 0x61, 0x6e, 0x79, 0x3b, 0x6b, 0x65, 0x6c, 0x3b, 0x61, 0x64, 0x65, 0x3b, 0x64, 0x7a, 0x6d, 0x3b, 0x64, 0x7a, 0x6f, +-0x76, 0x65, 0x3b, 0x64, 0x7a, 0x6f, 0x64, 0x7a, 0x65, 0x3b, 0x74, 0x65, 0x64, 0x6f, 0x78, 0x65, 0x3b, 0x61, 0x66, 0x254, +-0x66, 0x129, 0x65, 0x3b, 0x64, 0x61, 0x6d, 0x61, 0x3b, 0x6d, 0x61, 0x73, 0x61, 0x3b, 0x73, 0x69, 0x61, 0x6d, 0x6c, 0x254, +-0x6d, 0x3b, 0x64, 0x65, 0x61, 0x73, 0x69, 0x61, 0x6d, 0x69, 0x6d, 0x65, 0x3b, 0x61, 0x6e, 0x79, 0x254, 0x6e, 0x79, 0x254, +-0x3b, 0x6b, 0x65, 0x6c, 0x65, 0x3b, 0x61, 0x64, 0x65, 0x25b, 0x6d, 0x65, 0x6b, 0x70, 0x254, 0x78, 0x65, 0x3b, 0x64, 0x7a, +-0x6f, 0x6d, 0x65, 0x3b, 0x64, 0x3b, 0x64, 0x3b, 0x74, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, +-0x61, 0x3b, 0x6b, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x49, 0x61, 0x6e, 0x2e, 0x3b, 0x50, 0x65, 0x70, 0x2e, 0x3b, 0x4d, 0x61, +-0x6c, 0x2e, 0x3b, 0x2bb, 0x41, 0x70, 0x2e, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x2e, 0x3b, 0x49, 0x75, 0x6c, +-0x2e, 0x3b, 0x2bb, 0x41, 0x75, 0x2e, 0x3b, 0x4b, 0x65, 0x70, 0x2e, 0x3b, 0x2bb, 0x4f, 0x6b, 0x2e, 0x3b, 0x4e, 0x6f, 0x77, +-0x2e, 0x3b, 0x4b, 0x65, 0x6b, 0x2e, 0x3b, 0x49, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x50, 0x65, 0x70, 0x65, 0x6c, +-0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x6c, 0x61, 0x6b, 0x69, 0x3b, 0x2bb, 0x41, 0x70, 0x65, 0x6c, 0x69, 0x6c, 0x61, +-0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x49, 0x75, 0x6e, 0x65, 0x3b, 0x49, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x2bb, 0x41, 0x75, 0x6b, +-0x61, 0x6b, 0x65, 0x3b, 0x4b, 0x65, 0x70, 0x61, 0x6b, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x2bb, 0x4f, 0x6b, 0x61, 0x6b, +-0x6f, 0x70, 0x61, 0x3b, 0x4e, 0x6f, 0x77, 0x65, 0x6d, 0x61, 0x70, 0x61, 0x3b, 0x4b, 0x65, 0x6b, 0x65, 0x6d, 0x61, 0x70, +-0x61, 0x3b, 0x45, 0x6e, 0x65, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, +-0x79, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, +-0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x45, 0x6e, 0x65, 0x72, 0x6f, 0x3b, 0x50, 0x65, 0x62, 0x72, +-0x65, 0x72, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x79, 0x6f, +-0x3b, 0x48, 0x75, 0x6e, 0x79, 0x6f, 0x3b, 0x48, 0x75, 0x6c, 0x79, 0x6f, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x6f, 0x3b, +-0x53, 0x65, 0x74, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x4f, 0x6b, 0x74, 0x75, 0x62, 0x72, 0x65, 0x3b, 0x4e, 0x6f, +-0x62, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x44, 0x69, 0x73, 0x79, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x45, 0x3b, +-0x50, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x75, 0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, +-0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x75, +-0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x69, +-0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, +-0x73, 0x63, 0x68, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, +-0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, +-0x72, 0x3b, 0xa2cd, 0xa1aa, 0x3b, 0xa44d, 0xa1aa, 0x3b, 0xa315, 0xa1aa, 0x3b, 0xa1d6, 0xa1aa, 0x3b, 0xa26c, 0xa1aa, 0x3b, 0xa0d8, 0xa1aa, 0x3b, +-0xa3c3, 0xa1aa, 0x3b, 0xa246, 0xa1aa, 0x3b, 0xa22c, 0xa1aa, 0x3b, 0xa2b0, 0xa1aa, 0x3b, 0xa2b0, 0xa2aa, 0xa1aa, 0x3b, 0xa2b0, 0xa44b, 0xa1aa, 0x3b, +-0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, +-0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, +-0x65, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, +-0x61, 0x6e, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, +-0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, +-0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, +-0x74, 0x6f, 0x76, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, +-0x62, 0x65, 0x72, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, 0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, +-0x75, 0x6f, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, +-0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, +-0x6f, 0x76, 0x3b, 0x6f, 0x111, 0x111, 0x61, 0x6a, 0x61, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x75, 0x6f, +-0x76, 0x76, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, +-0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x6f, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x73, 0x65, 0x6d, 0xe1, +-0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x65, 0x61, 0x73, 0x73, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x75, 0x6f, 0x69, +-0x64, 0x6e, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x65, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, +-0x10d, 0x61, 0x6b, 0x10d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x67, 0x6f, 0x6c, 0x67, 0x67, 0x6f, 0x74, 0x6d, 0xe1, +-0x6e, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x6d, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, +-0x6c, 0x61, 0x6d, 0xe1, 0x6e, 0x6e, 0x75, 0x3b, 0x4f, 0x3b, 0x47, 0x3b, 0x4e, 0x3b, 0x43, 0x3b, 0x4d, 0x3b, 0x47, 0x3b, +-0x53, 0x3b, 0x42, 0x3b, 0x10c, 0x3b, 0x47, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x6f, 0x111, 0x111, 0x6a, 0x3b, 0x67, 0x75, 0x6f, +-0x76, 0x3b, 0x6e, 0x6a, 0x75, 0x6b, 0x3b, 0x63, 0x75, 0x6f, 0x14b, 0x3b, 0x6d, 0x69, 0x65, 0x73, 0x3b, 0x67, 0x65, 0x61, +-0x73, 0x3b, 0x73, 0x75, 0x6f, 0x69, 0x3b, 0x62, 0x6f, 0x72, 0x67, 0x3b, 0x10d, 0x61, 0x6b, 0x10d, 0x3b, 0x67, 0x6f, 0x6c, +-0x67, 0x3b, 0x73, 0x6b, 0xe1, 0x62, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x3b, 0x43, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +-0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x43, 0x75, 0x6c, 0x3b, +-0x41, 0x67, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, 0x3b, 0x44, 0x69, 0x73, 0x3b, +-0x43, 0x68, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x75, 0x72, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, +-0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x69, 0x72, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, +-0x3b, 0x43, 0x68, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, +-0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x62, 0x65, 0x6d, 0x62, 0x61, 0x3b, +-0x44, 0x69, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x43, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, +-0x43, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x49, 0x6d, 0x62, 0x3b, 0x4b, 0x61, 0x77, 0x3b, +-0x4b, 0x61, 0x64, 0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x4b, 0x61, 0x72, 0x3b, 0x4d, 0x66, 0x75, 0x3b, +-0x57, 0x75, 0x6e, 0x3b, 0x49, 0x6b, 0x65, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x77, 0x69, 0x3b, +-0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6d, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x4d, 0x6f, 0x72, +-0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x77, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, +-0x61, 0x20, 0x6b, 0x61, 0x64, 0x61, 0x64, 0x75, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, +-0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x73, 0x61, 0x6e, 0x75, +-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x72, 0x61, 0x6e, 0x64, 0x61, 0x64, 0x75, +-0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x6d, 0x66, 0x75, 0x6e, 0x67, 0x61, 0x64, 0x65, 0x3b, +-0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x77, 0x75, 0x6e, 0x79, 0x61, 0x6e, 0x79, 0x61, 0x3b, 0x4d, +-0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, 0x6f, 0x72, 0x69, +-0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x6f, 0x72, 0x69, 0x20, 0x67, 0x68, 0x77, +-0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x6d, 0x77, 0x65, 0x72, 0x69, 0x3b, 0x4d, 0x6f, +-0x72, 0x69, 0x20, 0x67, 0x68, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x77, 0x69, +-0x3b, 0x49, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x57, 0x3b, 0x49, 0x3b, 0x49, +-0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x73, 0x69, 0x69, 0x3b, 0x63, 0x6f, 0x6c, 0x3b, 0x6d, 0x62, 0x6f, 0x3b, 0x73, 0x65, 0x65, +-0x3b, 0x64, 0x75, 0x75, 0x3b, 0x6b, 0x6f, 0x72, 0x3b, 0x6d, 0x6f, 0x72, 0x3b, 0x6a, 0x75, 0x6b, 0x3b, 0x73, 0x6c, 0x74, +-0x3b, 0x79, 0x61, 0x72, 0x3b, 0x6a, 0x6f, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x6f, 0x3b, 0x63, +-0x6f, 0x6c, 0x74, 0x65, 0x3b, 0x6d, 0x62, 0x6f, 0x6f, 0x79, 0x3b, 0x73, 0x65, 0x65, 0x257, 0x74, 0x6f, 0x3b, 0x64, 0x75, +-0x75, 0x6a, 0x61, 0x6c, 0x3b, 0x6b, 0x6f, 0x72, 0x73, 0x65, 0x3b, 0x6d, 0x6f, 0x72, 0x73, 0x6f, 0x3b, 0x6a, 0x75, 0x6b, +-0x6f, 0x3b, 0x73, 0x69, 0x69, 0x6c, 0x74, 0x6f, 0x3b, 0x79, 0x61, 0x72, 0x6b, 0x6f, 0x6d, 0x61, 0x61, 0x3b, 0x6a, 0x6f, +-0x6c, 0x61, 0x6c, 0x3b, 0x62, 0x6f, 0x77, 0x74, 0x65, 0x3b, 0x73, 0x3b, 0x63, 0x3b, 0x6d, 0x3b, 0x73, 0x3b, 0x64, 0x3b, +-0x6b, 0x3b, 0x6d, 0x3b, 0x6a, 0x3b, 0x73, 0x3b, 0x79, 0x3b, 0x6a, 0x3b, 0x62, 0x3b, 0x4a, 0x45, 0x4e, 0x3b, 0x57, 0x4b, +-0x52, 0x3b, 0x57, 0x47, 0x54, 0x3b, 0x57, 0x4b, 0x4e, 0x3b, 0x57, 0x54, 0x4e, 0x3b, 0x57, 0x54, 0x44, 0x3b, 0x57, 0x4d, +-0x4a, 0x3b, 0x57, 0x4e, 0x4e, 0x3b, 0x57, 0x4b, 0x44, 0x3b, 0x57, 0x49, 0x4b, 0x3b, 0x57, 0x4d, 0x57, 0x3b, 0x44, 0x49, +-0x54, 0x3b, 0x4e, 0x6a, 0x65, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, +-0x6b, 0x65, 0x72, 0x129, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x74, 0x169, +-0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, +-0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, +-0x67, 0x61, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6d, +-0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, +-0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4d, +-0x77, 0x65, 0x72, 0x65, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x65, 0x20, +-0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, 0x4e, 0x64, 0x69, +-0x74, 0x68, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, +-0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x44, 0x3b, 0x4f, 0x62, 0x6f, 0x3b, 0x57, 0x61, 0x61, 0x3b, 0x4f, +-0x6b, 0x75, 0x3b, 0x4f, 0x6e, 0x67, 0x3b, 0x49, 0x6d, 0x65, 0x3b, 0x49, 0x6c, 0x65, 0x3b, 0x53, 0x61, 0x70, 0x3b, 0x49, +-0x73, 0x69, 0x3b, 0x53, 0x61, 0x61, 0x3b, 0x54, 0x6f, 0x6d, 0x3b, 0x54, 0x6f, 0x62, 0x3b, 0x54, 0x6f, 0x77, 0x3b, 0x4c, +-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x77, +-0x61, 0x61, 0x72, 0x65, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6b, 0x75, 0x6e, 0x69, 0x3b, 0x4c, +-0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x67, 0x2019, 0x77, 0x61, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, +-0x6c, 0x65, 0x20, 0x69, 0x6d, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x69, 0x6c, 0x65, 0x3b, +-0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x70, 0x61, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, +-0x20, 0x69, 0x73, 0x69, 0x65, 0x74, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x73, 0x61, 0x61, 0x6c, 0x3b, +-0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, +-0x65, 0x20, 0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6f, 0x3b, 0x4c, 0x61, 0x70, 0x61, 0x20, 0x6c, 0x65, 0x20, +-0x74, 0x6f, 0x6d, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x61, 0x72, 0x65, 0x3b, 0x4f, 0x3b, 0x57, 0x3b, 0x4f, 0x3b, 0x4f, 0x3b, +-0x49, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x54, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, +-0x46, 0x65, 0x76, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, +-0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, +-0x44, 0x65, 0x63, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x69, 0x72, 0x6f, 0x3b, 0x46, 0x65, 0x76, 0x72, 0x65, 0x69, 0x72, 0x6f, +-0x3b, 0x4d, 0x61, 0x72, 0x63, 0x6f, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x6f, 0x3b, 0x4a, 0x75, +-0x6e, 0x68, 0x6f, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x6f, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, 0x74, 0x6f, 0x3b, 0x53, 0x65, +-0x74, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, 0x6f, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, +-0x72, 0x6f, 0x3b, 0x44, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x6f, 0x3b, 0x5a, 0x69, 0x62, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, +-0x3b, 0x4d, 0x62, 0x69, 0x3b, 0x4d, 0x61, 0x62, 0x3b, 0x4e, 0x6b, 0x77, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x3b, 0x4e, 0x74, +-0x75, 0x3b, 0x4e, 0x63, 0x77, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x3b, 0x4d, 0x66, 0x75, 0x3b, 0x4c, 0x77, 0x65, 0x3b, 0x4d, +-0x70, 0x61, 0x6c, 0x3b, 0x5a, 0x69, 0x62, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x6c, 0x61, 0x3b, 0x4e, 0x68, 0x6c, 0x6f, 0x6c, +-0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x62, 0x69, 0x6d, 0x62, 0x69, 0x74, 0x68, 0x6f, 0x3b, 0x4d, 0x61, 0x62, 0x61, 0x73, +-0x61, 0x3b, 0x4e, 0x6b, 0x77, 0x65, 0x6e, 0x6b, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4e, 0x68, 0x6c, 0x61, 0x6e, 0x67, 0x75, +-0x6c, 0x61, 0x3b, 0x4e, 0x74, 0x75, 0x6c, 0x69, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x4e, 0x63, 0x77, 0x61, 0x62, 0x61, 0x6b, +-0x61, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6e, 0x64, 0x75, 0x6c, 0x61, 0x3b, 0x4d, 0x66, 0x75, 0x6d, 0x66, 0x75, 0x3b, +-0x4c, 0x77, 0x65, 0x7a, 0x69, 0x3b, 0x4d, 0x70, 0x61, 0x6c, 0x61, 0x6b, 0x61, 0x7a, 0x69, 0x3b, 0x5a, 0x3b, 0x4e, 0x3b, +-0x4d, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, +-0x4d, 0x31, 0x3b, 0x4d, 0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4d, 0x34, 0x3b, 0x4d, 0x35, 0x3b, 0x4d, 0x36, 0x3b, 0x4d, 0x37, +-0x3b, 0x4d, 0x38, 0x3b, 0x4d, 0x39, 0x3b, 0x4d, 0x31, 0x30, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x4d, 0x31, 0x32, 0x3b, 0x4d, +-0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +-0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, +-0x61, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x61, 0x6e, 0x61, +-0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x61, 0x6e, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, +-0x20, 0x77, 0x61, 0x20, 0x73, 0x69, 0x74, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x73, 0x61, +-0x62, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, +-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +-0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x75, 0x6d, 0x69, +-0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, +-0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, +-0x3b, 0x54, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, +-0x3b, 0x2d31, 0x2d55, 0x2d30, 0x3b, 0x2d4e, 0x2d30, 0x2d55, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x3b, 0x2d62, 0x2d53, 0x2d4f, +-0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x3b, 0x2d4f, 0x2d53, 0x2d61, +-0x3b, 0x2d37, 0x2d53, 0x2d4a, 0x3b, 0x2d49, 0x2d4f, 0x2d4f, 0x2d30, 0x2d62, 0x2d54, 0x3b, 0x2d31, 0x2d55, 0x2d30, 0x2d62, 0x2d55, 0x3b, 0x2d4e, 0x2d30, +-0x2d55, 0x2d5a, 0x3b, 0x2d49, 0x2d31, 0x2d54, 0x2d49, 0x2d54, 0x3b, 0x2d4e, 0x2d30, 0x2d62, 0x2d62, 0x2d53, 0x3b, 0x2d62, 0x2d53, 0x2d4f, 0x2d62, 0x2d53, +-0x3b, 0x2d62, 0x2d53, 0x2d4d, 0x2d62, 0x2d53, 0x2d63, 0x3b, 0x2d56, 0x2d53, 0x2d5b, 0x2d5c, 0x3b, 0x2d5b, 0x2d53, 0x2d5c, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, +-0x2d54, 0x3b, 0x2d3d, 0x2d5c, 0x2d53, 0x2d31, 0x2d54, 0x3b, 0x2d4f, 0x2d53, 0x2d61, 0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d37, 0x2d53, 0x2d4a, +-0x2d30, 0x2d4f, 0x2d31, 0x2d49, 0x2d54, 0x3b, 0x2d49, 0x3b, 0x2d31, 0x3b, 0x2d4e, 0x3b, 0x2d49, 0x3b, 0x2d4e, 0x3b, 0x2d62, 0x3b, 0x2d62, 0x3b, +-0x2d56, 0x3b, 0x2d5b, 0x3b, 0x2d3d, 0x3b, 0x2d4f, 0x3b, 0x2d37, 0x3b, 0x69, 0x6e, 0x6e, 0x3b, 0x62, 0x1e5b, 0x61, 0x3b, 0x6d, 0x61, +-0x1e5b, 0x3b, 0x69, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x79, 0x75, 0x6e, 0x3b, 0x79, 0x75, 0x6c, 0x3b, 0x263, 0x75, +-0x63, 0x3b, 0x63, 0x75, 0x74, 0x3b, 0x6b, 0x74, 0x75, 0x3b, 0x6e, 0x75, 0x77, 0x3b, 0x64, 0x75, 0x6a, 0x3b, 0x69, 0x6e, +-0x6e, 0x61, 0x79, 0x72, 0x3b, 0x62, 0x1e5b, 0x61, 0x79, 0x1e5b, 0x3b, 0x6d, 0x61, 0x1e5b, 0x1e63, 0x3b, 0x69, 0x62, 0x72, 0x69, +-0x72, 0x3b, 0x6d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x79, 0x75, 0x6c, 0x79, 0x75, 0x7a, +-0x3b, 0x263, 0x75, 0x63, 0x74, 0x3b, 0x63, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x6b, 0x74, 0x75, 0x62, 0x72, +-0x3b, 0x6e, 0x75, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x64, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x69, +-0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x69, 0x3b, 0x6d, 0x3b, 0x79, 0x3b, 0x79, 0x3b, 0x263, 0x3b, 0x63, 0x3b, 0x6b, 0x3b, 0x6e, +-0x3b, 0x64, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, +-0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, +-0x75, 0x62, 0x3b, 0x57, 0x61, 0x6d, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, +-0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, +-0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, +-0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x57, 0x61, 0x6d, +-0x62, 0x65, 0x1e5b, 0x3b, 0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x59, +-0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x59, 0x65, 0x6e, +-0x3b, 0x46, 0x75, 0x72, 0x3b, 0x4d, 0x65, 0x263, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, +-0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x74, 0x65, 0x3b, 0x54, 0x75, 0x62, 0x3b, 0x4e, 0x75, 0x6e, +-0x3b, 0x44, 0x75, 0x1e7, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x46, 0x75, 0x1e5b, 0x61, 0x72, 0x3b, +-0x4d, 0x65, 0x263, 0x72, 0x65, 0x73, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, +-0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x74, 0x65, +-0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x54, 0x75, 0x62, 0x65, 0x1e5b, 0x3b, 0x4e, 0x75, 0x6e, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, +-0x44, 0x75, 0x1e7, 0x65, 0x6d, 0x62, 0x65, 0x1e5b, 0x3b, 0x59, 0x3b, 0x46, 0x3b, 0x194, 0x3b, 0x42, 0x3b, 0x4d, 0x3b, 0x4e, +-0x3b, 0x4c, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x44, 0x3b, 0x4b, 0x42, 0x5a, 0x3b, 0x4b, 0x42, 0x52, +-0x3b, 0x4b, 0x53, 0x54, 0x3b, 0x4b, 0x4b, 0x4e, 0x3b, 0x4b, 0x54, 0x4e, 0x3b, 0x4b, 0x4d, 0x4b, 0x3b, 0x4b, 0x4d, 0x53, +-0x3b, 0x4b, 0x4d, 0x4e, 0x3b, 0x4b, 0x4d, 0x57, 0x3b, 0x4b, 0x4b, 0x4d, 0x3b, 0x4b, 0x4e, 0x4b, 0x3b, 0x4b, 0x4e, 0x42, +-0x3b, 0x4f, 0x6b, 0x77, 0x6f, 0x6b, 0x75, 0x62, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x62, +-0x69, 0x72, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x73, 0x68, 0x61, 0x74, 0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, +-0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6b, 0x61, 0x74, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, +-0x61, 0x6d, 0x75, 0x6b, 0x61, 0x61, 0x67, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x73, 0x68, 0x61, 0x6e, 0x6a, +-0x75, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x75, 0x6e, 0x61, 0x61, 0x6e, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x77, +-0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, +-0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x77, 0x65, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x69, 0x6b, +-0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x69, 0x62, 0x69, 0x72, 0x69, 0x3b, 0x48, 0x75, 0x74, 0x3b, 0x56, 0x69, 0x6c, +-0x3b, 0x44, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x69, 0x3b, 0x48, 0x61, 0x6e, 0x3b, 0x53, 0x69, 0x74, 0x3b, 0x53, 0x61, 0x62, +-0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4b, 0x6d, 0x6a, 0x3b, 0x4b, 0x6d, 0x62, +-0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x68, 0x75, 0x74, 0x61, 0x6c, +-0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x76, 0x69, +-0x6c, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, 0x64, +-0x61, 0x74, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, +-0x74, 0x61, 0x69, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x77, 0x75, +-0x68, 0x61, 0x6e, 0x75, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, +-0x69, 0x74, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x73, 0x61, +-0x62, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6e, 0x61, 0x6e, +-0x65, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x74, 0x69, 0x73, 0x61, +-0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, +-0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, +-0x61, 0x20, 0x6d, 0x6f, 0x6a, 0x61, 0x3b, 0x70, 0x61, 0x20, 0x6d, 0x77, 0x65, 0x64, 0x7a, 0x69, 0x20, 0x67, 0x77, 0x61, +-0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x62, 0x69, 0x6c, 0x69, 0x3b, 0x48, 0x3b, 0x56, 0x3b, 0x44, +-0x3b, 0x54, 0x3b, 0x48, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4a, +-0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, +-0x69, 0x3b, 0x41, 0x70, 0x72, 0x69, 0x6c, 0x79, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x79, 0x69, 0x3b, +-0x4a, 0x75, 0x6c, 0x79, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, +-0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, +-0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x77, +-0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x3b, 0x7a, 0x75, 0x6c, 0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, +-0x3b, 0x254, 0x6b, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x77, 0x75, 0x79, 0x65, +-0x3b, 0x66, 0x65, 0x62, 0x75, 0x72, 0x75, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x69, 0x73, 0x69, 0x3b, 0x61, 0x77, 0x69, +-0x72, 0x69, 0x6c, 0x69, 0x3b, 0x6d, 0x25b, 0x3b, 0x7a, 0x75, 0x77, 0x25b, 0x6e, 0x3b, 0x7a, 0x75, 0x6c, 0x75, 0x79, 0x65, +-0x3b, 0x75, 0x74, 0x69, 0x3b, 0x73, 0x25b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x254, 0x6b, 0x75, 0x74, 0x254, +-0x62, 0x75, 0x72, 0x75, 0x3b, 0x6e, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6e, +-0x62, 0x75, 0x72, 0x75, 0x3b, 0x5a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x5a, 0x3b, 0x5a, 0x3b, 0x55, +-0x3b, 0x53, 0x3b, 0x186, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x62, 0x65, 0x3b, 0x4b, 0x61, 0x69, 0x3b, 0x4b, 0x61, 0x74, +-0x3b, 0x4b, 0x61, 0x6e, 0x3b, 0x47, 0x61, 0x74, 0x3b, 0x47, 0x61, 0x6e, 0x3b, 0x4d, 0x75, 0x67, 0x3b, 0x4b, 0x6e, 0x6e, +-0x3b, 0x4b, 0x65, 0x6e, 0x3b, 0x49, 0x6b, 0x75, 0x3b, 0x49, 0x6d, 0x77, 0x3b, 0x49, 0x67, 0x69, 0x3b, 0x4d, 0x77, 0x65, +-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6d, 0x62, 0x65, 0x72, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, +-0x20, 0x6b, 0x61, 0x129, 0x72, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x74, 0x68, +-0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, +-0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, +-0x77, 0x61, 0x20, 0x67, 0x61, 0x74, 0x61, 0x6e, 0x74, 0x61, 0x74, 0x169, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, +-0x61, 0x20, 0x6d, 0x169, 0x67, 0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, +-0x6b, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x6b, 0x65, 0x6e, 0x64, +-0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x3b, 0x4d, 0x77, 0x65, +-0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x169, 0x6d, 0x77, 0x65, 0x3b, +-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x61, 0x20, 0x69, 0x6b, 0x169, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x4b, 0x61, +-0x129, 0x72, 0x129, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x47, 0x3b, 0x47, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, +-0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x13a4, 0x13c3, 0x3b, 0x13a7, 0x13a6, 0x3b, 0x13a0, 0x13c5, 0x3b, 0x13a7, 0x13ec, 0x3b, +-0x13a0, 0x13c2, 0x3b, 0x13d5, 0x13ad, 0x3b, 0x13ab, 0x13f0, 0x3b, 0x13a6, 0x13b6, 0x3b, 0x13da, 0x13b5, 0x3b, 0x13da, 0x13c2, 0x3b, 0x13c5, 0x13d3, +-0x3b, 0x13a5, 0x13cd, 0x3b, 0x13a4, 0x13c3, 0x13b8, 0x13d4, 0x13c5, 0x3b, 0x13a7, 0x13a6, 0x13b5, 0x3b, 0x13a0, 0x13c5, 0x13f1, 0x3b, 0x13a7, 0x13ec, +-0x13c2, 0x3b, 0x13a0, 0x13c2, 0x13cd, 0x13ac, 0x13d8, 0x3b, 0x13d5, 0x13ad, 0x13b7, 0x13f1, 0x3b, 0x13ab, 0x13f0, 0x13c9, 0x13c2, 0x3b, 0x13a6, 0x13b6, +-0x13c2, 0x3b, 0x13da, 0x13b5, 0x13cd, 0x13d7, 0x3b, 0x13da, 0x13c2, 0x13c5, 0x13d7, 0x3b, 0x13c5, 0x13d3, 0x13d5, 0x13c6, 0x3b, 0x13a5, 0x13cd, 0x13a9, +-0x13f1, 0x3b, 0x13a4, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13a7, 0x3b, 0x13a0, 0x3b, 0x13d5, 0x3b, 0x13ab, 0x3b, 0x13a6, 0x3b, 0x13da, 0x3b, +-0x13da, 0x3b, 0x13c5, 0x3b, 0x13a5, 0x3b, 0x7a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x76, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x76, +-0x72, 0x3b, 0x6d, 0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, +-0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x76, 0x3b, 0x64, 0x65, 0x73, 0x3b, 0x7a, 0x61, 0x6e, 0x76, 0x69, 0x65, 0x3b, +-0x66, 0x65, 0x76, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x6d, 0x61, 0x72, 0x73, 0x3b, 0x61, 0x76, 0x72, 0x69, 0x6c, 0x3b, 0x6d, +-0x65, 0x3b, 0x7a, 0x69, 0x6e, 0x3b, 0x7a, 0x69, 0x6c, 0x79, 0x65, 0x3b, 0x6f, 0x75, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, +-0x61, 0x6d, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x3b, 0x6e, 0x6f, 0x76, 0x61, 0x6d, 0x3b, 0x64, 0x65, 0x73, 0x61, 0x6d, +-0x3b, 0x7a, 0x3b, 0x66, 0x3b, 0x6d, 0x3b, 0x61, 0x3b, 0x6d, 0x3b, 0x7a, 0x3b, 0x7a, 0x3b, 0x6f, 0x3b, 0x73, 0x3b, 0x6f, +-0x3b, 0x6e, 0x3b, 0x64, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x4e, 0x74, 0x61, 0x6e, 0x64, 0x69, 0x3b, 0x4d, 0x77, +-0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x50, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, +-0x20, 0x54, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, +-0x68, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, +-0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x6d, +-0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, +-0x20, 0x4d, 0x69, 0x76, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, +-0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x69, 0x74, 0x61, 0x74, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, +-0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x63, 0x68, 0x65, 0x63, 0x68, 0x69, +-0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, +-0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x3b, 0x4d, 0x77, 0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, +-0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x55, 0x3b, 0x4d, 0x77, +-0x65, 0x64, 0x69, 0x20, 0x77, 0x61, 0x20, 0x4e, 0x6e, 0x79, 0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4e, 0x6e, 0x79, +-0x61, 0x6e, 0x6f, 0x20, 0x6e, 0x61, 0x20, 0x4d, 0x3b, 0x46, 0xfa, 0x6e, 0x67, 0x61, 0x74, 0x268, 0x3b, 0x4e, 0x61, 0x61, +-0x6e, 0x268, 0x3b, 0x4b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x49, 0x6b, 0xfa, 0x6d, 0x69, 0x3b, 0x49, 0x6e, 0x79, 0x61, +-0x6d, 0x62, 0x61, 0x6c, 0x61, 0x3b, 0x49, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4d, 0x289, 0x289, 0x6e, 0x63, 0x68, +-0x268, 0x3b, 0x56, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x53, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x49, 0x6e, 0x79, 0x69, 0x3b, 0x53, +-0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x53, 0x61, 0x73, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x289, 0x66, 0xfa, 0x6e, 0x67, 0x61, 0x74, +-0x268, 0x3b, 0x4b, 0x289, 0x6e, 0x61, 0x61, 0x6e, 0x268, 0x3b, 0x4b, 0x289, 0x6b, 0x65, 0x65, 0x6e, 0x64, 0x61, 0x3b, 0x4b, +-0x77, 0x69, 0x69, 0x6b, 0x75, 0x6d, 0x69, 0x3b, 0x4b, 0x77, 0x69, 0x69, 0x6e, 0x79, 0x61, 0x6d, 0x62, 0xe1, 0x6c, 0x61, +-0x3b, 0x4b, 0x77, 0x69, 0x69, 0x64, 0x77, 0x61, 0x61, 0x74, 0x61, 0x3b, 0x4b, 0x289, 0x6d, 0x289, 0x289, 0x6e, 0x63, 0x68, +-0x268, 0x3b, 0x4b, 0x289, 0x76, 0x268, 0x268, 0x72, 0x268, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x74, 0x289, 0x3b, 0x4b, 0x77, +-0x69, 0x69, 0x6e, 0x79, 0x69, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0x4b, 0x289, 0x73, 0x61, 0x73, 0x61, +-0x74, 0x289, 0x3b, 0x46, 0x3b, 0x4e, 0x3b, 0x4b, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x56, 0x3b, 0x53, +-0x3b, 0x49, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, +-0x70, 0x75, 0x3b, 0x4d, 0x61, 0x61, 0x3b, 0x4a, 0x75, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x75, 0x3b, 0x53, +-0x65, 0x62, 0x3b, 0x4f, 0x6b, 0x69, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x77, 0x61, +-0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x46, 0x65, 0x62, 0x77, 0x61, 0x6c, 0x69, 0x79, 0x6f, 0x3b, 0x4d, 0x61, 0x72, 0x69, 0x73, +-0x69, 0x3b, 0x41, 0x70, 0x75, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6e, 0x69, 0x3b, +-0x4a, 0x75, 0x6c, 0x61, 0x61, 0x79, 0x69, 0x3b, 0x41, 0x67, 0x75, 0x73, 0x69, 0x74, 0x6f, 0x3b, 0x53, 0x65, 0x62, 0x75, +-0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x69, 0x74, 0x6f, 0x62, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, +-0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, +-0x4d, 0x61, 0x63, 0x3b, 0x45, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, +-0x4f, 0x67, 0x61, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, +-0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, +-0x68, 0x69, 0x3b, 0x45, 0x70, 0x72, 0x65, 0x6f, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, +-0x6c, 0x61, 0x69, 0x3b, 0x4f, 0x67, 0x61, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, +-0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x65, 0x6d, +-0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x4a, 0x3b, 0x4f, 0x3b, 0x53, +-0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, +-0x62, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, +-0x65, 0x74, 0x3b, 0x4f, 0x74, 0x75, 0x3b, 0x4e, 0x75, 0x76, 0x3b, 0x44, 0x69, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x65, 0x72, +-0x75, 0x3b, 0x46, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x75, 0x3b, 0x41, 0x62, 0x72, 0x69, +-0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x75, 0x3b, 0x4a, 0x75, 0x6e, 0x68, 0x75, 0x3b, 0x4a, 0x75, 0x6c, 0x68, 0x75, 0x3b, 0x41, +-0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x53, 0x65, 0x74, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x4f, 0x74, 0x75, 0x62, 0x72, +-0x75, 0x3b, 0x4e, 0x75, 0x76, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, 0x44, 0x69, 0x7a, 0x65, 0x6e, 0x62, 0x72, 0x75, 0x3b, +-0x4a, 0x41, 0x4e, 0x3b, 0x46, 0x45, 0x42, 0x3b, 0x4d, 0x41, 0x43, 0x3b, 0x128, 0x50, 0x55, 0x3b, 0x4d, 0x128, 0x128, 0x3b, +-0x4e, 0x4a, 0x55, 0x3b, 0x4e, 0x4a, 0x52, 0x3b, 0x41, 0x47, 0x41, 0x3b, 0x53, 0x50, 0x54, 0x3b, 0x4f, 0x4b, 0x54, 0x3b, +-0x4e, 0x4f, 0x56, 0x3b, 0x44, 0x45, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x46, 0x65, 0x62, 0x75, +-0x72, 0x75, 0x61, 0x72, 0x129, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x128, 0x70, 0x75, 0x72, 0x169, 0x3b, 0x4d, 0x129, +-0x129, 0x3b, 0x4e, 0x6a, 0x75, 0x6e, 0x69, 0x3b, 0x4e, 0x6a, 0x75, 0x72, 0x61, 0x129, 0x3b, 0x41, 0x67, 0x61, 0x73, 0x74, +-0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x169, 0x62, 0x61, 0x3b, 0x4e, 0x6f, +-0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x63, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, +-0x128, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x4e, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4d, 0x75, +-0x6c, 0x3b, 0x4e, 0x67, 0x61, 0x74, 0x3b, 0x54, 0x61, 0x61, 0x3b, 0x49, 0x77, 0x6f, 0x3b, 0x4d, 0x61, 0x6d, 0x3b, 0x50, +-0x61, 0x61, 0x3b, 0x4e, 0x67, 0x65, 0x3b, 0x52, 0x6f, 0x6f, 0x3b, 0x42, 0x75, 0x72, 0x3b, 0x45, 0x70, 0x65, 0x3b, 0x4b, +-0x70, 0x74, 0x3b, 0x4b, 0x70, 0x61, 0x3b, 0x4d, 0x75, 0x6c, 0x67, 0x75, 0x6c, 0x3b, 0x4e, 0x67, 0x2019, 0x61, 0x74, 0x79, +-0x61, 0x61, 0x74, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x74, 0x61, 0x61, 0x6d, 0x6f, 0x3b, 0x49, 0x77, 0x6f, 0x6f, 0x74, 0x6b, +-0x75, 0x75, 0x74, 0x3b, 0x4d, 0x61, 0x6d, 0x75, 0x75, 0x74, 0x3b, 0x50, 0x61, 0x61, 0x67, 0x69, 0x3b, 0x4e, 0x67, 0x2019, +-0x65, 0x69, 0x79, 0x65, 0x65, 0x74, 0x3b, 0x52, 0x6f, 0x6f, 0x70, 0x74, 0x75, 0x69, 0x3b, 0x42, 0x75, 0x72, 0x65, 0x65, +-0x74, 0x3b, 0x45, 0x70, 0x65, 0x65, 0x73, 0x6f, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, +-0x65, 0x20, 0x74, 0x61, 0x61, 0x69, 0x3b, 0x4b, 0x69, 0x70, 0x73, 0x75, 0x75, 0x6e, 0x64, 0x65, 0x20, 0x6e, 0x65, 0x62, +-0x6f, 0x20, 0x61, 0x65, 0x6e, 0x67, 0x2019, 0x3b, 0x4d, 0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x50, 0x3b, +-0x4e, 0x3b, 0x52, 0x3b, 0x42, 0x3b, 0x45, 0x3b, 0x4b, 0x3b, 0x4b, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x6e, 0x69, 0x3b, +-0x1c3, 0x4b, 0x68, 0x61, 0x6e, 0x1c0, 0x67, 0xf4, 0x61, 0x62, 0x3b, 0x1c0, 0x4b, 0x68, 0x75, 0x75, 0x1c1, 0x6b, 0x68, 0xe2, +-0x62, 0x3b, 0x1c3, 0x48, 0xf4, 0x61, 0x1c2, 0x6b, 0x68, 0x61, 0x69, 0x62, 0x3b, 0x1c3, 0x4b, 0x68, 0x61, 0x69, 0x74, 0x73, +-0xe2, 0x62, 0x3b, 0x47, 0x61, 0x6d, 0x61, 0x1c0, 0x61, 0x65, 0x62, 0x3b, 0x1c2, 0x4b, 0x68, 0x6f, 0x65, 0x73, 0x61, 0x6f, +-0x62, 0x3b, 0x41, 0x6f, 0x1c1, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x54, 0x61, 0x72, +-0x61, 0x1c0, 0x6b, 0x68, 0x75, 0x75, 0x6d, 0xfb, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x1c2, 0x4e, 0xfb, 0x1c1, 0x6e, 0xe2, +-0x69, 0x73, 0x65, 0x62, 0x3b, 0x1c0, 0x48, 0x6f, 0x6f, 0x1c2, 0x67, 0x61, 0x65, 0x62, 0x3b, 0x48, 0xf4, 0x61, 0x73, 0x6f, +-0x72, 0x65, 0x1c1, 0x6b, 0x68, 0xe2, 0x62, 0x3b, 0x4a, 0x61, 0x6e, 0x2e, 0x3b, 0x46, 0xe4, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, +-0x7a, 0x2e, 0x3b, 0x41, 0x70, 0x72, 0x2e, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x2e, 0x3b, 0x4a, 0x75, 0x6c, +-0x2e, 0x3b, 0x4f, 0x75, 0x6a, 0x2e, 0x3b, 0x53, 0xe4, 0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, +-0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x4a, 0x61, 0x6e, 0x6e, 0x65, 0x77, 0x61, 0x3b, 0x46, 0xe4, 0x62, 0x72, 0x6f, +-0x77, 0x61, 0x3b, 0x4d, 0xe4, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x65, 0x6c, 0x6c, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, +-0x75, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x75, 0x6c, 0x69, 0x3b, 0x4f, 0x75, 0x6a, 0x6f, 0xdf, 0x3b, 0x53, 0x65, 0x70, +-0x74, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x68, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x6f, 0x76, 0xe4, +-0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0xe4, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0xe4, +-0x62, 0x3b, 0x4d, 0xe4, 0x7a, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, +-0x6c, 0x3b, 0x4f, 0x75, 0x6a, 0x3b, 0x53, 0xe4, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, +-0x7a, 0x3b, 0x44, 0x61, 0x6c, 0x3b, 0x41, 0x72, 0xe1, 0x3b, 0x186, 0x25b, 0x6e, 0x3b, 0x44, 0x6f, 0x79, 0x3b, 0x4c, 0xe9, +-0x70, 0x3b, 0x52, 0x6f, 0x6b, 0x3b, 0x53, 0xe1, 0x73, 0x3b, 0x42, 0x254, 0x301, 0x72, 0x3b, 0x4b, 0xfa, 0x73, 0x3b, 0x47, +-0xed, 0x73, 0x3b, 0x53, 0x68, 0x289, 0x301, 0x3b, 0x4e, 0x74, 0x289, 0x301, 0x3b, 0x4f, 0x6c, 0x61, 0x64, 0x61, 0x6c, 0x289, +-0x301, 0x3b, 0x41, 0x72, 0xe1, 0x74, 0x3b, 0x186, 0x25b, 0x6e, 0x268, 0x301, 0x254, 0x268, 0x14b, 0x254, 0x6b, 0x3b, 0x4f, 0x6c, +-0x6f, 0x64, 0x6f, 0x79, 0xed, 0xf3, 0x72, 0xed, 0xea, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4f, 0x6c, +-0x6f, 0x69, 0x6c, 0xe9, 0x70, 0x16b, 0x6e, 0x79, 0x12b, 0x113, 0x20, 0x69, 0x6e, 0x6b, 0xf3, 0x6b, 0xfa, 0xe2, 0x3b, 0x4b, +-0xfa, 0x6a, 0xfa, 0x254, 0x72, 0x254, 0x6b, 0x3b, 0x4d, 0xf3, 0x72, 0x75, 0x73, 0xe1, 0x73, 0x69, 0x6e, 0x3b, 0x186, 0x6c, +-0x254, 0x301, 0x268, 0x301, 0x62, 0x254, 0x301, 0x72, 0xe1, 0x72, 0x25b, 0x3b, 0x4b, 0xfa, 0x73, 0x68, 0xee, 0x6e, 0x3b, 0x4f, +-0x6c, 0x67, 0xed, 0x73, 0x61, 0x6e, 0x3b, 0x50, 0x289, 0x73, 0x68, 0x289, 0x301, 0x6b, 0x61, 0x3b, 0x4e, 0x74, 0x289, 0x301, +-0x14b, 0x289, 0x301, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, +-0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, +-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, +-0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, +-0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, +-0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, +-0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x50, 0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, +-0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b, 0x4f, 0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, +-0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x2019, 0x3b, 0x4f, 0x64, 0x75, 0x6e, 0x67, 0x2019, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, +-0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f, 0x6b, 0x2019, 0x6b, 0x69, 0x6e, 0x67, 0x2019, 0x6f, 0x6c, 0x3b, 0x4f, +-0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64, 0x65, 0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, +-0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, +-0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, 0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, +-0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, +-0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x3b, 0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, +-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b, 0x44, 0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, +-0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72, 0x69, 0x79, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, +-0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, +-0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, +-0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, +-0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, +-0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b, 0x44, 0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, +-0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b, 0x44, 0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, +-0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b, 0x44, 0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, +-0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, +-0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, +-0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x2019, 0x77, 0x65, 0x6e, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, +-0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, +-0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, +-0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, +-0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, +-0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, +-0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, +-0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x55, 0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, +-0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, +-0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, 0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, +-0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6a, 0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, +-0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, +-0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, +-0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, +-0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44, 0x75, 0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, +-0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, +-0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, 0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, +-0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c, 0x69, 0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, +-0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, 0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, +-0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, +-0x65, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, +-0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x938, 0x3b, 0x90f, 0x92b, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, +-0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x907, 0x3b, 0x906, 0x917, 0x938, 0x94d, 0x925, 0x3b, 0x938, 0x947, 0x92c, +-0x925, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x905, 0x916, 0x925, 0x92c, 0x930, 0x3b, 0x928, 0x92c, 0x947, 0x91c, 0x94d, 0x92c, +-0x93c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, +-0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x3b, 0x91c, 0x941, 0x3b, 0x906, 0x3b, 0x938, 0x947, 0x3b, 0x905, 0x3b, 0x928, +-0x3b, 0x926, 0x93f, 0x3b, 0x456, 0x486, 0x430, 0x2de9, 0x487, 0x3b, 0x444, 0x435, 0x2de1, 0x487, 0x3b, 0x43c, 0x430, 0x2dec, 0x487, 0x3b, +-0x430, 0x486, 0x43f, 0x2dec, 0x487, 0x3b, 0x43c, 0x430, 0xa675, 0x3b, 0x456, 0x486, 0xa64b, 0x2de9, 0x487, 0x3b, 0x456, 0x486, 0xa64b, 0x2de7, +-0x487, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x2de2, 0x487, 0x3b, 0x441, 0x435, 0x2deb, 0x487, 0x3b, 0x47b, 0x486, 0x43a, 0x2dee, 0x3b, 0x43d, +-0x43e, 0x435, 0x2de8, 0x3b, 0x434, 0x435, 0x2de6, 0x487, 0x3b, 0x456, 0x486, 0x430, 0x43d, 0x43d, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x439, +-0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301, 0x440, 0x442, 0x44a, 0x3b, 0x430, +-0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b, 0x43b, 0x457, 0x439, 0x3b, 0x43c, 0x430, 0x301, 0x457, 0x439, 0x3b, 0x456, 0x486, 0xa64b, 0x301, +-0x43d, 0x457, 0x439, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43b, 0x457, 0x439, 0x3b, 0x430, 0x486, 0x301, 0x475, 0x433, 0xa64b, 0x441, 0x442, +-0x44a, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x47b, 0x486, 0x43a, 0x442, 0x461, 0x301, +-0x432, 0x440, 0x457, 0x439, 0x3b, 0x43d, 0x43e, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x301, +-0x43c, 0x432, 0x440, 0x457, 0x439, 0x3b, 0x406, 0x486, 0x3b, 0x424, 0x3b, 0x41c, 0x3b, 0x410, 0x486, 0x3b, 0x41c, 0x3b, 0x406, 0x486, +-0x3b, 0x406, 0x486, 0x3b, 0x410, 0x486, 0x3b, 0x421, 0x3b, 0x47a, 0x486, 0x3b, 0x41d, 0x3b, 0x414, 0x3b, 0x456, 0x486, 0x430, 0x43d, +-0x43d, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x430, 0x3b, 0x444, 0x435, 0x432, 0x440, 0xa64b, 0x430, 0x301, 0x440, 0x457, 0x430, 0x3b, 0x43c, +-0x430, 0x301, 0x440, 0x442, 0x430, 0x3b, 0x430, 0x486, 0x43f, 0x440, 0x456, 0x301, 0x43b, 0x43b, 0x457, 0x430, 0x3b, 0x43c, 0x430, 0x301, +-0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43d, 0x457, 0x430, 0x3b, 0x456, 0x486, 0xa64b, 0x301, 0x43b, 0x457, 0x430, 0x3b, 0x430, +-0x486, 0x301, 0x475, 0x433, 0xa64b, 0x441, 0x442, 0x430, 0x3b, 0x441, 0x435, 0x43f, 0x442, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, +-0x3b, 0x47b, 0x486, 0x43a, 0x442, 0x461, 0x301, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43d, 0x43e, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, +-0x430, 0x3b, 0x434, 0x435, 0x43a, 0x435, 0x301, 0x43c, 0x432, 0x440, 0x457, 0x430, 0x3b, 0x43, 0x69, 0x6f, 0x3b, 0x4c, 0x75, 0x69, +-0x3b, 0x4c, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x75, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4c, 0x75, 0x66, 0x3b, 0x4b, 0x61, 0x62, +-0x3b, 0x4c, 0x75, 0x73, 0x68, 0x3b, 0x4c, 0x75, 0x74, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x43, 0x69, +-0x73, 0x3b, 0x43, 0x69, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0xf9, 0x69, 0x73, 0x68, 0x69, 0x3b, 0x4c, 0x75, 0x73, 0xf2, +-0x6c, 0x6f, 0x3b, 0x4d, 0xf9, 0x75, 0x79, 0xe0, 0x3b, 0x4c, 0x75, 0x6d, 0xf9, 0x6e, 0x67, 0xf9, 0x6c, 0xf9, 0x3b, 0x4c, +-0x75, 0x66, 0x75, 0x69, 0x6d, 0x69, 0x3b, 0x4b, 0x61, 0x62, 0xe0, 0x6c, 0xe0, 0x73, 0x68, 0xec, 0x70, 0xf9, 0x3b, 0x4c, +-0xf9, 0x73, 0x68, 0xec, 0x6b, 0xe0, 0x3b, 0x4c, 0x75, 0x74, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x4c, 0x75, 0x6e, +-0x67, 0xf9, 0x64, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x77, 0xe8, 0x6b, 0xe8, 0x73, 0xe8, 0x3b, 0x43, 0x69, 0x73, 0x77, 0xe0, +-0x3b, 0x43, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4c, +-0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x65, 0x3b, 0x41, 0x62, 0x72, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, 0x70, +-0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, +-0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x65, 0x72, 0x7a, 0x3b, 0x41, 0x62, 0x72, 0xeb, 0x6c, 0x6c, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, 0x73, +-0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, +-0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, 0x61, +-0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x65, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, 0x65, +-0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, 0x70, +-0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x6e, 0xf9, 0x6d, +-0x3b, 0x6b, 0x268, 0x7a, 0x3b, 0x74, 0x268, 0x64, 0x3b, 0x74, 0x61, 0x61, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x6e, 0x7a, 0x75, +-0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x66, 0x254, 0x65, 0x3b, 0x64, 0x7a, 0x75, 0x3b, 0x6c, 0x254, 0x6d, 0x3b, 0x6b, 0x61, 0x61, +-0x3b, 0x66, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0xf9, 0x6d, 0x3b, 0x6e, 0x64, 0x7a, +-0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x197, 0x300, 0x7a, 0xf9, 0x294, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, +-0x74, 0x197, 0x300, 0x64, 0x289, 0x300, 0x67, 0x68, 0xe0, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x1ce, +-0x61, 0x66, 0x289, 0x304, 0x67, 0x68, 0x101, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x73, 0xe8, 0x65, 0x3b, 0x6e, +-0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0x7a, 0xf9, 0x67, 0x68, 0xf2, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, +-0x254, 0x300, 0x64, 0xf9, 0x6d, 0x6c, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x77, 0xee, 0x66, +-0x254, 0x300, 0x65, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300, 0x66, 0x289, 0x300, 0x67, 0x68, +-0xe0, 0x64, 0x7a, 0x75, 0x67, 0x68, 0xf9, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x67, 0x68, 0x1d4, 0x75, +-0x77, 0x65, 0x6c, 0x254, 0x300, 0x6d, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x63, 0x68, 0x77, 0x61, 0x294, +-0xe0, 0x6b, 0x61, 0x61, 0x20, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x66, 0x77, 0xf2, 0x6f, 0x3b, +-0x6e, 0x3b, 0x6b, 0x3b, 0x74, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6b, 0x3b, 0x66, 0x3b, 0x64, 0x3b, 0x6c, 0x3b, +-0x63, 0x3b, 0x66, 0x3b, 0x6b, 0x254, 0x6e, 0x3b, 0x6d, 0x61, 0x63, 0x3b, 0x6d, 0x61, 0x74, 0x3b, 0x6d, 0x74, 0x6f, 0x3b, +-0x6d, 0x70, 0x75, 0x3b, 0x68, 0x69, 0x6c, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x68, 0x69, 0x6b, 0x3b, 0x64, 0x69, 0x70, 0x3b, +-0x62, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6c, 0x69, 0x253, 0x3b, 0x4b, 0x254, 0x6e, 0x64, 0x254, 0x14b, 0x3b, 0x4d, +-0xe0, 0x63, 0x25b, 0x302, 0x6c, 0x3b, 0x4d, 0xe0, 0x74, 0xf9, 0x6d, 0x62, 0x3b, 0x4d, 0xe0, 0x74, 0x6f, 0x70, 0x3b, 0x4d, +-0x300, 0x70, 0x75, 0x79, 0x25b, 0x3b, 0x48, 0xec, 0x6c, 0xf2, 0x6e, 0x64, 0x25b, 0x300, 0x3b, 0x4e, 0x6a, 0xe8, 0x62, 0xe0, +-0x3b, 0x48, 0xec, 0x6b, 0x61, 0x14b, 0x3b, 0x44, 0xec, 0x70, 0x254, 0x300, 0x73, 0x3b, 0x42, 0xec, 0xf2, 0xf4, 0x6d, 0x3b, +-0x4d, 0xe0, 0x79, 0x25b, 0x73, 0xe8, 0x70, 0x3b, 0x4c, 0xec, 0x62, 0x75, 0x79, 0x20, 0x6c, 0x69, 0x20, 0x144, 0x79, 0xe8, +-0x65, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, 0x6e, 0x3b, 0x68, 0x3b, 0x64, 0x3b, +-0x62, 0x3b, 0x6d, 0x3b, 0x6c, 0x3b, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x3b, 0x73, 0x254, 0x14b, 0x3b, 0x64, 0x69, +-0x253, 0x3b, 0x65, 0x6d, 0x69, 0x3b, 0x65, 0x73, 0x254, 0x3b, 0x6d, 0x61, 0x64, 0x3b, 0x64, 0x69, 0x14b, 0x3b, 0x6e, 0x79, +-0x25b, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x74, 0x69, 0x6e, 0x3b, 0x65, 0x6c, 0xe1, 0x3b, 0x64, 0x69, 0x6d, 0x254, 0x301, +-0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x64, 0x25b, 0x3b, 0x73, 0x254, 0x14b, 0x25b, 0x3b, 0x64, 0x69, 0x253, 0xe1, 0x253, +-0xe1, 0x3b, 0x65, 0x6d, 0x69, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x3b, 0x65, 0x73, 0x254, 0x70, 0x25b, 0x73, 0x254, 0x70, 0x25b, +-0x3b, 0x6d, 0x61, 0x64, 0x69, 0x253, 0x25b, 0x301, 0x64, 0xed, 0x253, 0x25b, 0x301, 0x3b, 0x64, 0x69, 0x14b, 0x67, 0x69, 0x6e, +-0x64, 0x69, 0x3b, 0x6e, 0x79, 0x25b, 0x74, 0x25b, 0x6b, 0x69, 0x3b, 0x6d, 0x61, 0x79, 0xe9, 0x73, 0x25b, 0x301, 0x3b, 0x74, +-0x69, 0x6e, 0xed, 0x6e, 0xed, 0x3b, 0x65, 0x6c, 0xe1, 0x14b, 0x67, 0x25b, 0x301, 0x3b, 0x64, 0x3b, 0x14b, 0x3b, 0x73, 0x3b, +-0x64, 0x3b, 0x65, 0x3b, 0x65, 0x3b, 0x6d, 0x3b, 0x64, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x74, 0x3b, 0x65, 0x3b, 0x53, 0x61, +-0x3b, 0x46, 0x65, 0x3b, 0x4d, 0x61, 0x3b, 0x41, 0x62, 0x3b, 0x4d, 0x65, 0x3b, 0x53, 0x75, 0x3b, 0x53, 0xfa, 0x3b, 0x55, +-0x74, 0x3b, 0x53, 0x65, 0x3b, 0x4f, 0x6b, 0x3b, 0x4e, 0x6f, 0x3b, 0x44, 0x65, 0x3b, 0x53, 0x61, 0x6e, 0x76, 0x69, 0x65, +-0x3b, 0x46, 0xe9, 0x62, 0x69, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x62, 0x75, 0x72, 0x69, 0x6c, +-0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x65, 0x14b, 0x3b, 0x53, 0xfa, 0x75, 0x79, 0x65, 0x65, 0x3b, 0x55, 0x74, 0x3b, +-0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, 0x6f, +-0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x53, 0x3b, 0x46, 0x3b, +-0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, +-0x6e, 0x67, 0x6f, 0x3b, 0x6e, 0x67, 0x62, 0x3b, 0x6e, 0x67, 0x6c, 0x3b, 0x6e, 0x67, 0x6e, 0x3b, 0x6e, 0x67, 0x74, 0x3b, +-0x6e, 0x67, 0x73, 0x3b, 0x6e, 0x67, 0x7a, 0x3b, 0x6e, 0x67, 0x6d, 0x3b, 0x6e, 0x67, 0x65, 0x3b, 0x6e, 0x67, 0x61, 0x3b, +-0x6e, 0x67, 0x61, 0x64, 0x3b, 0x6e, 0x67, 0x61, 0x62, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6f, 0x73, 0xfa, 0x3b, 0x6e, +-0x67, 0x254, 0x6e, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6c, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, 0x67, +-0x254, 0x6e, 0x20, 0x6e, 0x79, 0x69, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x74, 0xe1, 0x6e, 0x61, 0x3b, 0x6e, +-0x67, 0x254, 0x6e, 0x20, 0x73, 0x61, 0x6d, 0x259, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x7a, 0x61, 0x6d, 0x67, +-0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6d, 0x77, 0x6f, 0x6d, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, +-0x65, 0x62, 0x75, 0x6c, 0xfa, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x3b, 0x6e, 0x67, 0x254, 0x6e, +-0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x64, 0x7a, 0x69, 0xe1, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, +-0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6f, 0x3b, 0x62, 0x3b, 0x6c, 0x3b, 0x6e, 0x3b, 0x74, +-0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6d, 0x3b, 0x65, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x14b, 0x31, 0x3b, 0x14b, 0x32, +-0x3b, 0x14b, 0x33, 0x3b, 0x14b, 0x34, 0x3b, 0x14b, 0x35, 0x3b, 0x14b, 0x36, 0x3b, 0x14b, 0x37, 0x3b, 0x14b, 0x38, 0x3b, 0x14b, +-0x39, 0x3b, 0x14b, 0x31, 0x30, 0x3b, 0x14b, 0x31, 0x31, 0x3b, 0x14b, 0x31, 0x32, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, +-0x20, 0x6e, 0x74, 0x254, 0x301, 0x6e, 0x74, 0x254, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x62, 0x25b, +-0x301, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x72, 0xe1, 0xe1, 0x3b, 0x14b, 0x77, 0xed, 0xed, +-0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, +-0x61, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x66, 0x254, 0x6b, 0x3b, 0x14b, +-0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x62, 0x25b, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, +-0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x72, 0x61, 0x61, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, +-0x74, 0xe1, 0x61, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, +-0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, 0x20, 0x62, 0x254, +-0x301, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, 0x20, +-0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x55, 0x6e, 0x61, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x43, 0x68, 0x65, +-0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x63, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, 0x73, +-0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4d, 0x6f, 0x6a, 0x3b, 0x59, 0x65, 0x6c, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, +-0x6f, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, +-0x61, 0x79, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x72, 0x61, +-0x72, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x63, 0x68, 0x65, 0x73, 0x68, +-0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x3b, +-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, +-0x63, 0x68, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, 0x77, +-0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, +-0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x3b, +-0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, 0x6a, +-0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x79, +-0x65, 0x6c, 0x2019, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x55, 0x3b, 0x52, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, +-0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x46, 0x4c, 0x4f, 0x3b, 0x43, 0x4c, 0x41, 0x3b, 0x43, 0x4b, +-0x49, 0x3b, 0x46, 0x4d, 0x46, 0x3b, 0x4d, 0x41, 0x44, 0x3b, 0x4d, 0x42, 0x49, 0x3b, 0x4d, 0x4c, 0x49, 0x3b, 0x4d, 0x41, +-0x4d, 0x3b, 0x46, 0x44, 0x45, 0x3b, 0x46, 0x4d, 0x55, 0x3b, 0x46, 0x47, 0x57, 0x3b, 0x46, 0x59, 0x55, 0x3b, 0x46, 0x129, +-0x69, 0x20, 0x4c, 0x6f, 0x6f, 0x3b, 0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x61, 0x14b, 0x6e, 0x65, 0x3b, 0x43, +-0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x61, 0x72, 0x66, 0x6f, 0x6f, +-0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x1dd, 0x75, 0x75, 0x74, 0x1dd, 0x62, 0x69, 0x6a, 0x61, 0x14b, 0x3b, 0x4d, 0x61, 0x6d, 0x1dd, +-0x14b, 0x67, 0x77, 0xe3, 0x61, 0x66, 0x61, 0x68, 0x62, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x6d, 0x1dd, 0x14b, 0x67, 0x77, 0xe3, +-0x61, 0x6c, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x6d, 0x62, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x44, 0x1dd, +-0x253, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x75, 0x6e, 0x64, 0x61, 0x14b, 0x3b, 0x46, 0x129, 0x69, 0x20, +-0x47, 0x77, 0x61, 0x68, 0x6c, 0x6c, 0x65, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x59, 0x75, 0x72, 0x75, 0x3b, 0x4f, 0x3b, 0x41, +-0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x57, 0x3b, 0x59, +-0x3b, 0x6e, 0x67, 0x31, 0x3b, 0x6e, 0x67, 0x32, 0x3b, 0x6e, 0x67, 0x33, 0x3b, 0x6e, 0x67, 0x34, 0x3b, 0x6e, 0x67, 0x35, +-0x3b, 0x6e, 0x67, 0x36, 0x3b, 0x6e, 0x67, 0x37, 0x3b, 0x6e, 0x67, 0x38, 0x3b, 0x6e, 0x67, 0x39, 0x3b, 0x6e, 0x67, 0x31, +-0x30, 0x3b, 0x6e, 0x67, 0x31, 0x31, 0x3b, 0x6b, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x6d, 0x61, +-0x74, 0xe1, 0x68, 0x72, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6d, 0x62, 0x61, 0x3b, 0x6e, 0x67, 0x77, +-0x25b, 0x6e, 0x20, 0x144, 0x6c, 0x61, 0x6c, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6e, 0x61, 0x3b, 0x6e, 0x67, +-0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x61, 0x6e, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x75, 0xf3, 0x3b, +-0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x68, 0x25b, 0x6d, 0x62, 0x75, 0x25b, 0x72, 0xed, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, +-0x20, 0x6c, 0x254, 0x6d, 0x62, 0x69, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x72, 0x25b, 0x62, 0x76, 0x75, 0xe2, 0x3b, +-0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, 0x20, +-0x6e, 0x61, 0x76, 0x1d4, 0x72, 0x3b, 0x6b, 0x72, 0xed, 0x73, 0x69, 0x6d, 0x69, 0x6e, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x3b, +-0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x3b, 0x47, 0x75, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0xe4, 0x3b, +-0x4b, 0x6f, 0x72, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x54, 0x68, 0x6f, 0x6f, 0x3b, 0x54, 0x25b, 0x25b, 0x3b, 0x4c, 0x61, 0x61, +-0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x64, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x20, 0x74, 0x68, 0x61, 0x72, 0x20, 0x70, +-0x25b, 0x74, 0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x14b, 0x3b, 0x47, 0x75, 0x61, 0x6b, 0x3b, +-0x44, 0x75, 0xe4, 0x74, 0x3b, 0x4b, 0x6f, 0x72, 0x6e, 0x79, 0x6f, 0x6f, 0x74, 0x3b, 0x50, 0x61, 0x79, 0x20, 0x79, 0x69, +-0x65, 0x331, 0x74, 0x6e, 0x69, 0x3b, 0x54, 0x68, 0x6f, 0x331, 0x6f, 0x331, 0x72, 0x3b, 0x54, 0x25b, 0x25b, 0x72, 0x3b, 0x4c, +-0x61, 0x61, 0x74, 0x68, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x6f, 0x331, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x69, +-0x331, 0x69, 0x331, 0x74, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, 0x54, +-0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x3b, 0x41a, +-0x43b, 0x43d, 0x3b, 0x41c, 0x441, 0x443, 0x3b, 0x42b, 0x430, 0x43c, 0x3b, 0x411, 0x44d, 0x441, 0x3b, 0x41e, 0x442, 0x439, 0x3b, 0x410, +-0x442, 0x440, 0x3b, 0x411, 0x43b, 0x495, 0x3b, 0x410, 0x43b, 0x442, 0x3b, 0x421, 0x44d, 0x442, 0x3b, 0x410, 0x445, 0x441, 0x3b, 0x442, +-0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43a, 0x443, 0x43b, +-0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x43c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, 0x3b, +-0x44b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x43e, 0x442, 0x20, 0x44b, +-0x439, 0x430, 0x3b, 0x430, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x430, 0x43b, 0x430, +-0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x430, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x441, 0x44d, 0x442, +-0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x422, 0x3b, 0x41e, 0x3b, 0x41a, +-0x3b, 0x41c, 0x3b, 0x42b, 0x3b, 0x411, 0x3b, 0x41e, 0x3b, 0x410, 0x3b, 0x411, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x410, 0x3b, 0x422, +-0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41a, 0x443, 0x43b, +-0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x41c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, 0x3b, +-0x42b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x411, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x41e, 0x442, +-0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, +-0x411, 0x430, 0x43b, 0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c, +-0x44b, 0x3b, 0x421, 0x44d, 0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, +-0x4d, 0x75, 0x70, 0x3b, 0x4d, 0x77, 0x69, 0x3b, 0x4d, 0x73, 0x68, 0x3b, 0x4d, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x67, 0x3b, +-0x4d, 0x75, 0x6a, 0x3b, 0x4d, 0x73, 0x70, 0x3b, 0x4d, 0x70, 0x67, 0x3b, 0x4d, 0x79, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, 0x3b, +-0x4d, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x68, 0x3b, 0x4d, 0x75, 0x70, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x77, 0x61, +-0x3b, 0x4d, 0x77, 0x69, 0x74, 0x6f, 0x70, 0x65, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x3b, 0x4d, 0x75, +-0x6e, 0x79, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x20, 0x4d, 0x61, 0x67, 0x61, 0x6c, 0x69, 0x3b, +-0x4d, 0x75, 0x6a, 0x69, 0x6d, 0x62, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x69, 0x70, 0x65, 0x70, 0x6f, 0x3b, 0x4d, 0x75, +-0x70, 0x75, 0x67, 0x75, 0x74, 0x6f, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, 0x68, +-0x75, 0x3b, 0x4d, 0x75, 0x73, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x6d, 0x62, 0x77, 0x65, 0x3b, 0x4d, 0x75, 0x68, +-0x61, 0x61, 0x6e, 0x6f, 0x3b, 0xa5a8, 0xa595, 0xa51e, 0x3b, 0xa552, 0xa561, 0x3b, 0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, +-0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0x3b, 0xa5a8, +-0xa595, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, 0xa51e, 0xa500, 0xa56e, 0xa54a, 0x3b, 0xa552, 0xa561, 0xa59d, 0xa595, 0x3b, 0xa57e, +-0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0xa524, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, +-0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0xa554, 0xa57f, 0x20, 0xa578, 0xa583, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, 0xa5cf, +-0xa5ba, 0xa56e, 0xa54a, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x48, 0x6f, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, +-0x4d, 0x65, 0x69, 0x3b, 0x42, 0x72, 0xe1, 0x3b, 0x48, 0x65, 0x69, 0x3b, 0xd6, 0x69, 0x67, 0x3b, 0x48, 0x65, 0x72, 0x3b, +-0x57, 0xed, 0x6d, 0x3b, 0x57, 0x69, 0x6e, 0x3b, 0x43, 0x68, 0x72, 0x3b, 0x4a, 0x65, 0x6e, 0x6e, 0x65, 0x72, 0x3b, 0x48, +-0x6f, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x65, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x65, 0x3b, +-0x4d, 0x65, 0x69, 0x6a, 0x65, 0x3b, 0x42, 0x72, 0xe1, 0x10d, 0x65, 0x74, 0x3b, 0x48, 0x65, 0x69, 0x77, 0x65, 0x74, 0x3b, +-0xd6, 0x69, 0x67, 0x161, 0x74, 0x65, 0x3b, 0x48, 0x65, 0x72, 0x62, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, +-0xed, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x43, +-0x68, 0x72, 0x69, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, +-0x3b, 0x42, 0x3b, 0x48, 0x3b, 0xd6, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x43, 0x3b, 0x6f, 0x2e, 0x31, 0x3b, 0x6f, +-0x2e, 0x32, 0x3b, 0x6f, 0x2e, 0x33, 0x3b, 0x6f, 0x2e, 0x34, 0x3b, 0x6f, 0x2e, 0x35, 0x3b, 0x6f, 0x2e, 0x36, 0x3b, 0x6f, +-0x2e, 0x37, 0x3b, 0x6f, 0x2e, 0x38, 0x3b, 0x6f, 0x2e, 0x39, 0x3b, 0x6f, 0x2e, 0x31, 0x30, 0x3b, 0x6f, 0x2e, 0x31, 0x31, +-0x3b, 0x6f, 0x2e, 0x31, 0x32, 0x3b, 0x70, 0x69, 0x6b, 0xed, 0x74, 0xed, 0x6b, 0xed, 0x74, 0x69, 0x65, 0x2c, 0x20, 0x6f, +-0xf3, 0x6c, 0xed, 0x20, 0xfa, 0x20, 0x6b, 0x75, 0x74, 0xfa, 0x61, 0x6e, 0x3b, 0x73, 0x69, 0x25b, 0x79, 0x25b, 0x301, 0x2c, +-0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x6e, 0x64, 0xed, 0x25b, 0x3b, 0x254, 0x6e, 0x73, 0xfa, 0x6d, +-0x62, 0x254, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x74, 0xfa, 0x25b, 0x3b, +-0x6d, 0x65, 0x73, 0x69, 0x14b, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe9, 0x6e, 0x69, 0x65, 0x3b, +-0x65, 0x6e, 0x73, 0x69, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x6e, 0x75, +-0x25b, 0x3b, 0x254, 0x73, 0x254, 0x6e, 0x3b, 0x65, 0x66, 0x75, 0x74, 0x65, 0x3b, 0x70, 0x69, 0x73, 0x75, 0x79, 0xfa, 0x3b, +-0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, 0x75, 0x254, 0x73, 0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, +-0x75, 0x74, 0xfa, 0x6b, 0x2c, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xed, 0x25b, 0x3b, 0x6d, 0x61, +-0x6b, 0x61, 0x6e, 0x64, 0x69, 0x6b, 0x25b, 0x3b, 0x70, 0x69, 0x6c, 0x254, 0x6e, 0x64, 0x254, 0x301, 0x3b, 0x58, 0x69, 0x6e, +-0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x58, 0x75, 0x6e, +-0x3b, 0x58, 0x6e, 0x74, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x50, 0x61, 0x79, +-0x3b, 0x41, 0x76, 0x69, 0x3b, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, 0x3b, +-0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x78, 0x75, 0x6e, +-0x75, 0x3b, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x73, 0x65, 0x74, 0x69, +-0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, +-0x73, 0x3b, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, +-0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x78, 0x69, 0x6e, 0x3b, 0x66, 0x65, +-0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x78, 0x75, 0x6e, 0x3b, 0x78, 0x6e, +-0x74, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x63, 0x68, 0x3b, 0x70, 0x61, 0x79, 0x3b, 0x61, 0x76, +-0x69, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, 0x65, +-0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, +-0x64, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, +-0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x73, 0x65, +-0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x65, +-0x20, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, 0x4e, +-0x64, 0x75, 0x14b, 0x6d, 0x62, 0x69, 0x20, 0x53, 0x61, 0x14b, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, +-0x70, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x74, 0xe1, 0x74, 0x3b, 0x50, 0x25b, 0x73, 0x61, +-0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6b, 0x77, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x61, +-0x74, 0x61, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6e, 0x74, 0xfa, 0x6b, +-0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x53, 0x61, 0x61, 0x6d, 0x62, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, +-0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x66, 0x254, 0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, +-0x6e, 0x25b, 0x301, 0x70, 0x66, 0xfa, 0xa78b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x25b, 0x67, 0x25b, 0x301, +-0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x6d, 0x254, 0x301, 0x3b, 0x50, 0x25b, +-0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x70, 0xe1, 0x3b, 0x70, 0x61, 0x6d, 0x62, 0x61, 0x3b, 0x77, +-0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x6d, 0x62, 0x69, 0x79, 0x254, 0x20, 0x6d, 0x25b, 0x6e, 0x64, 0x6f, 0x14b, 0x67, 0x254, 0x3b, +-0x4e, 0x79, 0x254, 0x6c, 0x254, 0x6d, 0x62, 0x254, 0x14b, 0x67, 0x254, 0x3b, 0x4d, 0x254, 0x6e, 0x254, 0x20, 0x14b, 0x67, 0x62, +-0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x14b, 0x67, 0x77, 0x25b, 0x20, 0x14b, 0x67, 0x62, 0x61, 0x6e, 0x6a, 0x61, +-0x3b, 0x6b, 0x75, 0x14b, 0x67, 0x77, 0x25b, 0x3b, 0x66, 0x25b, 0x3b, 0x6e, 0x6a, 0x61, 0x70, 0x69, 0x3b, 0x6e, 0x79, 0x75, +-0x6b, 0x75, 0x6c, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x253, 0x75, 0x6c, 0x253, 0x75, 0x73, 0x25b, 0x3b, 0x6d, 0x62, 0x65, 0x67, +-0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, +-0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, 0x77, 0x259, 0x300, +-0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, +-0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, 0x14b, 0x3b, 0x69, +-0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x75, 0x64, 0x3b, +-0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x7a, 0xf2, 0x3b, +-0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6d, 0x62, +-0x65, 0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, 0x65, +-0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, 0x77, +-0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, +-0x68, 0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, 0x14b, +-0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x75, +-0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x7a, +-0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x4d, 0x31, 0x3b, 0x41, 0x32, +-0x3b, 0x4d, 0x33, 0x3b, 0x4e, 0x34, 0x3b, 0x46, 0x35, 0x3b, 0x49, 0x36, 0x3b, 0x41, 0x37, 0x3b, 0x49, 0x38, 0x3b, 0x4b, +-0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, +-0x25b, 0x300, 0x25b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6b, 0xe0, 0x67, 0x20, 0x6e, 0x67, 0x77, 0xf3, +-0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0x65, 0x70, 0x79, 0xe8, 0x20, 0x73, 0x68, 0xfa, 0x6d, 0x3b, 0x73, 0x61, 0x14b, +-0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73, +-0x61, 0x14b, 0x20, 0x6e, 0x6a, 0xff, 0x6f, 0x6c, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x79, 0x25b, 0x300, 0x62, +-0x20, 0x74, 0x79, 0x25b, 0x300, 0x62, 0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6d, 0x62, 0x289, +-0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6e, 0x67, 0x77, 0x254, 0x300, 0x2bc, 0x20, 0x6d, 0x62, 0xff, 0x25b, 0x3b, 0x73, +-0x61, 0x14b, 0x20, 0x74, 0xe0, 0x14b, 0x61, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20, +-0x6d, 0x65, 0x6a, 0x77, 0x6f, 0x14b, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, +-0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x3b, 0x9ae, 0x9c7, +-0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x3b, 0x986, 0x997, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x3b, 0x993, +-0x995, 0x9cd, 0x99f, 0x9cb, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, +-0x9b0, 0x9bf, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9f1, 0x9be, 0x9b0, 0x9bf, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, +-0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, +-0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x993, 0x995, 0x9cd, +-0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, +-0x9b0, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x3b, 0x98f, 0x9aa, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, +-0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x993, 0x3b, 0x9a8, 0x9ac, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, ++0x65, 0x73, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, ++0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x70, 0x3b, 0x4f, ++0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x63, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x4d, 0x75, 0x6b, 0x3b, 0x4b, ++0x77, 0x61, 0x3b, 0x44, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x4d, 0x6f, 0x64, 0x3b, 0x4a, 0x6f, 0x6c, 0x3b, 0x50, ++0x65, 0x64, 0x3b, 0x53, 0x6f, 0x6b, 0x3b, 0x54, 0x69, 0x62, 0x3b, 0x4c, 0x61, 0x62, 0x3b, 0x50, 0x6f, 0x6f, 0x3b, 0x4f, ++0x72, 0x61, 0x72, 0x61, 0x3b, 0x4f, 0x6d, 0x75, 0x6b, 0x3b, 0x4f, 0x6b, 0x77, 0x61, 0x6d, 0x67, 0x2019, 0x3b, 0x4f, 0x64, ++0x75, 0x6e, 0x67, 0x2019, 0x65, 0x6c, 0x3b, 0x4f, 0x6d, 0x61, 0x72, 0x75, 0x6b, 0x3b, 0x4f, 0x6d, 0x6f, 0x64, 0x6f, 0x6b, ++0x2019, 0x6b, 0x69, 0x6e, 0x67, 0x2019, 0x6f, 0x6c, 0x3b, 0x4f, 0x6a, 0x6f, 0x6c, 0x61, 0x3b, 0x4f, 0x70, 0x65, 0x64, 0x65, ++0x6c, 0x3b, 0x4f, 0x73, 0x6f, 0x6b, 0x6f, 0x73, 0x6f, 0x6b, 0x6f, 0x6d, 0x61, 0x3b, 0x4f, 0x74, 0x69, 0x62, 0x61, 0x72, ++0x3b, 0x4f, 0x6c, 0x61, 0x62, 0x6f, 0x72, 0x3b, 0x4f, 0x70, 0x6f, 0x6f, 0x3b, 0x52, 0x3b, 0x4d, 0x3b, 0x4b, 0x3b, 0x44, ++0x3b, 0x4d, 0x3b, 0x4d, 0x3b, 0x4a, 0x3b, 0x50, 0x3b, 0x53, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x50, 0x3b, 0x17d, 0x61, 0x6e, ++0x3b, 0x46, 0x65, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x77, 0x69, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, 0x3b, ++0x17d, 0x75, 0x79, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x6f, 0x3b, 0x44, ++0x65, 0x65, 0x3b, 0x17d, 0x61, 0x6e, 0x77, 0x69, 0x79, 0x65, 0x3b, 0x46, 0x65, 0x65, 0x77, 0x69, 0x72, 0x69, 0x79, 0x65, ++0x3b, 0x4d, 0x61, 0x72, 0x73, 0x69, 0x3b, 0x41, 0x77, 0x69, 0x72, 0x69, 0x6c, 0x3b, 0x4d, 0x65, 0x3b, 0x17d, 0x75, 0x77, ++0x65, 0x14b, 0x3b, 0x17d, 0x75, 0x79, 0x79, 0x65, 0x3b, 0x55, 0x74, 0x3b, 0x53, 0x65, 0x6b, 0x74, 0x61, 0x6e, 0x62, 0x75, ++0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x6f, 0x62, 0x75, 0x72, 0x3b, 0x4e, 0x6f, 0x6f, 0x77, 0x61, 0x6e, 0x62, 0x75, 0x72, ++0x3b, 0x44, 0x65, 0x65, 0x73, 0x61, 0x6e, 0x62, 0x75, 0x72, 0x3b, 0x17d, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, ++0x3b, 0x17d, 0x3b, 0x17d, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x44, 0x41, 0x43, 0x3b, 0x44, ++0x41, 0x52, 0x3b, 0x44, 0x41, 0x44, 0x3b, 0x44, 0x41, 0x4e, 0x3b, 0x44, 0x41, 0x48, 0x3b, 0x44, 0x41, 0x55, 0x3b, 0x44, ++0x41, 0x4f, 0x3b, 0x44, 0x41, 0x42, 0x3b, 0x44, 0x4f, 0x43, 0x3b, 0x44, 0x41, 0x50, 0x3b, 0x44, 0x47, 0x49, 0x3b, 0x44, ++0x41, 0x47, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, ++0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, ++0x41, 0x64, 0x65, 0x6b, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x6e, 0x67, 0x2019, 0x77, 0x65, 0x6e, ++0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x69, 0x63, 0x68, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, ++0x61, 0x72, 0x20, 0x41, 0x75, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, ++0x62, 0x69, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x62, 0x6f, 0x72, 0x6f, ++0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x4f, 0x63, 0x68, 0x69, 0x6b, 0x6f, 0x3b, 0x44, 0x77, 0x65, 0x20, ++0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x67, 0x69, 0x20, ++0x61, 0x63, 0x68, 0x69, 0x65, 0x6c, 0x3b, 0x44, 0x77, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x20, 0x41, 0x70, 0x61, 0x72, 0x20, ++0x67, 0x69, 0x20, 0x61, 0x72, 0x69, 0x79, 0x6f, 0x3b, 0x43, 0x3b, 0x52, 0x3b, 0x44, 0x3b, 0x4e, 0x3b, 0x42, 0x3b, 0x55, ++0x3b, 0x42, 0x3b, 0x42, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x43, 0x3b, 0x50, 0x3b, 0x59, 0x65, 0x6e, 0x3b, 0x59, 0x65, 0x62, ++0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x49, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x59, 0x75, 0x6e, 0x3b, 0x59, 0x75, 0x6c, ++0x3b, 0x194, 0x75, 0x63, 0x3b, 0x43, 0x75, 0x74, 0x3b, 0x4b, 0x1e6d, 0x75, 0x3b, 0x4e, 0x77, 0x61, 0x3b, 0x44, 0x75, 0x6a, ++0x3b, 0x59, 0x65, 0x6e, 0x6e, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x59, 0x65, 0x62, 0x72, 0x61, 0x79, 0x65, 0x72, 0x3b, 0x4d, ++0x61, 0x72, 0x73, 0x3b, 0x49, 0x62, 0x72, 0x69, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x79, 0x75, 0x3b, 0x59, 0x75, 0x6e, 0x79, ++0x75, 0x3b, 0x59, 0x75, 0x6c, 0x79, 0x75, 0x7a, 0x3b, 0x194, 0x75, 0x63, 0x74, 0x3b, 0x43, 0x75, 0x74, 0x61, 0x6e, 0x62, ++0x69, 0x72, 0x3b, 0x4b, 0x1e6d, 0x75, 0x62, 0x65, 0x72, 0x3b, 0x4e, 0x77, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x44, 0x75, ++0x6a, 0x61, 0x6e, 0x62, 0x69, 0x72, 0x3b, 0x59, 0x3b, 0x59, 0x3b, 0x4d, 0x3b, 0x49, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x59, ++0x3b, 0x194, 0x3b, 0x43, 0x3b, 0x4b, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x46, ++0x65, 0x62, 0x6c, 0x75, 0x61, 0x6c, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x3b, 0x41, 0x70, 0x6c, 0x69, 0x6c, 0x69, ++0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x41, 0x67, 0x6f, 0x73, ++0x74, 0x69, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x3b, 0x4e, ++0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x65, 0x73, 0x65, 0x6d, 0x62, 0x61, 0x3b, 0x91c, 0x93e, 0x928, 0x941, 0x935, ++0x93e, 0x930, 0x940, 0x3b, 0x92b, 0x947, 0x92c, 0x94d, 0x930, 0x941, 0x935, 0x93e, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x938, ++0x3b, 0x90f, 0x92b, 0x94d, 0x930, 0x93f, 0x932, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x907, ++0x3b, 0x906, 0x917, 0x938, 0x94d, 0x925, 0x3b, 0x938, 0x947, 0x92c, 0x925, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x905, 0x916, ++0x925, 0x92c, 0x930, 0x3b, 0x928, 0x92c, 0x947, 0x91c, 0x94d, 0x92c, 0x93c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x947, 0x91c, 0x94d, 0x92c, ++0x93c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x947, 0x3b, 0x92e, 0x93e, 0x3b, 0x90f, 0x3b, 0x92e, 0x947, 0x3b, 0x91c, 0x941, 0x3b, 0x91c, ++0x941, 0x3b, 0x906, 0x3b, 0x938, 0x947, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, 0x43, 0x69, 0x6f, 0x3b, 0x4c, 0x75, ++0x69, 0x3b, 0x4c, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x75, 0x3b, 0x4c, 0x75, 0x6d, 0x3b, 0x4c, 0x75, 0x66, 0x3b, 0x4b, 0x61, ++0x62, 0x3b, 0x4c, 0x75, 0x73, 0x68, 0x3b, 0x4c, 0x75, 0x74, 0x3b, 0x4c, 0x75, 0x6e, 0x3b, 0x4b, 0x61, 0x73, 0x3b, 0x43, ++0x69, 0x73, 0x3b, 0x43, 0x69, 0x6f, 0x6e, 0x67, 0x6f, 0x3b, 0x4c, 0xf9, 0x69, 0x73, 0x68, 0x69, 0x3b, 0x4c, 0x75, 0x73, ++0xf2, 0x6c, 0x6f, 0x3b, 0x4d, 0xf9, 0x75, 0x79, 0xe0, 0x3b, 0x4c, 0x75, 0x6d, 0xf9, 0x6e, 0x67, 0xf9, 0x6c, 0xf9, 0x3b, ++0x4c, 0x75, 0x66, 0x75, 0x69, 0x6d, 0x69, 0x3b, 0x4b, 0x61, 0x62, 0xe0, 0x6c, 0xe0, 0x73, 0x68, 0xec, 0x70, 0xf9, 0x3b, ++0x4c, 0xf9, 0x73, 0x68, 0xec, 0x6b, 0xe0, 0x3b, 0x4c, 0x75, 0x74, 0x6f, 0x6e, 0x67, 0x6f, 0x6c, 0x6f, 0x3b, 0x4c, 0x75, ++0x6e, 0x67, 0xf9, 0x64, 0x69, 0x3b, 0x4b, 0x61, 0x73, 0x77, 0xe8, 0x6b, 0xe8, 0x73, 0xe8, 0x3b, 0x43, 0x69, 0x73, 0x77, ++0xe0, 0x3b, 0x43, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x4c, 0x3b, 0x4c, 0x3b, ++0x4c, 0x3b, 0x4b, 0x3b, 0x43, 0x3b, 0x4a, 0x61, 0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0xe4, 0x65, 0x3b, 0x41, 0x62, ++0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x41, 0x75, 0x67, 0x3b, 0x53, 0x65, ++0x70, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x76, 0x3b, 0x44, 0x65, 0x7a, 0x3b, 0x4a, 0x61, 0x6e, 0x75, 0x61, 0x72, ++0x3b, 0x46, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x4d, 0xe4, 0x65, 0x72, 0x7a, 0x3b, 0x41, 0x62, 0x72, 0xeb, 0x6c, ++0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x75, ++0x73, 0x74, 0x3b, 0x53, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, ++0x3b, 0x4e, 0x6f, 0x76, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x44, 0x65, 0x7a, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x4a, ++0x61, 0x6e, 0x2e, 0x3b, 0x46, 0x65, 0x62, 0x2e, 0x3b, 0x4d, 0xe4, 0x65, 0x2e, 0x3b, 0x41, 0x62, 0x72, 0x2e, 0x3b, 0x4d, ++0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x69, 0x3b, 0x4a, 0x75, 0x6c, 0x69, 0x3b, 0x41, 0x75, 0x67, 0x2e, 0x3b, 0x53, 0x65, ++0x70, 0x2e, 0x3b, 0x4f, 0x6b, 0x74, 0x2e, 0x3b, 0x4e, 0x6f, 0x76, 0x2e, 0x3b, 0x44, 0x65, 0x7a, 0x2e, 0x3b, 0x6e, 0xf9, ++0x6d, 0x3b, 0x6b, 0x268, 0x7a, 0x3b, 0x74, 0x268, 0x64, 0x3b, 0x74, 0x61, 0x61, 0x3b, 0x73, 0x65, 0x65, 0x3b, 0x6e, 0x7a, ++0x75, 0x3b, 0x64, 0x75, 0x6d, 0x3b, 0x66, 0x254, 0x65, 0x3b, 0x64, 0x7a, 0x75, 0x3b, 0x6c, 0x254, 0x6d, 0x3b, 0x6b, 0x61, ++0x61, 0x3b, 0x66, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0xf9, 0x6d, 0x3b, 0x6e, 0x64, ++0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x197, 0x300, 0x7a, 0xf9, 0x294, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, ++0x300, 0x74, 0x197, 0x300, 0x64, 0x289, 0x300, 0x67, 0x68, 0xe0, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, ++0x1ce, 0x61, 0x66, 0x289, 0x304, 0x67, 0x68, 0x101, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x73, 0xe8, 0x65, 0x3b, ++0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6e, 0x7a, 0xf9, 0x67, 0x68, 0xf2, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, ++0x14b, 0x254, 0x300, 0x64, 0xf9, 0x6d, 0x6c, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x6b, 0x77, 0xee, ++0x66, 0x254, 0x300, 0x65, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x74, 0x197, 0x300, 0x66, 0x289, 0x300, 0x67, ++0x68, 0xe0, 0x64, 0x7a, 0x75, 0x67, 0x68, 0xf9, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x67, 0x68, 0x1d4, ++0x75, 0x77, 0x65, 0x6c, 0x254, 0x300, 0x6d, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0x254, 0x300, 0x63, 0x68, 0x77, 0x61, ++0x294, 0xe0, 0x6b, 0x61, 0x61, 0x20, 0x77, 0x6f, 0x3b, 0x6e, 0x64, 0x7a, 0x254, 0x300, 0x14b, 0xe8, 0x66, 0x77, 0xf2, 0x6f, ++0x3b, 0x6e, 0x3b, 0x6b, 0x3b, 0x74, 0x3b, 0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6b, 0x3b, 0x66, 0x3b, 0x64, 0x3b, 0x6c, ++0x3b, 0x63, 0x3b, 0x66, 0x3b, 0x6b, 0x254, 0x6e, 0x3b, 0x6d, 0x61, 0x63, 0x3b, 0x6d, 0x61, 0x74, 0x3b, 0x6d, 0x74, 0x6f, ++0x3b, 0x6d, 0x70, 0x75, 0x3b, 0x68, 0x69, 0x6c, 0x3b, 0x6e, 0x6a, 0x65, 0x3b, 0x68, 0x69, 0x6b, 0x3b, 0x64, 0x69, 0x70, ++0x3b, 0x62, 0x69, 0x6f, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x6c, 0x69, 0x253, 0x3b, 0x4b, 0x254, 0x6e, 0x64, 0x254, 0x14b, 0x3b, ++0x4d, 0xe0, 0x63, 0x25b, 0x302, 0x6c, 0x3b, 0x4d, 0xe0, 0x74, 0xf9, 0x6d, 0x62, 0x3b, 0x4d, 0xe0, 0x74, 0x6f, 0x70, 0x3b, ++0x4d, 0x300, 0x70, 0x75, 0x79, 0x25b, 0x3b, 0x48, 0xec, 0x6c, 0xf2, 0x6e, 0x64, 0x25b, 0x300, 0x3b, 0x4e, 0x6a, 0xe8, 0x62, ++0xe0, 0x3b, 0x48, 0xec, 0x6b, 0x61, 0x14b, 0x3b, 0x44, 0xec, 0x70, 0x254, 0x300, 0x73, 0x3b, 0x42, 0xec, 0xf2, 0xf4, 0x6d, ++0x3b, 0x4d, 0xe0, 0x79, 0x25b, 0x73, 0xe8, 0x70, 0x3b, 0x4c, 0xec, 0x62, 0x75, 0x79, 0x20, 0x6c, 0x69, 0x20, 0x144, 0x79, ++0xe8, 0x65, 0x3b, 0x6b, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x6d, 0x3b, 0x68, 0x3b, 0x6e, 0x3b, 0x68, 0x3b, 0x64, ++0x3b, 0x62, 0x3b, 0x6d, 0x3b, 0x6c, 0x3b, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x3b, 0x73, 0x254, 0x14b, 0x3b, 0x64, ++0x69, 0x253, 0x3b, 0x65, 0x6d, 0x69, 0x3b, 0x65, 0x73, 0x254, 0x3b, 0x6d, 0x61, 0x64, 0x3b, 0x64, 0x69, 0x14b, 0x3b, 0x6e, ++0x79, 0x25b, 0x74, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x74, 0x69, 0x6e, 0x3b, 0x65, 0x6c, 0xe1, 0x3b, 0x64, 0x69, 0x6d, 0x254, ++0x301, 0x64, 0x69, 0x3b, 0x14b, 0x67, 0x254, 0x6e, 0x64, 0x25b, 0x3b, 0x73, 0x254, 0x14b, 0x25b, 0x3b, 0x64, 0x69, 0x253, 0xe1, ++0x253, 0xe1, 0x3b, 0x65, 0x6d, 0x69, 0x61, 0x73, 0x65, 0x6c, 0x65, 0x3b, 0x65, 0x73, 0x254, 0x70, 0x25b, 0x73, 0x254, 0x70, ++0x25b, 0x3b, 0x6d, 0x61, 0x64, 0x69, 0x253, 0x25b, 0x301, 0x64, 0xed, 0x253, 0x25b, 0x301, 0x3b, 0x64, 0x69, 0x14b, 0x67, 0x69, ++0x6e, 0x64, 0x69, 0x3b, 0x6e, 0x79, 0x25b, 0x74, 0x25b, 0x6b, 0x69, 0x3b, 0x6d, 0x61, 0x79, 0xe9, 0x73, 0x25b, 0x301, 0x3b, ++0x74, 0x69, 0x6e, 0xed, 0x6e, 0xed, 0x3b, 0x65, 0x6c, 0xe1, 0x14b, 0x67, 0x25b, 0x301, 0x3b, 0x64, 0x3b, 0x14b, 0x3b, 0x73, ++0x3b, 0x64, 0x3b, 0x65, 0x3b, 0x65, 0x3b, 0x6d, 0x3b, 0x64, 0x3b, 0x6e, 0x3b, 0x6d, 0x3b, 0x74, 0x3b, 0x65, 0x3b, 0x53, ++0x61, 0x3b, 0x46, 0x65, 0x3b, 0x4d, 0x61, 0x3b, 0x41, 0x62, 0x3b, 0x4d, 0x65, 0x3b, 0x53, 0x75, 0x3b, 0x53, 0xfa, 0x3b, ++0x55, 0x74, 0x3b, 0x53, 0x65, 0x3b, 0x4f, 0x6b, 0x3b, 0x4e, 0x6f, 0x3b, 0x44, 0x65, 0x3b, 0x53, 0x61, 0x6e, 0x76, 0x69, ++0x65, 0x3b, 0x46, 0xe9, 0x62, 0x69, 0x72, 0x69, 0x65, 0x3b, 0x4d, 0x61, 0x72, 0x73, 0x3b, 0x41, 0x62, 0x75, 0x72, 0x69, ++0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x53, 0x75, 0x65, 0x14b, 0x3b, 0x53, 0xfa, 0x75, 0x79, 0x65, 0x65, 0x3b, 0x55, 0x74, ++0x3b, 0x53, 0x65, 0x74, 0x74, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x4f, 0x6b, 0x74, 0x6f, 0x62, 0x61, 0x72, 0x3b, 0x4e, ++0x6f, 0x76, 0x65, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x44, 0x69, 0x73, 0x61, 0x6d, 0x62, 0x61, 0x72, 0x3b, 0x53, 0x3b, 0x46, ++0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x55, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, ++0x3b, 0x6e, 0x67, 0x6f, 0x3b, 0x6e, 0x67, 0x62, 0x3b, 0x6e, 0x67, 0x6c, 0x3b, 0x6e, 0x67, 0x6e, 0x3b, 0x6e, 0x67, 0x74, ++0x3b, 0x6e, 0x67, 0x73, 0x3b, 0x6e, 0x67, 0x7a, 0x3b, 0x6e, 0x67, 0x6d, 0x3b, 0x6e, 0x67, 0x65, 0x3b, 0x6e, 0x67, 0x61, ++0x3b, 0x6e, 0x67, 0x61, 0x64, 0x3b, 0x6e, 0x67, 0x61, 0x62, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6f, 0x73, 0xfa, 0x3b, ++0x6e, 0x67, 0x254, 0x6e, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6c, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, ++0x67, 0x254, 0x6e, 0x20, 0x6e, 0x79, 0x69, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x74, 0xe1, 0x6e, 0x61, 0x3b, ++0x6e, 0x67, 0x254, 0x6e, 0x20, 0x73, 0x61, 0x6d, 0x259, 0x6e, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x7a, 0x61, 0x6d, ++0x67, 0x62, 0xe1, 0x6c, 0x61, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x6d, 0x77, 0x6f, 0x6d, 0x3b, 0x6e, 0x67, 0x254, 0x6e, ++0x20, 0x65, 0x62, 0x75, 0x6c, 0xfa, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x3b, 0x6e, 0x67, 0x254, ++0x6e, 0x20, 0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x64, 0x7a, 0x69, 0xe1, 0x3b, 0x6e, 0x67, 0x254, 0x6e, 0x20, ++0x61, 0x77, 0xf3, 0x6d, 0x20, 0x61, 0x69, 0x20, 0x62, 0x25b, 0x30c, 0x3b, 0x6f, 0x3b, 0x62, 0x3b, 0x6c, 0x3b, 0x6e, 0x3b, ++0x74, 0x3b, 0x73, 0x3b, 0x7a, 0x3b, 0x6d, 0x3b, 0x65, 0x3b, 0x61, 0x3b, 0x64, 0x3b, 0x62, 0x3b, 0x14b, 0x31, 0x3b, 0x14b, ++0x32, 0x3b, 0x14b, 0x33, 0x3b, 0x14b, 0x34, 0x3b, 0x14b, 0x35, 0x3b, 0x14b, 0x36, 0x3b, 0x14b, 0x37, 0x3b, 0x14b, 0x38, 0x3b, ++0x14b, 0x39, 0x3b, 0x14b, 0x31, 0x30, 0x3b, 0x14b, 0x31, 0x31, 0x3b, 0x14b, 0x31, 0x32, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, ++0x61, 0x20, 0x6e, 0x74, 0x254, 0x301, 0x6e, 0x74, 0x254, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x62, ++0x25b, 0x301, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x72, 0xe1, 0xe1, 0x3b, 0x14b, 0x77, 0xed, ++0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, ++0xe1, 0x61, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x66, 0x254, 0x6b, 0x3b, ++0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x62, 0x25b, 0x25b, 0x3b, 0x14b, 0x77, 0xed, 0xed, ++0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x74, 0xe1, 0x61, 0x72, 0x61, 0x61, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, ++0x20, 0x74, 0xe1, 0x61, 0x6e, 0x69, 0x6e, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, ++0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, 0x20, 0x62, ++0x254, 0x301, 0x6b, 0x3b, 0x14b, 0x77, 0xed, 0xed, 0x20, 0x61, 0x6b, 0x1dd, 0x20, 0x6e, 0x74, 0x25b, 0x6b, 0x20, 0x64, 0x69, ++0x20, 0x62, 0x25b, 0x301, 0x25b, 0x3b, 0x4b, 0x77, 0x61, 0x3b, 0x55, 0x6e, 0x61, 0x3b, 0x52, 0x61, 0x72, 0x3b, 0x43, 0x68, ++0x65, 0x3b, 0x54, 0x68, 0x61, 0x3b, 0x4d, 0x6f, 0x63, 0x3b, 0x53, 0x61, 0x62, 0x3b, 0x4e, 0x61, 0x6e, 0x3b, 0x54, 0x69, ++0x73, 0x3b, 0x4b, 0x75, 0x6d, 0x3b, 0x4d, 0x6f, 0x6a, 0x3b, 0x59, 0x65, 0x6c, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, ++0x77, 0x6f, 0x20, 0x6b, 0x77, 0x61, 0x6e, 0x7a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, ++0x6e, 0x61, 0x79, 0x65, 0x6c, 0x69, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x72, ++0x61, 0x72, 0x75, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x63, 0x68, 0x65, 0x73, ++0x68, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x75, 0x6e, 0x65, 0x74, 0x68, 0x61, 0x6e, 0x75, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x75, 0x20, 0x6e, 0x61, 0x20, 0x6d, ++0x6f, 0x63, 0x68, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x73, 0x61, 0x62, 0x61, 0x3b, 0x4d, ++0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6e, 0x61, 0x6e, 0x65, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, ++0x6f, 0x20, 0x74, 0x69, 0x73, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, ++0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, 0x6d, 0x6f, ++0x6a, 0x61, 0x3b, 0x4d, 0x77, 0x65, 0x72, 0x69, 0x20, 0x77, 0x6f, 0x20, 0x6b, 0x75, 0x6d, 0x69, 0x20, 0x6e, 0x61, 0x20, ++0x79, 0x65, 0x6c, 0x2019, 0x6c, 0x69, 0x3b, 0x4b, 0x3b, 0x55, 0x3b, 0x52, 0x3b, 0x43, 0x3b, 0x54, 0x3b, 0x4d, 0x3b, 0x53, ++0x3b, 0x4e, 0x3b, 0x54, 0x3b, 0x4b, 0x3b, 0x4d, 0x3b, 0x59, 0x3b, 0x46, 0x4c, 0x4f, 0x3b, 0x43, 0x4c, 0x41, 0x3b, 0x43, ++0x4b, 0x49, 0x3b, 0x46, 0x4d, 0x46, 0x3b, 0x4d, 0x41, 0x44, 0x3b, 0x4d, 0x42, 0x49, 0x3b, 0x4d, 0x4c, 0x49, 0x3b, 0x4d, ++0x41, 0x4d, 0x3b, 0x46, 0x44, 0x45, 0x3b, 0x46, 0x4d, 0x55, 0x3b, 0x46, 0x47, 0x57, 0x3b, 0x46, 0x59, 0x55, 0x3b, 0x46, ++0x129, 0x69, 0x20, 0x4c, 0x6f, 0x6f, 0x3b, 0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x61, 0x14b, 0x6e, 0x65, 0x3b, ++0x43, 0x6f, 0x6b, 0x63, 0x77, 0x61, 0x6b, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x61, 0x72, 0x66, 0x6f, ++0x6f, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x1dd, 0x75, 0x75, 0x74, 0x1dd, 0x62, 0x69, 0x6a, 0x61, 0x14b, 0x3b, 0x4d, 0x61, 0x6d, ++0x1dd, 0x14b, 0x67, 0x77, 0xe3, 0x61, 0x66, 0x61, 0x68, 0x62, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x6d, 0x1dd, 0x14b, 0x67, 0x77, ++0xe3, 0x61, 0x6c, 0x69, 0x69, 0x3b, 0x4d, 0x61, 0x64, 0x1dd, 0x6d, 0x62, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x44, ++0x1dd, 0x253, 0x6c, 0x69, 0x69, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x4d, 0x75, 0x6e, 0x64, 0x61, 0x14b, 0x3b, 0x46, 0x129, 0x69, ++0x20, 0x47, 0x77, 0x61, 0x68, 0x6c, 0x6c, 0x65, 0x3b, 0x46, 0x129, 0x69, 0x20, 0x59, 0x75, 0x72, 0x75, 0x3b, 0x4f, 0x3b, ++0x41, 0x3b, 0x49, 0x3b, 0x46, 0x3b, 0x44, 0x3b, 0x42, 0x3b, 0x4c, 0x3b, 0x4d, 0x3b, 0x45, 0x3b, 0x55, 0x3b, 0x57, 0x3b, ++0x59, 0x3b, 0x6e, 0x67, 0x31, 0x3b, 0x6e, 0x67, 0x32, 0x3b, 0x6e, 0x67, 0x33, 0x3b, 0x6e, 0x67, 0x34, 0x3b, 0x6e, 0x67, ++0x35, 0x3b, 0x6e, 0x67, 0x36, 0x3b, 0x6e, 0x67, 0x37, 0x3b, 0x6e, 0x67, 0x38, 0x3b, 0x6e, 0x67, 0x39, 0x3b, 0x6e, 0x67, ++0x31, 0x30, 0x3b, 0x6e, 0x67, 0x31, 0x31, 0x3b, 0x6b, 0x72, 0x69, 0x73, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x6d, ++0x61, 0x74, 0xe1, 0x68, 0x72, 0x61, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6d, 0x62, 0x61, 0x3b, 0x6e, 0x67, ++0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6c, 0x61, 0x6c, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x6e, 0x61, 0x3b, 0x6e, ++0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x61, 0x6e, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x144, 0x74, 0x75, 0xf3, ++0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x68, 0x25b, 0x6d, 0x62, 0x75, 0x25b, 0x72, 0xed, 0x3b, 0x6e, 0x67, 0x77, 0x25b, ++0x6e, 0x20, 0x6c, 0x254, 0x6d, 0x62, 0x69, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x72, 0x25b, 0x62, 0x76, 0x75, 0xe2, ++0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, 0x3b, 0x6e, 0x67, 0x77, 0x25b, 0x6e, 0x20, 0x77, 0x75, 0x6d, ++0x20, 0x6e, 0x61, 0x76, 0x1d4, 0x72, 0x3b, 0x6b, 0x72, 0xed, 0x73, 0x69, 0x6d, 0x69, 0x6e, 0x3b, 0x54, 0x69, 0x6f, 0x70, ++0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x3b, 0x47, 0x75, 0x61, 0x6b, 0x3b, 0x44, 0x75, 0xe4, ++0x3b, 0x4b, 0x6f, 0x72, 0x3b, 0x50, 0x61, 0x79, 0x3b, 0x54, 0x68, 0x6f, 0x6f, 0x3b, 0x54, 0x25b, 0x25b, 0x3b, 0x4c, 0x61, ++0x61, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x64, 0x3b, 0x54, 0x69, 0x6f, 0x70, 0x20, 0x74, 0x68, 0x61, 0x72, 0x20, ++0x70, 0x25b, 0x74, 0x3b, 0x50, 0x25b, 0x74, 0x3b, 0x44, 0x75, 0x254, 0x331, 0x254, 0x331, 0x14b, 0x3b, 0x47, 0x75, 0x61, 0x6b, ++0x3b, 0x44, 0x75, 0xe4, 0x74, 0x3b, 0x4b, 0x6f, 0x72, 0x6e, 0x79, 0x6f, 0x6f, 0x74, 0x3b, 0x50, 0x61, 0x79, 0x20, 0x79, ++0x69, 0x65, 0x331, 0x74, 0x6e, 0x69, 0x3b, 0x54, 0x68, 0x6f, 0x331, 0x6f, 0x331, 0x72, 0x3b, 0x54, 0x25b, 0x25b, 0x72, 0x3b, ++0x4c, 0x61, 0x61, 0x74, 0x68, 0x3b, 0x4b, 0x75, 0x72, 0x3b, 0x54, 0x69, 0x6f, 0x331, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x64, ++0x69, 0x331, 0x69, 0x331, 0x74, 0x3b, 0x54, 0x3b, 0x50, 0x3b, 0x44, 0x3b, 0x47, 0x3b, 0x44, 0x3b, 0x4b, 0x3b, 0x50, 0x3b, ++0x54, 0x3b, 0x54, 0x3b, 0x4c, 0x3b, 0x4b, 0x3b, 0x54, 0x3b, 0x422, 0x43e, 0x445, 0x441, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x3b, ++0x41a, 0x43b, 0x43d, 0x3b, 0x41c, 0x441, 0x443, 0x3b, 0x42b, 0x430, 0x43c, 0x3b, 0x411, 0x44d, 0x441, 0x3b, 0x41e, 0x442, 0x439, 0x3b, ++0x410, 0x442, 0x440, 0x3b, 0x411, 0x43b, 0x495, 0x3b, 0x410, 0x43b, 0x442, 0x3b, 0x421, 0x44d, 0x442, 0x3b, 0x410, 0x445, 0x441, 0x3b, ++0x442, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x43a, 0x443, ++0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x43c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, ++0x3b, 0x44b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x43e, 0x442, 0x20, ++0x44b, 0x439, 0x430, 0x3b, 0x430, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x431, 0x430, 0x43b, ++0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x430, 0x3b, 0x430, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x441, 0x44d, ++0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, 0x3b, 0x422, 0x3b, 0x41e, 0x3b, ++0x41a, 0x3b, 0x41c, 0x3b, 0x42b, 0x3b, 0x411, 0x3b, 0x41e, 0x3b, 0x410, 0x3b, 0x411, 0x3b, 0x410, 0x3b, 0x421, 0x3b, 0x410, 0x3b, ++0x422, 0x43e, 0x445, 0x441, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41e, 0x43b, 0x443, 0x43d, 0x43d, 0x44c, 0x443, 0x3b, 0x41a, 0x443, ++0x43b, 0x443, 0x43d, 0x20, 0x442, 0x443, 0x442, 0x430, 0x440, 0x3b, 0x41c, 0x443, 0x443, 0x441, 0x20, 0x443, 0x441, 0x442, 0x430, 0x440, ++0x3b, 0x42b, 0x430, 0x43c, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x411, 0x44d, 0x441, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x41e, ++0x442, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x442, 0x44b, 0x440, 0x434, 0x44c, 0x44b, 0x445, 0x20, 0x44b, 0x439, 0x44b, 0x43d, ++0x3b, 0x411, 0x430, 0x43b, 0x430, 0x495, 0x430, 0x43d, 0x20, 0x44b, 0x439, 0x44b, 0x43d, 0x3b, 0x410, 0x43b, 0x442, 0x44b, 0x43d, 0x43d, ++0x44c, 0x44b, 0x3b, 0x421, 0x44d, 0x442, 0x438, 0x43d, 0x43d, 0x44c, 0x438, 0x3b, 0x430, 0x445, 0x441, 0x44b, 0x43d, 0x43d, 0x44c, 0x44b, ++0x3b, 0x4d, 0x75, 0x70, 0x3b, 0x4d, 0x77, 0x69, 0x3b, 0x4d, 0x73, 0x68, 0x3b, 0x4d, 0x75, 0x6e, 0x3b, 0x4d, 0x61, 0x67, ++0x3b, 0x4d, 0x75, 0x6a, 0x3b, 0x4d, 0x73, 0x70, 0x3b, 0x4d, 0x70, 0x67, 0x3b, 0x4d, 0x79, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, ++0x3b, 0x4d, 0x75, 0x73, 0x3b, 0x4d, 0x75, 0x68, 0x3b, 0x4d, 0x75, 0x70, 0x61, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x6c, 0x77, ++0x61, 0x3b, 0x4d, 0x77, 0x69, 0x74, 0x6f, 0x70, 0x65, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x3b, 0x4d, ++0x75, 0x6e, 0x79, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x65, 0x6e, 0x64, 0x65, 0x20, 0x4d, 0x61, 0x67, 0x61, 0x6c, 0x69, ++0x3b, 0x4d, 0x75, 0x6a, 0x69, 0x6d, 0x62, 0x69, 0x3b, 0x4d, 0x75, 0x73, 0x68, 0x69, 0x70, 0x65, 0x70, 0x6f, 0x3b, 0x4d, ++0x75, 0x70, 0x75, 0x67, 0x75, 0x74, 0x6f, 0x3b, 0x4d, 0x75, 0x6e, 0x79, 0x65, 0x6e, 0x73, 0x65, 0x3b, 0x4d, 0x6f, 0x6b, ++0x68, 0x75, 0x3b, 0x4d, 0x75, 0x73, 0x6f, 0x6e, 0x67, 0x61, 0x6e, 0x64, 0x65, 0x6d, 0x62, 0x77, 0x65, 0x3b, 0x4d, 0x75, ++0x68, 0x61, 0x61, 0x6e, 0x6f, 0x3b, 0xa5a8, 0xa595, 0xa51e, 0x3b, 0xa552, 0xa561, 0x3b, 0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, ++0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, 0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0x3b, ++0xa5a8, 0xa595, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, 0xa51e, 0xa500, 0xa56e, 0xa54a, 0x3b, 0xa552, 0xa561, 0xa59d, 0xa595, 0x3b, ++0xa57e, 0xa5ba, 0x3b, 0xa5a2, 0xa595, 0x3b, 0xa591, 0xa571, 0x3b, 0xa5b1, 0xa60b, 0x3b, 0xa5b1, 0xa55e, 0xa524, 0x3b, 0xa5db, 0xa515, 0x3b, 0xa562, ++0xa54c, 0x3b, 0xa56d, 0xa583, 0x3b, 0xa51e, 0xa60b, 0xa554, 0xa57f, 0x20, 0xa578, 0xa583, 0xa5cf, 0x3b, 0xa5a8, 0xa595, 0x20, 0xa56a, 0xa574, 0x20, ++0xa5cf, 0xa5ba, 0xa56e, 0xa54a, 0x3b, 0x4a, 0x65, 0x6e, 0x3b, 0x48, 0x6f, 0x72, 0x3b, 0x4d, 0xe4, 0x72, 0x3b, 0x41, 0x62, 0x72, ++0x3b, 0x4d, 0x65, 0x69, 0x3b, 0x42, 0x72, 0xe1, 0x3b, 0x48, 0x65, 0x69, 0x3b, 0xd6, 0x69, 0x67, 0x3b, 0x48, 0x65, 0x72, ++0x3b, 0x57, 0xed, 0x6d, 0x3b, 0x57, 0x69, 0x6e, 0x3b, 0x43, 0x68, 0x72, 0x3b, 0x4a, 0x65, 0x6e, 0x6e, 0x65, 0x72, 0x3b, ++0x48, 0x6f, 0x72, 0x6e, 0x69, 0x67, 0x3b, 0x4d, 0xe4, 0x72, 0x7a, 0x65, 0x3b, 0x41, 0x62, 0x72, 0x69, 0x6c, 0x6c, 0x65, ++0x3b, 0x4d, 0x65, 0x69, 0x6a, 0x65, 0x3b, 0x42, 0x72, 0xe1, 0x10d, 0x65, 0x74, 0x3b, 0x48, 0x65, 0x69, 0x77, 0x65, 0x74, ++0x3b, 0xd6, 0x69, 0x67, 0x161, 0x74, 0x65, 0x3b, 0x48, 0x65, 0x72, 0x62, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, ++0x57, 0xed, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x57, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, ++0x43, 0x68, 0x72, 0x69, 0x161, 0x74, 0x6d, 0xe1, 0x6e, 0x65, 0x74, 0x3b, 0x4a, 0x3b, 0x48, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, ++0x4d, 0x3b, 0x42, 0x3b, 0x48, 0x3b, 0xd6, 0x3b, 0x48, 0x3b, 0x57, 0x3b, 0x57, 0x3b, 0x43, 0x3b, 0x6f, 0x2e, 0x31, 0x3b, ++0x6f, 0x2e, 0x32, 0x3b, 0x6f, 0x2e, 0x33, 0x3b, 0x6f, 0x2e, 0x34, 0x3b, 0x6f, 0x2e, 0x35, 0x3b, 0x6f, 0x2e, 0x36, 0x3b, ++0x6f, 0x2e, 0x37, 0x3b, 0x6f, 0x2e, 0x38, 0x3b, 0x6f, 0x2e, 0x39, 0x3b, 0x6f, 0x2e, 0x31, 0x30, 0x3b, 0x6f, 0x2e, 0x31, ++0x31, 0x3b, 0x6f, 0x2e, 0x31, 0x32, 0x3b, 0x70, 0x69, 0x6b, 0xed, 0x74, 0xed, 0x6b, 0xed, 0x74, 0x69, 0x65, 0x2c, 0x20, ++0x6f, 0xf3, 0x6c, 0xed, 0x20, 0xfa, 0x20, 0x6b, 0x75, 0x74, 0xfa, 0x61, 0x6e, 0x3b, 0x73, 0x69, 0x25b, 0x79, 0x25b, 0x301, ++0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x6e, 0x64, 0xed, 0x25b, 0x3b, 0x254, 0x6e, 0x73, 0xfa, ++0x6d, 0x62, 0x254, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x74, 0xfa, 0x25b, ++0x3b, 0x6d, 0x65, 0x73, 0x69, 0x14b, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe9, 0x6e, 0x69, 0x65, ++0x3b, 0x65, 0x6e, 0x73, 0x69, 0x6c, 0x2c, 0x20, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xe1, 0x6e, ++0x75, 0x25b, 0x3b, 0x254, 0x73, 0x254, 0x6e, 0x3b, 0x65, 0x66, 0x75, 0x74, 0x65, 0x3b, 0x70, 0x69, 0x73, 0x75, 0x79, 0xfa, ++0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, 0x70, 0x75, 0x254, 0x73, 0x3b, 0x69, 0x6d, 0x25b, 0x14b, 0x20, 0x69, 0x20, ++0x70, 0x75, 0x74, 0xfa, 0x6b, 0x2c, 0x6f, 0xf3, 0x6c, 0x69, 0x20, 0xfa, 0x20, 0x6b, 0xe1, 0x74, 0xed, 0x25b, 0x3b, 0x6d, ++0x61, 0x6b, 0x61, 0x6e, 0x64, 0x69, 0x6b, 0x25b, 0x3b, 0x70, 0x69, 0x6c, 0x254, 0x6e, 0x64, 0x254, 0x301, 0x3b, 0x58, 0x69, ++0x6e, 0x3b, 0x46, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x62, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x58, 0x75, ++0x6e, 0x3b, 0x58, 0x6e, 0x74, 0x3b, 0x41, 0x67, 0x6f, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x63, 0x68, 0x3b, 0x50, 0x61, ++0x79, 0x3b, 0x41, 0x76, 0x69, 0x3b, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x65, 0x72, 0x75, ++0x3b, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x61, 0x62, 0x72, 0x69, 0x6c, 0x3b, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x78, 0x75, ++0x6e, 0x75, 0x3b, 0x78, 0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x73, 0x65, 0x74, ++0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x70, 0x61, 0x79, 0x61, 0x72, ++0x65, 0x73, 0x3b, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, 0x58, 0x3b, 0x46, 0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, ++0x3b, 0x58, 0x3b, 0x58, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x50, 0x3b, 0x41, 0x3b, 0x78, 0x69, 0x6e, 0x3b, 0x66, ++0x65, 0x62, 0x3b, 0x6d, 0x61, 0x72, 0x3b, 0x61, 0x62, 0x72, 0x3b, 0x6d, 0x61, 0x79, 0x3b, 0x78, 0x75, 0x6e, 0x3b, 0x78, ++0x6e, 0x74, 0x3b, 0x61, 0x67, 0x6f, 0x3b, 0x73, 0x65, 0x74, 0x3b, 0x6f, 0x63, 0x68, 0x3b, 0x70, 0x61, 0x79, 0x3b, 0x61, ++0x76, 0x69, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x69, 0x6e, 0x65, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x66, 0x65, 0x62, 0x72, ++0x65, 0x72, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x72, 0x7a, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x62, 0x72, 0x69, 0x6c, ++0x3b, 0x64, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x78, 0x75, 0x6e, 0x75, 0x3b, 0x64, 0x65, 0x20, ++0x78, 0x75, 0x6e, 0x65, 0x74, 0x75, 0x3b, 0x64, 0x2019, 0x61, 0x67, 0x6f, 0x73, 0x74, 0x75, 0x3b, 0x64, 0x65, 0x20, 0x73, ++0x65, 0x74, 0x69, 0x65, 0x6d, 0x62, 0x72, 0x65, 0x3b, 0x64, 0x2019, 0x6f, 0x63, 0x68, 0x6f, 0x62, 0x72, 0x65, 0x3b, 0x64, ++0x65, 0x20, 0x70, 0x61, 0x79, 0x61, 0x72, 0x65, 0x73, 0x3b, 0x64, 0x2019, 0x61, 0x76, 0x69, 0x65, 0x6e, 0x74, 0x75, 0x3b, ++0x4e, 0x64, 0x75, 0x14b, 0x6d, 0x62, 0x69, 0x20, 0x53, 0x61, 0x14b, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, ++0x301, 0x70, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x74, 0xe1, 0x74, 0x3b, 0x50, 0x25b, 0x73, ++0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6b, 0x77, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, ++0x61, 0x74, 0x61, 0x61, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x6e, 0x74, 0xfa, ++0x6b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x53, 0x61, 0x61, 0x6d, 0x62, 0xe1, 0x3b, 0x50, 0x25b, 0x73, 0x61, ++0x14b, 0x20, 0x50, 0x25b, 0x301, 0x6e, 0x25b, 0x301, 0x66, 0x254, 0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x50, 0x25b, ++0x301, 0x6e, 0x25b, 0x301, 0x70, 0x66, 0xfa, 0xa78b, 0xfa, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x25b, 0x67, 0x25b, ++0x301, 0x6d, 0x3b, 0x50, 0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x6d, 0x254, 0x301, 0x3b, 0x50, ++0x25b, 0x73, 0x61, 0x14b, 0x20, 0x4e, 0x74, 0x73, 0x254, 0x30c, 0x70, 0x70, 0xe1, 0x3b, 0x70, 0x61, 0x6d, 0x62, 0x61, 0x3b, ++0x77, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x6d, 0x62, 0x69, 0x79, 0x254, 0x20, 0x6d, 0x25b, 0x6e, 0x64, 0x6f, 0x14b, 0x67, 0x254, ++0x3b, 0x4e, 0x79, 0x254, 0x6c, 0x254, 0x6d, 0x62, 0x254, 0x14b, 0x67, 0x254, 0x3b, 0x4d, 0x254, 0x6e, 0x254, 0x20, 0x14b, 0x67, ++0x62, 0x61, 0x6e, 0x6a, 0x61, 0x3b, 0x4e, 0x79, 0x61, 0x14b, 0x67, 0x77, 0x25b, 0x20, 0x14b, 0x67, 0x62, 0x61, 0x6e, 0x6a, ++0x61, 0x3b, 0x6b, 0x75, 0x14b, 0x67, 0x77, 0x25b, 0x3b, 0x66, 0x25b, 0x3b, 0x6e, 0x6a, 0x61, 0x70, 0x69, 0x3b, 0x6e, 0x79, ++0x75, 0x6b, 0x75, 0x6c, 0x3b, 0x4d, 0x31, 0x31, 0x3b, 0x253, 0x75, 0x6c, 0x253, 0x75, 0x73, 0x25b, 0x3b, 0x6d, 0x62, 0x65, ++0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, 0x65, 0x67, ++0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, 0x77, 0x259, ++0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, ++0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, 0x14b, 0x3b, ++0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x75, 0x64, ++0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x7a, 0xf2, ++0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6d, ++0x62, 0x65, 0x67, 0x74, 0x75, 0x67, 0x3b, 0x69, 0x6d, 0x65, 0x67, 0x20, 0xe0, 0x62, 0xf9, 0x62, 0xec, 0x3b, 0x69, 0x6d, ++0x65, 0x67, 0x20, 0x6d, 0x62, 0x259, 0x14b, 0x63, 0x68, 0x75, 0x62, 0x69, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6e, 0x67, ++0x77, 0x259, 0x300, 0x74, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x66, 0x6f, 0x67, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, ++0x63, 0x68, 0x69, 0x69, 0x62, 0x254, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0xe0, 0x64, 0xf9, 0x6d, 0x62, 0x259, 0x300, ++0x14b, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x69, 0x63, 0x68, 0x69, 0x6b, 0x61, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, ++0x75, 0x64, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x74, 0xe8, 0x73, 0x69, 0x2bc, 0x65, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, ++0x7a, 0xf2, 0x3b, 0x69, 0x6d, 0x259, 0x67, 0x20, 0x6b, 0x72, 0x69, 0x7a, 0x6d, 0x65, 0x64, 0x3b, 0x4d, 0x31, 0x3b, 0x41, ++0x32, 0x3b, 0x4d, 0x33, 0x3b, 0x4e, 0x34, 0x3b, 0x46, 0x35, 0x3b, 0x49, 0x36, 0x3b, 0x41, 0x37, 0x3b, 0x49, 0x38, 0x3b, ++0x4b, 0x39, 0x3b, 0x31, 0x30, 0x3b, 0x31, 0x31, 0x3b, 0x31, 0x32, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x65, 0x74, ++0x73, 0x25b, 0x300, 0x25b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6b, 0xe0, 0x67, 0x20, 0x6e, 0x67, 0x77, ++0xf3, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0x65, 0x70, 0x79, 0xe8, 0x20, 0x73, 0x68, 0xfa, 0x6d, 0x3b, 0x73, 0x61, ++0x14b, 0x20, 0x63, 0xff, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x73, 0x25b, 0x300, 0x25b, 0x20, 0x63, 0xff, 0xf3, 0x3b, ++0x73, 0x61, 0x14b, 0x20, 0x6e, 0x6a, 0xff, 0x6f, 0x6c, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x74, 0x79, 0x25b, 0x300, ++0x62, 0x20, 0x74, 0x79, 0x25b, 0x300, 0x62, 0x20, 0x6d, 0x62, 0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6d, 0x62, ++0x289, 0x300, 0x14b, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6e, 0x67, 0x77, 0x254, 0x300, 0x2bc, 0x20, 0x6d, 0x62, 0xff, 0x25b, 0x3b, ++0x73, 0x61, 0x14b, 0x20, 0x74, 0xe0, 0x14b, 0x61, 0x20, 0x74, 0x73, 0x65, 0x74, 0x73, 0xe1, 0x2bc, 0x3b, 0x73, 0x61, 0x14b, ++0x20, 0x6d, 0x65, 0x6a, 0x77, 0x6f, 0x14b, 0xf3, 0x3b, 0x73, 0x61, 0x14b, 0x20, 0x6c, 0xf9, 0x6d, 0x3b, 0x91c, 0x928, 0x2e, ++0x3b, 0x92b, 0x930, 0x2e, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x947, ++0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x2e, 0x3b, 0x938, 0x93f, 0x924, 0x2e, ++0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x2e, 0x3b, 0x928, 0x935, 0x2e, 0x3b, 0x926, 0x93f, 0x938, 0x2e, 0x3b, 0x91c, 0x928, 0x935, ++0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, 0x94d, 0x930, 0x948, ++0x932, 0x3b, 0x92e, 0x947, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, 0x917, 0x938, 0x94d, ++0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x915, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b, 0x928, 0x935, 0x902, ++0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x91c, 0x3b, 0x92b, 0x3b, 0x92e, 0x93e, 0x3b, 0x905, 0x3b, 0x92e, ++0x947, 0x3b, 0x91c, 0x942, 0x3b, 0x91c, 0x941, 0x3b, 0x905, 0x3b, 0x938, 0x93f, 0x3b, 0x905, 0x3b, 0x928, 0x3b, 0x926, 0x93f, 0x3b, ++0x91c, 0x928, 0x935, 0x930, 0x940, 0x3b, 0x92b, 0x930, 0x935, 0x930, 0x940, 0x3b, 0x92e, 0x93e, 0x930, 0x94d, 0x91a, 0x3b, 0x905, 0x92a, ++0x94d, 0x930, 0x948, 0x932, 0x3b, 0x92e, 0x947, 0x908, 0x3b, 0x91c, 0x942, 0x928, 0x3b, 0x91c, 0x941, 0x932, 0x93e, 0x908, 0x3b, 0x905, ++0x917, 0x938, 0x94d, 0x924, 0x3b, 0x938, 0x93f, 0x924, 0x902, 0x92c, 0x930, 0x3b, 0x905, 0x924, 0x94d, 0x924, 0x942, 0x92c, 0x930, 0x3b, ++0x928, 0x935, 0x902, 0x92c, 0x930, 0x3b, 0x926, 0x93f, 0x938, 0x902, 0x92c, 0x930, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x3b, 0x9ab, 0x9c7, ++0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, ++0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x3b, 0x986, 0x997, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x3b, 0x993, 0x995, 0x9cd, 0x99f, ++0x9cb, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, 0x9f1, 0x9be, 0x9b0, 0x9bf, 0x3b, ++0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9f1, 0x9be, 0x9b0, 0x9bf, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, 0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, ++0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, 0x987, 0x3b, 0x993, 0x997, 0x9b7, ++0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x993, 0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, ++0x9b0, 0x3b, 0x9a8, 0x9ac, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x99c, + 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x3b, 0x98f, 0x9aa, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, +-0x9c1, 0x9b2, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x993, 0x995, 0x3b, 0x9a8, 0x9ac, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x1c61, 0x1c5f, 0x1c71, +-0x3b, 0x1c6f, 0x1c77, 0x1c5f, 0x3b, 0x1c62, 0x1c5f, 0x1c68, 0x3b, 0x1c5f, 0x1c6f, 0x1c68, 0x3b, 0x1c62, 0x1c6e, 0x3b, 0x1c61, 0x1c69, 0x1c71, 0x3b, +-0x1c61, 0x1c69, 0x1c5e, 0x3b, 0x1c5f, 0x1c5c, 0x1c5f, 0x3b, 0x1c65, 0x1c6e, 0x1c6f, 0x3b, 0x1c5a, 0x1c60, 0x1c74, 0x3b, 0x1c71, 0x1c5f, 0x1c63, 0x3b, +-0x1c6b, 0x1c64, 0x1c65, 0x3b, 0x1c61, 0x1c5f, 0x1c71, 0x1c63, 0x1c5f, 0x1c68, 0x1c64, 0x3b, 0x1c6f, 0x1c77, 0x1c5f, 0x1c68, 0x1c63, 0x1c5f, 0x1c68, 0x1c64, +-0x3b, 0x1c62, 0x1c5f, 0x1c68, 0x1c6a, 0x3b, 0x1c5f, 0x1c6f, 0x1c68, 0x1c6e, 0x1c5e, 0x3b, 0x1c62, 0x1c6e, 0x3b, 0x1c61, 0x1c69, 0x1c71, 0x3b, 0x1c61, +-0x1c69, 0x1c5e, 0x1c5f, 0x1c6d, 0x3b, 0x1c5f, 0x1c5c, 0x1c5f, 0x1c65, 0x1c5b, 0x3b, 0x1c65, 0x1c6e, 0x1c6f, 0x1c74, 0x1c6e, 0x1c62, 0x1c75, 0x1c5f, 0x1c68, +-0x3b, 0x1c5a, 0x1c60, 0x1c74, 0x1c5a, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c71, 0x1c5f, 0x1c63, 0x1c5f, 0x1c62, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c6b, 0x1c64, +-0x1c65, 0x1c5f, 0x1c62, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c61, 0x3b, 0x1c6f, 0x3b, 0x1c62, 0x3b, 0x1c5f, 0x3b, 0x1c62, 0x3b, 0x1c61, 0x3b, 0x1c61, +-0x3b, 0x1c5f, 0x3b, 0x1c65, 0x3b, 0x1c5a, 0x3b, 0x1c71, 0x3b, 0x1c6b, 0x3b, 0x57, 0x69, 0xf3, 0x74, 0x68, 0x65, 0x21f, 0x69, 0x6b, +-0x61, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x68, 0x69, 0x79, 0xf3, 0x21f, 0x65, 0x79, 0x75, 0x14b, 0x6b, 0x61, 0x20, 0x57, 0xed, +-0x3b, 0x49, 0x161, 0x74, 0xe1, 0x77, 0x69, 0x10d, 0x68, 0x61, 0x79, 0x61, 0x7a, 0x61, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x50, +-0x21f, 0x65, 0x17e, 0xed, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x74, +-0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x57, 0xed, 0x70, 0x61, 0x7a, 0x75, 0x6b, 0x21f, 0x61, 0x2d, 0x77, 0x61, 0x161, 0x74, +-0xe9, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x70, 0x21f, 0xe1, 0x73, 0x61, 0x70, 0x61, 0x20, 0x57, 0xed, 0x3b, +-0x57, 0x61, 0x73, 0xfa, 0x74, 0x21f, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, +-0x1e7, 0x69, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x2d, 0x6b, 0x61, 0x73, 0x6e, 0xe1, +-0x20, 0x57, 0xed, 0x3b, 0x57, 0x61, 0x6e, 0xed, 0x79, 0x65, 0x74, 0x75, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x21f, 0x61, 0x68, +-0xe9, 0x6b, 0x61, 0x70, 0x161, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x648, 0x646, 0x6cc, 0x20, 0x62f, +-0x648, 0x648, 0x6d5, 0x645, 0x3b, 0x634, 0x648, 0x628, 0x627, 0x62a, 0x3b, 0x626, 0x627, 0x632, 0x627, 0x631, 0x3b, 0x646, 0x6cc, 0x633, +-0x627, 0x646, 0x3b, 0x626, 0x627, 0x6cc, 0x627, 0x631, 0x3b, 0x62d, 0x648, 0x632, 0x6d5, 0x6cc, 0x631, 0x627, 0x646, 0x3b, 0x62a, 0x6d5, +-0x645, 0x648, 0x648, 0x632, 0x3b, 0x626, 0x627, 0x628, 0x3b, 0x626, 0x6d5, 0x6cc, 0x644, 0x648, 0x648, 0x644, 0x3b, 0x62a, 0x634, 0x631, +-0x6cc, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x62a, 0x634, 0x631, 0x6cc, 0x646, 0x6cc, 0x20, 0x62f, 0x648, 0x648, +-0x6d5, 0x645, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x6a9, 0x3b, 0x634, 0x3b, +-0x626, 0x3b, 0x646, 0x3b, 0x626, 0x3b, 0x62d, 0x3b, 0x62a, 0x3b, 0x626, 0x3b, 0x626, 0x3b, 0x62a, 0x3b, 0x62a, 0x3b, 0x6a9, 0x3b, +-0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, +-0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, +-0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, +-0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, +-0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, +-0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, +-0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, +-0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, +-0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, +-0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, +-0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, +-0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, +-0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, +-0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, +-0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, +-0x72, 0x3b, 0x6d, 0x65, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, +-0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, +-0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, +-0x6d, 0x65, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, +-0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, +-0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, +-0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, +-0x6d, 0x65, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, +-0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, +-0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, +-0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b, 0x6d, 0x65, 0x6a, 0x65, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, +-0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, +-0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, +-0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x72, 0x61, 0x67, 0x3b, 0x77, 0x61, 0x73, +-0x3b, 0x70, 0x16b, 0x6c, 0x3b, 0x73, 0x61, 0x6b, 0x3b, 0x7a, 0x61, 0x6c, 0x3b, 0x73, 0x12b, 0x6d, 0x3b, 0x6c, 0x12b, 0x70, +-0x3b, 0x64, 0x61, 0x67, 0x3b, 0x73, 0x69, 0x6c, 0x3b, 0x73, 0x70, 0x61, 0x3b, 0x6c, 0x61, 0x70, 0x3b, 0x73, 0x61, 0x6c, +-0x3b, 0x72, 0x61, 0x67, 0x73, 0x3b, 0x77, 0x61, 0x73, 0x73, 0x61, 0x72, 0x69, 0x6e, 0x73, 0x3b, 0x70, 0x16b, 0x6c, 0x69, +-0x73, 0x3b, 0x73, 0x61, 0x6b, 0x6b, 0x69, 0x73, 0x3b, 0x7a, 0x61, 0x6c, 0x6c, 0x61, 0x77, 0x73, 0x3b, 0x73, 0x12b, 0x6d, +-0x65, 0x6e, 0x69, 0x73, 0x3b, 0x6c, 0x12b, 0x70, 0x61, 0x3b, 0x64, 0x61, 0x67, 0x67, 0x69, 0x73, 0x3b, 0x73, 0x69, 0x6c, +-0x6c, 0x69, 0x6e, 0x73, 0x3b, 0x73, 0x70, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x73, 0x3b, 0x6c, 0x61, 0x70, 0x6b, 0x72, 0x16b, +-0x74, 0x69, 0x73, 0x3b, 0x73, 0x61, 0x6c, 0x6c, 0x61, 0x77, 0x73, 0x3b, 0x52, 0x3b, 0x57, 0x3b, 0x50, 0x3b, 0x53, 0x3b, +-0x5a, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x44, 0x3b, 0x53, 0x3b, 0x53, 0x3b, 0x4c, 0x3b, 0x53, 0x3b, 0x75, 0x111, 0x69, 0x76, +-0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x3b, 0x6e, 0x6a, 0x75, 0x68, 0x10d, 0xe2, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, +-0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x3b, 0x70, +-0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76, 0xe2, 0x64, 0x3b, 0x73, +-0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x3b, 0x75, 0x111, 0x111, 0xe2, 0x69, 0x76, 0x65, +-0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6e, 0x6a, 0x75, +-0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, +-0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, +-0x75, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x70, 0x6f, 0x72, 0x67, 0x65, 0x6d, +-0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x72, 0x6f, 0x6f, 0x76, +-0x76, 0xe2, 0x64, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, +-0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x4e, 0x4a, 0x3b, +-0x43, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x10c, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, 0x62c, 0x627, +-0x646, 0x6a4, 0x6cc, 0x6d5, 0x3b, 0x641, 0x626, 0x6a4, 0x631, 0x6cc, 0x6d5, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, 0x6a4, 0x631, +-0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x659, 0x623, 0x646, 0x3b, 0x62c, 0x648, 0x659, 0x644, 0x627, 0x3b, 0x622, +-0x6af, 0x648, 0x633, 0x62a, 0x3b, 0x633, 0x626, 0x67e, 0x62a, 0x627, 0x645, 0x631, 0x3b, 0x626, 0x648, 0x6a9, 0x62a, 0x648, 0x6a4, 0x631, +-0x3b, 0x646, 0x648, 0x6a4, 0x627, 0x645, 0x631, 0x3b, 0x62f, 0x626, 0x633, 0x627, 0x645, 0x631, 0x3b, 0x45, 0x3b, 0x50, 0x3b, 0x4d, +-0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, 0x3b, 0x45, +-0x6e, 0x3b, 0x50, 0x65, 0x62, 0x3b, 0x4d, 0x61, 0x72, 0x3b, 0x41, 0x70, 0x72, 0x3b, 0x4d, 0x61, 0x79, 0x3b, 0x48, 0x75, +-0x6e, 0x3b, 0x48, 0x75, 0x6c, 0x3b, 0x41, 0x67, 0x3b, 0x53, 0x65, 0x74, 0x3b, 0x4f, 0x6b, 0x74, 0x3b, 0x4e, 0x6f, 0x62, +-0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0xe9, 0x6e, 0x3b, 0x46, 0x1eb9, 0x301, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, +-0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x301, 0x67, 0x1ecd, 0x3b, +-0x53, 0x1eb9, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x1ecd, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0xe9, 0x6e, 0xfa, +-0xe1, 0x72, 0x69, 0x3b, 0x46, 0x1eb9, 0x301, 0x62, 0xfa, 0xe1, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, 0x70, +-0x72, 0x65, 0x6c, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x1ecc, 0x67, +-0x1ecd, 0x73, 0x74, 0x3b, 0x53, 0x1eb9, 0x70, 0x74, 0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0xf3, 0x62, 0x61, +-0x3b, 0x4e, 0x1ecd, 0x76, 0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x4a, +-0xe9, 0x6e, 0x3b, 0x46, 0x1eb9, 0x301, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, +-0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x1eb9, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, +-0x3b, 0x4e, 0x1ecd, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b ++0x9c1, 0x9b2, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x993, 0x3b, 0x9a8, 0x9ac, 0x3b, 0x9a1, 0x9bf, 0x3b, 0x99c, 0x9be, 0x9a8, 0x9c1, ++0x9f1, 0x9be, 0x9b0, 0x9bf, 0x3b, 0x9ab, 0x9c7, 0x9ac, 0x9cd, 0x9b0, 0x9c1, 0x9f1, 0x9be, 0x9b0, 0x9bf, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x9cd, ++0x99a, 0x3b, 0x98f, 0x9aa, 0x9cd, 0x9b0, 0x9bf, 0x9b2, 0x3b, 0x9ae, 0x9c7, 0x3b, 0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x9be, ++0x987, 0x3b, 0x986, 0x997, 0x9b8, 0x9cd, 0x99f, 0x3b, 0x9b8, 0x9c7, 0x9aa, 0x9cd, 0x99f, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x993, ++0x995, 0x9cd, 0x99f, 0x9cb, 0x9ac, 0x9b0, 0x3b, 0x9a8, 0x9ad, 0x9c7, 0x9ae, 0x9cd, 0x9ac, 0x9b0, 0x3b, 0x9a1, 0x9bf, 0x9b8, 0x9c7, 0x9ae, ++0x9cd, 0x9ac, 0x9b0, 0x3b, 0x99c, 0x9be, 0x3b, 0x9ab, 0x9c7, 0x3b, 0x9ae, 0x9be, 0x9b0, 0x3b, 0x98f, 0x9aa, 0x3b, 0x9ae, 0x9c7, 0x3b, ++0x99c, 0x9c1, 0x9a8, 0x3b, 0x99c, 0x9c1, 0x9b2, 0x3b, 0x986, 0x3b, 0x9b8, 0x9c7, 0x3b, 0x993, 0x995, 0x3b, 0x9a8, 0x9ac, 0x3b, 0x9a1, ++0x9bf, 0x3b, 0x1c61, 0x1c5f, 0x1c71, 0x3b, 0x1c6f, 0x1c77, 0x1c5f, 0x3b, 0x1c62, 0x1c5f, 0x1c68, 0x3b, 0x1c5f, 0x1c6f, 0x1c68, 0x3b, 0x1c62, 0x1c6e, ++0x3b, 0x1c61, 0x1c69, 0x1c71, 0x3b, 0x1c61, 0x1c69, 0x1c5e, 0x3b, 0x1c5f, 0x1c5c, 0x1c5f, 0x3b, 0x1c65, 0x1c6e, 0x1c6f, 0x3b, 0x1c5a, 0x1c60, 0x1c74, ++0x3b, 0x1c71, 0x1c5f, 0x1c63, 0x3b, 0x1c6b, 0x1c64, 0x1c65, 0x3b, 0x1c61, 0x1c5f, 0x1c71, 0x1c63, 0x1c5f, 0x1c68, 0x1c64, 0x3b, 0x1c6f, 0x1c77, 0x1c5f, ++0x1c68, 0x1c63, 0x1c5f, 0x1c68, 0x1c64, 0x3b, 0x1c62, 0x1c5f, 0x1c68, 0x1c6a, 0x3b, 0x1c5f, 0x1c6f, 0x1c68, 0x1c6e, 0x1c5e, 0x3b, 0x1c62, 0x1c6e, 0x3b, ++0x1c61, 0x1c69, 0x1c71, 0x3b, 0x1c61, 0x1c69, 0x1c5e, 0x1c5f, 0x1c6d, 0x3b, 0x1c5f, 0x1c5c, 0x1c5f, 0x1c65, 0x1c5b, 0x3b, 0x1c65, 0x1c6e, 0x1c6f, 0x1c74, ++0x1c6e, 0x1c62, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c5a, 0x1c60, 0x1c74, 0x1c5a, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c71, 0x1c5f, 0x1c63, 0x1c5f, 0x1c62, 0x1c75, ++0x1c5f, 0x1c68, 0x3b, 0x1c6b, 0x1c64, 0x1c65, 0x1c5f, 0x1c62, 0x1c75, 0x1c5f, 0x1c68, 0x3b, 0x1c61, 0x3b, 0x1c6f, 0x3b, 0x1c62, 0x3b, 0x1c5f, 0x3b, ++0x1c62, 0x3b, 0x1c61, 0x3b, 0x1c61, 0x3b, 0x1c5f, 0x3b, 0x1c65, 0x3b, 0x1c5a, 0x3b, 0x1c71, 0x3b, 0x1c6b, 0x3b, 0x57, 0x69, 0xf3, 0x74, ++0x68, 0x65, 0x21f, 0x69, 0x6b, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x54, 0x68, 0x69, 0x79, 0xf3, 0x21f, 0x65, 0x79, 0x75, 0x14b, ++0x6b, 0x61, 0x20, 0x57, 0xed, 0x3b, 0x49, 0x161, 0x74, 0xe1, 0x77, 0x69, 0x10d, 0x68, 0x61, 0x79, 0x61, 0x7a, 0x61, 0x14b, ++0x20, 0x57, 0xed, 0x3b, 0x50, 0x21f, 0x65, 0x17e, 0xed, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, ++0x77, 0xe1, 0x70, 0x65, 0x74, 0x21f, 0x6f, 0x20, 0x57, 0xed, 0x3b, 0x57, 0xed, 0x70, 0x61, 0x7a, 0x75, 0x6b, 0x21f, 0x61, ++0x2d, 0x77, 0x61, 0x161, 0x74, 0xe9, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x70, 0x21f, 0xe1, 0x73, 0x61, 0x70, ++0x61, 0x20, 0x57, 0xed, 0x3b, 0x57, 0x61, 0x73, 0xfa, 0x74, 0x21f, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, ++0x14b, 0x77, 0xe1, 0x70, 0x65, 0x1e7, 0x69, 0x20, 0x57, 0xed, 0x3b, 0x10c, 0x68, 0x61, 0x14b, 0x77, 0xe1, 0x70, 0x65, 0x2d, ++0x6b, 0x61, 0x73, 0x6e, 0xe1, 0x20, 0x57, 0xed, 0x3b, 0x57, 0x61, 0x6e, 0xed, 0x79, 0x65, 0x74, 0x75, 0x20, 0x57, 0xed, ++0x3b, 0x54, 0x21f, 0x61, 0x68, 0xe9, 0x6b, 0x61, 0x70, 0x161, 0x75, 0x14b, 0x20, 0x57, 0xed, 0x3b, 0x6a9, 0x627, 0x646, 0x648, ++0x648, 0x646, 0x6cc, 0x20, 0x62f, 0x648, 0x648, 0x6d5, 0x645, 0x3b, 0x634, 0x648, 0x628, 0x627, 0x62a, 0x3b, 0x626, 0x627, 0x632, 0x627, ++0x631, 0x3b, 0x646, 0x6cc, 0x633, 0x627, 0x646, 0x3b, 0x626, 0x627, 0x6cc, 0x627, 0x631, 0x3b, 0x62d, 0x648, 0x632, 0x6d5, 0x6cc, 0x631, ++0x627, 0x646, 0x3b, 0x62a, 0x6d5, 0x645, 0x648, 0x648, 0x632, 0x3b, 0x626, 0x627, 0x628, 0x3b, 0x626, 0x6d5, 0x6cc, 0x644, 0x648, 0x648, ++0x644, 0x3b, 0x62a, 0x634, 0x631, 0x6cc, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, 0x3b, 0x62a, 0x634, 0x631, 0x6cc, 0x646, ++0x6cc, 0x20, 0x62f, 0x648, 0x648, 0x6d5, 0x645, 0x3b, 0x6a9, 0x627, 0x646, 0x648, 0x646, 0x6cc, 0x20, 0x6cc, 0x6d5, 0x6a9, 0x6d5, 0x645, ++0x3b, 0x6a9, 0x3b, 0x634, 0x3b, 0x626, 0x3b, 0x646, 0x3b, 0x626, 0x3b, 0x62d, 0x3b, 0x62a, 0x3b, 0x626, 0x3b, 0x626, 0x3b, 0x62a, ++0x3b, 0x62a, 0x3b, 0x6a9, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, 0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72, ++0x3b, 0x6d, 0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, 0x77, 0x67, 0x3b, 0x73, 0x65, 0x70, ++0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, ++0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d, ++0x61, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, ++0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, ++0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, ++0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, 0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x61, ++0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, 0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73, 0x65, ++0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, 0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, ++0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x61, ++0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b, 0x6d, 0x61, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61, 0x3b, ++0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, ++0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x72, ++0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6a, 0x61, 0x6e, 0x3b, 0x66, 0x65, 0x62, 0x3b, 0x6d, ++0x11b, 0x72, 0x3b, 0x61, 0x70, 0x72, 0x3b, 0x6d, 0x65, 0x6a, 0x3b, 0x6a, 0x75, 0x6e, 0x3b, 0x6a, 0x75, 0x6c, 0x3b, 0x61, ++0x77, 0x67, 0x3b, 0x73, 0x65, 0x70, 0x3b, 0x6f, 0x6b, 0x74, 0x3b, 0x6e, 0x6f, 0x77, 0x3b, 0x64, 0x65, 0x63, 0x3b, 0x6a, ++0x61, 0x6e, 0x75, 0x61, 0x72, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x3b, 0x61, ++0x70, 0x72, 0x79, 0x6c, 0x3b, 0x6d, 0x65, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x3b, 0x6a, 0x75, 0x6c, 0x69, ++0x6a, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6f, ++0x6b, 0x74, 0x6f, 0x62, 0x65, 0x72, 0x3b, 0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x3b, 0x64, 0x65, 0x63, 0x65, ++0x6d, 0x62, 0x65, 0x72, 0x3b, 0x6a, 0x61, 0x6e, 0x2e, 0x3b, 0x66, 0x65, 0x62, 0x2e, 0x3b, 0x6d, 0x11b, 0x72, 0x2e, 0x3b, ++0x61, 0x70, 0x72, 0x2e, 0x3b, 0x6d, 0x65, 0x6a, 0x2e, 0x3b, 0x6a, 0x75, 0x6e, 0x2e, 0x3b, 0x6a, 0x75, 0x6c, 0x2e, 0x3b, ++0x61, 0x77, 0x67, 0x2e, 0x3b, 0x73, 0x65, 0x70, 0x2e, 0x3b, 0x6f, 0x6b, 0x74, 0x2e, 0x3b, 0x6e, 0x6f, 0x77, 0x2e, 0x3b, ++0x64, 0x65, 0x63, 0x2e, 0x3b, 0x6a, 0x61, 0x6e, 0x75, 0x61, 0x72, 0x61, 0x3b, 0x66, 0x65, 0x62, 0x72, 0x75, 0x61, 0x72, ++0x61, 0x3b, 0x6d, 0x11b, 0x72, 0x63, 0x61, 0x3b, 0x61, 0x70, 0x72, 0x79, 0x6c, 0x61, 0x3b, 0x6d, 0x65, 0x6a, 0x65, 0x3b, ++0x6a, 0x75, 0x6e, 0x69, 0x6a, 0x61, 0x3b, 0x6a, 0x75, 0x6c, 0x69, 0x6a, 0x61, 0x3b, 0x61, 0x77, 0x67, 0x75, 0x73, 0x74, ++0x61, 0x3b, 0x73, 0x65, 0x70, 0x74, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x6f, 0x6b, 0x74, 0x6f, 0x62, 0x72, 0x61, 0x3b, ++0x6e, 0x6f, 0x77, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x64, 0x65, 0x63, 0x65, 0x6d, 0x62, 0x72, 0x61, 0x3b, 0x75, 0x111, ++0x69, 0x76, 0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x3b, 0x6e, 0x6a, 0x75, 0x68, 0x10d, 0xe2, 0x3b, 0x63, 0x75, 0xe1, 0x14b, ++0x75, 0x69, 0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, ++0x3b, 0x70, 0x6f, 0x72, 0x67, 0x65, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x3b, 0x72, 0x6f, 0x6f, 0x76, 0x76, 0xe2, 0x64, ++0x3b, 0x73, 0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x3b, 0x75, 0x111, 0x111, 0xe2, 0x69, ++0x76, 0x65, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x75, 0x6f, 0x76, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6e, ++0x6a, 0x75, 0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x63, 0x75, 0xe1, 0x14b, 0x75, 0x69, 0x6d, 0xe1, 0xe1, ++0x6e, 0x75, 0x3b, 0x76, 0x79, 0x65, 0x73, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x6b, 0x65, 0x73, 0x69, 0x6d, 0xe1, ++0xe1, 0x6e, 0x75, 0x3b, 0x73, 0x79, 0x65, 0x69, 0x6e, 0x69, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x70, 0x6f, 0x72, 0x67, ++0x65, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x10d, 0x6f, 0x68, 0x10d, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x72, 0x6f, ++0x6f, 0x76, 0x76, 0xe2, 0x64, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x73, 0x6b, 0x61, 0x6d, 0x6d, 0xe2, 0x6d, 0xe1, 0xe1, ++0x6e, 0x75, 0x3b, 0x6a, 0x75, 0x6f, 0x76, 0x6c, 0xe2, 0x6d, 0xe1, 0xe1, 0x6e, 0x75, 0x3b, 0x55, 0x3b, 0x4b, 0x3b, 0x4e, ++0x4a, 0x3b, 0x43, 0x3b, 0x56, 0x3b, 0x4b, 0x3b, 0x53, 0x3b, 0x50, 0x3b, 0x10c, 0x3b, 0x52, 0x3b, 0x53, 0x3b, 0x4a, 0x3b, ++0x62c, 0x627, 0x646, 0x6a4, 0x6cc, 0x6d5, 0x3b, 0x641, 0x626, 0x6a4, 0x631, 0x6cc, 0x6d5, 0x3b, 0x645, 0x627, 0x631, 0x633, 0x3b, 0x622, ++0x6a4, 0x631, 0x6cc, 0x644, 0x3b, 0x645, 0x626, 0x6cc, 0x3b, 0x62c, 0x648, 0x659, 0x623, 0x646, 0x3b, 0x62c, 0x648, 0x659, 0x644, 0x627, ++0x3b, 0x622, 0x6af, 0x648, 0x633, 0x62a, 0x3b, 0x633, 0x626, 0x67e, 0x62a, 0x627, 0x645, 0x631, 0x3b, 0x626, 0x648, 0x6a9, 0x62a, 0x648, ++0x6a4, 0x631, 0x3b, 0x646, 0x648, 0x6a4, 0x627, 0x645, 0x631, 0x3b, 0x62f, 0x626, 0x633, 0x627, 0x645, 0x631, 0x3b, 0x45, 0x3b, 0x50, ++0x3b, 0x4d, 0x3b, 0x41, 0x3b, 0x4d, 0x3b, 0x48, 0x3b, 0x48, 0x3b, 0x41, 0x3b, 0x53, 0x3b, 0x4f, 0x3b, 0x4e, 0x3b, 0x44, ++0x3b, 0x4a, 0xe9, 0x6e, 0x3b, 0x46, 0x1eb9, 0x301, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, 0x70, 0x72, 0x3b, 0x4d, ++0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x301, 0x67, 0x1ecd, 0x3b, 0x53, 0x1eb9, 0x70, 0x3b, ++0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x1ecd, 0x76, 0x3b, 0x44, 0x69, 0x73, 0x3b, 0x4a, 0xe9, 0x6e, 0xfa, 0xe1, 0x72, 0x69, 0x3b, ++0x46, 0x1eb9, 0x301, 0x62, 0xfa, 0xe1, 0x72, 0x69, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, 0x70, 0x72, 0x65, 0x6c, 0x3b, ++0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, 0x3b, 0x4a, 0x75, 0x6c, 0x61, 0x69, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x73, 0x74, 0x3b, ++0x53, 0x1eb9, 0x70, 0x74, 0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x1ecc, 0x6b, 0x74, 0xf3, 0x62, 0x61, 0x3b, 0x4e, 0x1ecd, 0x76, ++0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x44, 0x69, 0x73, 0x1eb9, 0x301, 0x6d, 0x62, 0x61, 0x3b, 0x4a, 0xe9, 0x6e, 0x3b, 0x46, ++0x1eb9, 0x301, 0x62, 0x3b, 0x4d, 0x61, 0x63, 0x68, 0x3b, 0xc9, 0x70, 0x72, 0x3b, 0x4d, 0x65, 0x65, 0x3b, 0x4a, 0x75, 0x6e, ++0x3b, 0x4a, 0x75, 0x6c, 0x3b, 0x1ecc, 0x67, 0x1ecd, 0x3b, 0x53, 0x1eb9, 0x70, 0x3b, 0x1ecc, 0x6b, 0x74, 0x3b, 0x4e, 0x1ecd, 0x76, ++0x3b, 0x44, 0x69, 0x73, 0x3b + }; + // GENERATED PART ENDS HERE + +diff --git a/src/corelib/time/qtimezone.cpp b/src/corelib/time/qtimezone.cpp +index 0309e43e52..3d451696a1 100644 +--- a/src/corelib/time/qtimezone.cpp ++++ b/src/corelib/time/qtimezone.cpp +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2013 John Layt ++** Copyright (C) 2020 John Layt + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtCore module of the Qt Toolkit. +@@ -975,9 +975,15 @@ QList QTimeZone::windowsIdToIanaIds(const QByteArray &windowsId, + } + + #ifndef QT_NO_DATASTREAM ++// Invalid, as an IANA ID: too long, starts with - and has other invalid characters in it ++static inline QString invalidId() { return QStringLiteral("-No Time Zone Specified!"); } ++ + QDataStream &operator<<(QDataStream &ds, const QTimeZone &tz) + { +- tz.d->serialize(ds); ++ if (tz.isValid()) ++ tz.d->serialize(ds); ++ else ++ ds << invalidId(); + return ds; + } + +@@ -985,7 +991,9 @@ QDataStream &operator>>(QDataStream &ds, QTimeZone &tz) + { + QString ianaId; + ds >> ianaId; +- if (ianaId == QLatin1String("OffsetFromUtc")) { ++ if (ianaId == invalidId()) { ++ tz = QTimeZone(); ++ } else if (ianaId == QLatin1String("OffsetFromUtc")) { + int utcOffset; + QString name; + QString abbreviation; +diff --git a/src/corelib/time/qtimezoneprivate_data_p.h b/src/corelib/time/qtimezoneprivate_data_p.h +index 6d2bbc83c1..ccf2234540 100644 +--- a/src/corelib/time/qtimezoneprivate_data_p.h ++++ b/src/corelib/time/qtimezoneprivate_data_p.h +@@ -115,8 +115,8 @@ struct QUtcData { + // GENERATED PART STARTS HERE + + /* +- This part of the file was generated on 2020-02-28 from the +- Common Locale Data Repository v36 file supplemental/windowsZones.xml ++ This part of the file was generated on 2020-11-09 from the ++ Common Locale Data Repository v38 file supplemental/windowsZones.xml + + http://www.unicode.org/cldr/ + +@@ -187,236 +187,235 @@ static const QZoneData zoneDataTable[] = { + { 28, 127, 1359 }, // Central European Standard Time / Macedonia + { 28, 172, 1373 }, // Central European Standard Time / Poland + { 29, 0, 1387 }, // Central Pacific Standard Time / AnyCountry +- { 29, 13, 1398 }, // Central Pacific Standard Time / Australia +- { 29, 140, 1419 }, // Central Pacific Standard Time / Micronesia +- { 29, 153, 1449 }, // Central Pacific Standard Time / New Caledonia +- { 29, 193, 1464 }, // Central Pacific Standard Time / Solomon Islands +- { 29, 229, 1484 }, // Central Pacific Standard Time / Vanuatu +- { 30, 139, 1498 }, // Central Standard Time (Mexico) / Mexico +- { 31, 0, 1574 }, // Central Standard Time / AnyCountry +- { 31, 38, 1582 }, // Central Standard Time / Canada +- { 31, 139, 1657 }, // Central Standard Time / Mexico +- { 31, 225, 1675 }, // Central Standard Time / United States +- { 32, 44, 1843 }, // China Standard Time / China +- { 32, 97, 1857 }, // China Standard Time / Hong Kong +- { 32, 126, 1872 }, // China Standard Time / Macau +- { 33, 154, 1883 }, // Chatham Islands Standard Time / New Zealand +- { 34, 55, 1899 }, // Cuba Standard Time / Cuba +- { 35, 0, 1914 }, // Dateline Standard Time / AnyCountry +- { 36, 0, 1925 }, // E. Africa Standard Time / AnyCountry +- { 36, 8, 1935 }, // E. Africa Standard Time / Antarctica +- { 36, 48, 1952 }, // E. Africa Standard Time / Comoros +- { 36, 59, 1966 }, // E. Africa Standard Time / Djibouti +- { 36, 67, 1982 }, // E. Africa Standard Time / Eritrea +- { 36, 69, 1996 }, // E. Africa Standard Time / Ethiopia +- { 36, 111, 2015 }, // E. Africa Standard Time / Kenya +- { 36, 128, 2030 }, // E. Africa Standard Time / Madagascar +- { 36, 138, 2050 }, // E. Africa Standard Time / Mayotte +- { 36, 194, 2065 }, // E. Africa Standard Time / Somalia +- { 36, 210, 2082 }, // E. Africa Standard Time / Tanzania +- { 36, 221, 2103 }, // E. Africa Standard Time / Uganda +- { 36, 254, 2118 }, // E. Africa Standard Time / South Sudan +- { 37, 13, 2130 }, // E. Australia Standard Time / Australia +- { 38, 141, 2168 }, // E. Europe Standard Time / Moldova +- { 39, 30, 2184 }, // E. South America Standard Time / Brazil +- { 40, 43, 2202 }, // Easter Island Standard Time / Chile +- { 41, 0, 2217 }, // Eastern Standard Time / AnyCountry +- { 41, 16, 2225 }, // Eastern Standard Time / Bahamas +- { 41, 38, 2240 }, // Eastern Standard Time / Canada +- { 41, 225, 2345 }, // Eastern Standard Time / United States +- { 42, 139, 2502 }, // Eastern Standard Time (Mexico) / Mexico +- { 43, 64, 2517 }, // Egypt Standard Time / Egypt +- { 44, 178, 2530 }, // Ekaterinburg Standard Time / Russia +- { 45, 72, 2549 }, // Fiji Standard Time / Fiji +- { 46, 33, 2562 }, // FLE Standard Time / Bulgaria +- { 46, 68, 2575 }, // FLE Standard Time / Estonia +- { 46, 73, 2590 }, // FLE Standard Time / Finland +- { 46, 118, 2606 }, // FLE Standard Time / Latvia +- { 46, 124, 2618 }, // FLE Standard Time / Lithuania +- { 46, 222, 2633 }, // FLE Standard Time / Ukraine +- { 46, 248, 2679 }, // FLE Standard Time / Aland Islands +- { 47, 81, 2696 }, // Georgian Standard Time / Georgia +- { 48, 71, 2709 }, // GMT Standard Time / Faroe Islands +- { 48, 75, 2725 }, // GMT Standard Time / Guernsey +- { 48, 104, 2741 }, // GMT Standard Time / Ireland +- { 48, 173, 2755 }, // GMT Standard Time / Portugal +- { 48, 197, 2786 }, // GMT Standard Time / Spain +- { 48, 224, 2802 }, // GMT Standard Time / United Kingdom +- { 48, 251, 2816 }, // GMT Standard Time / Isle Of Man +- { 48, 252, 2835 }, // GMT Standard Time / Jersey +- { 49, 86, 2849 }, // Greenland Standard Time / Greenland +- { 50, 34, 2865 }, // Greenwich Standard Time / Burkina Faso +- { 50, 53, 2884 }, // Greenwich Standard Time / Ivory Coast +- { 50, 80, 2899 }, // Greenwich Standard Time / Gambia +- { 50, 83, 2913 }, // Greenwich Standard Time / Ghana +- { 50, 91, 2926 }, // Greenwich Standard Time / Guinea +- { 50, 92, 2941 }, // Greenwich Standard Time / Guinea Bissau +- { 50, 99, 2955 }, // Greenwich Standard Time / Iceland +- { 50, 121, 2974 }, // Greenwich Standard Time / Liberia +- { 50, 132, 2990 }, // Greenwich Standard Time / Mali +- { 50, 136, 3004 }, // Greenwich Standard Time / Mauritania +- { 50, 187, 3022 }, // Greenwich Standard Time / Senegal +- { 50, 189, 3035 }, // Greenwich Standard Time / Sierra Leone +- { 50, 199, 3051 }, // Greenwich Standard Time / Saint Helena +- { 50, 212, 3070 }, // Greenwich Standard Time / Togo +- { 51, 56, 3082 }, // GTB Standard Time / Cyprus +- { 51, 85, 3110 }, // GTB Standard Time / Greece +- { 51, 177, 3124 }, // GTB Standard Time / Romania +- { 52, 94, 3141 }, // Haiti Standard Time / Haiti +- { 53, 0, 3164 }, // Hawaiian Standard Time / AnyCountry +- { 53, 51, 3175 }, // Hawaiian Standard Time / Cook Islands +- { 53, 77, 3193 }, // Hawaiian Standard Time / French Polynesia +- { 53, 225, 3208 }, // Hawaiian Standard Time / United States +- { 53, 226, 3225 }, // Hawaiian Standard Time / United States Minor Outlying Islands +- { 54, 100, 3242 }, // India Standard Time / India +- { 55, 102, 3256 }, // Iran Standard Time / Iran +- { 56, 105, 3268 }, // Israel Standard Time / Israel +- { 57, 109, 3283 }, // Jordan Standard Time / Jordan +- { 58, 178, 3294 }, // Kaliningrad Standard Time / Russia +- { 59, 114, 3313 }, // Korea Standard Time / South Korea +- { 60, 122, 3324 }, // Libya Standard Time / Libya +- { 61, 0, 3339 }, // Line Islands Standard Time / AnyCountry +- { 61, 112, 3350 }, // Line Islands Standard Time / Kiribati +- { 62, 13, 3369 }, // Lord Howe Standard Time / Australia +- { 63, 178, 3389 }, // Magadan Standard Time / Russia +- { 64, 43, 3402 }, // Magallanes Standard Time / Chile +- { 65, 77, 3423 }, // Marquesas Standard Time / French Polynesia +- { 66, 137, 3441 }, // Mauritius Standard Time / Mauritius +- { 66, 176, 3458 }, // Mauritius Standard Time / Reunion +- { 66, 188, 3473 }, // Mauritius Standard Time / Seychelles +- { 67, 119, 3485 }, // Middle East Standard Time / Lebanon +- { 68, 227, 3497 }, // Montevideo Standard Time / Uruguay +- { 69, 145, 3516 }, // Morocco Standard Time / Morocco +- { 69, 236, 3534 }, // Morocco Standard Time / Western Sahara +- { 70, 139, 3550 }, // Mountain Standard Time (Mexico) / Mexico +- { 71, 0, 3585 }, // Mountain Standard Time / AnyCountry +- { 71, 38, 3593 }, // Mountain Standard Time / Canada +- { 71, 139, 3667 }, // Mountain Standard Time / Mexico +- { 71, 225, 3683 }, // Mountain Standard Time / United States +- { 72, 46, 3712 }, // Myanmar Standard Time / Cocos Islands +- { 72, 147, 3725 }, // Myanmar Standard Time / Myanmar +- { 73, 178, 3738 }, // N. Central Asia Standard Time / Russia +- { 74, 148, 3755 }, // Namibia Standard Time / Namibia +- { 75, 150, 3771 }, // Nepal Standard Time / Nepal +- { 76, 8, 3785 }, // New Zealand Standard Time / Antarctica +- { 76, 154, 3804 }, // New Zealand Standard Time / New Zealand +- { 77, 38, 3821 }, // Newfoundland Standard Time / Canada +- { 78, 159, 3838 }, // Norfolk Standard Time / Norfolk Island +- { 79, 178, 3854 }, // North Asia East Standard Time / Russia +- { 80, 178, 3867 }, // North Asia Standard Time / Russia +- { 81, 113, 3902 }, // North Korea Standard Time / North Korea +- { 82, 178, 3917 }, // Omsk Standard Time / Russia +- { 83, 43, 3927 }, // Pacific SA Standard Time / Chile +- { 84, 0, 3944 }, // Pacific Standard Time / AnyCountry +- { 84, 38, 3952 }, // Pacific Standard Time / Canada +- { 84, 225, 4004 }, // Pacific Standard Time / United States +- { 85, 139, 4024 }, // Pacific Standard Time (Mexico) / Mexico +- { 86, 163, 4061 }, // Pakistan Standard Time / Pakistan +- { 87, 168, 4074 }, // Paraguay Standard Time / Paraguay +- { 88, 110, 4091 }, // Qyzylorda Standard Time / Kazakhstan +- { 89, 21, 4106 }, // Romance Standard Time / Belgium +- { 89, 58, 4122 }, // Romance Standard Time / Denmark +- { 89, 74, 4140 }, // Romance Standard Time / France +- { 89, 197, 4153 }, // Romance Standard Time / Spain +- { 90, 178, 4180 }, // Russia Time Zone 3 / Russia +- { 91, 178, 4194 }, // Russia Time Zone 10 / Russia +- { 92, 178, 4213 }, // Russia Time Zone 11 / Russia +- { 93, 178, 4240 }, // Russian Standard Time / Russia +- { 93, 222, 4267 }, // Russian Standard Time / Ukraine +- { 94, 0, 4285 }, // SA Eastern Standard Time / AnyCountry +- { 94, 8, 4295 }, // SA Eastern Standard Time / Antarctica +- { 94, 30, 4332 }, // SA Eastern Standard Time / Brazil +- { 94, 70, 4411 }, // SA Eastern Standard Time / Falkland Islands +- { 94, 76, 4428 }, // SA Eastern Standard Time / French Guiana +- { 94, 202, 4444 }, // SA Eastern Standard Time / Suriname +- { 95, 0, 4463 }, // SA Pacific Standard Time / AnyCountry +- { 95, 30, 4473 }, // SA Pacific Standard Time / Brazil +- { 95, 38, 4509 }, // SA Pacific Standard Time / Canada +- { 95, 40, 4531 }, // SA Pacific Standard Time / Cayman Islands +- { 95, 47, 4546 }, // SA Pacific Standard Time / Colombia +- { 95, 63, 4561 }, // SA Pacific Standard Time / Ecuador +- { 95, 107, 4579 }, // SA Pacific Standard Time / Jamaica +- { 95, 166, 4595 }, // SA Pacific Standard Time / Panama +- { 95, 169, 4610 }, // SA Pacific Standard Time / Peru +- { 96, 0, 4623 }, // SA Western Standard Time / AnyCountry +- { 96, 7, 4633 }, // SA Western Standard Time / Anguilla +- { 96, 9, 4650 }, // SA Western Standard Time / Antigua And Barbuda +- { 96, 12, 4666 }, // SA Western Standard Time / Aruba +- { 96, 19, 4680 }, // SA Western Standard Time / Barbados +- { 96, 26, 4697 }, // SA Western Standard Time / Bolivia +- { 96, 30, 4712 }, // SA Western Standard Time / Brazil +- { 96, 38, 4765 }, // SA Western Standard Time / Canada +- { 96, 60, 4786 }, // SA Western Standard Time / Dominica +- { 96, 61, 4803 }, // SA Western Standard Time / Dominican Republic +- { 96, 87, 4825 }, // SA Western Standard Time / Grenada +- { 96, 88, 4841 }, // SA Western Standard Time / Guadeloupe +- { 96, 93, 4860 }, // SA Western Standard Time / Guyana +- { 96, 135, 4875 }, // SA Western Standard Time / Martinique +- { 96, 144, 4894 }, // SA Western Standard Time / Montserrat +- { 96, 152, 4913 }, // SA Western Standard Time / Cura Sao +- { 96, 174, 4929 }, // SA Western Standard Time / Puerto Rico +- { 96, 180, 4949 }, // SA Western Standard Time / Saint Kitts And Nevis +- { 96, 181, 4966 }, // SA Western Standard Time / Saint Lucia +- { 96, 182, 4983 }, // SA Western Standard Time / Saint Vincent And The Grenadines +- { 96, 215, 5002 }, // SA Western Standard Time / Trinidad And Tobago +- { 96, 233, 5024 }, // SA Western Standard Time / British Virgin Islands +- { 96, 234, 5040 }, // SA Western Standard Time / United States Virgin Islands +- { 96, 244, 5058 }, // SA Western Standard Time / Saint Barthelemy +- { 96, 245, 5080 }, // SA Western Standard Time / Saint Martin +- { 96, 255, 5096 }, // SA Western Standard Time / Bonaire +- { 96, 256, 5115 }, // SA Western Standard Time / Sint Maarten +- { 97, 200, 5137 }, // Saint Pierre Standard Time / Saint Pierre And Miquelon +- { 98, 178, 5154 }, // Sakhalin Standard Time / Russia +- { 99, 183, 5168 }, // Samoa Standard Time / Samoa +- { 100, 185, 5181 }, // Sao Tome Standard Time / Sao Tome And Principe +- { 101, 178, 5197 }, // Saratov Standard Time / Russia +- { 102, 0, 5212 }, // SE Asia Standard Time / AnyCountry +- { 102, 8, 5222 }, // SE Asia Standard Time / Antarctica +- { 102, 36, 5239 }, // SE Asia Standard Time / Cambodia +- { 102, 45, 5255 }, // SE Asia Standard Time / Christmas Island +- { 102, 101, 5272 }, // SE Asia Standard Time / Indonesia +- { 102, 117, 5300 }, // SE Asia Standard Time / Laos +- { 102, 211, 5315 }, // SE Asia Standard Time / Thailand +- { 102, 232, 5328 }, // SE Asia Standard Time / Vietnam +- { 103, 0, 5340 }, // Singapore Standard Time / AnyCountry +- { 103, 8, 5350 }, // Singapore Standard Time / Antarctica +- { 103, 32, 5367 }, // Singapore Standard Time / Brunei +- { 103, 101, 5379 }, // Singapore Standard Time / Indonesia +- { 103, 130, 5393 }, // Singapore Standard Time / Malaysia +- { 103, 170, 5424 }, // Singapore Standard Time / Philippines +- { 103, 190, 5436 }, // Singapore Standard Time / Singapore +- { 104, 0, 5451 }, // South Africa Standard Time / AnyCountry +- { 104, 28, 5461 }, // South Africa Standard Time / Botswana +- { 104, 35, 5477 }, // South Africa Standard Time / Burundi +- { 104, 49, 5494 }, // South Africa Standard Time / Congo Kinshasa +- { 104, 120, 5512 }, // South Africa Standard Time / Lesotho +- { 104, 129, 5526 }, // South Africa Standard Time / Malawi +- { 104, 146, 5542 }, // South Africa Standard Time / Mozambique +- { 104, 179, 5556 }, // South Africa Standard Time / Rwanda +- { 104, 195, 5570 }, // South Africa Standard Time / South Africa +- { 104, 204, 5590 }, // South Africa Standard Time / Swaziland +- { 104, 239, 5605 }, // South Africa Standard Time / Zambia +- { 104, 240, 5619 }, // South Africa Standard Time / Zimbabwe +- { 105, 198, 5633 }, // Sri Lanka Standard Time / Sri Lanka +- { 106, 201, 5646 }, // Sudan Standard Time / Sudan +- { 107, 207, 5662 }, // Syria Standard Time / Syria +- { 108, 208, 5676 }, // Taipei Standard Time / Taiwan +- { 109, 13, 5688 }, // Tasmania Standard Time / Australia +- { 110, 30, 5722 }, // Tocantins Standard Time / Brazil +- { 111, 0, 5740 }, // Tokyo Standard Time / AnyCountry +- { 111, 62, 5750 }, // Tokyo Standard Time / East Timor +- { 111, 101, 5760 }, // Tokyo Standard Time / Indonesia +- { 111, 108, 5774 }, // Tokyo Standard Time / Japan +- { 111, 164, 5785 }, // Tokyo Standard Time / Palau +- { 112, 178, 5799 }, // Tomsk Standard Time / Russia +- { 113, 214, 5810 }, // Tonga Standard Time / Tonga +- { 114, 178, 5828 }, // Transbaikal Standard Time / Russia +- { 115, 217, 5839 }, // Turkey Standard Time / Turkey +- { 116, 219, 5855 }, // Turks And Caicos Standard Time / Turks And Caicos Islands +- { 117, 143, 5874 }, // Ulaanbaatar Standard Time / Mongolia +- { 118, 225, 5907 }, // US Eastern Standard Time / United States +- { 119, 0, 5974 }, // US Mountain Standard Time / AnyCountry +- { 119, 38, 5984 }, // US Mountain Standard Time / Canada ++ { 29, 8, 1398 }, // Central Pacific Standard Time / Antarctica ++ { 29, 140, 1415 }, // Central Pacific Standard Time / Micronesia ++ { 29, 153, 1445 }, // Central Pacific Standard Time / New Caledonia ++ { 29, 193, 1460 }, // Central Pacific Standard Time / Solomon Islands ++ { 29, 229, 1480 }, // Central Pacific Standard Time / Vanuatu ++ { 30, 139, 1494 }, // Central Standard Time (Mexico) / Mexico ++ { 31, 0, 1570 }, // Central Standard Time / AnyCountry ++ { 31, 38, 1578 }, // Central Standard Time / Canada ++ { 31, 139, 1653 }, // Central Standard Time / Mexico ++ { 31, 225, 1671 }, // Central Standard Time / United States ++ { 32, 44, 1839 }, // China Standard Time / China ++ { 32, 97, 1853 }, // China Standard Time / Hong Kong ++ { 32, 126, 1868 }, // China Standard Time / Macau ++ { 33, 154, 1879 }, // Chatham Islands Standard Time / New Zealand ++ { 34, 55, 1895 }, // Cuba Standard Time / Cuba ++ { 35, 0, 1910 }, // Dateline Standard Time / AnyCountry ++ { 36, 0, 1921 }, // E. Africa Standard Time / AnyCountry ++ { 36, 8, 1931 }, // E. Africa Standard Time / Antarctica ++ { 36, 48, 1948 }, // E. Africa Standard Time / Comoros ++ { 36, 59, 1962 }, // E. Africa Standard Time / Djibouti ++ { 36, 67, 1978 }, // E. Africa Standard Time / Eritrea ++ { 36, 69, 1992 }, // E. Africa Standard Time / Ethiopia ++ { 36, 111, 2011 }, // E. Africa Standard Time / Kenya ++ { 36, 128, 2026 }, // E. Africa Standard Time / Madagascar ++ { 36, 138, 2046 }, // E. Africa Standard Time / Mayotte ++ { 36, 194, 2061 }, // E. Africa Standard Time / Somalia ++ { 36, 210, 2078 }, // E. Africa Standard Time / Tanzania ++ { 36, 221, 2099 }, // E. Africa Standard Time / Uganda ++ { 36, 254, 2114 }, // E. Africa Standard Time / South Sudan ++ { 37, 13, 2126 }, // E. Australia Standard Time / Australia ++ { 38, 141, 2164 }, // E. Europe Standard Time / Moldova ++ { 39, 30, 2180 }, // E. South America Standard Time / Brazil ++ { 40, 43, 2198 }, // Easter Island Standard Time / Chile ++ { 41, 0, 2213 }, // Eastern Standard Time / AnyCountry ++ { 41, 16, 2221 }, // Eastern Standard Time / Bahamas ++ { 41, 38, 2236 }, // Eastern Standard Time / Canada ++ { 41, 225, 2341 }, // Eastern Standard Time / United States ++ { 42, 139, 2498 }, // Eastern Standard Time (Mexico) / Mexico ++ { 43, 64, 2513 }, // Egypt Standard Time / Egypt ++ { 44, 178, 2526 }, // Ekaterinburg Standard Time / Russia ++ { 45, 72, 2545 }, // Fiji Standard Time / Fiji ++ { 46, 33, 2558 }, // FLE Standard Time / Bulgaria ++ { 46, 68, 2571 }, // FLE Standard Time / Estonia ++ { 46, 73, 2586 }, // FLE Standard Time / Finland ++ { 46, 118, 2602 }, // FLE Standard Time / Latvia ++ { 46, 124, 2614 }, // FLE Standard Time / Lithuania ++ { 46, 222, 2629 }, // FLE Standard Time / Ukraine ++ { 46, 248, 2675 }, // FLE Standard Time / Aland Islands ++ { 47, 81, 2692 }, // Georgian Standard Time / Georgia ++ { 48, 71, 2705 }, // GMT Standard Time / Faroe Islands ++ { 48, 75, 2721 }, // GMT Standard Time / Guernsey ++ { 48, 104, 2737 }, // GMT Standard Time / Ireland ++ { 48, 173, 2751 }, // GMT Standard Time / Portugal ++ { 48, 197, 2782 }, // GMT Standard Time / Spain ++ { 48, 224, 2798 }, // GMT Standard Time / United Kingdom ++ { 48, 251, 2812 }, // GMT Standard Time / Isle Of Man ++ { 48, 252, 2831 }, // GMT Standard Time / Jersey ++ { 49, 86, 2845 }, // Greenland Standard Time / Greenland ++ { 50, 34, 2861 }, // Greenwich Standard Time / Burkina Faso ++ { 50, 53, 2880 }, // Greenwich Standard Time / Ivory Coast ++ { 50, 80, 2895 }, // Greenwich Standard Time / Gambia ++ { 50, 83, 2909 }, // Greenwich Standard Time / Ghana ++ { 50, 91, 2922 }, // Greenwich Standard Time / Guinea ++ { 50, 92, 2937 }, // Greenwich Standard Time / Guinea Bissau ++ { 50, 99, 2951 }, // Greenwich Standard Time / Iceland ++ { 50, 121, 2970 }, // Greenwich Standard Time / Liberia ++ { 50, 132, 2986 }, // Greenwich Standard Time / Mali ++ { 50, 136, 3000 }, // Greenwich Standard Time / Mauritania ++ { 50, 187, 3018 }, // Greenwich Standard Time / Senegal ++ { 50, 189, 3031 }, // Greenwich Standard Time / Sierra Leone ++ { 50, 199, 3047 }, // Greenwich Standard Time / Saint Helena ++ { 50, 212, 3066 }, // Greenwich Standard Time / Togo ++ { 51, 56, 3078 }, // GTB Standard Time / Cyprus ++ { 51, 85, 3106 }, // GTB Standard Time / Greece ++ { 51, 177, 3120 }, // GTB Standard Time / Romania ++ { 52, 94, 3137 }, // Haiti Standard Time / Haiti ++ { 53, 0, 3160 }, // Hawaiian Standard Time / AnyCountry ++ { 53, 51, 3171 }, // Hawaiian Standard Time / Cook Islands ++ { 53, 77, 3189 }, // Hawaiian Standard Time / French Polynesia ++ { 53, 225, 3204 }, // Hawaiian Standard Time / United States ++ { 53, 226, 3221 }, // Hawaiian Standard Time / United States Minor Outlying Islands ++ { 54, 100, 3238 }, // India Standard Time / India ++ { 55, 102, 3252 }, // Iran Standard Time / Iran ++ { 56, 105, 3264 }, // Israel Standard Time / Israel ++ { 57, 109, 3279 }, // Jordan Standard Time / Jordan ++ { 58, 178, 3290 }, // Kaliningrad Standard Time / Russia ++ { 59, 114, 3309 }, // Korea Standard Time / South Korea ++ { 60, 122, 3320 }, // Libya Standard Time / Libya ++ { 61, 0, 3335 }, // Line Islands Standard Time / AnyCountry ++ { 61, 112, 3346 }, // Line Islands Standard Time / Kiribati ++ { 62, 13, 3365 }, // Lord Howe Standard Time / Australia ++ { 63, 178, 3385 }, // Magadan Standard Time / Russia ++ { 64, 43, 3398 }, // Magallanes Standard Time / Chile ++ { 65, 77, 3419 }, // Marquesas Standard Time / French Polynesia ++ { 66, 137, 3437 }, // Mauritius Standard Time / Mauritius ++ { 66, 176, 3454 }, // Mauritius Standard Time / Reunion ++ { 66, 188, 3469 }, // Mauritius Standard Time / Seychelles ++ { 67, 119, 3481 }, // Middle East Standard Time / Lebanon ++ { 68, 227, 3493 }, // Montevideo Standard Time / Uruguay ++ { 69, 145, 3512 }, // Morocco Standard Time / Morocco ++ { 69, 236, 3530 }, // Morocco Standard Time / Western Sahara ++ { 70, 139, 3546 }, // Mountain Standard Time (Mexico) / Mexico ++ { 71, 0, 3581 }, // Mountain Standard Time / AnyCountry ++ { 71, 38, 3589 }, // Mountain Standard Time / Canada ++ { 71, 139, 3663 }, // Mountain Standard Time / Mexico ++ { 71, 225, 3679 }, // Mountain Standard Time / United States ++ { 72, 46, 3708 }, // Myanmar Standard Time / Cocos Islands ++ { 72, 147, 3721 }, // Myanmar Standard Time / Myanmar ++ { 73, 178, 3734 }, // N. Central Asia Standard Time / Russia ++ { 74, 148, 3751 }, // Namibia Standard Time / Namibia ++ { 75, 150, 3767 }, // Nepal Standard Time / Nepal ++ { 76, 8, 3781 }, // New Zealand Standard Time / Antarctica ++ { 76, 154, 3800 }, // New Zealand Standard Time / New Zealand ++ { 77, 38, 3817 }, // Newfoundland Standard Time / Canada ++ { 78, 159, 3834 }, // Norfolk Standard Time / Norfolk Island ++ { 79, 178, 3850 }, // North Asia East Standard Time / Russia ++ { 80, 178, 3863 }, // North Asia Standard Time / Russia ++ { 81, 113, 3898 }, // North Korea Standard Time / North Korea ++ { 82, 178, 3913 }, // Omsk Standard Time / Russia ++ { 83, 43, 3923 }, // Pacific SA Standard Time / Chile ++ { 84, 0, 3940 }, // Pacific Standard Time / AnyCountry ++ { 84, 38, 3948 }, // Pacific Standard Time / Canada ++ { 84, 225, 3966 }, // Pacific Standard Time / United States ++ { 85, 139, 3986 }, // Pacific Standard Time (Mexico) / Mexico ++ { 86, 163, 4023 }, // Pakistan Standard Time / Pakistan ++ { 87, 168, 4036 }, // Paraguay Standard Time / Paraguay ++ { 88, 110, 4053 }, // Qyzylorda Standard Time / Kazakhstan ++ { 89, 21, 4068 }, // Romance Standard Time / Belgium ++ { 89, 58, 4084 }, // Romance Standard Time / Denmark ++ { 89, 74, 4102 }, // Romance Standard Time / France ++ { 89, 197, 4115 }, // Romance Standard Time / Spain ++ { 90, 178, 4142 }, // Russia Time Zone 3 / Russia ++ { 91, 178, 4156 }, // Russia Time Zone 10 / Russia ++ { 92, 178, 4175 }, // Russia Time Zone 11 / Russia ++ { 93, 178, 4202 }, // Russian Standard Time / Russia ++ { 93, 222, 4229 }, // Russian Standard Time / Ukraine ++ { 94, 0, 4247 }, // SA Eastern Standard Time / AnyCountry ++ { 94, 8, 4257 }, // SA Eastern Standard Time / Antarctica ++ { 94, 30, 4294 }, // SA Eastern Standard Time / Brazil ++ { 94, 70, 4373 }, // SA Eastern Standard Time / Falkland Islands ++ { 94, 76, 4390 }, // SA Eastern Standard Time / French Guiana ++ { 94, 202, 4406 }, // SA Eastern Standard Time / Suriname ++ { 95, 0, 4425 }, // SA Pacific Standard Time / AnyCountry ++ { 95, 30, 4435 }, // SA Pacific Standard Time / Brazil ++ { 95, 38, 4471 }, // SA Pacific Standard Time / Canada ++ { 95, 40, 4493 }, // SA Pacific Standard Time / Cayman Islands ++ { 95, 47, 4508 }, // SA Pacific Standard Time / Colombia ++ { 95, 63, 4523 }, // SA Pacific Standard Time / Ecuador ++ { 95, 107, 4541 }, // SA Pacific Standard Time / Jamaica ++ { 95, 166, 4557 }, // SA Pacific Standard Time / Panama ++ { 95, 169, 4572 }, // SA Pacific Standard Time / Peru ++ { 96, 0, 4585 }, // SA Western Standard Time / AnyCountry ++ { 96, 7, 4595 }, // SA Western Standard Time / Anguilla ++ { 96, 9, 4612 }, // SA Western Standard Time / Antigua And Barbuda ++ { 96, 12, 4628 }, // SA Western Standard Time / Aruba ++ { 96, 19, 4642 }, // SA Western Standard Time / Barbados ++ { 96, 26, 4659 }, // SA Western Standard Time / Bolivia ++ { 96, 30, 4674 }, // SA Western Standard Time / Brazil ++ { 96, 38, 4727 }, // SA Western Standard Time / Canada ++ { 96, 60, 4748 }, // SA Western Standard Time / Dominica ++ { 96, 61, 4765 }, // SA Western Standard Time / Dominican Republic ++ { 96, 87, 4787 }, // SA Western Standard Time / Grenada ++ { 96, 88, 4803 }, // SA Western Standard Time / Guadeloupe ++ { 96, 93, 4822 }, // SA Western Standard Time / Guyana ++ { 96, 135, 4837 }, // SA Western Standard Time / Martinique ++ { 96, 144, 4856 }, // SA Western Standard Time / Montserrat ++ { 96, 152, 4875 }, // SA Western Standard Time / Cura Sao ++ { 96, 174, 4891 }, // SA Western Standard Time / Puerto Rico ++ { 96, 180, 4911 }, // SA Western Standard Time / Saint Kitts And Nevis ++ { 96, 181, 4928 }, // SA Western Standard Time / Saint Lucia ++ { 96, 182, 4945 }, // SA Western Standard Time / Saint Vincent And The Grenadines ++ { 96, 215, 4964 }, // SA Western Standard Time / Trinidad And Tobago ++ { 96, 233, 4986 }, // SA Western Standard Time / British Virgin Islands ++ { 96, 234, 5002 }, // SA Western Standard Time / United States Virgin Islands ++ { 96, 244, 5020 }, // SA Western Standard Time / Saint Barthelemy ++ { 96, 245, 5042 }, // SA Western Standard Time / Saint Martin ++ { 96, 255, 5058 }, // SA Western Standard Time / Bonaire ++ { 96, 256, 5077 }, // SA Western Standard Time / Sint Maarten ++ { 97, 200, 5099 }, // Saint Pierre Standard Time / Saint Pierre And Miquelon ++ { 98, 178, 5116 }, // Sakhalin Standard Time / Russia ++ { 99, 183, 5130 }, // Samoa Standard Time / Samoa ++ { 100, 185, 5143 }, // Sao Tome Standard Time / Sao Tome And Principe ++ { 101, 178, 5159 }, // Saratov Standard Time / Russia ++ { 102, 0, 5174 }, // SE Asia Standard Time / AnyCountry ++ { 102, 8, 5184 }, // SE Asia Standard Time / Antarctica ++ { 102, 36, 5201 }, // SE Asia Standard Time / Cambodia ++ { 102, 45, 5217 }, // SE Asia Standard Time / Christmas Island ++ { 102, 101, 5234 }, // SE Asia Standard Time / Indonesia ++ { 102, 117, 5262 }, // SE Asia Standard Time / Laos ++ { 102, 211, 5277 }, // SE Asia Standard Time / Thailand ++ { 102, 232, 5290 }, // SE Asia Standard Time / Vietnam ++ { 103, 0, 5302 }, // Singapore Standard Time / AnyCountry ++ { 103, 32, 5312 }, // Singapore Standard Time / Brunei ++ { 103, 101, 5324 }, // Singapore Standard Time / Indonesia ++ { 103, 130, 5338 }, // Singapore Standard Time / Malaysia ++ { 103, 170, 5369 }, // Singapore Standard Time / Philippines ++ { 103, 190, 5381 }, // Singapore Standard Time / Singapore ++ { 104, 0, 5396 }, // South Africa Standard Time / AnyCountry ++ { 104, 28, 5406 }, // South Africa Standard Time / Botswana ++ { 104, 35, 5422 }, // South Africa Standard Time / Burundi ++ { 104, 49, 5439 }, // South Africa Standard Time / Congo Kinshasa ++ { 104, 120, 5457 }, // South Africa Standard Time / Lesotho ++ { 104, 129, 5471 }, // South Africa Standard Time / Malawi ++ { 104, 146, 5487 }, // South Africa Standard Time / Mozambique ++ { 104, 179, 5501 }, // South Africa Standard Time / Rwanda ++ { 104, 195, 5515 }, // South Africa Standard Time / South Africa ++ { 104, 204, 5535 }, // South Africa Standard Time / Swaziland ++ { 104, 239, 5550 }, // South Africa Standard Time / Zambia ++ { 104, 240, 5564 }, // South Africa Standard Time / Zimbabwe ++ { 105, 198, 5578 }, // Sri Lanka Standard Time / Sri Lanka ++ { 106, 201, 5591 }, // Sudan Standard Time / Sudan ++ { 107, 207, 5607 }, // Syria Standard Time / Syria ++ { 108, 208, 5621 }, // Taipei Standard Time / Taiwan ++ { 109, 13, 5633 }, // Tasmania Standard Time / Australia ++ { 110, 30, 5688 }, // Tocantins Standard Time / Brazil ++ { 111, 0, 5706 }, // Tokyo Standard Time / AnyCountry ++ { 111, 62, 5716 }, // Tokyo Standard Time / East Timor ++ { 111, 101, 5726 }, // Tokyo Standard Time / Indonesia ++ { 111, 108, 5740 }, // Tokyo Standard Time / Japan ++ { 111, 164, 5751 }, // Tokyo Standard Time / Palau ++ { 112, 178, 5765 }, // Tomsk Standard Time / Russia ++ { 113, 214, 5776 }, // Tonga Standard Time / Tonga ++ { 114, 178, 5794 }, // Transbaikal Standard Time / Russia ++ { 115, 217, 5805 }, // Turkey Standard Time / Turkey ++ { 116, 219, 5821 }, // Turks And Caicos Standard Time / Turks And Caicos Islands ++ { 117, 143, 5840 }, // Ulaanbaatar Standard Time / Mongolia ++ { 118, 225, 5873 }, // US Eastern Standard Time / United States ++ { 119, 0, 5940 }, // US Mountain Standard Time / AnyCountry ++ { 119, 38, 5950 }, // US Mountain Standard Time / Canada + { 119, 139, 6041 }, // US Mountain Standard Time / Mexico + { 119, 225, 6060 }, // US Mountain Standard Time / United States + { 120, 0, 6076 }, // UTC-11 / AnyCountry +@@ -526,94 +525,94 @@ static const QWindowsData windowsDataTable[] = { + { 26, 608, 7438,-14400 }, // Central Brazilian Standard Time + { 27, 640, 1245, 3600 }, // Central Europe Standard Time + { 28, 669, 1373, 3600 }, // Central European Standard Time +- { 29, 700, 1464, 39600 }, // Central Pacific Standard Time ++ { 29, 700, 1460, 39600 }, // Central Pacific Standard Time + { 30, 730, 7453,-21600 }, // Central Standard Time (Mexico) + { 31, 761, 7473,-21600 }, // Central Standard Time +- { 32, 783, 1843, 28800 }, // China Standard Time +- { 33, 803, 1883, 45900 }, // Chatham Islands Standard Time +- { 34, 833, 1899,-18000 }, // Cuba Standard Time +- { 35, 852, 1914,-43200 }, // Dateline Standard Time +- { 36, 875, 2015, 10800 }, // E. Africa Standard Time ++ { 32, 783, 1839, 28800 }, // China Standard Time ++ { 33, 803, 1879, 45900 }, // Chatham Islands Standard Time ++ { 34, 833, 1895,-18000 }, // Cuba Standard Time ++ { 35, 852, 1910,-43200 }, // Dateline Standard Time ++ { 36, 875, 2011, 10800 }, // E. Africa Standard Time + { 37, 899, 7489, 36000 }, // E. Australia Standard Time +- { 38, 926, 2168, 7200 }, // E. Europe Standard Time +- { 39, 950, 2184,-10800 }, // E. South America Standard Time +- { 40, 981, 2202,-21600 }, // Easter Island Standard Time ++ { 38, 926, 2164, 7200 }, // E. Europe Standard Time ++ { 39, 950, 2180,-10800 }, // E. South America Standard Time ++ { 40, 981, 2198,-21600 }, // Easter Island Standard Time + { 41, 1009, 7508,-18000 }, // Eastern Standard Time +- { 42, 1031, 2502,-18000 }, // Eastern Standard Time (Mexico) +- { 43, 1062, 2517, 7200 }, // Egypt Standard Time +- { 44, 1082, 2530, 18000 }, // Ekaterinburg Standard Time +- { 45, 1109, 2549, 43200 }, // Fiji Standard Time ++ { 42, 1031, 2498,-18000 }, // Eastern Standard Time (Mexico) ++ { 43, 1062, 2513, 7200 }, // Egypt Standard Time ++ { 44, 1082, 2526, 18000 }, // Ekaterinburg Standard Time ++ { 45, 1109, 2545, 43200 }, // Fiji Standard Time + { 46, 1128, 7525, 7200 }, // FLE Standard Time +- { 47, 1146, 2696, 14400 }, // Georgian Standard Time +- { 48, 1169, 2802, 0 }, // GMT Standard Time +- { 49, 1187, 2849,-10800 }, // Greenland Standard Time +- { 50, 1211, 2955, 0 }, // Greenwich Standard Time +- { 51, 1235, 3124, 7200 }, // GTB Standard Time +- { 52, 1253, 3141,-18000 }, // Haiti Standard Time +- { 53, 1273, 3208,-36000 }, // Hawaiian Standard Time +- { 54, 1296, 3242, 19800 }, // India Standard Time +- { 55, 1316, 3256, 12600 }, // Iran Standard Time +- { 56, 1335, 3268, 7200 }, // Israel Standard Time +- { 57, 1356, 3283, 7200 }, // Jordan Standard Time +- { 58, 1377, 3294, 7200 }, // Kaliningrad Standard Time +- { 59, 1403, 3313, 32400 }, // Korea Standard Time +- { 60, 1423, 3324, 7200 }, // Libya Standard Time +- { 61, 1443, 3350, 50400 }, // Line Islands Standard Time +- { 62, 1470, 3369, 37800 }, // Lord Howe Standard Time +- { 63, 1494, 3389, 36000 }, // Magadan Standard Time +- { 64, 1516, 3402,-10800 }, // Magallanes Standard Time +- { 65, 1541, 3423,-34200 }, // Marquesas Standard Time +- { 66, 1565, 3441, 14400 }, // Mauritius Standard Time +- { 67, 1589, 3485, 7200 }, // Middle East Standard Time +- { 68, 1615, 3497,-10800 }, // Montevideo Standard Time +- { 69, 1640, 3516, 0 }, // Morocco Standard Time ++ { 47, 1146, 2692, 14400 }, // Georgian Standard Time ++ { 48, 1169, 2798, 0 }, // GMT Standard Time ++ { 49, 1187, 2845,-10800 }, // Greenland Standard Time ++ { 50, 1211, 2951, 0 }, // Greenwich Standard Time ++ { 51, 1235, 3120, 7200 }, // GTB Standard Time ++ { 52, 1253, 3137,-18000 }, // Haiti Standard Time ++ { 53, 1273, 3204,-36000 }, // Hawaiian Standard Time ++ { 54, 1296, 3238, 19800 }, // India Standard Time ++ { 55, 1316, 3252, 12600 }, // Iran Standard Time ++ { 56, 1335, 3264, 7200 }, // Israel Standard Time ++ { 57, 1356, 3279, 7200 }, // Jordan Standard Time ++ { 58, 1377, 3290, 7200 }, // Kaliningrad Standard Time ++ { 59, 1403, 3309, 32400 }, // Korea Standard Time ++ { 60, 1423, 3320, 7200 }, // Libya Standard Time ++ { 61, 1443, 3346, 50400 }, // Line Islands Standard Time ++ { 62, 1470, 3365, 37800 }, // Lord Howe Standard Time ++ { 63, 1494, 3385, 36000 }, // Magadan Standard Time ++ { 64, 1516, 3398,-10800 }, // Magallanes Standard Time ++ { 65, 1541, 3419,-34200 }, // Marquesas Standard Time ++ { 66, 1565, 3437, 14400 }, // Mauritius Standard Time ++ { 67, 1589, 3481, 7200 }, // Middle East Standard Time ++ { 68, 1615, 3493,-10800 }, // Montevideo Standard Time ++ { 69, 1640, 3512, 0 }, // Morocco Standard Time + { 70, 1662, 7537,-25200 }, // Mountain Standard Time (Mexico) + { 71, 1694, 7555,-25200 }, // Mountain Standard Time +- { 72, 1717, 3725, 23400 }, // Myanmar Standard Time +- { 73, 1739, 3738, 21600 }, // N. Central Asia Standard Time +- { 74, 1769, 3755, 3600 }, // Namibia Standard Time +- { 75, 1791, 3771, 20700 }, // Nepal Standard Time +- { 76, 1811, 3804, 43200 }, // New Zealand Standard Time +- { 77, 1837, 3821,-12600 }, // Newfoundland Standard Time +- { 78, 1864, 3838, 39600 }, // Norfolk Standard Time +- { 79, 1886, 3854, 28800 }, // North Asia East Standard Time ++ { 72, 1717, 3721, 23400 }, // Myanmar Standard Time ++ { 73, 1739, 3734, 21600 }, // N. Central Asia Standard Time ++ { 74, 1769, 3751, 3600 }, // Namibia Standard Time ++ { 75, 1791, 3767, 20700 }, // Nepal Standard Time ++ { 76, 1811, 3800, 43200 }, // New Zealand Standard Time ++ { 77, 1837, 3817,-12600 }, // Newfoundland Standard Time ++ { 78, 1864, 3834, 39600 }, // Norfolk Standard Time ++ { 79, 1886, 3850, 28800 }, // North Asia East Standard Time + { 80, 1916, 7570, 25200 }, // North Asia Standard Time +- { 81, 1941, 3902, 30600 }, // North Korea Standard Time +- { 82, 1967, 3917, 21600 }, // Omsk Standard Time +- { 83, 1986, 3927,-10800 }, // Pacific SA Standard Time +- { 84, 2011, 4004,-28800 }, // Pacific Standard Time ++ { 81, 1941, 3898, 30600 }, // North Korea Standard Time ++ { 82, 1967, 3913, 21600 }, // Omsk Standard Time ++ { 83, 1986, 3923,-10800 }, // Pacific SA Standard Time ++ { 84, 2011, 3966,-28800 }, // Pacific Standard Time + { 85, 2033, 7587,-28800 }, // Pacific Standard Time (Mexico) +- { 86, 2064, 4061, 18000 }, // Pakistan Standard Time +- { 87, 2087, 4074,-14400 }, // Paraguay Standard Time +- { 88, 2110, 4091, 18000 }, // Qyzylorda Standard Time +- { 89, 2134, 4140, 3600 }, // Romance Standard Time +- { 90, 2156, 4180, 14400 }, // Russia Time Zone 3 +- { 91, 2175, 4194, 39600 }, // Russia Time Zone 10 ++ { 86, 2064, 4023, 18000 }, // Pakistan Standard Time ++ { 87, 2087, 4036,-14400 }, // Paraguay Standard Time ++ { 88, 2110, 4053, 18000 }, // Qyzylorda Standard Time ++ { 89, 2134, 4102, 3600 }, // Romance Standard Time ++ { 90, 2156, 4142, 14400 }, // Russia Time Zone 3 ++ { 91, 2175, 4156, 39600 }, // Russia Time Zone 10 + { 92, 2195, 7603, 43200 }, // Russia Time Zone 11 + { 93, 2215, 7618, 10800 }, // Russian Standard Time +- { 94, 2237, 4428,-10800 }, // SA Eastern Standard Time +- { 95, 2262, 4546,-18000 }, // SA Pacific Standard Time +- { 96, 2287, 4697,-14400 }, // SA Western Standard Time +- { 97, 2312, 5137,-10800 }, // Saint Pierre Standard Time +- { 98, 2339, 5154, 39600 }, // Sakhalin Standard Time +- { 99, 2362, 5168, 46800 }, // Samoa Standard Time +- { 100, 2382, 5181, 0 }, // Sao Tome Standard Time +- { 101, 2405, 5197, 14400 }, // Saratov Standard Time +- { 102, 2427, 5315, 25200 }, // SE Asia Standard Time +- { 103, 2449, 5436, 28800 }, // Singapore Standard Time +- { 104, 2473, 5570, 7200 }, // South Africa Standard Time +- { 105, 2500, 5633, 19800 }, // Sri Lanka Standard Time +- { 106, 2524, 5646, 7200 }, // Sudan Standard Time +- { 107, 2544, 5662, 7200 }, // Syria Standard Time +- { 108, 2564, 5676, 28800 }, // Taipei Standard Time ++ { 94, 2237, 4390,-10800 }, // SA Eastern Standard Time ++ { 95, 2262, 4508,-18000 }, // SA Pacific Standard Time ++ { 96, 2287, 4659,-14400 }, // SA Western Standard Time ++ { 97, 2312, 5099,-10800 }, // Saint Pierre Standard Time ++ { 98, 2339, 5116, 39600 }, // Sakhalin Standard Time ++ { 99, 2362, 5130, 46800 }, // Samoa Standard Time ++ { 100, 2382, 5143, 0 }, // Sao Tome Standard Time ++ { 101, 2405, 5159, 14400 }, // Saratov Standard Time ++ { 102, 2427, 5277, 25200 }, // SE Asia Standard Time ++ { 103, 2449, 5381, 28800 }, // Singapore Standard Time ++ { 104, 2473, 5515, 7200 }, // South Africa Standard Time ++ { 105, 2500, 5578, 19800 }, // Sri Lanka Standard Time ++ { 106, 2524, 5591, 7200 }, // Sudan Standard Time ++ { 107, 2544, 5607, 7200 }, // Syria Standard Time ++ { 108, 2564, 5621, 28800 }, // Taipei Standard Time + { 109, 2585, 7632, 36000 }, // Tasmania Standard Time +- { 110, 2608, 5722,-10800 }, // Tocantins Standard Time +- { 111, 2632, 5774, 32400 }, // Tokyo Standard Time +- { 112, 2652, 5799, 25200 }, // Tomsk Standard Time +- { 113, 2672, 5810, 46800 }, // Tonga Standard Time +- { 114, 2692, 5828, 32400 }, // Transbaikal Standard Time +- { 115, 2718, 5839, 7200 }, // Turkey Standard Time +- { 116, 2739, 5855,-14400 }, // Turks And Caicos Standard Time ++ { 110, 2608, 5688,-10800 }, // Tocantins Standard Time ++ { 111, 2632, 5740, 32400 }, // Tokyo Standard Time ++ { 112, 2652, 5765, 25200 }, // Tomsk Standard Time ++ { 113, 2672, 5776, 46800 }, // Tonga Standard Time ++ { 114, 2692, 5794, 32400 }, // Transbaikal Standard Time ++ { 115, 2718, 5805, 7200 }, // Turkey Standard Time ++ { 116, 2739, 5821,-14400 }, // Turks And Caicos Standard Time + { 117, 2770, 7649, 28800 }, // Ulaanbaatar Standard Time + { 118, 2796, 7666,-18000 }, // US Eastern Standard Time + { 119, 2821, 6060,-25200 }, // US Mountain Standard Time +@@ -916,237 +915,237 @@ static const char ianaIdData[] = { + 0x6a, 0x65, 0x76, 0x6f, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x5a, 0x61, 0x67, 0x72, 0x65, 0x62, 0x0, 0x45, + 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x6b, 0x6f, 0x70, 0x6a, 0x65, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, + 0x57, 0x61, 0x72, 0x73, 0x61, 0x77, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x31, 0x31, 0x0, 0x41, 0x6e, +-0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x63, 0x71, 0x75, 0x61, 0x72, 0x69, 0x65, 0x0, 0x50, +-0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x50, 0x6f, 0x6e, 0x61, 0x70, 0x65, 0x20, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, +-0x63, 0x2f, 0x4b, 0x6f, 0x73, 0x72, 0x61, 0x65, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4e, 0x6f, 0x75, +-0x6d, 0x65, 0x61, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x47, 0x75, 0x61, 0x64, 0x61, 0x6c, 0x63, 0x61, +-0x6e, 0x61, 0x6c, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x45, 0x66, 0x61, 0x74, 0x65, 0x0, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x5f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x68, 0x69, 0x61, 0x5f, 0x42, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x61, 0x73, +-0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x65, 0x72, 0x69, 0x64, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x65, 0x79, 0x0, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, +-0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x70, 0x65, 0x67, 0x20, 0x41, +-0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x61, 0x69, 0x6e, 0x79, 0x5f, 0x52, 0x69, 0x76, 0x65, 0x72, 0x20, 0x41, +-0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x5f, 0x49, 0x6e, 0x6c, 0x65, 0x74, 0x20, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x0, 0x41, 0x6d, 0x65, +-0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x74, 0x61, 0x6d, 0x6f, 0x72, 0x6f, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x43, 0x68, 0x69, 0x63, 0x61, 0x67, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, +-0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x4b, 0x6e, 0x6f, 0x78, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x54, 0x65, 0x6c, 0x6c, 0x5f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x44, 0x61, 0x6b, 0x6f, 0x74, 0x61, 0x2f, 0x42, 0x65, 0x75, +-0x6c, 0x61, 0x68, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x44, 0x61, +-0x6b, 0x6f, 0x74, 0x61, 0x2f, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x4e, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x44, 0x61, 0x6b, 0x6f, 0x74, 0x61, 0x2f, 0x4e, 0x65, 0x77, 0x5f, 0x53, 0x61, 0x6c, +-0x65, 0x6d, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x68, 0x61, 0x6e, 0x67, 0x68, 0x61, 0x69, 0x0, 0x41, 0x73, 0x69, +-0x61, 0x2f, 0x48, 0x6f, 0x6e, 0x67, 0x5f, 0x4b, 0x6f, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x63, +-0x61, 0x75, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d, 0x0, 0x41, +-0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x48, 0x61, 0x76, 0x61, 0x6e, 0x61, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, +-0x54, 0x2b, 0x31, 0x32, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x33, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, +-0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x79, 0x6f, 0x77, 0x61, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x43, +-0x6f, 0x6d, 0x6f, 0x72, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x6a, 0x69, 0x62, 0x6f, 0x75, 0x74, +-0x69, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x73, 0x6d, 0x65, 0x72, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x41, 0x64, 0x64, 0x69, 0x73, 0x5f, 0x41, 0x62, 0x61, 0x62, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x4e, 0x61, 0x69, 0x72, 0x6f, 0x62, 0x69, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x41, 0x6e, 0x74, +-0x61, 0x6e, 0x61, 0x6e, 0x61, 0x72, 0x69, 0x76, 0x6f, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x4d, 0x61, 0x79, +-0x6f, 0x74, 0x74, 0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x67, 0x61, 0x64, 0x69, 0x73, 0x68, +-0x75, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x72, 0x5f, 0x65, 0x73, 0x5f, 0x53, 0x61, 0x6c, 0x61, +-0x61, 0x6d, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x61, 0x6d, 0x70, 0x61, 0x6c, 0x61, 0x0, 0x41, 0x66, +-0x72, 0x69, 0x63, 0x61, 0x2f, 0x4a, 0x75, 0x62, 0x61, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, +-0x42, 0x72, 0x69, 0x73, 0x62, 0x61, 0x6e, 0x65, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x4c, +-0x69, 0x6e, 0x64, 0x65, 0x6d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x43, 0x68, 0x69, 0x73, 0x69, +-0x6e, 0x61, 0x75, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6f, 0x5f, 0x50, 0x61, 0x75, 0x6c, +-0x6f, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x0, 0x45, 0x53, 0x54, +-0x35, 0x45, 0x44, 0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x61, 0x73, 0x73, 0x61, 0x75, 0x0, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x6f, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x49, 0x71, 0x61, 0x6c, 0x75, 0x69, 0x74, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x4d, 0x6f, 0x6e, 0x74, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x69, 0x70, +-0x69, 0x67, 0x6f, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x6e, 0x67, 0x6e, 0x69, 0x72, +-0x74, 0x75, 0x6e, 0x67, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, +-0x5f, 0x42, 0x61, 0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x65, 0x77, 0x5f, 0x59, 0x6f, 0x72, +-0x6b, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x65, 0x74, 0x72, 0x6f, 0x69, 0x74, 0x20, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x50, 0x65, 0x74, 0x65, 0x72, 0x73, +-0x62, 0x75, 0x72, 0x67, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, +-0x2f, 0x56, 0x69, 0x6e, 0x63, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, +-0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x57, 0x69, 0x6e, 0x61, 0x6d, 0x61, 0x63, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x4b, 0x65, 0x6e, 0x74, 0x75, 0x63, 0x6b, 0x79, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x69, 0x63, 0x65, 0x6c, +-0x6c, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x75, 0x69, 0x73, 0x76, 0x69, 0x6c, 0x6c, +-0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x6e, 0x63, 0x75, 0x6e, 0x0, 0x41, 0x66, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x69, 0x72, 0x6f, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x59, 0x65, 0x6b, 0x61, 0x74, +-0x65, 0x72, 0x69, 0x6e, 0x62, 0x75, 0x72, 0x67, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x46, 0x69, 0x6a, +-0x69, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x6f, 0x66, 0x69, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, +-0x65, 0x2f, 0x54, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x48, 0x65, 0x6c, +-0x73, 0x69, 0x6e, 0x6b, 0x69, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x52, 0x69, 0x67, 0x61, 0x0, 0x45, 0x75, +-0x72, 0x6f, 0x70, 0x65, 0x2f, 0x56, 0x69, 0x6c, 0x6e, 0x69, 0x75, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, +-0x4b, 0x69, 0x65, 0x76, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x55, 0x7a, 0x68, 0x67, 0x6f, 0x72, 0x6f, 0x64, +-0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x5a, 0x61, 0x70, 0x6f, 0x72, 0x6f, 0x7a, 0x68, 0x79, 0x65, 0x0, 0x45, +-0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4d, 0x61, 0x72, 0x69, 0x65, 0x68, 0x61, 0x6d, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, +-0x2f, 0x54, 0x62, 0x69, 0x6c, 0x69, 0x73, 0x69, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x46, 0x61, +-0x65, 0x72, 0x6f, 0x65, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x47, 0x75, 0x65, 0x72, 0x6e, 0x73, 0x65, 0x79, +-0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x44, 0x75, 0x62, 0x6c, 0x69, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, +-0x65, 0x2f, 0x4c, 0x69, 0x73, 0x62, 0x6f, 0x6e, 0x20, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x4d, 0x61, +-0x64, 0x65, 0x69, 0x72, 0x61, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x43, 0x61, 0x6e, 0x61, 0x72, +-0x79, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4c, 0x6f, 0x6e, 0x64, 0x6f, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, +-0x70, 0x65, 0x2f, 0x49, 0x73, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x4d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, +-0x65, 0x2f, 0x4a, 0x65, 0x72, 0x73, 0x65, 0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x6f, 0x64, +-0x74, 0x68, 0x61, 0x62, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4f, 0x75, 0x61, 0x67, 0x61, 0x64, 0x6f, 0x75, +-0x67, 0x6f, 0x75, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x62, 0x69, 0x64, 0x6a, 0x61, 0x6e, 0x0, 0x41, +-0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x6e, 0x6a, 0x75, 0x6c, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x41, 0x63, 0x63, 0x72, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x6f, 0x6e, 0x61, 0x6b, 0x72, 0x79, +-0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x69, 0x73, 0x73, 0x61, 0x75, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, +-0x74, 0x69, 0x63, 0x2f, 0x52, 0x65, 0x79, 0x6b, 0x6a, 0x61, 0x76, 0x69, 0x6b, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x4d, 0x6f, 0x6e, 0x72, 0x6f, 0x76, 0x69, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x6d, +-0x61, 0x6b, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x75, 0x61, 0x6b, 0x63, 0x68, 0x6f, 0x74, +-0x74, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x6b, 0x61, 0x72, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x46, 0x72, 0x65, 0x65, 0x74, 0x6f, 0x77, 0x6e, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, +-0x53, 0x74, 0x5f, 0x48, 0x65, 0x6c, 0x65, 0x6e, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x6d, +-0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4e, 0x69, 0x63, 0x6f, 0x73, 0x69, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, +-0x46, 0x61, 0x6d, 0x61, 0x67, 0x75, 0x73, 0x74, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x41, 0x74, 0x68, +-0x65, 0x6e, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x42, 0x75, 0x63, 0x68, 0x61, 0x72, 0x65, 0x73, 0x74, +-0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x2d, 0x61, 0x75, 0x2d, 0x50, 0x72, 0x69, +-0x6e, 0x63, 0x65, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x31, 0x30, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, +-0x69, 0x63, 0x2f, 0x52, 0x61, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, +-0x2f, 0x54, 0x61, 0x68, 0x69, 0x74, 0x69, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x48, 0x6f, 0x6e, 0x6f, +-0x6c, 0x75, 0x6c, 0x75, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4a, 0x6f, 0x68, 0x6e, 0x73, 0x74, 0x6f, +-0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x74, 0x74, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, +-0x2f, 0x54, 0x65, 0x68, 0x72, 0x61, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, 0x65, 0x72, 0x75, 0x73, 0x61, 0x6c, +-0x65, 0x6d, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x41, 0x6d, 0x6d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, +-0x2f, 0x4b, 0x61, 0x6c, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x72, 0x61, 0x64, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x65, +-0x6f, 0x75, 0x6c, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x72, 0x69, 0x70, 0x6f, 0x6c, 0x69, 0x0, 0x45, +-0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x31, 0x34, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4b, 0x69, +-0x72, 0x69, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x69, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x4c, +-0x6f, 0x72, 0x64, 0x5f, 0x48, 0x6f, 0x77, 0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x67, 0x61, 0x64, 0x61, +-0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x75, 0x6e, 0x74, 0x61, 0x5f, 0x41, 0x72, 0x65, 0x6e, +-0x61, 0x73, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4d, 0x61, 0x72, 0x71, 0x75, 0x65, 0x73, 0x61, 0x73, +-0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x75, 0x73, 0x0, 0x49, 0x6e, +-0x64, 0x69, 0x61, 0x6e, 0x2f, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, +-0x4d, 0x61, 0x68, 0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x42, 0x65, 0x69, 0x72, 0x75, 0x74, 0x0, 0x41, 0x6d, 0x65, +-0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x43, 0x61, 0x73, 0x61, 0x62, 0x6c, 0x61, 0x6e, 0x63, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x45, 0x6c, 0x5f, 0x41, 0x61, 0x69, 0x75, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x68, +-0x69, 0x68, 0x75, 0x61, 0x68, 0x75, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x7a, 0x61, +-0x74, 0x6c, 0x61, 0x6e, 0x0, 0x4d, 0x53, 0x54, 0x37, 0x4d, 0x44, 0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x45, 0x64, 0x6d, 0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, +-0x6d, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x5f, 0x42, 0x61, 0x79, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x49, 0x6e, 0x75, 0x76, 0x69, 0x6b, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x59, 0x65, 0x6c, 0x6c, 0x6f, +-0x77, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4f, 0x6a, 0x69, 0x6e, 0x61, +-0x67, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x20, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6f, 0x69, 0x73, 0x65, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x43, +-0x6f, 0x63, 0x6f, 0x73, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x52, 0x61, 0x6e, 0x67, 0x6f, 0x6f, 0x6e, 0x0, 0x41, 0x73, +-0x69, 0x61, 0x2f, 0x4e, 0x6f, 0x76, 0x6f, 0x73, 0x69, 0x62, 0x69, 0x72, 0x73, 0x6b, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x57, 0x69, 0x6e, 0x64, 0x68, 0x6f, 0x65, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x61, 0x74, 0x6d, +-0x61, 0x6e, 0x64, 0x75, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x63, 0x4d, 0x75, +-0x72, 0x64, 0x6f, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x41, 0x75, 0x63, 0x6b, 0x6c, 0x61, 0x6e, 0x64, +-0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x4a, 0x6f, 0x68, 0x6e, 0x73, 0x0, 0x50, 0x61, +-0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4e, 0x6f, 0x72, 0x66, 0x6f, 0x6c, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x49, +-0x72, 0x6b, 0x75, 0x74, 0x73, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x72, 0x61, 0x73, 0x6e, 0x6f, 0x79, 0x61, +-0x72, 0x73, 0x6b, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4e, 0x6f, 0x76, 0x6f, 0x6b, 0x75, 0x7a, 0x6e, 0x65, 0x74, 0x73, +-0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x50, 0x79, 0x6f, 0x6e, 0x67, 0x79, 0x61, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, +-0x61, 0x2f, 0x4f, 0x6d, 0x73, 0x6b, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x69, +-0x61, 0x67, 0x6f, 0x0, 0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x56, 0x61, 0x6e, 0x63, 0x6f, 0x75, 0x76, 0x65, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, +-0x77, 0x73, 0x6f, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x57, 0x68, 0x69, 0x74, 0x65, 0x68, 0x6f, +-0x72, 0x73, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x73, 0x5f, 0x41, 0x6e, 0x67, 0x65, +-0x6c, 0x65, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x69, 0x6a, 0x75, 0x61, 0x6e, 0x61, 0x20, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x61, 0x5f, 0x49, 0x73, 0x61, 0x62, 0x65, 0x6c, +-0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x41, 0x73, 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x51, 0x79, 0x7a, 0x79, +-0x6c, 0x6f, 0x72, 0x64, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x42, 0x72, 0x75, 0x73, 0x73, 0x65, 0x6c, +-0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x43, 0x6f, 0x70, 0x65, 0x6e, 0x68, 0x61, 0x67, 0x65, 0x6e, 0x0, +-0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x50, 0x61, 0x72, 0x69, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, +-0x4d, 0x61, 0x64, 0x72, 0x69, 0x64, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x65, 0x75, 0x74, 0x61, 0x0, +-0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x61, 0x6d, 0x61, 0x72, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, +-0x72, 0x65, 0x64, 0x6e, 0x65, 0x6b, 0x6f, 0x6c, 0x79, 0x6d, 0x73, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x61, +-0x6d, 0x63, 0x68, 0x61, 0x74, 0x6b, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x41, 0x6e, 0x61, 0x64, 0x79, 0x72, 0x0, +-0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4d, 0x6f, 0x73, 0x63, 0x6f, 0x77, 0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, +-0x2f, 0x4b, 0x69, 0x72, 0x6f, 0x76, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x69, 0x6d, 0x66, 0x65, 0x72, +-0x6f, 0x70, 0x6f, 0x6c, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x33, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, +-0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x20, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, +-0x74, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x6c, 0x6d, 0x65, 0x72, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x46, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x65, 0x7a, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x65, +-0x6c, 0x65, 0x6d, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x63, 0x65, 0x69, 0x6f, 0x20, 0x41, +-0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x65, 0x63, 0x69, 0x66, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x6d, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, +-0x53, 0x74, 0x61, 0x6e, 0x6c, 0x65, 0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x79, 0x65, +-0x6e, 0x6e, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x61, 0x72, 0x69, +-0x62, 0x6f, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x35, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x52, 0x69, 0x6f, 0x5f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x45, 0x69, 0x72, 0x75, 0x6e, 0x65, 0x70, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x6f, 0x72, +-0x61, 0x6c, 0x5f, 0x48, 0x61, 0x72, 0x62, 0x6f, 0x75, 0x72, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, +-0x61, 0x79, 0x6d, 0x61, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6f, 0x67, 0x6f, 0x74, 0x61, +-0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x61, 0x79, 0x61, 0x71, 0x75, 0x69, 0x6c, 0x0, 0x41, +-0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x50, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x69, +-0x6d, 0x61, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x34, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x41, 0x6e, 0x67, 0x75, 0x69, 0x6c, 0x6c, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x6e, +-0x74, 0x69, 0x67, 0x75, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x72, 0x75, 0x62, 0x61, 0x0, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x72, 0x62, 0x61, 0x64, 0x6f, 0x73, 0x0, 0x41, 0x6d, 0x65, +-0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x61, 0x5f, 0x50, 0x61, 0x7a, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x4d, 0x61, 0x6e, 0x61, 0x75, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6f, 0x61, 0x5f, 0x56, +-0x69, 0x73, 0x74, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x6f, 0x5f, 0x56, +-0x65, 0x6c, 0x68, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6c, 0x61, 0x6e, 0x63, 0x2d, 0x53, +-0x61, 0x62, 0x6c, 0x6f, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x6f, 0x6d, 0x69, 0x6e, 0x69, +-0x63, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x6f, 0x5f, 0x44, 0x6f, 0x6d, +-0x69, 0x6e, 0x67, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x72, 0x65, 0x6e, 0x61, 0x64, 0x61, +-0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x61, 0x64, 0x65, 0x6c, 0x6f, 0x75, 0x70, 0x65, 0x0, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, +-0x61, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x73, 0x65, 0x72, 0x72, 0x61, 0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x43, 0x75, 0x72, 0x61, 0x63, 0x61, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x75, 0x65, +-0x72, 0x74, 0x6f, 0x5f, 0x52, 0x69, 0x63, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, +-0x4b, 0x69, 0x74, 0x74, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x4c, 0x75, 0x63, +-0x69, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x56, 0x69, 0x6e, 0x63, 0x65, 0x6e, +-0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x53, 0x70, +-0x61, 0x69, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x6f, 0x72, 0x74, 0x6f, 0x6c, 0x61, 0x0, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x54, 0x68, 0x6f, 0x6d, 0x61, 0x73, 0x0, 0x41, 0x6d, +-0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x42, 0x61, 0x72, 0x74, 0x68, 0x65, 0x6c, 0x65, 0x6d, 0x79, 0x0, +-0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x69, 0x67, 0x6f, 0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x4b, 0x72, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x69, 0x6a, 0x6b, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x0, 0x41, 0x6d, 0x65, +-0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x6f, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, +-0x61, 0x6b, 0x68, 0x61, 0x6c, 0x69, 0x6e, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x41, 0x70, 0x69, 0x61, +-0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6f, 0x5f, 0x54, 0x6f, 0x6d, 0x65, 0x0, 0x45, 0x75, 0x72, +-0x6f, 0x70, 0x65, 0x2f, 0x53, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x76, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, +-0x37, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x76, 0x69, 0x73, 0x0, 0x41, +-0x73, 0x69, 0x61, 0x2f, 0x50, 0x68, 0x6e, 0x6f, 0x6d, 0x5f, 0x50, 0x65, 0x6e, 0x68, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, +-0x6e, 0x2f, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, 0x61, 0x6b, +-0x61, 0x72, 0x74, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x50, 0x6f, 0x6e, 0x74, 0x69, 0x61, 0x6e, 0x61, 0x6b, 0x0, +-0x41, 0x73, 0x69, 0x61, 0x2f, 0x56, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6e, 0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, +-0x42, 0x61, 0x6e, 0x67, 0x6b, 0x6f, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x61, 0x69, 0x67, 0x6f, 0x6e, 0x0, +-0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x38, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, +-0x2f, 0x43, 0x61, 0x73, 0x65, 0x79, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x42, 0x72, 0x75, 0x6e, 0x65, 0x69, 0x0, 0x41, +-0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x6b, 0x61, 0x73, 0x73, 0x61, 0x72, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x75, +-0x61, 0x6c, 0x61, 0x5f, 0x4c, 0x75, 0x6d, 0x70, 0x75, 0x72, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x75, 0x63, 0x68, +-0x69, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, +-0x2f, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, 0x65, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x32, +-0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x61, 0x62, 0x6f, 0x72, 0x6f, 0x6e, 0x65, 0x0, 0x41, 0x66, 0x72, +-0x69, 0x63, 0x61, 0x2f, 0x42, 0x75, 0x6a, 0x75, 0x6d, 0x62, 0x75, 0x72, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, +-0x2f, 0x4c, 0x75, 0x62, 0x75, 0x6d, 0x62, 0x61, 0x73, 0x68, 0x69, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, +-0x61, 0x73, 0x65, 0x72, 0x75, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6c, 0x61, 0x6e, 0x74, 0x79, 0x72, +-0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x70, 0x75, 0x74, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x4b, 0x69, 0x67, 0x61, 0x6c, 0x69, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4a, 0x6f, 0x68, +-0x61, 0x6e, 0x6e, 0x65, 0x73, 0x62, 0x75, 0x72, 0x67, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x62, 0x61, +-0x62, 0x61, 0x6e, 0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x75, 0x73, 0x61, 0x6b, 0x61, 0x0, 0x41, +-0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x48, 0x61, 0x72, 0x61, 0x72, 0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x43, 0x6f, +-0x6c, 0x6f, 0x6d, 0x62, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x68, 0x61, 0x72, 0x74, 0x6f, 0x75, +-0x6d, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x44, 0x61, 0x6d, 0x61, 0x73, 0x63, 0x75, 0x73, 0x0, 0x41, 0x73, 0x69, 0x61, +-0x2f, 0x54, 0x61, 0x69, 0x70, 0x65, 0x69, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x48, 0x6f, +-0x62, 0x61, 0x72, 0x74, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x43, 0x75, 0x72, 0x72, 0x69, +-0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x72, 0x61, 0x67, 0x75, 0x61, 0x69, 0x6e, 0x61, 0x0, +-0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x39, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x44, 0x69, 0x6c, 0x69, 0x0, +-0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, 0x61, 0x79, 0x61, 0x70, 0x75, 0x72, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, +-0x6f, 0x6b, 0x79, 0x6f, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x50, 0x61, 0x6c, 0x61, 0x75, 0x0, 0x41, +-0x73, 0x69, 0x61, 0x2f, 0x54, 0x6f, 0x6d, 0x73, 0x6b, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x54, 0x6f, +-0x6e, 0x67, 0x61, 0x74, 0x61, 0x70, 0x75, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x43, 0x68, 0x69, 0x74, 0x61, 0x0, 0x45, +-0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x49, 0x73, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x6c, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, +-0x63, 0x61, 0x2f, 0x47, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x55, +-0x6c, 0x61, 0x61, 0x6e, 0x62, 0x61, 0x61, 0x74, 0x61, 0x72, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x43, 0x68, 0x6f, 0x69, +-0x62, 0x61, 0x6c, 0x73, 0x61, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, +-0x6e, 0x61, 0x70, 0x6f, 0x6c, 0x69, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, +-0x61, 0x6e, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x65, 0x6e, 0x67, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, +-0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x56, 0x65, 0x76, 0x61, 0x79, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, +-0x54, 0x2b, 0x37, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x77, 0x73, 0x6f, 0x6e, 0x5f, 0x43, +-0x72, 0x65, 0x65, 0x6b, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x6e, ++0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x73, 0x65, 0x79, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, ++0x69, 0x63, 0x2f, 0x50, 0x6f, 0x6e, 0x61, 0x70, 0x65, 0x20, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4b, 0x6f, ++0x73, 0x72, 0x61, 0x65, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4e, 0x6f, 0x75, 0x6d, 0x65, 0x61, 0x0, ++0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x47, 0x75, 0x61, 0x64, 0x61, 0x6c, 0x63, 0x61, 0x6e, 0x61, 0x6c, 0x0, ++0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x45, 0x66, 0x61, 0x74, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x4d, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x5f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x42, 0x61, 0x68, 0x69, 0x61, 0x5f, 0x42, 0x61, 0x6e, 0x64, 0x65, 0x72, 0x61, 0x73, 0x20, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x65, 0x72, 0x69, 0x64, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x4d, 0x6f, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x65, 0x79, 0x0, 0x43, 0x53, 0x54, 0x36, 0x43, 0x44, 0x54, 0x0, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x57, 0x69, 0x6e, 0x6e, 0x69, 0x70, 0x65, 0x67, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x52, 0x61, 0x69, 0x6e, 0x79, 0x5f, 0x52, 0x69, 0x76, 0x65, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x52, 0x61, 0x6e, 0x6b, 0x69, 0x6e, 0x5f, 0x49, 0x6e, 0x6c, 0x65, 0x74, 0x20, 0x41, 0x6d, 0x65, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, ++0x2f, 0x4d, 0x61, 0x74, 0x61, 0x6d, 0x6f, 0x72, 0x6f, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, ++0x68, 0x69, 0x63, 0x61, 0x67, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, ++0x6e, 0x61, 0x2f, 0x4b, 0x6e, 0x6f, 0x78, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, ++0x61, 0x6e, 0x61, 0x2f, 0x54, 0x65, 0x6c, 0x6c, 0x5f, 0x43, 0x69, 0x74, 0x79, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x4d, 0x65, 0x6e, 0x6f, 0x6d, 0x69, 0x6e, 0x65, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x4e, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x44, 0x61, 0x6b, 0x6f, 0x74, 0x61, 0x2f, 0x42, 0x65, 0x75, 0x6c, 0x61, 0x68, 0x20, ++0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x72, 0x74, 0x68, 0x5f, 0x44, 0x61, 0x6b, 0x6f, 0x74, 0x61, ++0x2f, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x72, 0x74, ++0x68, 0x5f, 0x44, 0x61, 0x6b, 0x6f, 0x74, 0x61, 0x2f, 0x4e, 0x65, 0x77, 0x5f, 0x53, 0x61, 0x6c, 0x65, 0x6d, 0x0, 0x41, ++0x73, 0x69, 0x61, 0x2f, 0x53, 0x68, 0x61, 0x6e, 0x67, 0x68, 0x61, 0x69, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x48, 0x6f, ++0x6e, 0x67, 0x5f, 0x4b, 0x6f, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x63, 0x61, 0x75, 0x0, 0x50, ++0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x43, 0x68, 0x61, 0x74, 0x68, 0x61, 0x6d, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x48, 0x61, 0x76, 0x61, 0x6e, 0x61, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x31, 0x32, ++0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x33, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, ++0x61, 0x2f, 0x53, 0x79, 0x6f, 0x77, 0x61, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x43, 0x6f, 0x6d, 0x6f, 0x72, ++0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x6a, 0x69, 0x62, 0x6f, 0x75, 0x74, 0x69, 0x0, 0x41, 0x66, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x73, 0x6d, 0x65, 0x72, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, ++0x64, 0x64, 0x69, 0x73, 0x5f, 0x41, 0x62, 0x61, 0x62, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x61, ++0x69, 0x72, 0x6f, 0x62, 0x69, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x41, 0x6e, 0x74, 0x61, 0x6e, 0x61, 0x6e, ++0x61, 0x72, 0x69, 0x76, 0x6f, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x4d, 0x61, 0x79, 0x6f, 0x74, 0x74, 0x65, ++0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x67, 0x61, 0x64, 0x69, 0x73, 0x68, 0x75, 0x0, 0x41, 0x66, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x72, 0x5f, 0x65, 0x73, 0x5f, 0x53, 0x61, 0x6c, 0x61, 0x61, 0x6d, 0x0, 0x41, ++0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x61, 0x6d, 0x70, 0x61, 0x6c, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, ++0x2f, 0x4a, 0x75, 0x62, 0x61, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x42, 0x72, 0x69, 0x73, ++0x62, 0x61, 0x6e, 0x65, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x4c, 0x69, 0x6e, 0x64, 0x65, ++0x6d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x43, 0x68, 0x69, 0x73, 0x69, 0x6e, 0x61, 0x75, 0x0, ++0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6f, 0x5f, 0x50, 0x61, 0x75, 0x6c, 0x6f, 0x0, 0x50, 0x61, ++0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x45, 0x61, 0x73, 0x74, 0x65, 0x72, 0x0, 0x45, 0x53, 0x54, 0x35, 0x45, 0x44, 0x54, ++0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x61, 0x73, 0x73, 0x61, 0x75, 0x0, 0x41, 0x6d, 0x65, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x54, 0x6f, 0x72, 0x6f, 0x6e, 0x74, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x49, 0x71, 0x61, 0x6c, 0x75, 0x69, 0x74, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, ++0x72, 0x65, 0x61, 0x6c, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x69, 0x70, 0x69, 0x67, 0x6f, 0x6e, ++0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x6e, 0x67, 0x6e, 0x69, 0x72, 0x74, 0x75, 0x6e, 0x67, ++0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x68, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x42, 0x61, 0x79, ++0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x65, 0x77, 0x5f, 0x59, 0x6f, 0x72, 0x6b, 0x20, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x65, 0x74, 0x72, 0x6f, 0x69, 0x74, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x50, 0x65, 0x74, 0x65, 0x72, 0x73, 0x62, 0x75, 0x72, 0x67, ++0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x56, 0x69, 0x6e, ++0x63, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, ++0x6e, 0x61, 0x2f, 0x57, 0x69, 0x6e, 0x61, 0x6d, 0x61, 0x63, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, ++0x65, 0x6e, 0x74, 0x75, 0x63, 0x6b, 0x79, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x69, 0x63, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x41, ++0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x75, 0x69, 0x73, 0x76, 0x69, 0x6c, 0x6c, 0x65, 0x0, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x6e, 0x63, 0x75, 0x6e, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x43, 0x61, 0x69, 0x72, 0x6f, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x59, 0x65, 0x6b, 0x61, 0x74, 0x65, 0x72, 0x69, 0x6e, ++0x62, 0x75, 0x72, 0x67, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x46, 0x69, 0x6a, 0x69, 0x0, 0x45, 0x75, ++0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x6f, 0x66, 0x69, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x54, 0x61, ++0x6c, 0x6c, 0x69, 0x6e, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x48, 0x65, 0x6c, 0x73, 0x69, 0x6e, 0x6b, ++0x69, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x52, 0x69, 0x67, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, ++0x2f, 0x56, 0x69, 0x6c, 0x6e, 0x69, 0x75, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4b, 0x69, 0x65, 0x76, ++0x20, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x55, 0x7a, 0x68, 0x67, 0x6f, 0x72, 0x6f, 0x64, 0x20, 0x45, 0x75, 0x72, ++0x6f, 0x70, 0x65, 0x2f, 0x5a, 0x61, 0x70, 0x6f, 0x72, 0x6f, 0x7a, 0x68, 0x79, 0x65, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, ++0x65, 0x2f, 0x4d, 0x61, 0x72, 0x69, 0x65, 0x68, 0x61, 0x6d, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, 0x62, 0x69, ++0x6c, 0x69, 0x73, 0x69, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x46, 0x61, 0x65, 0x72, 0x6f, 0x65, ++0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x47, 0x75, 0x65, 0x72, 0x6e, 0x73, 0x65, 0x79, 0x0, 0x45, 0x75, 0x72, ++0x6f, 0x70, 0x65, 0x2f, 0x44, 0x75, 0x62, 0x6c, 0x69, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4c, 0x69, ++0x73, 0x62, 0x6f, 0x6e, 0x20, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x4d, 0x61, 0x64, 0x65, 0x69, 0x72, ++0x61, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x0, 0x45, 0x75, ++0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4c, 0x6f, 0x6e, 0x64, 0x6f, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x49, ++0x73, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x5f, 0x4d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4a, 0x65, ++0x72, 0x73, 0x65, 0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x6f, 0x64, 0x74, 0x68, 0x61, 0x62, ++0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4f, 0x75, 0x61, 0x67, 0x61, 0x64, 0x6f, 0x75, 0x67, 0x6f, 0x75, 0x0, ++0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x62, 0x69, 0x64, 0x6a, 0x61, 0x6e, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x42, 0x61, 0x6e, 0x6a, 0x75, 0x6c, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x63, 0x63, 0x72, ++0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x6f, 0x6e, 0x61, 0x6b, 0x72, 0x79, 0x0, 0x41, 0x66, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x42, 0x69, 0x73, 0x73, 0x61, 0x75, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, ++0x52, 0x65, 0x79, 0x6b, 0x6a, 0x61, 0x76, 0x69, 0x6b, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x6e, ++0x72, 0x6f, 0x76, 0x69, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x6d, 0x61, 0x6b, 0x6f, 0x0, ++0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4e, 0x6f, 0x75, 0x61, 0x6b, 0x63, 0x68, 0x6f, 0x74, 0x74, 0x0, 0x41, 0x66, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x6b, 0x61, 0x72, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x46, 0x72, ++0x65, 0x65, 0x74, 0x6f, 0x77, 0x6e, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x2f, 0x53, 0x74, 0x5f, 0x48, ++0x65, 0x6c, 0x65, 0x6e, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x6d, 0x65, 0x0, 0x41, 0x73, ++0x69, 0x61, 0x2f, 0x4e, 0x69, 0x63, 0x6f, 0x73, 0x69, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x46, 0x61, 0x6d, 0x61, ++0x67, 0x75, 0x73, 0x74, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x41, 0x74, 0x68, 0x65, 0x6e, 0x73, 0x0, ++0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x42, 0x75, 0x63, 0x68, 0x61, 0x72, 0x65, 0x73, 0x74, 0x0, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x2d, 0x61, 0x75, 0x2d, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x65, 0x0, ++0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x31, 0x30, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x52, ++0x61, 0x72, 0x6f, 0x74, 0x6f, 0x6e, 0x67, 0x61, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x54, 0x61, 0x68, ++0x69, 0x74, 0x69, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x48, 0x6f, 0x6e, 0x6f, 0x6c, 0x75, 0x6c, 0x75, ++0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4a, 0x6f, 0x68, 0x6e, 0x73, 0x74, 0x6f, 0x6e, 0x0, 0x41, 0x73, ++0x69, 0x61, 0x2f, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x74, 0x74, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, 0x65, 0x68, ++0x72, 0x61, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, 0x65, 0x72, 0x75, 0x73, 0x61, 0x6c, 0x65, 0x6d, 0x0, 0x41, ++0x73, 0x69, 0x61, 0x2f, 0x41, 0x6d, 0x6d, 0x61, 0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4b, 0x61, 0x6c, ++0x69, 0x6e, 0x69, 0x6e, 0x67, 0x72, 0x61, 0x64, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x65, 0x6f, 0x75, 0x6c, 0x0, ++0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x72, 0x69, 0x70, 0x6f, 0x6c, 0x69, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, ++0x4d, 0x54, 0x2d, 0x31, 0x34, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4b, 0x69, 0x72, 0x69, 0x74, 0x69, ++0x6d, 0x61, 0x74, 0x69, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, 0x4c, 0x6f, 0x72, 0x64, 0x5f, ++0x48, 0x6f, 0x77, 0x65, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x67, 0x61, 0x64, 0x61, 0x6e, 0x0, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x75, 0x6e, 0x74, 0x61, 0x5f, 0x41, 0x72, 0x65, 0x6e, 0x61, 0x73, 0x0, 0x50, ++0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x4d, 0x61, 0x72, 0x71, 0x75, 0x65, 0x73, 0x61, 0x73, 0x0, 0x49, 0x6e, 0x64, ++0x69, 0x61, 0x6e, 0x2f, 0x4d, 0x61, 0x75, 0x72, 0x69, 0x74, 0x69, 0x75, 0x73, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, ++0x2f, 0x52, 0x65, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x4d, 0x61, 0x68, 0x65, ++0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x42, 0x65, 0x69, 0x72, 0x75, 0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, ++0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x65, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, ++0x61, 0x73, 0x61, 0x62, 0x6c, 0x61, 0x6e, 0x63, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x45, 0x6c, 0x5f, ++0x41, 0x61, 0x69, 0x75, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x68, 0x69, 0x68, 0x75, 0x61, ++0x68, 0x75, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x7a, 0x61, 0x74, 0x6c, 0x61, 0x6e, ++0x0, 0x4d, 0x53, 0x54, 0x37, 0x4d, 0x44, 0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x45, 0x64, 0x6d, ++0x6f, 0x6e, 0x74, 0x6f, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, 0x6d, 0x62, 0x72, 0x69, ++0x64, 0x67, 0x65, 0x5f, 0x42, 0x61, 0x79, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x75, 0x76, ++0x69, 0x6b, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x59, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x6b, 0x6e, 0x69, ++0x66, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4f, 0x6a, 0x69, 0x6e, 0x61, 0x67, 0x61, 0x0, 0x41, ++0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x65, 0x6e, 0x76, 0x65, 0x72, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x42, 0x6f, 0x69, 0x73, 0x65, 0x0, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x2f, 0x43, 0x6f, 0x63, 0x6f, 0x73, ++0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x52, 0x61, 0x6e, 0x67, 0x6f, 0x6f, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4e, ++0x6f, 0x76, 0x6f, 0x73, 0x69, 0x62, 0x69, 0x72, 0x73, 0x6b, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x57, 0x69, ++0x6e, 0x64, 0x68, 0x6f, 0x65, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x61, 0x74, 0x6d, 0x61, 0x6e, 0x64, 0x75, ++0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x63, 0x4d, 0x75, 0x72, 0x64, 0x6f, 0x0, ++0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x41, 0x75, 0x63, 0x6b, 0x6c, 0x61, 0x6e, 0x64, 0x0, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x4a, 0x6f, 0x68, 0x6e, 0x73, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, ++0x63, 0x2f, 0x4e, 0x6f, 0x72, 0x66, 0x6f, 0x6c, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x49, 0x72, 0x6b, 0x75, 0x74, ++0x73, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x72, 0x61, 0x73, 0x6e, 0x6f, 0x79, 0x61, 0x72, 0x73, 0x6b, 0x20, ++0x41, 0x73, 0x69, 0x61, 0x2f, 0x4e, 0x6f, 0x76, 0x6f, 0x6b, 0x75, 0x7a, 0x6e, 0x65, 0x74, 0x73, 0x6b, 0x0, 0x41, 0x73, ++0x69, 0x61, 0x2f, 0x50, 0x79, 0x6f, 0x6e, 0x67, 0x79, 0x61, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4f, 0x6d, ++0x73, 0x6b, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x69, 0x61, 0x67, 0x6f, 0x0, ++0x50, 0x53, 0x54, 0x38, 0x50, 0x44, 0x54, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x56, 0x61, 0x6e, 0x63, ++0x6f, 0x75, 0x76, 0x65, 0x72, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x73, 0x5f, 0x41, 0x6e, ++0x67, 0x65, 0x6c, 0x65, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x69, 0x6a, 0x75, 0x61, 0x6e, ++0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x61, 0x5f, 0x49, 0x73, 0x61, 0x62, ++0x65, 0x6c, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4b, 0x61, 0x72, 0x61, 0x63, 0x68, 0x69, 0x0, 0x41, 0x6d, 0x65, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x41, 0x73, 0x75, 0x6e, 0x63, 0x69, 0x6f, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x51, 0x79, ++0x7a, 0x79, 0x6c, 0x6f, 0x72, 0x64, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x42, 0x72, 0x75, 0x73, 0x73, ++0x65, 0x6c, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x43, 0x6f, 0x70, 0x65, 0x6e, 0x68, 0x61, 0x67, 0x65, ++0x6e, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x50, 0x61, 0x72, 0x69, 0x73, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, ++0x65, 0x2f, 0x4d, 0x61, 0x64, 0x72, 0x69, 0x64, 0x20, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x65, 0x75, 0x74, ++0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x61, 0x6d, 0x61, 0x72, 0x61, 0x0, 0x41, 0x73, 0x69, 0x61, ++0x2f, 0x53, 0x72, 0x65, 0x64, 0x6e, 0x65, 0x6b, 0x6f, 0x6c, 0x79, 0x6d, 0x73, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, ++0x4b, 0x61, 0x6d, 0x63, 0x68, 0x61, 0x74, 0x6b, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x41, 0x6e, 0x61, 0x64, 0x79, ++0x72, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x4d, 0x6f, 0x73, 0x63, 0x6f, 0x77, 0x20, 0x45, 0x75, 0x72, 0x6f, ++0x70, 0x65, 0x2f, 0x4b, 0x69, 0x72, 0x6f, 0x76, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x69, 0x6d, 0x66, ++0x65, 0x72, 0x6f, 0x70, 0x6f, 0x6c, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x33, 0x0, 0x41, 0x6e, 0x74, ++0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x61, 0x20, 0x41, 0x6e, 0x74, 0x61, ++0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x6c, 0x6d, 0x65, 0x72, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x46, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x65, 0x7a, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x42, 0x65, 0x6c, 0x65, 0x6d, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x63, 0x65, 0x69, 0x6f, ++0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x52, 0x65, 0x63, 0x69, 0x66, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x61, 0x72, 0x65, 0x6d, 0x0, 0x41, 0x74, 0x6c, 0x61, 0x6e, 0x74, 0x69, ++0x63, 0x2f, 0x53, 0x74, 0x61, 0x6e, 0x6c, 0x65, 0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x61, ++0x79, 0x65, 0x6e, 0x6e, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x61, ++0x72, 0x69, 0x62, 0x6f, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x35, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x52, 0x69, 0x6f, 0x5f, 0x42, 0x72, 0x61, 0x6e, 0x63, 0x6f, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x45, 0x69, 0x72, 0x75, 0x6e, 0x65, 0x70, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, ++0x6f, 0x72, 0x61, 0x6c, 0x5f, 0x48, 0x61, 0x72, 0x62, 0x6f, 0x75, 0x72, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, ++0x2f, 0x43, 0x61, 0x79, 0x6d, 0x61, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6f, 0x67, 0x6f, ++0x74, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x61, 0x79, 0x61, 0x71, 0x75, 0x69, 0x6c, ++0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4a, 0x61, 0x6d, 0x61, 0x69, 0x63, 0x61, 0x0, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x61, 0x6e, 0x61, 0x6d, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x4c, 0x69, 0x6d, 0x61, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x34, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x41, 0x6e, 0x67, 0x75, 0x69, 0x6c, 0x6c, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, ++0x41, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x72, 0x75, 0x62, ++0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x61, 0x72, 0x62, 0x61, 0x64, 0x6f, 0x73, 0x0, 0x41, ++0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x61, 0x5f, 0x50, 0x61, 0x7a, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x4d, 0x61, 0x6e, 0x61, 0x75, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6f, 0x61, ++0x5f, 0x56, 0x69, 0x73, 0x74, 0x61, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x6f, ++0x5f, 0x56, 0x65, 0x6c, 0x68, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6c, 0x61, 0x6e, 0x63, ++0x2d, 0x53, 0x61, 0x62, 0x6c, 0x6f, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x6f, 0x6d, 0x69, ++0x6e, 0x69, 0x63, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6e, 0x74, 0x6f, 0x5f, 0x44, ++0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x72, 0x65, 0x6e, 0x61, ++0x64, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x61, 0x64, 0x65, 0x6c, 0x6f, 0x75, 0x70, ++0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x75, 0x79, 0x61, 0x6e, 0x61, 0x0, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x4d, 0x6f, 0x6e, 0x74, 0x73, 0x65, 0x72, 0x72, 0x61, 0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, ++0x63, 0x61, 0x2f, 0x43, 0x75, 0x72, 0x61, 0x63, 0x61, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, ++0x75, 0x65, 0x72, 0x74, 0x6f, 0x5f, 0x52, 0x69, 0x63, 0x6f, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, ++0x74, 0x5f, 0x4b, 0x69, 0x74, 0x74, 0x73, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x4c, ++0x75, 0x63, 0x69, 0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x56, 0x69, 0x6e, 0x63, ++0x65, 0x6e, 0x74, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x6f, 0x72, 0x74, 0x5f, 0x6f, 0x66, 0x5f, ++0x53, 0x70, 0x61, 0x69, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x54, 0x6f, 0x72, 0x74, 0x6f, 0x6c, ++0x61, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x54, 0x68, 0x6f, 0x6d, 0x61, 0x73, 0x0, ++0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x74, 0x5f, 0x42, 0x61, 0x72, 0x74, 0x68, 0x65, 0x6c, 0x65, 0x6d, ++0x79, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x69, 0x67, 0x6f, 0x74, 0x0, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x72, 0x61, 0x6c, 0x65, 0x6e, 0x64, 0x69, 0x6a, 0x6b, 0x0, 0x41, 0x6d, 0x65, ++0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x63, 0x65, 0x73, 0x0, 0x41, ++0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x6f, 0x6e, 0x0, 0x41, 0x73, 0x69, 0x61, ++0x2f, 0x53, 0x61, 0x6b, 0x68, 0x61, 0x6c, 0x69, 0x6e, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x41, 0x70, ++0x69, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x53, 0x61, 0x6f, 0x5f, 0x54, 0x6f, 0x6d, 0x65, 0x0, 0x45, ++0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x53, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x76, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, ++0x54, 0x2d, 0x37, 0x0, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x76, 0x69, 0x73, ++0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x50, 0x68, 0x6e, 0x6f, 0x6d, 0x5f, 0x50, 0x65, 0x6e, 0x68, 0x0, 0x49, 0x6e, 0x64, ++0x69, 0x61, 0x6e, 0x2f, 0x43, 0x68, 0x72, 0x69, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, ++0x61, 0x6b, 0x61, 0x72, 0x74, 0x61, 0x20, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x50, 0x6f, 0x6e, 0x74, 0x69, 0x61, 0x6e, 0x61, ++0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x56, 0x69, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6e, 0x65, 0x0, 0x41, 0x73, 0x69, ++0x61, 0x2f, 0x42, 0x61, 0x6e, 0x67, 0x6b, 0x6f, 0x6b, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x61, 0x69, 0x67, 0x6f, ++0x6e, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x38, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x42, 0x72, 0x75, ++0x6e, 0x65, 0x69, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x6b, 0x61, 0x73, 0x73, 0x61, 0x72, 0x0, 0x41, 0x73, ++0x69, 0x61, 0x2f, 0x4b, 0x75, 0x61, 0x6c, 0x61, 0x5f, 0x4c, 0x75, 0x6d, 0x70, 0x75, 0x72, 0x20, 0x41, 0x73, 0x69, 0x61, ++0x2f, 0x4b, 0x75, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4d, 0x61, 0x6e, 0x69, 0x6c, 0x61, ++0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x53, 0x69, 0x6e, 0x67, 0x61, 0x70, 0x6f, 0x72, 0x65, 0x0, 0x45, 0x74, 0x63, 0x2f, ++0x47, 0x4d, 0x54, 0x2d, 0x32, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x61, 0x62, 0x6f, 0x72, 0x6f, 0x6e, ++0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x75, 0x6a, 0x75, 0x6d, 0x62, 0x75, 0x72, 0x61, 0x0, 0x41, ++0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x75, 0x62, 0x75, 0x6d, 0x62, 0x61, 0x73, 0x68, 0x69, 0x0, 0x41, 0x66, 0x72, ++0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x73, 0x65, 0x72, 0x75, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x42, 0x6c, ++0x61, 0x6e, 0x74, 0x79, 0x72, 0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, 0x70, 0x75, 0x74, 0x6f, ++0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x69, 0x67, 0x61, 0x6c, 0x69, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x4a, 0x6f, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x73, 0x62, 0x75, 0x72, 0x67, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x4d, 0x62, 0x61, 0x62, 0x61, 0x6e, 0x65, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4c, 0x75, 0x73, ++0x61, 0x6b, 0x61, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x48, 0x61, 0x72, 0x61, 0x72, 0x65, 0x0, 0x41, 0x73, ++0x69, 0x61, 0x2f, 0x43, 0x6f, 0x6c, 0x6f, 0x6d, 0x62, 0x6f, 0x0, 0x41, 0x66, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x4b, 0x68, ++0x61, 0x72, 0x74, 0x6f, 0x75, 0x6d, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x44, 0x61, 0x6d, 0x61, 0x73, 0x63, 0x75, 0x73, ++0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, 0x61, 0x69, 0x70, 0x65, 0x69, 0x0, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, ++0x69, 0x61, 0x2f, 0x48, 0x6f, 0x62, 0x61, 0x72, 0x74, 0x20, 0x41, 0x75, 0x73, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x61, 0x2f, ++0x43, 0x75, 0x72, 0x72, 0x69, 0x65, 0x20, 0x41, 0x6e, 0x74, 0x61, 0x72, 0x63, 0x74, 0x69, 0x63, 0x61, 0x2f, 0x4d, 0x61, ++0x63, 0x71, 0x75, 0x61, 0x72, 0x69, 0x65, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x41, 0x72, 0x61, 0x67, ++0x75, 0x61, 0x69, 0x6e, 0x61, 0x0, 0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2d, 0x39, 0x0, 0x41, 0x73, 0x69, 0x61, ++0x2f, 0x44, 0x69, 0x6c, 0x69, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x4a, 0x61, 0x79, 0x61, 0x70, 0x75, 0x72, 0x61, 0x0, ++0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, 0x6f, 0x6b, 0x79, 0x6f, 0x0, 0x50, 0x61, 0x63, 0x69, 0x66, 0x69, 0x63, 0x2f, 0x50, ++0x61, 0x6c, 0x61, 0x75, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x54, 0x6f, 0x6d, 0x73, 0x6b, 0x0, 0x50, 0x61, 0x63, 0x69, ++0x66, 0x69, 0x63, 0x2f, 0x54, 0x6f, 0x6e, 0x67, 0x61, 0x74, 0x61, 0x70, 0x75, 0x0, 0x41, 0x73, 0x69, 0x61, 0x2f, 0x43, ++0x68, 0x69, 0x74, 0x61, 0x0, 0x45, 0x75, 0x72, 0x6f, 0x70, 0x65, 0x2f, 0x49, 0x73, 0x74, 0x61, 0x6e, 0x62, 0x75, 0x6c, ++0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x47, 0x72, 0x61, 0x6e, 0x64, 0x5f, 0x54, 0x75, 0x72, 0x6b, 0x0, ++0x41, 0x73, 0x69, 0x61, 0x2f, 0x55, 0x6c, 0x61, 0x61, 0x6e, 0x62, 0x61, 0x61, 0x74, 0x61, 0x72, 0x20, 0x41, 0x73, 0x69, ++0x61, 0x2f, 0x43, 0x68, 0x6f, 0x69, 0x62, 0x61, 0x6c, 0x73, 0x61, 0x6e, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, ++0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x70, 0x6f, 0x6c, 0x69, 0x73, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, ++0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x4d, 0x61, 0x72, 0x65, 0x6e, 0x67, 0x6f, 0x20, 0x41, 0x6d, ++0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x49, 0x6e, 0x64, 0x69, 0x61, 0x6e, 0x61, 0x2f, 0x56, 0x65, 0x76, 0x61, 0x79, 0x0, ++0x45, 0x74, 0x63, 0x2f, 0x47, 0x4d, 0x54, 0x2b, 0x37, 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x57, 0x68, ++0x69, 0x74, 0x65, 0x68, 0x6f, 0x72, 0x73, 0x65, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x43, 0x72, 0x65, ++0x73, 0x74, 0x6f, 0x6e, 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x77, 0x73, 0x6f, 0x6e, 0x20, ++0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x44, 0x61, 0x77, 0x73, 0x6f, 0x6e, 0x5f, 0x43, 0x72, 0x65, 0x65, 0x6b, + 0x20, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x46, 0x6f, 0x72, 0x74, 0x5f, 0x4e, 0x65, 0x6c, 0x73, 0x6f, 0x6e, + 0x0, 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x48, 0x65, 0x72, 0x6d, 0x6f, 0x73, 0x69, 0x6c, 0x6c, 0x6f, 0x0, + 0x41, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x61, 0x2f, 0x50, 0x68, 0x6f, 0x65, 0x6e, 0x69, 0x78, 0x0, 0x45, 0x74, 0x63, 0x2f, +diff --git a/src/corelib/time/qtimezoneprivate_tz.cpp b/src/corelib/time/qtimezoneprivate_tz.cpp +index b816b4ecff..adc590878d 100644 +--- a/src/corelib/time/qtimezoneprivate_tz.cpp ++++ b/src/corelib/time/qtimezoneprivate_tz.cpp +@@ -394,29 +394,34 @@ static int parsePosixTime(const char *begin, const char *end) + // Format "hh[:mm[:ss]]" + int hour, min = 0, sec = 0; + +- // Note that the calls to qstrtoll do *not* check the end pointer, which +- // means they proceed until they find a non-digit. We check that we're +- // still in range at the end, but we may have read from past end. It's the +- // caller's responsibility to ensure that begin is part of a +- // null-terminated string. ++ // Note that the calls to qstrtoll do *not* check against the end pointer, ++ // which means they proceed until they find a non-digit. We check that we're ++ // still in range at the end, but we may have read past end. It's the ++ // caller's responsibility to ensure that begin is part of a null-terminated ++ // string. + ++ const int maxHour = QTimeZone::MaxUtcOffsetSecs / 3600; + bool ok = false; +- hour = qstrtoll(begin, &begin, 10, &ok); +- if (!ok || hour < 0) ++ const char *cut = begin; ++ hour = qstrtoll(begin, &cut, 10, &ok); ++ if (!ok || hour < 0 || hour > maxHour || cut > begin + 2) + return INT_MIN; ++ begin = cut; + if (begin < end && *begin == ':') { + // minutes + ++begin; +- min = qstrtoll(begin, &begin, 10, &ok); +- if (!ok || min < 0) ++ min = qstrtoll(begin, &cut, 10, &ok); ++ if (!ok || min < 0 || min > 59 || cut > begin + 2) + return INT_MIN; + ++ begin = cut; + if (begin < end && *begin == ':') { + // seconds + ++begin; +- sec = qstrtoll(begin, &begin, 10, &ok); +- if (!ok || sec < 0) ++ sec = qstrtoll(begin, &cut, 10, &ok); ++ if (!ok || sec < 0 || sec > 59 || cut > begin + 2) + return INT_MIN; ++ begin = cut; + } + } + +diff --git a/src/corelib/tools/qarraydataops.h b/src/corelib/tools/qarraydataops.h +index 8e19525f07..0b967a84f7 100644 +--- a/src/corelib/tools/qarraydataops.h ++++ b/src/corelib/tools/qarraydataops.h +@@ -65,8 +65,10 @@ struct QPodArrayOps + Q_ASSERT(newSize > uint(this->size)); + Q_ASSERT(newSize <= this->alloc); + +- ::memset(static_cast(this->end()), 0, (newSize - this->size) * sizeof(T)); +- this->size = int(newSize); ++ T *const begin = this->begin(); ++ do { ++ new (begin + this->size) T(); ++ } while (uint(++this->size) != newSize); + } + + void copyAppend(const T *b, const T *e) +@@ -154,7 +156,7 @@ struct QGenericArrayOps + + T *const begin = this->begin(); + do { +- new (begin + this->size) T; ++ new (begin + this->size) T(); + } while (uint(++this->size) != newSize); + } + +diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h +index 0c69d13295..676d9a1fec 100644 +--- a/src/corelib/tools/qmap.h ++++ b/src/corelib/tools/qmap.h +@@ -141,6 +141,7 @@ private: + + QMapNode() = delete; + Q_DISABLE_COPY(QMapNode) ++ friend struct QMapNodeBase; + }; + + template +@@ -208,8 +209,11 @@ struct QMapData : public QMapDataBase + + // using reinterpret_cast because QMapDataBase::header is not + // actually a QMapNode. ++QT_WARNING_PUSH ++QT_WARNING_DISABLE_GCC("-Wstrict-aliasing") + const Node *end() const { return reinterpret_cast(&header); } + Node *end() { return reinterpret_cast(&header); } ++QT_WARNING_POP + const Node *begin() const { if (root()) return static_cast(mostLeftNode); return end(); } + Node *begin() { if (root()) return static_cast(mostLeftNode); return end(); } + +diff --git a/src/corelib/tools/qmargins.cpp b/src/corelib/tools/qmargins.cpp +index 74be7bb2ba..ac00aaee96 100644 +--- a/src/corelib/tools/qmargins.cpp ++++ b/src/corelib/tools/qmargins.cpp +@@ -460,7 +460,7 @@ QDebug operator<<(QDebug dbg, const QMargins &m) + QMarginsF defines a set of four margins; left, top, right and bottom, + that describe the size of the borders surrounding a rectangle. + +- The isNull() function returns \c true only if all margins are set to zero. ++ The isNull() function returns \c true only if all margins are very close to zero. + + QMarginsF objects can be streamed as well as compared. + */ +@@ -495,8 +495,10 @@ QDebug operator<<(QDebug dbg, const QMargins &m) + /*! + \fn bool QMarginsF::isNull() const + +- Returns \c true if all margins are 0; otherwise returns ++ Returns \c true if all margins are very close to 0; otherwise returns + false. ++ ++ \sa qFuzzyIsNull + */ + + +@@ -557,14 +559,26 @@ QDebug operator<<(QDebug dbg, const QMargins &m) + \fn bool operator==(const QMarginsF &lhs, const QMarginsF &rhs) + \relates QMarginsF + +- Returns \c true if \a lhs and \a rhs are equal; otherwise returns \c false. ++ Returns \c true if \a lhs and \a rhs are approximately equal; otherwise ++ returns false. ++ ++ \warning This function does not check for strict equality; instead, ++ it uses a fuzzy comparison to compare the margins. ++ ++ \sa qFuzzyCompare + */ + + /*! + \fn bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) + \relates QMarginsF + +- Returns \c true if \a lhs and \a rhs are different; otherwise returns \c false. ++ Returns \c true if \a lhs and \a rhs are sufficiently different; otherwise ++ returns \c false. ++ ++ \warning This function does not check for strict inequality; instead, ++ it uses a fuzzy comparison to compare the margins. ++ ++ \sa qFuzzyCompare + */ + + /*! +diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h +index 6be695e317..fd0c99c032 100644 +--- a/src/corelib/tools/qvarlengtharray.h ++++ b/src/corelib/tools/qvarlengtharray.h +@@ -153,18 +153,10 @@ public: + T copy(t); + realloc(s, s<<1); + const int idx = s++; +- if (QTypeInfo::isComplex) { +- new (ptr + idx) T(std::move(copy)); +- } else { +- ptr[idx] = std::move(copy); +- } ++ new (ptr + idx) T(std::move(copy)); + } else { + const int idx = s++; +- if (QTypeInfo::isComplex) { +- new (ptr + idx) T(t); +- } else { +- ptr[idx] = t; +- } ++ new (ptr + idx) T(t); + } + } + +@@ -172,10 +164,7 @@ public: + if (s == a) + realloc(s, s << 1); + const int idx = s++; +- if (QTypeInfo::isComplex) +- new (ptr + idx) T(std::move(t)); +- else +- ptr[idx] = std::move(t); ++ new (ptr + idx) T(std::move(t)); + } + + void append(const T *buf, int size); +diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h +index 8d1b15b507..d61c26dc2e 100644 +--- a/src/corelib/tools/qvector.h ++++ b/src/corelib/tools/qvector.h +@@ -343,13 +343,8 @@ QVector(InputIterator, InputIterator) -> QVector; + template + void QVector::defaultConstruct(T *from, T *to) + { +- if (QTypeInfo::isComplex) { +- while (from != to) { +- new (from++) T(); +- } +- } else { +- ::memset(static_cast(from), 0, (to - from) * sizeof(T)); +- } ++ while (from != to) ++ new (from++) T(); + } + + template +@@ -640,17 +635,13 @@ void QVector::reallocData(const int asize, const int aalloc, QArrayData::Allo + + if (asize > d->size) { + // construct all new objects when growing +- if (!QTypeInfo::isComplex) { +- ::memset(static_cast(dst), 0, (static_cast(x->end()) - dst) * sizeof(T)); +- } else { +- QT_TRY { +- while (dst != x->end()) +- new (dst++) T(); +- } QT_CATCH (...) { +- // destruct already copied objects +- destruct(x->begin(), dst); +- QT_RETHROW; +- } ++ QT_TRY { ++ while (dst != x->end()) ++ new (dst++) T(); ++ } QT_CATCH (...) { ++ // destruct already copied objects ++ destruct(x->begin(), dst); ++ QT_RETHROW; + } + } + } QT_CATCH (...) { +diff --git a/src/gui/configure.json b/src/gui/configure.json +index c8c4864eca..1f08795c57 100644 +--- a/src/gui/configure.json ++++ b/src/gui/configure.json +@@ -601,15 +601,6 @@ + ], + "use": "xcb" + }, +- "xcb_util": { +- "label": "XCB Util >= 0.3.9", +- "headers": "xcb/xcb_util.h", +- "sources": [ +- { "type": "pkgConfig", "args": "xcb-util >= 0.3.9" }, +- "-lxcb-util" +- ], +- "use": "xcb" +- }, + "xcb_image": { + "label": "XCB Image >= 0.3.9", + "headers": "xcb/xcb_image.h", +@@ -617,7 +608,7 @@ + { "type": "pkgConfig", "args": "xcb-image >= 0.3.9" }, + "-lxcb-image" + ], +- "use": "xcb_shm xcb_util xcb" ++ "use": "xcb_shm xcb" + }, + "xcb_keysyms": { + "label": "XCB Keysyms >= 0.3.9", +@@ -1065,7 +1056,6 @@ + "tail": "#undef explicit", + "include": [ + "xcb/xcb.h", +- "xcb/xcb_util.h", + "xcb/xcb_image.h", + "xcb/xcb_keysyms.h", + "xcb/randr.h", +@@ -1097,7 +1087,7 @@ + "xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(nullptr, 0, 0, 0, 0, 0, 0, 0, 0);" + ] + }, +- "use": "xcb_icccm xcb_util xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb" ++ "use": "xcb_icccm xcb_image xcb_keysyms xcb_randr xcb_render xcb_renderutil xcb_shape xcb_shm xcb_sync xcb_xfixes xcb_xinerama xcb_xkb xcb" + }, + "x11prefix": { + "label": "X11 prefix", +diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp +index ced5a505eb..5560b7a3bb 100644 +--- a/src/gui/image/qimage.cpp ++++ b/src/gui/image/qimage.cpp +@@ -182,7 +182,7 @@ QImageData::~QImageData() + data = nullptr; + } + +-#if defined(_M_ARM) ++#if defined(_M_ARM) && defined(_MSC_VER) + #pragma optimize("", off) + #endif + +@@ -312,7 +312,7 @@ bool QImageData::checkForAlphaPixels() const + + return has_alpha_pixels; + } +-#if defined(_M_ARM) ++#if defined(_M_ARM) && defined(_MSC_VER) + #pragma optimize("", on) + #endif + +@@ -2647,12 +2647,9 @@ void QImage::setPixelColor(int x, int y, const QColor &color) + ((uint *)s)[x] = qConvertRgb64ToRgb30(c); + return; + case Format_RGBX64: +- ((QRgba64 *)s)[x] = color.rgba64(); +- ((QRgba64 *)s)[x].setAlpha(65535); +- return; + case Format_RGBA64: + case Format_RGBA64_Premultiplied: +- ((QRgba64 *)s)[x] = color.rgba64(); ++ ((QRgba64 *)s)[x] = c; + return; + default: + setPixel(x, y, c.toArgb32()); +@@ -5061,7 +5058,7 @@ void QImage::applyColorTransform(const QColorTransform &transform) + int segments = sizeInBytes() / (1<<16); + segments = std::min(segments, height()); + QThreadPool *threadPool = QThreadPool::globalInstance(); +- if (segments > 1 && !threadPool->contains(QThread::currentThread())) { ++ if (segments > 1 && threadPool && !threadPool->contains(QThread::currentThread())) { + QSemaphore semaphore; + int y = 0; + for (int i = 0; i < segments; ++i) { +diff --git a/src/gui/image/qimage_p.h b/src/gui/image/qimage_p.h +index 03ec43eaf7..eb44a0190d 100644 +--- a/src/gui/image/qimage_p.h ++++ b/src/gui/image/qimage_p.h +@@ -167,7 +167,7 @@ void dither_to_Mono(QImageData *dst, const QImageData *src, Qt::ImageConversionF + const uchar *qt_get_bitflip_array(); + Q_GUI_EXPORT void qGamma_correct_back_to_linear_cs(QImage *image); + +-#if defined(_M_ARM) // QTBUG-42038 ++#if defined(_M_ARM) && defined(_MSC_VER) // QTBUG-42038 + #pragma optimize("", off) + #endif + inline int qt_depthForFormat(QImage::Format format) +@@ -222,7 +222,7 @@ inline int qt_depthForFormat(QImage::Format format) + return depth; + } + +-#if defined(_M_ARM) ++#if defined(_M_ARM) && defined(_MSC_VER) + #pragma optimize("", on) + #endif + +diff --git a/src/gui/image/qxpmhandler.cpp b/src/gui/image/qxpmhandler.cpp +index 8acc80776c..16fd78f25f 100644 +--- a/src/gui/image/qxpmhandler.cpp ++++ b/src/gui/image/qxpmhandler.cpp +@@ -924,7 +924,7 @@ static bool read_xpm_body( + colorMap.insert(xpmHash(QLatin1String(index.constData())), 0); + } + } else { +- QRgb c_rgb; ++ QRgb c_rgb = 0; + if (((buf.length()-1) % 3) && (buf[0] == '#')) { + buf.truncate(((buf.length()-1) / 4 * 3) + 1); // remove alpha channel left by imagemagick + } +diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp +index 89f3374ea1..9e5605dd48 100644 +--- a/src/gui/painting/qbrush.cpp ++++ b/src/gui/painting/qbrush.cpp +@@ -1354,7 +1354,176 @@ QGradient::QGradient() + \since 5.12 + + This enum specifies a set of predefined presets for QGradient, +- based on the gradients from https://webgradients.com/. ++ based on the gradients from \l {https://webgradients.com/}. ++ ++ \value WarmFlame ++ \value NightFade ++ \value SpringWarmth ++ \value JuicyPeach ++ \value YoungPassion ++ \value LadyLips ++ \value SunnyMorning ++ \value RainyAshville ++ \value FrozenDreams ++ \value WinterNeva ++ \value DustyGrass ++ \value TemptingAzure ++ \value HeavyRain ++ \value AmyCrisp ++ \value MeanFruit ++ \value DeepBlue ++ \value RipeMalinka ++ \value CloudyKnoxville ++ \value MalibuBeach ++ \value NewLife ++ \value TrueSunset ++ \value MorpheusDen ++ \value RareWind ++ \value NearMoon ++ \value WildApple ++ \value SaintPetersburg ++ \value PlumPlate ++ \value EverlastingSky ++ \value HappyFisher ++ \value Blessing ++ \value SharpeyeEagle ++ \value LadogaBottom ++ \value LemonGate ++ \value ItmeoBranding ++ \value ZeusMiracle ++ \value OldHat ++ \value StarWine ++ \value HappyAcid ++ \value AwesomePine ++ \value NewYork ++ \value ShyRainbow ++ \value MixedHopes ++ \value FlyHigh ++ \value StrongBliss ++ \value FreshMilk ++ \value SnowAgain ++ \value FebruaryInk ++ \value KindSteel ++ \value SoftGrass ++ \value GrownEarly ++ \value SharpBlues ++ \value ShadyWater ++ \value DirtyBeauty ++ \value GreatWhale ++ \value TeenNotebook ++ \value PoliteRumors ++ \value SweetPeriod ++ \value WideMatrix ++ \value SoftCherish ++ \value RedSalvation ++ \value BurningSpring ++ \value NightParty ++ \value SkyGlider ++ \value HeavenPeach ++ \value PurpleDivision ++ \value AquaSplash ++ \value SpikyNaga ++ \value LoveKiss ++ \value CleanMirror ++ \value PremiumDark ++ \value ColdEvening ++ \value CochitiLake ++ \value SummerGames ++ \value PassionateBed ++ \value MountainRock ++ \value DesertHump ++ \value JungleDay ++ \value PhoenixStart ++ \value OctoberSilence ++ \value FarawayRiver ++ \value AlchemistLab ++ \value OverSun ++ \value PremiumWhite ++ \value MarsParty ++ \value EternalConstance ++ \value JapanBlush ++ \value SmilingRain ++ \value CloudyApple ++ \value BigMango ++ \value HealthyWater ++ \value AmourAmour ++ \value RiskyConcrete ++ \value StrongStick ++ \value ViciousStance ++ \value PaloAlto ++ \value HappyMemories ++ \value MidnightBloom ++ \value Crystalline ++ \value PartyBliss ++ \value ConfidentCloud ++ \value LeCocktail ++ \value RiverCity ++ \value FrozenBerry ++ \value ChildCare ++ \value FlyingLemon ++ \value NewRetrowave ++ \value HiddenJaguar ++ \value AboveTheSky ++ \value Nega ++ \value DenseWater ++ \value Seashore ++ \value MarbleWall ++ \value CheerfulCaramel ++ \value NightSky ++ \value MagicLake ++ \value YoungGrass ++ \value ColorfulPeach ++ \value GentleCare ++ \value PlumBath ++ \value HappyUnicorn ++ \value AfricanField ++ \value SolidStone ++ \value OrangeJuice ++ \value GlassWater ++ \value NorthMiracle ++ \value FruitBlend ++ \value MillenniumPine ++ \value HighFlight ++ \value MoleHall ++ \value SpaceShift ++ \value ForestInei ++ \value RoyalGarden ++ \value RichMetal ++ \value JuicyCake ++ \value SmartIndigo ++ \value SandStrike ++ \value NorseBeauty ++ \value AquaGuidance ++ \value SunVeggie ++ \value SeaLord ++ \value BlackSea ++ \value GrassShampoo ++ \value LandingAircraft ++ \value WitchDance ++ \value SleeplessNight ++ \value AngelCare ++ \value CrystalRiver ++ \value SoftLipstick ++ \value SaltMountain ++ \value PerfectWhite ++ \value FreshOasis ++ \value StrictNovember ++ \value MorningSalad ++ \value DeepRelief ++ \value SeaStrike ++ \value NightCall ++ \value SupremeSky ++ \value LightBlue ++ \value MindCrawl ++ \value LilyMeadow ++ \value SugarLollipop ++ \value SweetDessert ++ \value MagicRay ++ \value TeenParty ++ \value FrozenHeat ++ \value GagarinView ++ \value FabledSunset ++ \value PerfectBlue + */ + + /*! +diff --git a/src/gui/painting/qcolor.cpp b/src/gui/painting/qcolor.cpp +index 7612f183bc..2352d6e18a 100644 +--- a/src/gui/painting/qcolor.cpp ++++ b/src/gui/painting/qcolor.cpp +@@ -3203,7 +3203,7 @@ const uint qt_inv_premul_factor[256] = { + + Returns the ARGB quadruplet (255, \a{r}, \a{g}, \a{b}). + +- \sa qRgba(), qRed(), qGreen(), qBlue() ++ \sa qRgba(), qRed(), qGreen(), qBlue(), qAlpha() + */ + + /*! +@@ -3212,7 +3212,7 @@ const uint qt_inv_premul_factor[256] = { + + Returns the ARGB quadruplet (\a{a}, \a{r}, \a{g}, \a{b}). + +- \sa qRgb(), qRed(), qGreen(), qBlue() ++ \sa qRgb(), qRed(), qGreen(), qBlue(), qAlpha() + */ + + /*! +diff --git a/src/gui/painting/qcolorspace.cpp b/src/gui/painting/qcolorspace.cpp +index 996fa2a990..bce66ca3c5 100644 +--- a/src/gui/painting/qcolorspace.cpp ++++ b/src/gui/painting/qcolorspace.cpp +@@ -198,9 +198,9 @@ QColorSpacePrivate::QColorSpacePrivate(QColorSpace::NamedColorSpace namedColorSp + initialize(); + } + +-QColorSpacePrivate::QColorSpacePrivate(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma) ++QColorSpacePrivate::QColorSpacePrivate(QColorSpace::Primaries primaries, QColorSpace::TransferFunction transferFunction, float gamma) + : primaries(primaries) +- , transferFunction(fun) ++ , transferFunction(transferFunction) + , gamma(gamma) + { + identifyColorSpace(); +@@ -208,10 +208,10 @@ QColorSpacePrivate::QColorSpacePrivate(QColorSpace::Primaries primaries, QColorS + } + + QColorSpacePrivate::QColorSpacePrivate(const QColorSpacePrimaries &primaries, +- QColorSpace::TransferFunction fun, ++ QColorSpace::TransferFunction transferFunction, + float gamma) + : primaries(QColorSpace::Primaries::Custom) +- , transferFunction(fun) ++ , transferFunction(transferFunction) + , gamma(gamma) + { + Q_ASSERT(primaries.areValid()); +@@ -456,11 +456,11 @@ QColorSpace::QColorSpace(NamedColorSpace namedColorSpace) + } + + /*! +- Creates a custom color space with the primaries \a primaries, using the transfer function \a fun and ++ Creates a custom color space with the primaries \a primaries, using the transfer function \a transferFunction and + optionally \a gamma. + */ +-QColorSpace::QColorSpace(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma) +- : d_ptr(new QColorSpacePrivate(primaries, fun, gamma)) ++QColorSpace::QColorSpace(QColorSpace::Primaries primaries, QColorSpace::TransferFunction transferFunction, float gamma) ++ : d_ptr(new QColorSpacePrivate(primaries, transferFunction, gamma)) + { + d_ptr->ref.ref(); + } +@@ -477,11 +477,11 @@ QColorSpace::QColorSpace(QColorSpace::Primaries primaries, float gamma) + + /*! + Creates a custom colorspace with a primaries based on the chromaticities of the primary colors \a whitePoint, +- \a redPoint, \a greenPoint and \a bluePoint, and using the transfer function \a fun and optionally \a gamma. ++ \a redPoint, \a greenPoint and \a bluePoint, and using the transfer function \a transferFunction and optionally \a gamma. + */ + QColorSpace::QColorSpace(const QPointF &whitePoint, const QPointF &redPoint, + const QPointF &greenPoint, const QPointF &bluePoint, +- QColorSpace::TransferFunction fun, float gamma) ++ QColorSpace::TransferFunction transferFunction, float gamma) + { + QColorSpacePrimaries primaries(whitePoint, redPoint, greenPoint, bluePoint); + if (!primaries.areValid()) { +@@ -489,7 +489,7 @@ QColorSpace::QColorSpace(const QPointF &whitePoint, const QPointF &redPoint, + d_ptr = nullptr; + return; + } +- d_ptr = new QColorSpacePrivate(primaries, fun, gamma); ++ d_ptr = new QColorSpacePrivate(primaries, transferFunction, gamma); + d_ptr->ref.ref(); + } + +diff --git a/src/gui/painting/qcolorspace.h b/src/gui/painting/qcolorspace.h +index 08c9944301..852ade9ab7 100644 +--- a/src/gui/painting/qcolorspace.h ++++ b/src/gui/painting/qcolorspace.h +@@ -82,11 +82,11 @@ public: + + QColorSpace(); + QColorSpace(NamedColorSpace namedColorSpace); +- QColorSpace(Primaries primaries, TransferFunction fun, float gamma = 0.0f); ++ QColorSpace(Primaries primaries, TransferFunction transferFunction, float gamma = 0.0f); + QColorSpace(Primaries primaries, float gamma); + QColorSpace(const QPointF &whitePoint, const QPointF &redPoint, + const QPointF &greenPoint, const QPointF &bluePoint, +- TransferFunction fun, float gamma = 0.0f); ++ TransferFunction transferFunction, float gamma = 0.0f); + ~QColorSpace(); + + QColorSpace(const QColorSpace &colorSpace); +diff --git a/src/gui/painting/qcolorspace_p.h b/src/gui/painting/qcolorspace_p.h +index e7add19ed3..094fdb0d37 100644 +--- a/src/gui/painting/qcolorspace_p.h ++++ b/src/gui/painting/qcolorspace_p.h +@@ -91,8 +91,8 @@ class QColorSpacePrivate : public QSharedData + public: + QColorSpacePrivate(); + QColorSpacePrivate(QColorSpace::NamedColorSpace namedColorSpace); +- QColorSpacePrivate(QColorSpace::Primaries primaries, QColorSpace::TransferFunction fun, float gamma); +- QColorSpacePrivate(const QColorSpacePrimaries &primaries, QColorSpace::TransferFunction fun, float gamma); ++ QColorSpacePrivate(QColorSpace::Primaries primaries, QColorSpace::TransferFunction transferFunction, float gamma); ++ QColorSpacePrivate(const QColorSpacePrimaries &primaries, QColorSpace::TransferFunction transferFunction, float gamma); + QColorSpacePrivate(const QColorSpacePrivate &other) = default; + + // named different from get to avoid accidental detachs +diff --git a/src/gui/painting/qcosmeticstroker.cpp b/src/gui/painting/qcosmeticstroker.cpp +index 54b0da4f57..3e364b7579 100644 +--- a/src/gui/painting/qcosmeticstroker.cpp ++++ b/src/gui/painting/qcosmeticstroker.cpp +@@ -250,7 +250,7 @@ void QCosmeticStroker::setup() + strokeSelection |= AntiAliased; + + const QVector &penPattern = state->lastPen.dashPattern(); +- if (penPattern.isEmpty()) { ++ if (penPattern.isEmpty() || penPattern.size() > 1024) { + Q_ASSERT(!pattern && !reversePattern); + pattern = nullptr; + reversePattern = nullptr; +@@ -263,12 +263,12 @@ void QCosmeticStroker::setup() + + patternLength = 0; + for (int i = 0; i < patternSize; ++i) { +- patternLength += (int) qMax(1. , penPattern.at(i)*64.); ++ patternLength += (int)qBound(1., penPattern.at(i) * 64, 65536.); + pattern[i] = patternLength; + } + patternLength = 0; + for (int i = 0; i < patternSize; ++i) { +- patternLength += (int) qMax(1., penPattern.at(patternSize - 1 - i)*64.); ++ patternLength += (int)qBound(1., penPattern.at(patternSize - 1 - i) * 64, 65536.); + reversePattern[i] = patternLength; + } + strokeSelection |= Dashed; +@@ -311,6 +311,8 @@ void QCosmeticStroker::setup() + // returns true if the whole line gets clipped away + bool QCosmeticStroker::clipLine(qreal &x1, qreal &y1, qreal &x2, qreal &y2) + { ++ if (!qIsFinite(x1) || !qIsFinite(y1) || !qIsFinite(x2) || !qIsFinite(y2)) ++ return true; + // basic/rough clipping is done in floating point coordinates to avoid + // integer overflow problems. + if (x1 < xmin) { +diff --git a/src/gui/painting/qpen.cpp b/src/gui/painting/qpen.cpp +index 01e581d2ed..254abf88c0 100644 +--- a/src/gui/painting/qpen.cpp ++++ b/src/gui/painting/qpen.cpp +@@ -653,12 +653,15 @@ qreal QPen::widthF() const + */ + void QPen::setWidth(int width) + { +- if (width < 0) +- qWarning("QPen::setWidth: Setting a pen width with a negative value is not defined"); ++ if (width < 0 || width >= (1 << 15)) { ++ qWarning("QPen::setWidth: Setting a pen width that is out of range"); ++ return; ++ } + if ((qreal)width == d->width) + return; + detach(); + d->width = width; ++ d->defaultWidth = false; + } + + /*! +@@ -677,8 +680,8 @@ void QPen::setWidth(int width) + + void QPen::setWidthF(qreal width) + { +- if (width < 0.f) { +- qWarning("QPen::setWidthF: Setting a pen width with a negative value is not defined"); ++ if (width < 0.f || width >= (1 << 15)) { ++ qWarning("QPen::setWidthF: Setting a pen width that is out of range"); + return; + } + if (qAbs(d->width - width) < 0.00000001f) +diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp +index 9d8bb0c3e2..0952bd22fb 100644 +--- a/src/gui/painting/qtransform.cpp ++++ b/src/gui/painting/qtransform.cpp +@@ -2126,7 +2126,7 @@ QTransform::TransformationType QTransform::type() const + case TxShear: + case TxRotate: + if (!qFuzzyIsNull(affine._m12) || !qFuzzyIsNull(affine._m21)) { +- const qreal dot = affine._m11 * affine._m12 + affine._m21 * affine._m22; ++ const qreal dot = affine._m11 * affine._m21 + affine._m12 * affine._m22; + if (qFuzzyIsNull(dot)) + m_type = TxRotate; + else +diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp +index 663f727145..7f2c01d4d3 100644 +--- a/src/gui/text/qcssparser.cpp ++++ b/src/gui/text/qcssparser.cpp +@@ -1192,7 +1192,7 @@ static bool setFontWeightFromValue(const QCss::Value &value, QFont *font) + } + if (value.type != Value::Number) + return false; +- font->setWeight(qMin(value.variant.toInt() / 8, 99)); ++ font->setWeight(qRound(qBound(0.0, value.variant.toDouble() / 8.0, 99.0))); + return true; + } + +diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp +index 1a4d8f938b..0f5219410d 100644 +--- a/src/gui/text/qfontdatabase.cpp ++++ b/src/gui/text/qfontdatabase.cpp +@@ -2679,6 +2679,12 @@ QFontEngine *QFontDatabase::findFont(const QFontDef &request, int script) + return engine; + } + ++ if (request.pixelSize > 0xffff) { ++ // Stop absurd requests reaching the engines; pixel size is assumed to fit ushort ++ qCDebug(lcFontMatch, "Rejecting request for pixel size %g2, returning box engine", double(request.pixelSize)); ++ return new QFontEngineBox(32); // not request.pixelSize, to avoid overflow/DOS ++ } ++ + QString family_name, foundry_name; + const QString requestFamily = request.families.size() > 0 ? request.families.at(0) : request.family; + parseFontName(requestFamily, foundry_name, family_name); +diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp +index f1fd755e91..d9c0239940 100644 +--- a/src/gui/text/qfontengine.cpp ++++ b/src/gui/text/qfontengine.cpp +@@ -1815,7 +1815,7 @@ void QFontEngineMulti::setFallbackFamiliesList(const QStringList &fallbackFamili + + void QFontEngineMulti::ensureEngineAt(int at) + { +- if (!m_fallbackFamiliesQueried) ++ if (!m_fallbackFamiliesQueried && at > 0) + ensureFallbackFamiliesQueried(); + Q_ASSERT(at < m_engines.size()); + if (!m_engines.at(at)) { +diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp +index b7459bf826..cdaa729785 100644 +--- a/src/gui/text/qtextengine.cpp ++++ b/src/gui/text/qtextengine.cpp +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2016 The Qt Company Ltd. ++** Copyright (C) 2021 The Qt Company Ltd. + ** Contact: https://www.qt.io/licensing/ + ** + ** This file is part of the QtGui module of the Qt Toolkit. +@@ -258,7 +258,7 @@ struct QBidiAlgorithm { + for (int i = 0; i < length; ++i) { + int pos = i; + uint uc = text[i].unicode(); +- if (QChar::isHighSurrogate(uc) && i < length - 1) { ++ if (QChar::isHighSurrogate(uc) && i < length - 1 && text[i + 1].isLowSurrogate()) { + ++i; + analysis[i].bidiDirection = QChar::DirNSM; + uc = QChar::surrogateToUcs4(ushort(uc), text[i].unicode()); +diff --git a/src/gui/text/qtextimagehandler.cpp b/src/gui/text/qtextimagehandler.cpp +index 0d87a2135d..053be89959 100644 +--- a/src/gui/text/qtextimagehandler.cpp ++++ b/src/gui/text/qtextimagehandler.cpp +@@ -53,40 +53,21 @@ QT_BEGIN_NAMESPACE + + extern QString qt_findAtNxFile(const QString &baseFileName, qreal targetDevicePixelRatio, + qreal *sourceDevicePixelRatio); +-static QString resolveFileName(QString fileName, QUrl *url, qreal targetDevicePixelRatio, +- qreal *sourceDevicePixelRatio) +-{ +- // We might use the fileName for loading if url loading fails +- // try to make sure it is a valid file path. +- // Also, QFile{Info}::exists works only on filepaths (not urls) +- +- if (url->isValid()) { +- if (url->scheme() == QLatin1String("qrc")) { +- fileName = fileName.right(fileName.length() - 3); +- } +- else if (url->scheme() == QLatin1String("file")) { +- fileName = url->toLocalFile(); +- } +- } + +- if (targetDevicePixelRatio <= 1.0) +- return fileName; +- +- // try to find a Nx version +- return qt_findAtNxFile(fileName, targetDevicePixelRatio, sourceDevicePixelRatio); ++static inline QUrl fromLocalfileOrResources(QString path) ++{ ++ if (path.startsWith(QLatin1String(":/"))) // auto-detect resources and convert them to url ++ path.prepend(QLatin1String("qrc")); ++ return QUrl(path); + } + +- + static QPixmap getPixmap(QTextDocument *doc, const QTextImageFormat &format, const qreal devicePixelRatio = 1.0) + { +- QPixmap pm; +- +- QString name = format.name(); +- if (name.startsWith(QLatin1String(":/"))) // auto-detect resources and convert them to url +- name.prepend(QLatin1String("qrc")); +- QUrl url = QUrl(name); + qreal sourcePixelRatio = 1.0; +- name = resolveFileName(name, &url, devicePixelRatio, &sourcePixelRatio); ++ const QString name = qt_findAtNxFile(format.name(), devicePixelRatio, &sourcePixelRatio); ++ const QUrl url = fromLocalfileOrResources(name); ++ ++ QPixmap pm; + const QVariant data = doc->resource(QTextDocument::ImageResource, url); + if (data.userType() == QMetaType::QPixmap || data.userType() == QMetaType::QImage) { + pm = qvariant_cast(data); +@@ -161,14 +142,11 @@ static QSize getPixmapSize(QTextDocument *doc, const QTextImageFormat &format) + + static QImage getImage(QTextDocument *doc, const QTextImageFormat &format, const qreal devicePixelRatio = 1.0) + { +- QImage image; +- +- QString name = format.name(); +- if (name.startsWith(QLatin1String(":/"))) // auto-detect resources +- name.prepend(QLatin1String("qrc")); +- QUrl url = QUrl(name); + qreal sourcePixelRatio = 1.0; +- name = resolveFileName(name, &url, devicePixelRatio, &sourcePixelRatio); ++ const QString name = qt_findAtNxFile(format.name(), devicePixelRatio, &sourcePixelRatio); ++ const QUrl url = fromLocalfileOrResources(name); ++ ++ QImage image; + const QVariant data = doc->resource(QTextDocument::ImageResource, url); + if (data.userType() == QMetaType::QImage) { + image = qvariant_cast(data); +diff --git a/src/gui/text/qtexttable.cpp b/src/gui/text/qtexttable.cpp +index 39f26d5d42..125b97a382 100644 +--- a/src/gui/text/qtexttable.cpp ++++ b/src/gui/text/qtexttable.cpp +@@ -318,13 +318,6 @@ QTextFrame::iterator QTextTableCell::end() const + Destroys the table cell. + */ + +-QTextTablePrivate::~QTextTablePrivate() +-{ +- if (grid) +- free(grid); +-} +- +- + QTextTable *QTextTablePrivate::createTable(QTextDocumentPrivate *pieceTable, int pos, int rows, int cols, const QTextTableFormat &tableFormat) + { + QTextTableFormat fmt = tableFormat; +@@ -446,8 +439,7 @@ void QTextTablePrivate::update() const + nRows = (cells.size() + nCols-1)/nCols; + // qDebug(">>>> QTextTablePrivate::update, nRows=%d, nCols=%d", nRows, nCols); + +- grid = q_check_ptr((int *)realloc(grid, nRows*nCols*sizeof(int))); +- memset(grid, 0, nRows*nCols*sizeof(int)); ++ grid.assign(nRows * nCols, 0); + + QTextDocumentPrivate *p = pieceTable; + QTextFormatCollection *c = p->formatCollection(); +@@ -470,8 +462,7 @@ void QTextTablePrivate::update() const + cellIndices[i] = cell; + + if (r + rowspan > nRows) { +- grid = q_check_ptr((int *)realloc(grid, sizeof(int)*(r + rowspan)*nCols)); +- memset(grid + (nRows*nCols), 0, sizeof(int)*(r+rowspan-nRows)*nCols); ++ grid.resize((r + rowspan) * nCols, 0); + nRows = r + rowspan; + } + +diff --git a/src/gui/text/qtexttable_p.h b/src/gui/text/qtexttable_p.h +index 5c05611009..784c8824ba 100644 +--- a/src/gui/text/qtexttable_p.h ++++ b/src/gui/text/qtexttable_p.h +@@ -55,14 +55,15 @@ + #include "private/qtextobject_p.h" + #include "private/qtextdocument_p.h" + ++#include ++ + QT_BEGIN_NAMESPACE + + class QTextTablePrivate : public QTextFramePrivate + { + Q_DECLARE_PUBLIC(QTextTable) + public: +- QTextTablePrivate(QTextDocument *document) : QTextFramePrivate(document), grid(nullptr), nRows(0), nCols(0), dirty(true), blockFragmentUpdates(false) {} +- ~QTextTablePrivate(); ++ QTextTablePrivate(QTextDocument *document) : QTextFramePrivate(document), nRows(0), nCols(0), dirty(true), blockFragmentUpdates(false) {} + + static QTextTable *createTable(QTextDocumentPrivate *, int pos, int rows, int cols, const QTextTableFormat &tableFormat); + void fragmentAdded(QChar type, uint fragment) override; +@@ -76,7 +77,7 @@ public: + // symmetric to cells array and maps to indecs in grid, + // used for fast-lookup for row/column by fragment + mutable QVector cellIndices; +- mutable int *grid; ++ mutable std::vector grid; + mutable int nRows; + mutable int nCols; + mutable bool dirty; +diff --git a/src/network/access/qhttp2configuration.cpp b/src/network/access/qhttp2configuration.cpp +index bd4318d4e9..408f141e77 100644 +--- a/src/network/access/qhttp2configuration.cpp ++++ b/src/network/access/qhttp2configuration.cpp +@@ -141,12 +141,12 @@ QHttp2Configuration::QHttp2Configuration(QHttp2Configuration &&other) noexcept + } + + /*! +- Copy-assigns to this QHttp2Configuration. ++ Copy-assigns \a other to this QHttp2Configuration. + */ + QHttp2Configuration &QHttp2Configuration::operator=(const QHttp2Configuration &) = default; + + /*! +- Move-assigns to this QHttp2Configuration. ++ Move-assigns \a other to this QHttp2Configuration. + */ + QHttp2Configuration &QHttp2Configuration::operator=(QHttp2Configuration &&) noexcept = default; + +@@ -209,6 +209,8 @@ bool QHttp2Configuration::huffmanCompressionEnabled() const + Sets the window size for connection-level flow control. + \a size cannot be 0 and must not exceed 2147483647 octets. + ++ Returns \c true on success, \c false otherwise. ++ + \sa sessionReceiveWindowSize + */ + bool QHttp2Configuration::setSessionReceiveWindowSize(unsigned size) +@@ -236,6 +238,8 @@ unsigned QHttp2Configuration::sessionReceiveWindowSize() const + Sets the window size for stream-level flow control. + \a size cannot be 0 and must not exceed 2147483647 octets. + ++ Returns \c true on success, \c false otherwise. ++ + \sa streamReceiveWindowSize + */ + bool QHttp2Configuration::setStreamReceiveWindowSize(unsigned size) +@@ -265,6 +269,8 @@ unsigned QHttp2Configuration::streamReceiveWindowSize() const + \note While this \a size is required to be within a range between + 16384 and 16777215 inclusive, the actual payload size in frames + that carry payload maybe be less than 16384. ++ ++ Returns \c true on success, \c false otherwise. + */ + bool QHttp2Configuration::setMaxFrameSize(unsigned size) + { +@@ -278,7 +284,7 @@ bool QHttp2Configuration::setMaxFrameSize(unsigned size) + } + + /*! +- The maximum payload size that HTTP/2 frames can ++ Returns the maximum payload size that HTTP/2 frames can + have. The default (initial) value is 16384 octets. + */ + unsigned QHttp2Configuration::maxFrameSize() const +diff --git a/src/network/access/qhttp2protocolhandler.cpp b/src/network/access/qhttp2protocolhandler.cpp +index 4c9e722166..91c41d8240 100644 +--- a/src/network/access/qhttp2protocolhandler.cpp ++++ b/src/network/access/qhttp2protocolhandler.cpp +@@ -264,7 +264,8 @@ void QHttp2ProtocolHandler::_q_uploadDataDestroyed(QObject *uploadData) + + void QHttp2ProtocolHandler::_q_readyRead() + { +- _q_receiveReply(); ++ if (!goingAway || activeStreams.size()) ++ _q_receiveReply(); + } + + void QHttp2ProtocolHandler::_q_receiveReply() +@@ -272,6 +273,11 @@ void QHttp2ProtocolHandler::_q_receiveReply() + Q_ASSERT(m_socket); + Q_ASSERT(m_channel); + ++ if (goingAway && activeStreams.isEmpty()) { ++ m_channel->close(); ++ return; ++ } ++ + while (!goingAway || activeStreams.size()) { + const auto result = frameReader.read(*m_socket); + switch (result) { +diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp +index b0116319b0..9745f3b322 100644 +--- a/src/network/access/qhttpnetworkconnection.cpp ++++ b/src/network/access/qhttpnetworkconnection.cpp +@@ -1077,8 +1077,10 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest() + case QHttpNetworkConnection::ConnectionTypeHTTP2Direct: + case QHttpNetworkConnection::ConnectionTypeHTTP2: + case QHttpNetworkConnection::ConnectionTypeSPDY: { +- if (channels[0].spdyRequestsToSend.isEmpty() && channels[0].switchedToHttp2) ++ if (channels[0].spdyRequestsToSend.isEmpty() && !channels[0].reply ++ && highPriorityQueue.isEmpty() && lowPriorityQueue.isEmpty()) { + return; ++ } + + if (networkLayerState == IPv4) + channels[0].networkLayerPreference = QAbstractSocket::IPv4Protocol; +diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp +index 9325787d5f..f1db274402 100644 +--- a/src/network/access/qhttpnetworkconnectionchannel.cpp ++++ b/src/network/access/qhttpnetworkconnectionchannel.cpp +@@ -1005,7 +1005,6 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket + && switchedToHttp2)) { + auto h2Handler = static_cast(protocolHandler.data()); + h2Handler->handleConnectionClosure(); +- protocolHandler.reset(); + } + } + return; +@@ -1134,9 +1133,12 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket + for (int a = 0; a < spdyPairs.count(); ++a) { + // emit error for all replies + QHttpNetworkReply *currentReply = spdyPairs.at(a).second; ++ currentReply->d_func()->errorString = errorString; ++ currentReply->d_func()->httpErrorCode = errorCode; + Q_ASSERT(currentReply); + emit currentReply->finishedWithError(errorCode, errorString); + } ++ spdyRequestsToSend.clear(); + } + + // send the next request +diff --git a/src/network/access/qnetworkcookie.cpp b/src/network/access/qnetworkcookie.cpp +index 47f6112b22..21950b18a5 100644 +--- a/src/network/access/qnetworkcookie.cpp ++++ b/src/network/access/qnetworkcookie.cpp +@@ -180,7 +180,8 @@ bool QNetworkCookie::operator==(const QNetworkCookie &other) const + d->domain == other.d->domain && + d->path == other.d->path && + d->secure == other.d->secure && +- d->comment == other.d->comment; ++ d->comment == other.d->comment && ++ d->sameSite == other.d->sameSite; + } + + /*! +@@ -459,6 +460,10 @@ QByteArray QNetworkCookie::toRawForm(RawForm form) const + result += "; secure"; + if (isHttpOnly()) + result += "; HttpOnly"; ++ if (!d->sameSite.isEmpty()) { ++ result += "; SameSite="; ++ result += d->sameSite; ++ } + if (!isSessionCookie()) { + result += "; expires="; + result += QLocale::c().toString(d->expirationDate.toUTC(), +@@ -991,6 +996,8 @@ QList QNetworkCookiePrivate::parseSetCookieHeaderLine(const QByt + cookie.setSecure(true); + } else if (field.first == "httponly") { + cookie.setHttpOnly(true); ++ } else if (field.first == "samesite") { ++ cookie.d->sameSite = field.second; + } else { + // ignore unknown fields in the cookie (RFC6265 section 5.2, rule 6) + } +diff --git a/src/network/access/qnetworkcookie_p.h b/src/network/access/qnetworkcookie_p.h +index 13538ad243..e30e611cf5 100644 +--- a/src/network/access/qnetworkcookie_p.h ++++ b/src/network/access/qnetworkcookie_p.h +@@ -66,6 +66,7 @@ public: + QString domain; + QString path; + QString comment; ++ QByteArray sameSite; + QByteArray name; + QByteArray value; + bool secure; +diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp +index 21916f53f1..727c1a0316 100644 +--- a/src/network/access/qnetworkreplyhttpimpl.cpp ++++ b/src/network/access/qnetworkreplyhttpimpl.cpp +@@ -808,7 +808,17 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq + + // For the synchronous HTTP, this is the normal way the delegate gets deleted + // For the asynchronous HTTP this is a safety measure, the delegate deletes itself when HTTP is finished +- QObject::connect(thread, SIGNAL(finished()), delegate, SLOT(deleteLater())); ++ QMetaObject::Connection threadFinishedConnection = ++ QObject::connect(thread, SIGNAL(finished()), delegate, SLOT(deleteLater())); ++ ++ // QTBUG-88063: When 'delegate' is deleted the connection will be added to 'thread''s orphaned ++ // connections list. This orphaned list will be cleaned up next time 'thread' emits a signal, ++ // unfortunately that's the finished signal. It leads to a soft-leak so we do this to disconnect ++ // it on deletion so that it cleans up the orphan immediately. ++ QObject::connect(delegate, &QObject::destroyed, delegate, [threadFinishedConnection]() { ++ if (bool(threadFinishedConnection)) ++ QObject::disconnect(threadFinishedConnection); ++ }); + + // Set the properties it needs + delegate->httpRequest = httpRequest; +diff --git a/src/network/android/jar/src/org/qtproject/qt5/android/network/QtNetwork.java b/src/network/android/jar/src/org/qtproject/qt5/android/network/QtNetwork.java +index 249ffe61a5..af6c20463c 100644 +--- a/src/network/android/jar/src/org/qtproject/qt5/android/network/QtNetwork.java ++++ b/src/network/android/jar/src/org/qtproject/qt5/android/network/QtNetwork.java +@@ -43,6 +43,7 @@ import android.content.BroadcastReceiver; + import android.content.Context; + import android.content.Intent; + import android.content.IntentFilter; ++import android.os.Build; + import android.util.Log; + import android.net.ConnectivityManager; + import android.net.Proxy; +@@ -94,7 +95,7 @@ public class QtNetwork + + public static ProxyInfo getProxyInfo(final Context context) + { +- if (m_proxyInfo == null) ++ if (m_proxyInfo == null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) + m_proxyInfo = (ProxyInfo)getConnectivityManager(context).getDefaultProxy(); + return m_proxyInfo; + } +diff --git a/src/network/kernel/qnetworkproxy_mac.cpp b/src/network/kernel/qnetworkproxy_mac.cpp +index 3f3b37f666..97f43420ca 100644 +--- a/src/network/kernel/qnetworkproxy_mac.cpp ++++ b/src/network/kernel/qnetworkproxy_mac.cpp +@@ -208,7 +208,7 @@ QCFType stringByAddingPercentEscapes(CFStringRef originalPath) + { + Q_ASSERT(originalPath); + const auto qtPath = QString::fromCFString(originalPath); +- const auto escaped = QString::fromUtf8(QUrl::toPercentEncoding(qtPath)); ++ const auto escaped = QString::fromUtf8(QUrl(qtPath).toEncoded()); + return escaped.toCFString(); + } + +diff --git a/src/network/network.pro b/src/network/network.pro +index d8453e879c..160e6c802a 100644 +--- a/src/network/network.pro ++++ b/src/network/network.pro +@@ -23,7 +23,7 @@ include(ssl/ssl.pri) + QMAKE_LIBS += $$QMAKE_LIBS_NETWORK + + qtConfig(bearermanagement) { +- ANDROID_BUNDLED_JAR_DEPENDENCIES = \ ++ ANDROID_BUNDLED_JAR_DEPENDENCIES += \ + jar/QtAndroidBearer.jar + ANDROID_LIB_DEPENDENCIES = \ + plugins/bearer/libplugins_bearer_qandroidbearer.so +diff --git a/src/network/socket/qsocks5socketengine.cpp b/src/network/socket/qsocks5socketengine.cpp +index 4f866e4da0..3a046fd116 100644 +--- a/src/network/socket/qsocks5socketengine.cpp ++++ b/src/network/socket/qsocks5socketengine.cpp +@@ -1641,9 +1641,7 @@ qint64 QSocks5SocketEngine::writeDatagram(const char *data, qint64 len, const QI + + QByteArray outBuf; + outBuf.reserve(270 + len); +- outBuf[0] = 0x00; +- outBuf[1] = 0x00; +- outBuf[2] = 0x00; ++ outBuf.append(3, '\0'); + if (!qt_socks5_set_host_address_and_port(header.destinationAddress, header.destinationPort, &outBuf)) { + } + outBuf += QByteArray(data, len); +diff --git a/src/network/ssl/qasn1element.cpp b/src/network/ssl/qasn1element.cpp +index 5634332a67..d7b6aa8bd6 100644 +--- a/src/network/ssl/qasn1element.cpp ++++ b/src/network/ssl/qasn1element.cpp +@@ -142,12 +142,20 @@ bool QAsn1Element::read(QDataStream &stream) + + if (length > quint64(std::numeric_limits::max())) + return false; +- // value ++ ++ // read value in blocks to avoid being fooled by incorrect length ++ const int BUFFERSIZE = 4 * 1024; + QByteArray tmpValue; +- tmpValue.resize(length); +- int count = stream.readRawData(tmpValue.data(), tmpValue.size()); +- if (count != int(length)) +- return false; ++ int remainingLength = length; ++ while (remainingLength) { ++ char readBuffer[BUFFERSIZE]; ++ const int bytesToRead = qMin(remainingLength, BUFFERSIZE); ++ const int count = stream.readRawData(readBuffer, bytesToRead); ++ if (count != int(bytesToRead)) ++ return false; ++ tmpValue.append(readBuffer, bytesToRead); ++ remainingLength -= bytesToRead; ++ } + + mType = tmpType; + mValue.swap(tmpValue); +diff --git a/src/network/ssl/qdtls_openssl.cpp b/src/network/ssl/qdtls_openssl.cpp +index 25a6c5f49c..ede9595f19 100644 +--- a/src/network/ssl/qdtls_openssl.cpp ++++ b/src/network/ssl/qdtls_openssl.cpp +@@ -170,16 +170,6 @@ void delete_bio_method(BIO_METHOD *method) + q_BIO_meth_free(method); + } + +-// The 'deleter' for QScopedPointer. +-struct bio_deleter +-{ +- static void cleanup(BIO *bio) +- { +- if (bio) +- q_BIO_free(bio); +- } +-}; +- + // The path MTU discovery is non-trivial: it's a mix of getsockopt/setsockopt + // (IP_MTU/IP6_MTU/IP_MTU_DISCOVER) and fallback MTU values. It's not + // supported on all platforms, worse so - imposes specific requirements on +@@ -746,8 +736,7 @@ bool DtlsState::initBIO(QDtlsBasePrivate *dtlsBase) + q_BIO_meth_set_puts(biom, dtlsbio::q_dgram_puts); + q_BIO_meth_set_ctrl(biom, dtlsbio::q_dgram_ctrl); + +- QScopedPointer newBio(q_BIO_new(biom)); +- BIO *bio = newBio.data(); ++ BIO *bio = q_BIO_new(biom); + if (!bio) { + dtlsBase->setDtlsError(QDtlsError::TlsInitializationError, + msgFunctionFailed("BIO_new")); +@@ -755,7 +744,6 @@ bool DtlsState::initBIO(QDtlsBasePrivate *dtlsBase) + } + + q_SSL_set_bio(tlsConnection.data(), bio, bio); +- newBio.take(); + + bioMethod.swap(customMethod); + +diff --git a/src/network/ssl/qocspresponse.cpp b/src/network/ssl/qocspresponse.cpp +index bf27bb768b..7fc83fa54a 100644 +--- a/src/network/ssl/qocspresponse.cpp ++++ b/src/network/ssl/qocspresponse.cpp +@@ -145,14 +145,14 @@ QOcspResponse::~QOcspResponse() = default; + /*! + \since 5.13 + +- Copy-assigns and returns a reference to this response. ++ Copy-assigns \a other and returns a reference to this response. + */ + QOcspResponse &QOcspResponse::operator=(const QOcspResponse &) = default; + + /*! + \since 5.13 + +- Move-assigns to this QOcspResponse instance. ++ Move-assigns \a other to this QOcspResponse instance. + */ + QOcspResponse &QOcspResponse::operator=(QOcspResponse &&) noexcept = default; + +diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp +index f11a59395d..11d2c8717d 100644 +--- a/src/network/ssl/qsslcertificate.cpp ++++ b/src/network/ssl/qsslcertificate.cpp +@@ -121,7 +121,8 @@ + + \value Wildcard This provides a simple pattern matching syntax + similar to that used by shells (command interpreters) for "file +- globbing". See \l{QRegularExpression Wildcard matching}. ++ globbing". See \l {QRegularExpression#Wildcard matching} ++ {QRegularExpression Wildcard Matching}. + + \value FixedString The pattern is a fixed string. This is + equivalent to using the RegularExpression pattern on a string in +@@ -701,9 +702,9 @@ QList QSslCertificate::fromData(const QByteArray &data, QSsl::E + the specified host name. + + Note that the root (CA) certificate should not be included in the list to be verified, +- this will be looked up automatically either using the CA list specified by +- QSslSocket::defaultCaCertificates() or, if possible, it will be loaded on demand +- on Unix. ++ this will be looked up automatically using the CA list specified in the ++ default QSslConfiguration, and, in addition, if possible, CA certificates loaded on ++ demand on Unix and Windows. + + \since 5.0 + */ +diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp +index fbeb9de18b..27ce8e08d5 100644 +--- a/src/network/ssl/qsslsocket.cpp ++++ b/src/network/ssl/qsslsocket.cpp +@@ -2709,7 +2709,7 @@ void QSslSocketPrivate::_q_errorSlot(QAbstractSocket::SocketError error) + qCDebug(lcSsl) << "\terrorString =" << q->errorString(); + #endif + // this moves encrypted bytes from plain socket into our buffer +- if (plainSocket->bytesAvailable()) { ++ if (plainSocket->bytesAvailable() && mode != QSslSocket::UnencryptedMode) { + qint64 tmpReadBufferMaxSize = readBufferMaxSize; + readBufferMaxSize = 0; // reset temporarily so the plain sockets completely drained drained + transmit(); +diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp +index 277037e59c..af47dbf9ac 100644 +--- a/src/network/ssl/qsslsocket_openssl.cpp ++++ b/src/network/ssl/qsslsocket_openssl.cpp +@@ -2090,10 +2090,16 @@ QList QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates + QList QSslSocketBackendPrivate::verify(const QList &certificateChain, + const QString &hostName) + { ++ auto roots = QSslConfiguration::defaultConfiguration().caCertificates(); ++#ifndef Q_OS_WIN ++ // On Windows, system CA certificates are already set as default ones. ++ // No need to add them again (and again) and also, if the default configuration ++ // has its own set of CAs, this probably should not be amended by the ones ++ // from the 'ROOT' store, since it's not what an application chose to trust. + if (s_loadRootCertsOnDemand) +- setDefaultCaCertificates(defaultCaCertificates() + systemCaCertificates()); +- +- return verify(QSslConfiguration::defaultConfiguration().caCertificates(), certificateChain, hostName); ++ roots.append(systemCaCertificates()); ++#endif // Q_OS_WIN ++ return verify(roots, certificateChain, hostName); + } + + QList QSslSocketBackendPrivate::verify(const QList &caCertificates, +diff --git a/src/network/ssl/qsslsocket_schannel.cpp b/src/network/ssl/qsslsocket_schannel.cpp +index f91709690a..c956ce3c2b 100644 +--- a/src/network/ssl/qsslsocket_schannel.cpp ++++ b/src/network/ssl/qsslsocket_schannel.cpp +@@ -1253,6 +1253,9 @@ void QSslSocketBackendPrivate::transmit() + { + Q_Q(QSslSocket); + ++ if (mode == QSslSocket::UnencryptedMode) ++ return; // This function should not have been called ++ + // Can happen if called through QSslSocket::abort->QSslSocket::close->QSslSocket::flush->here + if (plainSocket->state() == QAbstractSocket::SocketState::UnconnectedState) + return; +diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +index bf986aab77..69750bdbb0 100644 +--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm ++++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm +@@ -405,7 +405,10 @@ QFontEngine *QCoreTextFontDatabaseEngineFactory::fontEngine(const + faceId.filename = QString::fromNSString(url.path).toUtf8(); + return QFontEngineFT::create(fontDef, faceId); + } +- Q_UNREACHABLE(); ++ // We end up here with a descriptor does not contain Qt font data or kCTFontURLAttribute. ++ // Since the FT engine can't deal with a descriptor with just a NSFontNameAttribute, ++ // we should return nullptr. ++ return nullptr; + } + #endif + +diff --git a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +index 877c5d848f..6a692a2456 100644 +--- a/src/platformsupport/input/xkbcommon/qxkbcommon.cpp ++++ b/src/platformsupport/input/xkbcommon/qxkbcommon.cpp +@@ -93,6 +93,7 @@ static constexpr const auto KeyTbl = qMakeArray( + Xkb2Qt, + Xkb2Qt, + Xkb2Qt, ++ Xkb2Qt, + Xkb2Qt<0x1005FF60, Qt::Key_SysReq>, // hardcoded Sun SysReq + Xkb2Qt<0x1007ff00, Qt::Key_SysReq>, // hardcoded X386 SysReq + +diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp +index 88539b7220..9153fd20bb 100644 +--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp ++++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp +@@ -803,7 +803,9 @@ void AtSpiAdaptor::windowActivated(QObject* window, bool active) + return; + + QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(window); +- Q_ASSERT(iface); ++ // If the window has been quickly activated or disabled, it will cause a crash. ++ if (iface == nullptr) ++ return; + Q_ASSERT(!active || iface->isValid()); + + QString windowTitle; +diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp +index 09470bccc6..345a853b1b 100644 +--- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp ++++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection.cpp +@@ -105,13 +105,7 @@ void QDBusMenuConnection::unregisterTrayIconMenu(QDBusTrayIcon *item) + + bool QDBusMenuConnection::registerTrayIcon(QDBusTrayIcon *item) + { +- bool success = connection().registerService(item->instanceId()); +- if (!success) { +- qWarning() << "failed to register service" << item->instanceId(); +- return false; +- } +- +- success = connection().registerObject(StatusNotifierItemPath, item); ++ bool success = connection().registerObject(StatusNotifierItemPath, item); + if (!success) { + unregisterTrayIcon(item); + qWarning() << "failed to register" << item->instanceId() << StatusNotifierItemPath; +@@ -126,21 +120,18 @@ bool QDBusMenuConnection::registerTrayIcon(QDBusTrayIcon *item) + + bool QDBusMenuConnection::registerTrayIconWithWatcher(QDBusTrayIcon *item) + { ++ Q_UNUSED(item); + QDBusMessage registerMethod = QDBusMessage::createMethodCall( + StatusNotifierWatcherService, StatusNotifierWatcherPath, StatusNotifierWatcherService, + QLatin1String("RegisterStatusNotifierItem")); +- registerMethod.setArguments(QVariantList() << item->instanceId()); ++ registerMethod.setArguments(QVariantList() << m_connection.baseService()); + return m_connection.callWithCallback(registerMethod, this, SIGNAL(trayIconRegistered()), SLOT(dbusError(QDBusError))); + } + +-bool QDBusMenuConnection::unregisterTrayIcon(QDBusTrayIcon *item) ++void QDBusMenuConnection::unregisterTrayIcon(QDBusTrayIcon *item) + { + unregisterTrayIconMenu(item); + connection().unregisterObject(StatusNotifierItemPath); +- bool success = connection().unregisterService(item->instanceId()); +- if (!success) +- qWarning() << "failed to unregister service" << item->instanceId(); +- return success; + } + #endif // QT_NO_SYSTEMTRAYICON + +diff --git a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h +index f484795fbb..11c7e56534 100644 +--- a/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h ++++ b/src/platformsupport/themes/genericunix/dbusmenu/qdbusmenuconnection_p.h +@@ -78,7 +78,7 @@ public: + void unregisterTrayIconMenu(QDBusTrayIcon *item); + bool registerTrayIcon(QDBusTrayIcon *item); + bool registerTrayIconWithWatcher(QDBusTrayIcon *item); +- bool unregisterTrayIcon(QDBusTrayIcon *item); ++ void unregisterTrayIcon(QDBusTrayIcon *item); + #endif // QT_NO_SYSTEMTRAYICON + + Q_SIGNALS: +diff --git a/src/plugins/imageformats/jpeg/jpeg.pro b/src/plugins/imageformats/jpeg/jpeg.pro +index 89476e62f5..fa14dd9cc1 100644 +--- a/src/plugins/imageformats/jpeg/jpeg.pro ++++ b/src/plugins/imageformats/jpeg/jpeg.pro +@@ -8,7 +8,7 @@ HEADERS += main.h qjpeghandler_p.h + qtConfig(system-jpeg) { + QMAKE_USE += libjpeg + } else { +- include($$PWD/../../../3rdparty/libjpeg.pri) ++ QMAKE_USE_PRIVATE += libjpeg + } + + OTHER_FILES += jpeg.json +diff --git a/src/plugins/platforms/android/androidjniaccessibility.cpp b/src/plugins/platforms/android/androidjniaccessibility.cpp +index d4b7f38bf6..989d0d18f4 100644 +--- a/src/plugins/platforms/android/androidjniaccessibility.cpp ++++ b/src/plugins/platforms/android/androidjniaccessibility.cpp +@@ -65,6 +65,7 @@ namespace QtAndroidAccessibility + static jmethodID m_setCheckedMethodID = 0; + static jmethodID m_setClickableMethodID = 0; + static jmethodID m_setContentDescriptionMethodID = 0; ++ static jmethodID m_setEditableMethodID = 0; + static jmethodID m_setEnabledMethodID = 0; + static jmethodID m_setFocusableMethodID = 0; + static jmethodID m_setFocusedMethodID = 0; +@@ -72,20 +73,28 @@ namespace QtAndroidAccessibility + static jmethodID m_setTextSelectionMethodID = 0; + static jmethodID m_setVisibleToUserMethodID = 0; + ++ static bool m_accessibilityActivated = false; ++ + void initialize() + { + QJNIObjectPrivate::callStaticMethod(QtAndroid::applicationClass(), + "initializeAccessibility"); + } + ++ bool isActive() ++ { ++ return m_accessibilityActivated; ++ } ++ + static void setActive(JNIEnv */*env*/, jobject /*thiz*/, jboolean active) + { + QMutexLocker lock(QtAndroid::platformInterfaceMutex()); + QAndroidPlatformIntegration *platformIntegration = QtAndroid::androidPlatformIntegration(); ++ m_accessibilityActivated = active; + if (platformIntegration) + platformIntegration->accessibility()->setActive(active); + else +- __android_log_print(ANDROID_LOG_WARN, m_qtTag, "Could not activate platform accessibility."); ++ __android_log_print(ANDROID_LOG_WARN, m_qtTag, "Could not (yet) activate platform accessibility."); + } + + QAccessibleInterface *interfaceFromId(jint objectId) +@@ -101,6 +110,21 @@ namespace QtAndroidAccessibility + return iface; + } + ++ void notifyLocationChange() ++ { ++ QtAndroid::notifyAccessibilityLocationChange(); ++ } ++ ++ void notifyObjectHide(uint accessibilityObjectId) ++ { ++ QtAndroid::notifyObjectHide(accessibilityObjectId); ++ } ++ ++ void notifyObjectFocus(uint accessibilityObjectId) ++ { ++ QtAndroid::notifyObjectFocus(accessibilityObjectId); ++ } ++ + static jintArray childIdListForAccessibleObject(JNIEnv *env, jobject /*thiz*/, jint objectId) + { + QAccessibleInterface *iface = interfaceFromId(objectId); +@@ -142,6 +166,11 @@ namespace QtAndroidAccessibility + if (iface && iface->isValid()) { + rect = QHighDpi::toNativePixels(iface->rect(), iface->window()); + } ++ // If the widget is not fully in-bound in its parent then we have to clip the rectangle to draw ++ if (iface && iface->parent() && iface->parent()->isValid()) { ++ const auto parentRect = QHighDpi::toNativePixels(iface->parent()->rect(), iface->parent()->window()); ++ rect = rect.intersected(parentRect); ++ } + + jclass rectClass = env->FindClass("android/graphics/Rect"); + jmethodID ctor = env->GetMethodID(rectClass, "", "(IIII)V"); +@@ -167,17 +196,33 @@ namespace QtAndroidAccessibility + return -1; + } + ++ static void invokeActionOnInterfaceInMainThread(QAccessibleActionInterface* actionInterface, ++ const QString& action) ++ { ++ QMetaObject::invokeMethod(qApp, [actionInterface, action]() { ++ actionInterface->doAction(action); ++ }); ++ } ++ + static jboolean clickAction(JNIEnv */*env*/, jobject /*thiz*/, jint objectId) + { + // qDebug() << "A11Y: CLICK: " << objectId; + QAccessibleInterface *iface = interfaceFromId(objectId); +- if (iface && iface->isValid() && iface->actionInterface()) { +- if (iface->actionInterface()->actionNames().contains(QAccessibleActionInterface::pressAction())) +- iface->actionInterface()->doAction(QAccessibleActionInterface::pressAction()); +- else +- iface->actionInterface()->doAction(QAccessibleActionInterface::toggleAction()); ++ if (!iface || !iface->isValid() || !iface->actionInterface()) ++ return false; ++ ++ const auto& actionNames = iface->actionInterface()->actionNames(); ++ ++ if (actionNames.contains(QAccessibleActionInterface::pressAction())) { ++ invokeActionOnInterfaceInMainThread(iface->actionInterface(), ++ QAccessibleActionInterface::pressAction()); ++ } else if (actionNames.contains(QAccessibleActionInterface::toggleAction())) { ++ invokeActionOnInterfaceInMainThread(iface->actionInterface(), ++ QAccessibleActionInterface::toggleAction()); ++ } else { ++ return false; + } +- return false; ++ return true; + } + + static jboolean scrollForward(JNIEnv */*env*/, jobject /*thiz*/, jint objectId) +@@ -259,9 +304,10 @@ if (!clazz) { \ + } + } + +- env->CallVoidMethod(node, m_setEnabledMethodID, !state.disabled); + env->CallVoidMethod(node, m_setCheckableMethodID, (bool)state.checkable); + env->CallVoidMethod(node, m_setCheckedMethodID, (bool)state.checked); ++ env->CallVoidMethod(node, m_setEditableMethodID, state.editable); ++ env->CallVoidMethod(node, m_setEnabledMethodID, !state.disabled); + env->CallVoidMethod(node, m_setFocusableMethodID, (bool)state.focusable); + env->CallVoidMethod(node, m_setFocusedMethodID, (bool)state.focused); + env->CallVoidMethod(node, m_setVisibleToUserMethodID, !state.invisible); +@@ -270,15 +316,15 @@ if (!clazz) { \ + + // Add ACTION_CLICK + if (hasClickableAction) +- env->CallVoidMethod(node, m_addActionMethodID, (int)16); // ACTION_CLICK defined in AccessibilityNodeInfo ++ env->CallVoidMethod(node, m_addActionMethodID, (int)0x00000010); // ACTION_CLICK defined in AccessibilityNodeInfo + + // Add ACTION_SCROLL_FORWARD + if (hasIncreaseAction) +- env->CallVoidMethod(node, m_addActionMethodID, (int)4096); // ACTION_SCROLL_FORWARD defined in AccessibilityNodeInfo ++ env->CallVoidMethod(node, m_addActionMethodID, (int)0x00001000); // ACTION_SCROLL_FORWARD defined in AccessibilityNodeInfo + + // Add ACTION_SCROLL_BACKWARD + if (hasDecreaseAction) +- env->CallVoidMethod(node, m_addActionMethodID, (int)8192); // ACTION_SCROLL_BACKWARD defined in AccessibilityNodeInfo ++ env->CallVoidMethod(node, m_addActionMethodID, (int)0x00002000); // ACTION_SCROLL_BACKWARD defined in AccessibilityNodeInfo + + + //CALL_METHOD(node, "setText", "(Ljava/lang/CharSequence;)V", jdesc) +@@ -324,6 +370,7 @@ if (!clazz) { \ + GET_AND_CHECK_STATIC_METHOD(m_setCheckedMethodID, nodeInfoClass, "setChecked", "(Z)V"); + GET_AND_CHECK_STATIC_METHOD(m_setClickableMethodID, nodeInfoClass, "setClickable", "(Z)V"); + GET_AND_CHECK_STATIC_METHOD(m_setContentDescriptionMethodID, nodeInfoClass, "setContentDescription", "(Ljava/lang/CharSequence;)V"); ++ GET_AND_CHECK_STATIC_METHOD(m_setEditableMethodID, nodeInfoClass, "setEditable", "(Z)V"); + GET_AND_CHECK_STATIC_METHOD(m_setEnabledMethodID, nodeInfoClass, "setEnabled", "(Z)V"); + GET_AND_CHECK_STATIC_METHOD(m_setFocusableMethodID, nodeInfoClass, "setFocusable", "(Z)V"); + GET_AND_CHECK_STATIC_METHOD(m_setFocusedMethodID, nodeInfoClass, "setFocused", "(Z)V"); +diff --git a/src/plugins/platforms/android/androidjniaccessibility.h b/src/plugins/platforms/android/androidjniaccessibility.h +index f393ce0b08..de9d32a099 100644 +--- a/src/plugins/platforms/android/androidjniaccessibility.h ++++ b/src/plugins/platforms/android/androidjniaccessibility.h +@@ -47,7 +47,11 @@ QT_BEGIN_NAMESPACE + namespace QtAndroidAccessibility + { + void initialize(); ++ bool isActive(); + bool registerNatives(JNIEnv *env); ++ void notifyLocationChange(); ++ void notifyObjectHide(uint accessibilityObjectId); ++ void notifyObjectFocus(uint accessibilityObjectId); + } + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp +index 1c7800358f..ba0c5a3f31 100644 +--- a/src/plugins/platforms/android/androidjnimain.cpp ++++ b/src/plugins/platforms/android/androidjnimain.cpp +@@ -218,6 +218,21 @@ namespace QtAndroid + m_statusBarShowing = false; + } + ++ void notifyAccessibilityLocationChange() ++ { ++ QJNIObjectPrivate::callStaticMethod(m_applicationClass, "notifyAccessibilityLocationChange"); ++ } ++ ++ void notifyObjectHide(uint accessibilityObjectId) ++ { ++ QJNIObjectPrivate::callStaticMethod(m_applicationClass, "notifyObjectHide","(I)V", accessibilityObjectId); ++ } ++ ++ void notifyObjectFocus(uint accessibilityObjectId) ++ { ++ QJNIObjectPrivate::callStaticMethod(m_applicationClass, "notifyObjectFocus","(I)V", accessibilityObjectId); ++ } ++ + jobject createBitmap(QImage img, JNIEnv *env) + { + if (!m_bitmapClass) +diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h +index 17ae30a1be..72b864de19 100644 +--- a/src/plugins/platforms/android/androidjnimain.h ++++ b/src/plugins/platforms/android/androidjnimain.h +@@ -95,6 +95,10 @@ namespace QtAndroid + jobject createBitmap(int width, int height, QImage::Format format, JNIEnv *env); + jobject createBitmapDrawable(jobject bitmap, JNIEnv *env = 0); + ++ void notifyAccessibilityLocationChange(); ++ void notifyObjectHide(uint accessibilityObjectId); ++ void notifyObjectFocus(uint accessibilityObjectId); ++ + const char *classErrorMsgFmt(); + const char *methodErrorMsgFmt(); + const char *qtTagText(); +diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp +index e78c317863..2cfb59514d 100644 +--- a/src/plugins/platforms/android/qandroidinputcontext.cpp ++++ b/src/plugins/platforms/android/qandroidinputcontext.cpp +@@ -1409,16 +1409,25 @@ jboolean QAndroidInputContext::setComposingText(const QString &text, jint newCur + const int absoluteCursorPos = getAbsoluteCursorPosition(query); + int absoluteAnchorPos = getBlockPosition(query) + query->value(Qt::ImAnchorPosition).toInt(); + ++ auto setCursorPosition = [=]() { ++ const int cursorPos = query->value(Qt::ImCursorPosition).toInt(); ++ QInputMethodEvent event({}, { { QInputMethodEvent::Selection, cursorPos, 0 } }); ++ QGuiApplication::sendEvent(m_focusObject, &event); ++ }; ++ + // If we have composing region and selection (and therefore focusObjectIsComposing() == false), + // we must clear selection so that we won't delete it when we will be replacing composing text + if (!m_composingText.isEmpty() && absoluteCursorPos != absoluteAnchorPos) { +- const int cursorPos = query->value(Qt::ImCursorPosition).toInt(); +- QInputMethodEvent event({}, { { QInputMethodEvent::Selection, cursorPos, 0 } }); +- QGuiApplication::sendEvent(m_focusObject, &event); +- ++ setCursorPosition(); + absoluteAnchorPos = absoluteCursorPos; + } + ++ // The value of Qt::ImCursorPosition is not updated at the start ++ // when the first character is added, so we must update it (QTBUG-85090) ++ if (absoluteCursorPos == 0 && text.length() == 1 && getTextAfterCursor(1,1).length() >= 0) { ++ setCursorPosition(); ++ } ++ + // If we had no composing region, pretend that we had a zero-length composing region at current + // cursor position to simplify code. Also account for that we must delete selected text if there + // (still) is any. +diff --git a/src/plugins/platforms/android/qandroidplatformaccessibility.cpp b/src/plugins/platforms/android/qandroidplatformaccessibility.cpp +index fdff9c3eba..30114b17a2 100644 +--- a/src/plugins/platforms/android/qandroidplatformaccessibility.cpp ++++ b/src/plugins/platforms/android/qandroidplatformaccessibility.cpp +@@ -42,7 +42,6 @@ + #include "androidjniaccessibility.h" + + QT_BEGIN_NAMESPACE +- + QAndroidPlatformAccessibility::QAndroidPlatformAccessibility() + { + QtAndroidAccessibility::initialize(); +@@ -51,9 +50,23 @@ QAndroidPlatformAccessibility::QAndroidPlatformAccessibility() + QAndroidPlatformAccessibility::~QAndroidPlatformAccessibility() + {} + +-void QAndroidPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent */*event*/) ++void QAndroidPlatformAccessibility::notifyAccessibilityUpdate(QAccessibleEvent *event) + { +- // FIXME send events ++ if (event == nullptr || !event->accessibleInterface()) ++ return; ++ ++ // We do not need implementation of all events, as current statues are polled ++ // by QtAccessibilityDelegate.java on every accessibility interaction. ++ // Currently we only send notification about the element's position change, ++ // so that the element can be moved on the screen if it's focused. ++ ++ if (event->type() == QAccessible::LocationChanged) { ++ QtAndroidAccessibility::notifyLocationChange(); ++ } else if (event->type() == QAccessible::ObjectHide) { ++ QtAndroidAccessibility::notifyObjectHide(event->uniqueId()); ++ } else if (event->type() == QAccessible::Focus) { ++ QtAndroidAccessibility::notifyObjectFocus(event->uniqueId()); ++ } + } + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp +index c81cc66166..aaeb9199d8 100644 +--- a/src/plugins/platforms/android/qandroidplatformintegration.cpp ++++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp +@@ -52,6 +52,7 @@ + #include + + #include "androidjnimain.h" ++#include "androidjniaccessibility.h" + #include "qabstracteventdispatcher.h" + #include "qandroideventdispatcher.h" + #include "qandroidplatformbackingstore.h" +@@ -151,6 +152,12 @@ void QAndroidPlatformNativeInterface::customEvent(QEvent *event) + QMutexLocker lock(QtAndroid::platformInterfaceMutex()); + QAndroidPlatformIntegration *api = static_cast(QGuiApplicationPrivate::platformIntegration()); + QtAndroid::setAndroidPlatformIntegration(api); ++ ++#ifndef QT_NO_ACCESSIBILITY ++ // Android accessibility activation event might have been already received ++ api->accessibility()->setActive(QtAndroidAccessibility::isActive()); ++#endif // QT_NO_ACCESSIBILITY ++ + api->flushPendingUpdates(); + } + +diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp +index 4f691ce112..e6f81e7054 100644 +--- a/src/plugins/platforms/android/qandroidplatformwindow.cpp ++++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp +@@ -46,6 +46,7 @@ + + #include + #include ++#include + + QT_BEGIN_NAMESPACE + +@@ -58,6 +59,15 @@ QAndroidPlatformWindow::QAndroidPlatformWindow(QWindow *window) + m_windowState = Qt::WindowNoState; + m_windowId = winIdGenerator.fetchAndAddRelaxed(1) + 1; + setWindowState(window->windowStates()); ++ ++ const bool forceMaximize = m_windowState & (Qt::WindowMaximized | Qt::WindowFullScreen); ++ const QRect requestedGeometry = forceMaximize ? QRect() : window->geometry(); ++ const QRect availableGeometry = (window->parent()) ? window->parent()->geometry() : platformScreen()->availableGeometry(); ++ const QRect finalGeometry = QPlatformWindow::initialGeometry(window, requestedGeometry, ++ availableGeometry.width(), availableGeometry.height()); ++ ++ if (requestedGeometry != finalGeometry) ++ setGeometry(QHighDpi::toNativePixels(finalGeometry, window)); + } + + void QAndroidPlatformWindow::lower() +@@ -73,6 +83,7 @@ void QAndroidPlatformWindow::raise() + + void QAndroidPlatformWindow::setGeometry(const QRect &rect) + { ++ QPlatformWindow::setGeometry(rect); + QWindowSystemInterface::handleGeometryChange(window(), rect); + } + +diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +index a7c17fc177..5f7c361a3d 100644 +--- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm ++++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +@@ -322,7 +322,8 @@ + return [NSApp validateMenuItem:menuItem]; + + if (menuItem.action == @selector(hide:)) { +- if (QCocoaIntegration::instance()->activePopupWindow()) ++ auto *w = QCocoaIntegration::instance()->activePopupWindow(); ++ if (w && (w->window()->type() != Qt::ToolTip)) + return NO; + return [NSApp validateMenuItem:menuItem]; + } +diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm +index 213df4eba7..8dc4050e24 100644 +--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm ++++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm +@@ -203,6 +203,7 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon) + r.moveCenter(fullHeightPixmap.rect().center()); + p.drawPixmap(r, pixmap); + } ++ fullHeightPixmap.setDevicePixelRatio(devicePixelRatio); + + auto *nsimage = [NSImage imageFromQImage:fullHeightPixmap.toImage()]; + [nsimage setTemplate:icon.isMask()]; +diff --git a/src/plugins/platforms/cocoa/qnsview_drawing.mm b/src/plugins/platforms/cocoa/qnsview_drawing.mm +index 2fd63fad67..537ea2aef4 100644 +--- a/src/plugins/platforms/cocoa/qnsview_drawing.mm ++++ b/src/plugins/platforms/cocoa/qnsview_drawing.mm +@@ -73,8 +73,15 @@ + // by AppKit at a point where we've already set up other parts of the platform plugin + // based on the presence of layers or not. Once we've rewritten these parts to support + // dynamically picking up layer enablement we can let AppKit do its thing. +- return QMacVersion::buildSDK() >= QOperatingSystemVersion::MacOSMojave +- && QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSMojave; ++ ++ if (QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSBigSur) ++ return true; // Big Sur always enables layer-backing, regardless of SDK ++ ++ if (QMacVersion::currentRuntime() >= QOperatingSystemVersion::MacOSMojave ++ && QMacVersion::buildSDK() >= QOperatingSystemVersion::MacOSMojave) ++ return true; // Mojave and Catalina enable layers based on the app's SDK ++ ++ return false; // Prior versions needed explicitly enabled layer backing + } + + - (BOOL)layerExplicitlyRequested +diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm +index 1756d429ea..8967636fd2 100644 +--- a/src/plugins/platforms/cocoa/qnswindow.mm ++++ b/src/plugins/platforms/cocoa/qnswindow.mm +@@ -178,6 +178,14 @@ static bool isMouseEvent(NSEvent *ev) + if (!NSApp.modalWindow) + return NO; + ++ // Special case popup windows (menus, completions, etc), as these usually ++ // don't have a transient parent set, and we don't want to block them. The ++ // assumption is that these windows are only opened intermittently, from ++ // within windows that can already be interacted with in this modal session. ++ Qt::WindowType type = m_platformWindow->window()->type(); ++ if (type == Qt::Popup) ++ return YES; ++ + // If the current modal window (top level modal session) is not a Qt window we + // have no way of knowing if this window is transient child of the modal window. + if (![NSApp.modalWindow conformsToProtocol:@protocol(QNSWindowProtocol)]) +diff --git a/src/plugins/platforms/offscreen/qoffscreencommon.cpp b/src/plugins/platforms/offscreen/qoffscreencommon.cpp +index de75a3e012..5b3d944db4 100644 +--- a/src/plugins/platforms/offscreen/qoffscreencommon.cpp ++++ b/src/plugins/platforms/offscreen/qoffscreencommon.cpp +@@ -223,4 +223,6 @@ void QOffscreenBackingStore::clearHash() + + QHash QOffscreenBackingStore::m_backingStoreForWinIdHash; + ++QOffscreenPlatformNativeInterface::~QOffscreenPlatformNativeInterface() = default; ++ + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/offscreen/qoffscreencommon.h b/src/plugins/platforms/offscreen/qoffscreencommon.h +index f4f0142911..116944c3b4 100644 +--- a/src/plugins/platforms/offscreen/qoffscreencommon.h ++++ b/src/plugins/platforms/offscreen/qoffscreencommon.h +@@ -45,6 +45,7 @@ + #include + #endif + #include ++#include + #include + #include + +@@ -105,6 +106,12 @@ private: + static QHash m_backingStoreForWinIdHash; + }; + ++class QOffscreenPlatformNativeInterface : public QPlatformNativeInterface ++{ ++public: ++ ~QOffscreenPlatformNativeInterface(); ++}; ++ + QT_END_NAMESPACE + + #endif +diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +index 3a4494fc2e..141fb68a23 100644 +--- a/src/plugins/platforms/offscreen/qoffscreenintegration.cpp ++++ b/src/plugins/platforms/offscreen/qoffscreenintegration.cpp +@@ -176,6 +176,13 @@ QAbstractEventDispatcher *QOffscreenIntegration::createEventDispatcher() const + #endif + } + ++QPlatformNativeInterface *QOffscreenIntegration::nativeInterface() const ++{ ++ if (!m_nativeInterface) ++ m_nativeInterface.reset(new QOffscreenPlatformNativeInterface); ++ return m_nativeInterface.get(); ++} ++ + static QString themeName() { return QStringLiteral("offscreen"); } + + QStringList QOffscreenIntegration::themeNames() const +diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration.h b/src/plugins/platforms/offscreen/qoffscreenintegration.h +index 098e726550..0ea90f6c2f 100644 +--- a/src/plugins/platforms/offscreen/qoffscreenintegration.h ++++ b/src/plugins/platforms/offscreen/qoffscreenintegration.h +@@ -70,18 +70,21 @@ public: + QPlatformFontDatabase *fontDatabase() const override; + QAbstractEventDispatcher *createEventDispatcher() const override; + ++ QPlatformNativeInterface *nativeInterface() const override; ++ + QStringList themeNames() const override; + QPlatformTheme *createPlatformTheme(const QString &name) const override; + + static QOffscreenIntegration *createOffscreenIntegration(); + +-private: ++protected: + QScopedPointer m_fontDatabase; + #if QT_CONFIG(draganddrop) + QScopedPointer m_drag; + #endif + QScopedPointer m_inputContext; + QScopedPointer m_services; ++ mutable QScopedPointer m_nativeInterface; + }; + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp +index 9c391e2be7..6d86d9f3ae 100644 +--- a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp ++++ b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.cpp +@@ -77,6 +77,8 @@ private: + QOffscreenX11Connection *m_connection; + }; + ++QOffscreenX11Integration::~QOffscreenX11Integration() = default; ++ + bool QOffscreenX11Integration::hasCapability(QPlatformIntegration::Capability cap) const + { + switch (cap) { +@@ -89,21 +91,27 @@ bool QOffscreenX11Integration::hasCapability(QPlatformIntegration::Capability ca + + QPlatformOpenGLContext *QOffscreenX11Integration::createPlatformOpenGLContext(QOpenGLContext *context) const + { +- if (!m_connection) +- m_connection.reset(new QOffscreenX11Connection); ++ auto &connection = nativeInterface()->m_connection; ++ ++ if (!connection) ++ connection.reset(new QOffscreenX11Connection); + +- if (!m_connection->display()) ++ if (!connection->display()) + return nullptr; + +- return new QOffscreenX11GLXContext(m_connection->x11Info(), context); ++ return new QOffscreenX11GLXContext(connection->x11Info(), context); + } + +-QPlatformNativeInterface *QOffscreenX11Integration::nativeInterface() const ++QOffscreenX11PlatformNativeInterface *QOffscreenX11Integration::nativeInterface() const + { +- return const_cast(this); ++ if (!m_nativeInterface) ++ m_nativeInterface.reset(new QOffscreenX11PlatformNativeInterface); ++ return static_cast(m_nativeInterface.data()); + } + +-void *QOffscreenX11Integration::nativeResourceForScreen(const QByteArray &resource, QScreen *screen) ++QOffscreenX11PlatformNativeInterface::~QOffscreenX11PlatformNativeInterface() = default; ++ ++void *QOffscreenX11PlatformNativeInterface::nativeResourceForScreen(const QByteArray &resource, QScreen *screen) + { + Q_UNUSED(screen) + if (resource.toLower() == QByteArrayLiteral("display") ) { +@@ -115,7 +123,7 @@ void *QOffscreenX11Integration::nativeResourceForScreen(const QByteArray &resour + } + + #ifndef QT_NO_OPENGL +-void *QOffscreenX11Integration::nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) { ++void *QOffscreenX11PlatformNativeInterface::nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) { + if (resource.toLower() == QByteArrayLiteral("glxconfig") ) { + if (context) { + QOffscreenX11GLXContext *glxPlatformContext = static_cast(context->handle()); +diff --git a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h +index 5ef51a15a8..d76d065dd1 100644 +--- a/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h ++++ b/src/plugins/platforms/offscreen/qoffscreenintegration_x11.h +@@ -41,6 +41,7 @@ + #define QOFFSCREENINTEGRATION_X11_H + + #include "qoffscreenintegration.h" ++#include "qoffscreencommon.h" + + #include + #include +@@ -52,22 +53,27 @@ QT_BEGIN_NAMESPACE + class QOffscreenX11Connection; + class QOffscreenX11Info; + +-class QOffscreenX11Integration : public QOffscreenIntegration, public QPlatformNativeInterface ++class QOffscreenX11PlatformNativeInterface : public QOffscreenPlatformNativeInterface + { + public: +- bool hasCapability(QPlatformIntegration::Capability cap) const override; +- +- QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override; +- QPlatformNativeInterface *nativeInterface()const override; ++ ~QOffscreenX11PlatformNativeInterface(); + +- // QPlatformNativeInterface + void *nativeResourceForScreen(const QByteArray &resource, QScreen *screen) override; + #ifndef QT_NO_OPENGL + void *nativeResourceForContext(const QByteArray &resource, QOpenGLContext *context) override; + #endif + +-private: +- mutable QScopedPointer m_connection; ++ QScopedPointer m_connection; ++}; ++ ++class QOffscreenX11Integration : public QOffscreenIntegration ++{ ++public: ++ ~QOffscreenX11Integration(); ++ bool hasCapability(QPlatformIntegration::Capability cap) const override; ++ ++ QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const override; ++ QOffscreenX11PlatformNativeInterface *nativeInterface() const override; + }; + + class QOffscreenX11Connection { +diff --git a/src/plugins/platforms/qnx/qqnxwindow.cpp b/src/plugins/platforms/qnx/qqnxwindow.cpp +index 1d3d609017..22a00d3d40 100644 +--- a/src/plugins/platforms/qnx/qqnxwindow.cpp ++++ b/src/plugins/platforms/qnx/qqnxwindow.cpp +@@ -225,6 +225,21 @@ QQnxWindow::QQnxWindow(QWindow *window, screen_context_t context, bool needRootW + if (windowGroup.isValid() && windowGroup.canConvert()) + joinWindowGroup(windowGroup.toByteArray()); + ++ QVariant pipelineValue = window->property("_q_platform_qnxPipeline"); ++ if (pipelineValue.isValid()) { ++ bool ok = false; ++ int pipeline = pipelineValue.toInt(&ok); ++ if (ok) { ++ qWindowDebug() << "Set pipeline value to" << pipeline; ++ ++ Q_SCREEN_CHECKERROR( ++ screen_set_window_property_iv(m_window, SCREEN_PROPERTY_PIPELINE, &pipeline), ++ "Failed to set window pipeline"); ++ } else { ++ qWindowDebug() << "Invalid pipeline value:" << pipelineValue; ++ } ++ } ++ + int debug = 0; + if (Q_UNLIKELY(debug_fps())) { + debug |= SCREEN_DEBUG_GRAPH_FPS; +diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp +index c7bae4ba7f..41ece2ccf4 100644 +--- a/src/plugins/platforms/wasm/qwasmeventtranslator.cpp ++++ b/src/plugins/platforms/wasm/qwasmeventtranslator.cpp +@@ -43,6 +43,7 @@ + #include + #include + #include ++#include + + #include + +@@ -329,10 +330,18 @@ QWasmEventTranslator::QWasmEventTranslator(QWasmScreen *screen) + , pressedButtons(Qt::NoButton) + , resizeMode(QWasmWindow::ResizeNone) + { ++#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) ++ touchDevice = new QPointingDevice("touchscreen", 1, QInputDevice::DeviceType::TouchScreen, ++ QPointingDevice::PointerType::Finger, ++ QPointingDevice::Capability::Position | QPointingDevice::Capability::Area | QPointingDevice::Capability::NormalizedPosition, ++ 10, 0); ++ QWindowSystemInterface::registerInputDevice(touchDevice); ++#else + touchDevice = new QTouchDevice; + touchDevice->setType(QTouchDevice::TouchScreen); + touchDevice->setCapabilities(QTouchDevice::Position | QTouchDevice::Area | QTouchDevice::NormalizedPosition); + QWindowSystemInterface::registerTouchDevice(touchDevice); ++#endif + + initEventHandlers(); + } +@@ -566,7 +575,6 @@ void resizeWindow(QWindow *window, QWasmWindow::ResizeMode mode, + + void QWasmEventTranslator::processMouse(int eventType, const EmscriptenMouseEvent *mouseEvent) + { +- auto timestamp = emscripten_date_now(); + QPoint targetPoint(mouseEvent->targetX, mouseEvent->targetY); + QPoint globalPoint = screen()->geometry().topLeft() + targetPoint; + +@@ -574,8 +582,13 @@ void QWasmEventTranslator::processMouse(int eventType, const EmscriptenMouseEven + Qt::MouseButton button = translateMouseButton(mouseEvent->button); + Qt::KeyboardModifiers modifiers = translateMouseEventModifier(mouseEvent); + +- QWindow *window2 = screen()->compositor()->windowAt(globalPoint, 5); ++ QWindow *window2 = nullptr; ++ if (resizeMode == QWasmWindow::ResizeNone) ++ window2 = screen()->compositor()->windowAt(globalPoint, 5); + ++ if (lastWindow && lastWindow->cursor() != Qt::ArrowCursor) { ++ lastWindow->setCursor(Qt::ArrowCursor); ++ } + if (window2 == nullptr) { + window2 = lastWindow; + } else { +@@ -630,11 +643,17 @@ void QWasmEventTranslator::processMouse(int eventType, const EmscriptenMouseEven + + if (oldWindow) + oldWindow->injectMouseReleased(localPoint, globalPoint, button, modifiers); ++ else ++ htmlWindow->injectMouseReleased(localPoint, globalPoint, button, modifiers); + break; + } + case EMSCRIPTEN_EVENT_MOUSEMOVE: // drag event + { + buttonEventType = QEvent::MouseMove; ++ ++ if (htmlWindow && htmlWindow->isPointOnResizeRegion(globalPoint)) ++ window2->setCursor(cursorForMode(htmlWindow->resizeModeAtPoint(globalPoint))); ++ + if (!(htmlWindow->m_windowState & Qt::WindowFullScreen) && !(htmlWindow->m_windowState & Qt::WindowMaximized)) { + if (resizeMode == QWasmWindow::ResizeNone && draggedWindow) { + draggedWindow->setX(draggedWindow->x() + mouseEvent->movementX); +@@ -658,7 +677,7 @@ void QWasmEventTranslator::processMouse(int eventType, const EmscriptenMouseEven + } + if (window2 && interior) { + QWindowSystemInterface::handleMouseEvent( +- window2, timestamp, localPoint, globalPoint, pressedButtons, button, buttonEventType, modifiers); ++ window2, getTimestamp(), localPoint, globalPoint, pressedButtons, button, buttonEventType, modifiers); + } + } + +@@ -692,7 +711,6 @@ int QWasmEventTranslator::wheel_cb(int eventType, const EmscriptenWheelEvent *wh + + QWasmEventTranslator *translator = (QWasmEventTranslator*)userData; + Qt::KeyboardModifiers modifiers = translator->translateMouseEventModifier(&mouseEvent); +- auto timestamp = emscripten_date_now(); + QPoint targetPoint(mouseEvent.targetX, mouseEvent.targetY); + QPoint globalPoint = eventTranslator->screen()->geometry().topLeft() + targetPoint; + +@@ -706,7 +724,7 @@ int QWasmEventTranslator::wheel_cb(int eventType, const EmscriptenWheelEvent *wh + if (wheelEvent->deltaY != 0) pixelDelta.setY(wheelEvent->deltaY * scrollFactor); + if (wheelEvent->deltaX != 0) pixelDelta.setX(wheelEvent->deltaX * scrollFactor); + +- QWindowSystemInterface::handleWheelEvent(window2, timestamp, localPoint, ++ QWindowSystemInterface::handleWheelEvent(window2, getTimestamp(), localPoint, + globalPoint, QPoint(), pixelDelta, modifiers); + QWasmEventDispatcher::maintainTimers(); + +@@ -989,4 +1007,27 @@ bool QWasmEventTranslator::processKeyboard(int eventType, const EmscriptenKeyboa + return accepted; + } + ++QCursor QWasmEventTranslator::cursorForMode(QWasmWindow::ResizeMode m) ++{ ++ switch (m) { ++ case QWasmWindow::ResizeTopLeft: ++ case QWasmWindow::ResizeBottomRight: ++ return Qt::SizeFDiagCursor; ++ break; ++ case QWasmWindow::ResizeBottomLeft: ++ case QWasmWindow::ResizeTopRight: ++ return Qt::SizeBDiagCursor; ++ break; ++ case QWasmWindow::ResizeTop: ++ case QWasmWindow::ResizeBottom: ++ return Qt::SizeVerCursor; ++ break; ++ case QWasmWindow::ResizeLeft: ++ case QWasmWindow::ResizeRight: ++ return Qt::SizeHorCursor; ++ break; ++ } ++ return Qt::ArrowCursor; ++} ++ + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/wasm/qwasmeventtranslator.h b/src/plugins/platforms/wasm/qwasmeventtranslator.h +index 84e300b7ea..93a074a51e 100644 +--- a/src/plugins/platforms/wasm/qwasmeventtranslator.h ++++ b/src/plugins/platforms/wasm/qwasmeventtranslator.h +@@ -35,8 +35,13 @@ + #include + #include + #include "qwasmwindow.h" ++#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) ++#include ++#else + #include ++#endif + #include ++#include + + QT_BEGIN_NAMESPACE + +@@ -89,11 +94,16 @@ private: + QWasmWindow::ResizeMode resizeMode; + QPoint resizePoint; + QRect resizeStartRect; ++#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) ++ QPointingDevice *touchDevice; ++#else + QTouchDevice *touchDevice; +- quint64 getTimestamp(); ++#endif ++ static quint64 getTimestamp(); + + Qt::Key m_emDeadKey = Qt::Key_unknown; + bool m_emStickyDeadKey = false; ++ QCursor cursorForMode(QWasmWindow::ResizeMode mode); + }; + + QT_END_NAMESPACE +diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp +index 6814dbd844..fa708fbf26 100644 +--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp ++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp +@@ -48,6 +48,7 @@ + #include "qxcbscreen.h" + #include "qglxintegration.h" + ++#include + #include + + #include "qxcbglxnativeinterfacehandler.h" +@@ -59,6 +60,9 @@ + QT_BEGIN_NAMESPACE + + #if QT_CONFIG(xcb_glx) ++ #define QT_XCB_GLX_REQUIRED_MAJOR 1 ++ #define QT_XCB_GLX_REQUIRED_MINOR 3 ++ + #if XCB_GLX_MAJOR_VERSION == 1 && XCB_GLX_MINOR_VERSION < 4 + #define XCB_GLX_BUFFER_SWAP_COMPLETE 1 + typedef struct xcb_glx_buffer_swap_complete_event_t { +@@ -113,7 +117,9 @@ bool QXcbGlxIntegration::initialize(QXcbConnection *connection) + auto xglx_query = Q_XCB_REPLY(xcb_glx_query_version, m_connection->xcb_connection(), + XCB_GLX_MAJOR_VERSION, + XCB_GLX_MINOR_VERSION); +- if (!xglx_query) { ++ if ((!xglx_query) ++ || (QVersionNumber(xglx_query->major_version, xglx_query->minor_version) ++ < QVersionNumber(QT_XCB_GLX_REQUIRED_MAJOR, QT_XCB_GLX_REQUIRED_MINOR))) { + qCWarning(lcQpaGl) << "QXcbConnection: Failed to initialize GLX"; + return false; + } +diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp +index c557109bd1..9abdae6a7c 100644 +--- a/src/plugins/platforms/xcb/qxcbconnection.cpp ++++ b/src/plugins/platforms/xcb/qxcbconnection.cpp +@@ -763,7 +763,10 @@ xcb_timestamp_t QXcbConnection::getTimestamp() + + xcb_generic_event_t *event = nullptr; + +- while (!event) { ++ // When disconnection is caused by X server, event will never be able to hold ++ // a valid pointer. isConnected(), which calls xcb_connection_has_error(), ++ // can handle this type of disconnection and properly quits the loop. ++ while (isConnected() && !event) { + connection()->sync(); + event = eventQueue()->peek([window, dummyAtom](xcb_generic_event_t *event, int type) { + if (type != XCB_PROPERTY_NOTIFY) +@@ -773,6 +776,14 @@ xcb_timestamp_t QXcbConnection::getTimestamp() + }); + } + ++ if (!event) { ++ // https://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html#glossary ++ // > One timestamp value (named CurrentTime) is never generated by the ++ // > server. This value is reserved for use in requests to represent the ++ // > current server time. ++ return XCB_CURRENT_TIME; ++ } ++ + xcb_property_notify_event_t *pn = reinterpret_cast(event); + xcb_timestamp_t timestamp = pn->time; + free(event); +diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp +index 9e7e1a5572..f0866a90ac 100644 +--- a/src/plugins/platforms/xcb/qxcbwindow.cpp ++++ b/src/plugins/platforms/xcb/qxcbwindow.cpp +@@ -698,7 +698,7 @@ void QXcbWindow::show() + if (isTransient(window())) { + const QWindow *tp = window()->transientParent(); + if (tp && tp->handle()) +- transientXcbParent = static_cast(tp->handle())->winId(); ++ transientXcbParent = tp->handle()->winId(); + // Default to client leader if there is no transient parent, else modal dialogs can + // be hidden by their parents. + if (!transientXcbParent) +diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm +index d1febd81d4..67c045e8bd 100644 +--- a/src/plugins/styles/mac/qmacstyle_mac.mm ++++ b/src/plugins/styles/mac/qmacstyle_mac.mm +@@ -3870,6 +3870,7 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + const auto cs = d->effectiveAquaSizeConstrain(opt, w); + // Extra hacks to get the proper pressed appreance when not selected or selected and inactive + const bool needsInactiveHack = (!isActive && isSelected); ++ const bool isBigSurOrAbove = QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSBigSur; + const auto ct = !needsInactiveHack && (isSelected || tp == QStyleOptionTab::OnlyOneTab) ? + QMacStylePrivate::Button_PushButton : + QMacStylePrivate::Button_PopupButton; +@@ -3878,6 +3879,12 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + auto *pb = static_cast(d->cocoaControl(cw)); + + auto vOffset = isPopupButton ? 1 : 2; ++ if (isBigSurOrAbove) { ++ // Make it 1, otherwise, offset is very visible compared ++ // to selected tab (which is not a popup button). ++ vOffset = 1; ++ } ++ + if (tabDirection == QMacStylePrivate::East) + vOffset -= 1; + const auto outerAdjust = isPopupButton ? 1 : 4; +@@ -3894,9 +3901,22 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0); + else + frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0); ++ ++ if (isSelected && isBigSurOrAbove) { ++ // 1 pixed of 'roundness' is still visible on the right ++ // (the left is OK, it's rounded). ++ frameRect = frameRect.adjusted(0, 0, 1, 0); ++ } ++ + break; + case QStyleOptionTab::Middle: + frameRect = frameRect.adjusted(-innerAdjust, 0, innerAdjust, 0); ++ ++ if (isSelected && isBigSurOrAbove) { ++ // 1 pixel of 'roundness' is still visible on both ++ // sides - left and right. ++ frameRect = frameRect.adjusted(-1, 0, 1, 0); ++ } + break; + case QStyleOptionTab::End: + // Pressed state hack: tweak adjustments in preparation for flip below +@@ -3904,6 +3924,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + frameRect = frameRect.adjusted(-innerAdjust, 0, outerAdjust, 0); + else + frameRect = frameRect.adjusted(-outerAdjust, 0, innerAdjust, 0); ++ ++ if (isSelected && isBigSurOrAbove) { ++ // 1 pixel of 'roundness' is still visible on the left. ++ frameRect = frameRect.adjusted(-1, 0, 0, 0); ++ } + break; + case QStyleOptionTab::OnlyOneTab: + frameRect = frameRect.adjusted(-outerAdjust, 0, outerAdjust, 0); +@@ -3951,7 +3976,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + NSPopUpArrowPosition oldPosition = NSPopUpArrowAtCenter; + NSPopUpButtonCell *pbCell = nil; + auto rAdjusted = r; +- if (isPopupButton && tp == QStyleOptionTab::OnlyOneTab) { ++ if (isPopupButton && (tp == QStyleOptionTab::OnlyOneTab || isBigSurOrAbove)) { ++ // Note: starting from macOS BigSur NSPopupButton has this ++ // arrow 'button' in a different place and it became ++ // quite visible 'in between' inactive tabs. + pbCell = static_cast(pb.cell); + oldPosition = pbCell.arrowPosition; + pbCell.arrowPosition = NSPopUpNoArrow; +@@ -3959,6 +3987,10 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter + // NSPopUpButton in this state is smaller. + rAdjusted.origin.x -= 3; + rAdjusted.size.width += 6; ++ if (isBigSurOrAbove) { ++ if (tp == QStyleOptionTab::End) ++ rAdjusted.origin.x -= 2; ++ } + } + } + +diff --git a/src/src.pro b/src/src.pro +index f3f8d57af7..8990109743 100644 +--- a/src/src.pro ++++ b/src/src.pro +@@ -100,6 +100,9 @@ src_testlib.depends = src_corelib # testlib links only to corelib, but see bel + src_3rdparty_pcre2.subdir = $$PWD/3rdparty/pcre2 + src_3rdparty_pcre2.target = sub-3rdparty-pcre2 + ++src_3rdparty_libjpeg.subdir = $$PWD/3rdparty/libjpeg ++src_3rdparty_libjpeg.target = sub-3rdparty-libjpeg ++ + src_3rdparty_harfbuzzng.subdir = $$PWD/3rdparty/harfbuzz-ng + src_3rdparty_harfbuzzng.target = sub-3rdparty-harfbuzzng + src_3rdparty_harfbuzzng.depends = src_corelib # for the Qt atomics +@@ -204,6 +207,10 @@ qtConfig(gui) { + SUBDIRS += src_angle + src_gui.depends += src_angle + } ++ qtConfig(jpeg):!qtConfig(system-jpeg) { ++ SUBDIRS += src_3rdparty_libjpeg ++ src_plugins.depends = src_3rdparty_libjpeg ++ } + qtConfig(png):!qtConfig(system-png) { + SUBDIRS += src_3rdparty_libpng + src_3rdparty_freetype.depends += src_3rdparty_libpng +diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp +index 4c86d65e77..2c3d6a5586 100644 +--- a/src/testlib/qabstractitemmodeltester.cpp ++++ b/src/testlib/qabstractitemmodeltester.cpp +@@ -438,7 +438,7 @@ void QAbstractItemModelTesterPrivate::parent() + // when asked for the parent of an invalid index. + MODELTESTER_VERIFY(!model->parent(QModelIndex()).isValid()); + +- if (!model->hasChildren()) ++ if (model->rowCount() == 0 || model->columnCount() == 0) + return; + + // Column 0 | Column 1 | +@@ -449,11 +449,12 @@ void QAbstractItemModelTesterPrivate::parent() + // Common error test #1, make sure that a top level index has a parent + // that is a invalid QModelIndex. + QModelIndex topIndex = model->index(0, 0, QModelIndex()); ++ MODELTESTER_VERIFY(topIndex.isValid()); + MODELTESTER_VERIFY(!model->parent(topIndex).isValid()); + + // Common error test #2, make sure that a second level index has a parent + // that is the first level index. +- if (model->hasChildren(topIndex)) { ++ if (model->rowCount(topIndex) > 0 && model->columnCount(topIndex) > 0) { + QModelIndex childIndex = model->index(0, 0, topIndex); + MODELTESTER_VERIFY(childIndex.isValid()); + MODELTESTER_COMPARE(model->parent(childIndex), topIndex); +@@ -465,7 +466,7 @@ void QAbstractItemModelTesterPrivate::parent() + if (model->hasIndex(0, 1)) { + QModelIndex topIndex1 = model->index(0, 1, QModelIndex()); + MODELTESTER_VERIFY(topIndex1.isValid()); +- if (model->hasChildren(topIndex) && model->hasChildren(topIndex1)) { ++ if (model->rowCount(topIndex) > 0 && model->rowCount(topIndex1) > 0) { + QModelIndex childIndex = model->index(0, 0, topIndex); + MODELTESTER_VERIFY(childIndex.isValid()); + QModelIndex childIndex1 = model->index(0, 0, topIndex1); +@@ -583,7 +584,7 @@ void QAbstractItemModelTesterPrivate::checkChildren(const QModelIndex &parent, i + */ + void QAbstractItemModelTesterPrivate::data() + { +- if (!model->hasChildren()) ++ if (model->rowCount() == 0 || model->columnCount() == 0) + return; + + MODELTESTER_VERIFY(model->index(0, 0).isValid()); +@@ -719,12 +720,12 @@ void QAbstractItemModelTesterPrivate::rowsAboutToBeRemoved(const QModelIndex &pa + Changing c; + c.parent = parent; + c.oldSize = model->rowCount(parent); +- if (start > 0) { ++ if (start > 0 && model->columnCount(parent) > 0) { + const QModelIndex startIndex = model->index(start - 1, 0, parent); + MODELTESTER_VERIFY(startIndex.isValid()); + c.last = model->data(startIndex); + } +- if (end < c.oldSize - 1) { ++ if (end < c.oldSize - 1 && model->columnCount(parent) > 0) { + const QModelIndex endIndex = model->index(end + 1, 0, parent); + MODELTESTER_VERIFY(endIndex.isValid()); + c.next = model->data(endIndex); +diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp +index ff05dd88c7..c7a0784da7 100644 +--- a/src/testlib/qabstracttestlogger.cpp ++++ b/src/testlib/qabstracttestlogger.cpp +@@ -90,6 +90,11 @@ QAbstractTestLogger::~QAbstractTestLogger() + stream = nullptr; + } + ++bool QAbstractTestLogger::isLoggingToStdout() const ++{ ++ return stream == stdout; ++} ++ + void QAbstractTestLogger::filterUnprintable(char *str) const + { + unsigned char *idx = reinterpret_cast(str); +diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h +index e5a1404c16..3e4f725a98 100644 +--- a/src/testlib/qabstracttestlogger_p.h ++++ b/src/testlib/qabstracttestlogger_p.h +@@ -51,7 +51,8 @@ + // We mean it. + // + +-#include ++#include ++ + #include + #include + +@@ -60,7 +61,7 @@ QT_BEGIN_NAMESPACE + class QBenchmarkResult; + class QTestData; + +-class QAbstractTestLogger ++class Q_TESTLIB_EXPORT QAbstractTestLogger + { + public: + enum IncidentTypes { +@@ -106,6 +107,8 @@ public: + virtual void addMessage(MessageTypes type, const QString &message, + const char *file = nullptr, int line = 0) = 0; + ++ bool isLoggingToStdout() const; ++ + void outputString(const char *msg); + + protected: +@@ -182,7 +185,7 @@ namespace QTest + namespace QTestPrivate + { + enum IdentifierPart { TestObject = 0x1, TestFunction = 0x2, TestDataTag = 0x4, AllParts = 0xFFFF }; +- void generateTestIdentifier(QTestCharBuffer *identifier, int parts = AllParts); ++ void Q_TESTLIB_EXPORT generateTestIdentifier(QTestCharBuffer *identifier, int parts = AllParts); + } + + QT_END_NAMESPACE +diff --git a/src/testlib/qtestcase.qdoc b/src/testlib/qtestcase.qdoc +index 72f8cdaf8c..e39b47024f 100644 +--- a/src/testlib/qtestcase.qdoc ++++ b/src/testlib/qtestcase.qdoc +@@ -1258,7 +1258,7 @@ + should typically use createTouchDevice() to initialize a QTouchDevice + member variable in your test case class, and use the same instance for all tests. + +- \sa QTest::QTouchEventSequence ++ \sa QTest::QTouchEventSequence, touchEvent() + */ + + /*! +@@ -1394,6 +1394,9 @@ + QTouchEventSequence is called (ie when the object returned runs out of scope), unless + \a autoCommit is set to false. When \a autoCommit is false, commit() has to be called + manually. ++ ++ \l createTouchDevice() can be called to create a test touch device for use with this ++ function. + */ + + /*! +@@ -1410,6 +1413,9 @@ + QTouchEventSequence is called (ie when the object returned runs out of scope), unless + \a autoCommit is set to false. When \a autoCommit is false, commit() has to be called + manually. ++ ++ \l createTouchDevice() can be called to create a test touch device for use with this ++ function. + */ + + // Internals of qtestmouse.h: +diff --git a/src/testlib/qtestlog.cpp b/src/testlib/qtestlog.cpp +index be50176a08..da9626a559 100644 +--- a/src/testlib/qtestlog.cpp ++++ b/src/testlib/qtestlog.cpp +@@ -99,7 +99,7 @@ static void saveCoverageTool(const char * appname, bool testfailed, bool install + static QElapsedTimer elapsedFunctionTime; + static QElapsedTimer elapsedTotalTime; + +-#define FOREACH_TEST_LOGGER for (QAbstractTestLogger *logger : QTest::loggers) ++#define FOREACH_TEST_LOGGER for (QAbstractTestLogger *logger : *QTest::loggers()) + + namespace QTest { + +@@ -168,8 +168,7 @@ namespace QTest { + + static IgnoreResultList *ignoreResultList = nullptr; + +- static QVector loggers; +- static bool loggerUsingStdout = false; ++ Q_GLOBAL_STATIC(QVector, loggers) + + static int verbosity = 0; + static int maxWarnings = 2002; +@@ -430,8 +429,7 @@ void QTestLog::stopLogging() + logger->stopLogging(); + delete logger; + } +- QTest::loggers.clear(); +- QTest::loggerUsingStdout = false; ++ QTest::loggers()->clear(); + saveCoverageTool(QTestResult::currentAppName(), failCount() != 0, QTestLog::installedTestCoverage()); + } + +@@ -439,8 +437,6 @@ void QTestLog::addLogger(LogMode mode, const char *filename) + { + if (filename && strcmp(filename, "-") == 0) + filename = nullptr; +- if (!filename) +- QTest::loggerUsingStdout = true; + + QAbstractTestLogger *logger = nullptr; + switch (mode) { +@@ -478,17 +474,36 @@ void QTestLog::addLogger(LogMode mode, const char *filename) + } + + QTEST_ASSERT(logger); +- QTest::loggers.append(logger); ++ addLogger(logger); ++} ++ ++/*! ++ \internal ++ ++ Adds a new logger to the set of loggers that will be used ++ to report incidents and messages during testing. ++ ++ The function takes ownership of the logger. ++*/ ++void QTestLog::addLogger(QAbstractTestLogger *logger) ++{ ++ QTEST_ASSERT(logger); ++ QTest::loggers()->append(logger); + } + + int QTestLog::loggerCount() + { +- return QTest::loggers.size(); ++ return QTest::loggers()->size(); + } + + bool QTestLog::loggerUsingStdout() + { +- return QTest::loggerUsingStdout; ++ FOREACH_TEST_LOGGER { ++ if (logger->isLoggingToStdout()) ++ return true; ++ } ++ ++ return false; + } + + void QTestLog::warn(const char *msg, const char *file, int line) +diff --git a/src/testlib/qtestlog_p.h b/src/testlib/qtestlog_p.h +index ddaf14ed9b..bdb22acbd3 100644 +--- a/src/testlib/qtestlog_p.h ++++ b/src/testlib/qtestlog_p.h +@@ -64,6 +64,7 @@ QT_BEGIN_NAMESPACE + class QBenchmarkResult; + class QRegularExpression; + class QTestData; ++class QAbstractTestLogger; + + class Q_TESTLIB_EXPORT QTestLog + { +@@ -115,6 +116,7 @@ public: + static void stopLogging(); + + static void addLogger(LogMode mode, const char *filename); ++ static void addLogger(QAbstractTestLogger *logger); + + static int loggerCount(); + static bool loggerUsingStdout(); +diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp +index 0504432eea..abd015b27f 100644 +--- a/src/tools/androiddeployqt/main.cpp ++++ b/src/tools/androiddeployqt/main.cpp +@@ -174,7 +174,7 @@ struct Options + QString versionName; + QString versionCode; + QByteArray minSdkVersion{"21"}; +- QByteArray targetSdkVersion{"28"}; ++ QByteArray targetSdkVersion{"29"}; + + // lib c++ path + QString stdCppPath; +@@ -1801,7 +1801,7 @@ bool scanImports(Options *options, QSet *usedDependencies) + // The qmlimportscanner sometimes outputs paths that do not exist. + if (!info.exists()) { + if (options->verbose) +- fprintf(stdout, " -- Skipping because file does not exist.\n"); ++ fprintf(stdout, " -- Skipping because path does not exist.\n"); + continue; + } + +@@ -1811,7 +1811,7 @@ bool scanImports(Options *options, QSet *usedDependencies) + + if (absolutePath.startsWith(rootPath)) { + if (options->verbose) +- fprintf(stdout, " -- Skipping because file is in QML root path.\n"); ++ fprintf(stdout, " -- Skipping because path is in QML root path.\n"); + continue; + } + +diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp +index 7264b5bf66..e8b1d2fb6a 100644 +--- a/src/tools/moc/generator.cpp ++++ b/src/tools/moc/generator.cpp +@@ -1207,7 +1207,7 @@ void Generator::generateStaticMetacall() + } else { + fprintf(out, " auto *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData()); + } +- fprintf(out, " Q_UNUSED(_t)\n"); ++ fprintf(out, " (void)_t;\n"); + fprintf(out, " switch (_id) {\n"); + for (int methodindex = 0; methodindex < methodList.size(); ++methodindex) { + const FunctionDef &f = methodList.at(methodindex); +@@ -1313,7 +1313,7 @@ void Generator::generateStaticMetacall() + fprintf(out, " }\n }\n"); + } + if (!anythingUsed) +- fprintf(out, " Q_UNUSED(result);\n"); ++ fprintf(out, " (void)result;\n"); + fprintf(out, " }"); + needElse = true; + } +@@ -1372,7 +1372,7 @@ void Generator::generateStaticMetacall() + } else { + fprintf(out, " auto *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData()); + } +- fprintf(out, " Q_UNUSED(_t)\n"); ++ fprintf(out, " (void)_t;\n"); + if (needTempVarForGet) + fprintf(out, " void *_v = _a[0];\n"); + fprintf(out, " switch (_id) {\n"); +@@ -1418,7 +1418,7 @@ void Generator::generateStaticMetacall() + } else { + fprintf(out, " auto *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData()); + } +- fprintf(out, " Q_UNUSED(_t)\n"); ++ fprintf(out, " (void)_t;\n"); + fprintf(out, " void *_v = _a[0];\n"); + fprintf(out, " switch (_id) {\n"); + for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) { +@@ -1474,7 +1474,7 @@ void Generator::generateStaticMetacall() + } else { + fprintf(out, " %s *_t = reinterpret_cast<%s *>(_o);\n", cdef->classname.constData(), cdef->classname.constData()); + } +- fprintf(out, " Q_UNUSED(_t)\n"); ++ fprintf(out, " (void)_t;\n"); + fprintf(out, " switch (_id) {\n"); + for (int propindex = 0; propindex < cdef->propertyList.size(); ++propindex) { + const PropertyDef &p = cdef->propertyList.at(propindex); +@@ -1499,14 +1499,14 @@ void Generator::generateStaticMetacall() + fprintf(out, "\n"); + + if (methodList.isEmpty()) { +- fprintf(out, " Q_UNUSED(_o);\n"); ++ fprintf(out, " (void)_o;\n"); + if (cdef->constructorList.isEmpty() && automaticPropertyMetaTypes.isEmpty() && methodsWithAutomaticTypesHelper(methodList).isEmpty()) { +- fprintf(out, " Q_UNUSED(_id);\n"); +- fprintf(out, " Q_UNUSED(_c);\n"); ++ fprintf(out, " (void)_id;\n"); ++ fprintf(out, " (void)_c;\n"); + } + } + if (!isUsed_a) +- fprintf(out, " Q_UNUSED(_a);\n"); ++ fprintf(out, " (void)_a;\n"); + + fprintf(out, "}\n\n"); + } +diff --git a/src/tools/moc/moc.cpp b/src/tools/moc/moc.cpp +index edc72f0869..7389919911 100644 +--- a/src/tools/moc/moc.cpp ++++ b/src/tools/moc/moc.cpp +@@ -261,6 +261,12 @@ Type Moc::parseType() + return type; + } + ++enum class IncludeState { ++ IncludeBegin, ++ IncludeEnd, ++ NoInclude, ++}; ++ + bool Moc::parseEnum(EnumDef *def) + { + bool isTypdefEnum = false; // typedef enum { ... } Foo; +@@ -281,18 +287,28 @@ bool Moc::parseEnum(EnumDef *def) + } + if (!test(LBRACE)) + return false; +- auto handleInclude = [this]() { +- if (test(MOC_INCLUDE_BEGIN)) ++ auto handleInclude = [this]() -> IncludeState { ++ bool hadIncludeBegin = false; ++ if (test(MOC_INCLUDE_BEGIN)) { + currentFilenames.push(symbol().unquotedLexem()); ++ // we do not return early to handle empty headers in one go ++ hadIncludeBegin = true; ++ } + if (test(NOTOKEN)) { + next(MOC_INCLUDE_END); + currentFilenames.pop(); ++ return IncludeState::IncludeEnd; + } ++ if (hadIncludeBegin) ++ return IncludeState::IncludeBegin; ++ else ++ return IncludeState::NoInclude; + }; + do { + if (lookup() == RBRACE) // accept trailing comma + break; +- handleInclude(); ++ if ( handleInclude() == IncludeState::IncludeEnd) ++ continue; + next(IDENTIFIER); + def->values += lexem(); + handleInclude(); +diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp +index a99b8cc80c..c6e84c0913 100644 +--- a/src/tools/moc/preprocessor.cpp ++++ b/src/tools/moc/preprocessor.cpp +@@ -886,7 +886,15 @@ int PP_Expression::multiplicative_expression() + int value = unary_expression(); + switch (next()) { + case PP_STAR: +- return value * multiplicative_expression(); ++ { ++ // get well behaved overflow behavior by converting to long ++ // and then back to int ++ // NOTE: A conformant preprocessor would need to work intmax_t/ ++ // uintmax_t according to [cpp.cond], 19.1 §10 ++ // But we're not compliant anyway ++ qint64 result = qint64(value) * qint64(multiplicative_expression()); ++ return int(result); ++ } + case PP_PERCENT: + { + int remainder = multiplicative_expression(); +diff --git a/src/widgets/accessible/complexwidgets.cpp b/src/widgets/accessible/complexwidgets.cpp +index ce2ceac938..185b319402 100644 +--- a/src/widgets/accessible/complexwidgets.cpp ++++ b/src/widgets/accessible/complexwidgets.cpp +@@ -398,9 +398,24 @@ void QAccessibleComboBox::doAction(const QString &actionName) + { + if (actionName == showMenuAction() || actionName == pressAction()) { + if (comboBox()->view()->isVisible()) { ++#if defined(Q_OS_ANDROID) ++ const auto list = child(0)->tableInterface(); ++ if (list && list->selectedRowCount() > 0) { ++ comboBox()->setCurrentIndex(list->selectedRows().at(0)); ++ } ++ comboBox()->setFocus(); ++#endif + comboBox()->hidePopup(); + } else { + comboBox()->showPopup(); ++#if defined(Q_OS_ANDROID) ++ const auto list = child(0)->tableInterface(); ++ if (list && list->selectedRowCount() > 0) { ++ auto selectedCells = list->selectedCells(); ++ QAccessibleEvent ev(selectedCells.at(0),QAccessible::Focus); ++ QAccessible::updateAccessibility(&ev); ++ } ++#endif + } + } + } +diff --git a/src/widgets/accessible/itemviews.cpp b/src/widgets/accessible/itemviews.cpp +index 677e56806a..a7b536ae54 100644 +--- a/src/widgets/accessible/itemviews.cpp ++++ b/src/widgets/accessible/itemviews.cpp +@@ -934,10 +934,23 @@ QStringList QAccessibleTableCell::actionNames() const + void QAccessibleTableCell::doAction(const QString& actionName) + { + if (actionName == toggleAction()) { +- if (isSelected()) ++#if defined(Q_OS_ANDROID) ++ QAccessibleInterface *parentInterface = parent(); ++ while (parentInterface){ ++ if (parentInterface->role() == QAccessible::ComboBox) { ++ selectCell(); ++ parentInterface->actionInterface()->doAction(pressAction()); ++ return; ++ } else { ++ parentInterface = parentInterface->parent(); ++ } ++ } ++#endif ++ if (isSelected()) { + unselectCell(); +- else ++ } else { + selectCell(); ++ } + } + } + +diff --git a/src/widgets/doc/snippets/layouts/layouts.cpp b/src/widgets/doc/snippets/layouts/layouts.cpp +index 6d2ea580b4..4b15cc6d1a 100644 +--- a/src/widgets/doc/snippets/layouts/layouts.cpp ++++ b/src/widgets/doc/snippets/layouts/layouts.cpp +@@ -67,7 +67,7 @@ int main(int argc, char *argv[]) + //! [2] + + //! [3] +- QHBoxLayout *layout = new QHBoxLayout; ++ QHBoxLayout *layout = new QHBoxLayout(window); + //! [3] //! [4] + layout->addWidget(button1); + layout->addWidget(button2); +@@ -75,7 +75,6 @@ int main(int argc, char *argv[]) + layout->addWidget(button4); + layout->addWidget(button5); + +- window->setLayout(layout); + //! [4] + window->setWindowTitle("QHBoxLayout"); + //! [5] +@@ -96,7 +95,7 @@ int main(int argc, char *argv[]) + //! [8] + + //! [9] +- QVBoxLayout *layout = new QVBoxLayout; ++ QVBoxLayout *layout = new QVBoxLayout(window); + //! [9] //! [10] + layout->addWidget(button1); + layout->addWidget(button2); +@@ -104,7 +103,6 @@ int main(int argc, char *argv[]) + layout->addWidget(button4); + layout->addWidget(button5); + +- window->setLayout(layout); + //! [10] + window->setWindowTitle("QVBoxLayout"); + //! [11] +@@ -125,7 +123,7 @@ int main(int argc, char *argv[]) + //! [14] + + //! [15] +- QGridLayout *layout = new QGridLayout; ++ QGridLayout *layout = new QGridLayout(window); + //! [15] //! [16] + layout->addWidget(button1, 0, 0); + layout->addWidget(button2, 0, 1); +@@ -133,7 +131,6 @@ int main(int argc, char *argv[]) + layout->addWidget(button4, 2, 0); + layout->addWidget(button5, 2, 1); + +- window->setLayout(layout); + //! [16] + window->setWindowTitle("QGridLayout"); + //! [17] +@@ -156,14 +153,13 @@ int main(int argc, char *argv[]) + QLineEdit *lineEdit3 = new QLineEdit(); + //! [20] + //! [21] +- QFormLayout *layout = new QFormLayout; ++ QFormLayout *layout = new QFormLayout(window); + //! [21] + //! [22] + layout->addRow(button1, lineEdit1); + layout->addRow(button2, lineEdit2); + layout->addRow(button3, lineEdit3); + +- window->setLayout(layout); + //! [22] + window->setWindowTitle("QFormLayout"); + //! [23] +diff --git a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc +index be0a23f79c..3319b032cc 100644 +--- a/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc ++++ b/src/widgets/doc/src/widgets-and-layouts/stylesheet.qdoc +@@ -3018,7 +3018,7 @@ + \li \c px: pixels + \li \c pt: the size of one point (i.e., 1/72 of an inch) + \li \c em: the em width of the font (i.e., the width of 'M') +- \li \c ex: the ex width of the font (i.e., the height of 'x') ++ \li \c ex: the x-height of the font (i.e., the height of 'x') + \endlist + + However, Qt is limited to font sizes in \c pt and \c px and any other +diff --git a/src/widgets/graphicsview/qgraphicsproxywidget.cpp b/src/widgets/graphicsview/qgraphicsproxywidget.cpp +index 45720802d3..36c6592012 100644 +--- a/src/widgets/graphicsview/qgraphicsproxywidget.cpp ++++ b/src/widgets/graphicsview/qgraphicsproxywidget.cpp +@@ -1389,6 +1389,11 @@ void QGraphicsProxyWidget::focusInEvent(QFocusEvent *event) + break; + } + ++ // QTBUG-88016 ++ if (d->widget && d->widget->focusWidget() ++ && d->widget->focusWidget()->testAttribute(Qt::WA_InputMethodEnabled)) ++ QApplication::inputMethod()->reset(); ++ + d->proxyIsGivingFocus = false; + } + +@@ -1404,8 +1409,14 @@ void QGraphicsProxyWidget::focusOutEvent(QFocusEvent *event) + if (d->widget) { + // We need to explicitly remove subfocus from the embedded widget's + // focus widget. +- if (QWidget *focusWidget = d->widget->focusWidget()) ++ if (QWidget *focusWidget = d->widget->focusWidget()) { ++ // QTBUG-88016 proxyWidget set QTextEdit(QLineEdit etc.) when input preview text, ++ // inputMethod should be reset when proxyWidget lost focus ++ if (focusWidget && focusWidget->testAttribute(Qt::WA_InputMethodEnabled)) ++ QApplication::inputMethod()->reset(); ++ + d->removeSubFocusHelper(focusWidget, event->reason()); ++ } + } + } + +diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp +index 84e2fd72a9..3b396c689b 100644 +--- a/src/widgets/itemviews/qheaderview.cpp ++++ b/src/widgets/itemviews/qheaderview.cpp +@@ -2528,7 +2528,7 @@ void QHeaderView::mousePressEvent(QMouseEvent *e) + int handle = d->sectionHandleAt(pos); + d->originalSize = -1; // clear the stored original size + if (handle == -1) { +- d->pressed = logicalIndexAt(pos); ++ d->firstPressed = d->pressed = logicalIndexAt(pos); + if (d->clickableSections) + emit sectionPressed(d->pressed); + +@@ -2576,7 +2576,7 @@ void QHeaderView::mouseMoveEvent(QMouseEvent *e) + // just before the mouseReleaseEvent and resets the state. This prevents + // column dragging from working. So this code is disabled under Cocoa. + d->state = QHeaderViewPrivate::NoState; +- d->pressed = -1; ++ d->firstPressed = d->pressed = -1; + } + switch (d->state) { + case QHeaderViewPrivate::ResizeSection: { +@@ -2705,9 +2705,27 @@ void QHeaderView::mouseReleaseEvent(QMouseEvent *e) + case QHeaderViewPrivate::NoState: + if (d->clickableSections) { + int section = logicalIndexAt(pos); +- if (section != -1 && section == d->pressed) { +- d->flipSortIndicator(section); +- emit sectionClicked(section); ++ if (section != -1 && section == d->firstPressed) { ++ QRect firstPressedSectionRect; ++ switch (d->orientation) { ++ case Qt::Horizontal: ++ firstPressedSectionRect.setRect(sectionViewportPosition(d->firstPressed), ++ 0, ++ sectionSize(d->firstPressed), ++ d->viewport->height()); ++ break; ++ case Qt::Vertical: ++ firstPressedSectionRect.setRect(0, ++ sectionViewportPosition(d->firstPressed), ++ d->viewport->width(), ++ sectionSize(d->firstPressed)); ++ break; ++ }; ++ ++ if (firstPressedSectionRect.contains(e->pos())) { ++ d->flipSortIndicator(section); ++ emit sectionClicked(section); ++ } + } + if (d->pressed != -1) + updateSection(d->pressed); +@@ -2721,7 +2739,7 @@ void QHeaderView::mouseReleaseEvent(QMouseEvent *e) + break; + } + d->state = QHeaderViewPrivate::NoState; +- d->pressed = -1; ++ d->firstPressed = d->pressed = -1; + } + + /*! +diff --git a/src/widgets/itemviews/qheaderview_p.h b/src/widgets/itemviews/qheaderview_p.h +index 766adef36d..0f6641c3df 100644 +--- a/src/widgets/itemviews/qheaderview_p.h ++++ b/src/widgets/itemviews/qheaderview_p.h +@@ -82,6 +82,7 @@ public: + originalSize(-1), + section(-1), + target(-1), ++ firstPressed(-1), + pressed(-1), + hover(-1), + length(0), +@@ -274,6 +275,7 @@ public: + int originalSize; + int section; // used for resizing and moving sections + int target; ++ int firstPressed; + int pressed; + int hover; + +diff --git a/src/widgets/itemviews/qtableview.cpp b/src/widgets/itemviews/qtableview.cpp +index 1b72536dcf..f79bb24249 100644 +--- a/src/widgets/itemviews/qtableview.cpp ++++ b/src/widgets/itemviews/qtableview.cpp +@@ -1013,6 +1013,7 @@ void QTableViewPrivate::drawCell(QPainter *painter, const QStyleOptionViewItem & + int QTableViewPrivate::widthHintForIndex(const QModelIndex &index, int hint, const QStyleOptionViewItem &option) const + { + Q_Q(const QTableView); ++ const int oldHint = hint; + QWidget *editor = editorForIndex(index).widget.data(); + if (editor && persistent.contains(editor)) { + hint = qMax(hint, editor->sizeHint().width()); +@@ -1021,6 +1022,17 @@ int QTableViewPrivate::widthHintForIndex(const QModelIndex &index, int hint, con + hint = qBound(min, hint, max); + } + hint = qMax(hint, q->itemDelegate(index)->sizeHint(option, index).width()); ++ ++ if (hasSpans()) { ++ auto span = spans.spanAt(index.column(), index.row()); ++ if (span && span->m_left == index.column() && span->m_top == index.row()) { ++ // spans are screwed up when sections are moved ++ const auto left = logicalColumn(span->m_left); ++ for (int i = 1; i <= span->width(); ++i) ++ hint -= q->columnWidth(visualColumn(left + i)); ++ } ++ hint = std::max(hint, oldHint); ++ } + return hint; + } + +@@ -1053,6 +1065,11 @@ int QTableViewPrivate::heightHintForIndex(const QModelIndex &index, int hint, QS + option.rect.setHeight(height); + option.rect.setX(q->columnViewportPosition(index.column())); + option.rect.setWidth(q->columnWidth(index.column())); ++ if (hasSpans()) { ++ auto span = spans.spanAt(index.column(), index.row()); ++ if (span && span->m_left == index.column() && span->m_top == index.row()) ++ option.rect.setWidth(std::max(option.rect.width(), visualSpanRect(*span).width())); ++ } + // 1px less space when grid is shown (see drawCell) + if (showGrid) + option.rect.setWidth(option.rect.width() - 1); +@@ -2944,6 +2961,8 @@ void QTableView::timerEvent(QTimerEvent *event) + updateGeometries(); + killTimer(d->columnResizeTimerID); + d->columnResizeTimerID = 0; ++ } else { ++ updateEditorGeometries(); + } + + QRect rect; +@@ -2972,6 +2991,8 @@ void QTableView::timerEvent(QTimerEvent *event) + updateGeometries(); + killTimer(d->rowResizeTimerID); + d->rowResizeTimerID = 0; ++ } else { ++ updateEditorGeometries(); + } + + int viewportHeight = d->viewport->height(); +diff --git a/src/widgets/itemviews/qtreewidget.cpp b/src/widgets/itemviews/qtreewidget.cpp +index 47b06a4138..842fc1b82b 100644 +--- a/src/widgets/itemviews/qtreewidget.cpp ++++ b/src/widgets/itemviews/qtreewidget.cpp +@@ -508,22 +508,18 @@ bool QTreeModel::insertColumns(int column, int count, const QModelIndex &parent) + bool QTreeModel::removeRows(int row, int count, const QModelIndex &parent) { + if (count < 1 || row < 0 || (row + count) > rowCount(parent)) + return false; +- +- beginRemoveRows(parent, row, row + count - 1); +- +- QSignalBlocker blocker(this); +- +- QTreeWidgetItem *itm = item(parent); ++ QTreeWidgetItem *parentItem = item(parent); ++ // if parentItem is valid, begin/end RemoveRows is handled by takeChild below ++ if (!parentItem) ++ beginRemoveRows(parent, row, row + count - 1); + for (int i = row + count - 1; i >= row; --i) { +- QTreeWidgetItem *child = itm ? itm->takeChild(i) : rootItem->children.takeAt(i); ++ QTreeWidgetItem *child = parentItem ? parentItem->takeChild(i) : rootItem->children.takeAt(i); + Q_ASSERT(child); + child->view = nullptr; + delete child; +- child = nullptr; + } +- blocker.unblock(); +- +- endRemoveRows(); ++ if (!parentItem) ++ endRemoveRows(); + return true; + } + +diff --git a/src/widgets/kernel/qboxlayout.cpp b/src/widgets/kernel/qboxlayout.cpp +index 7b09adfbf0..c1052c5b9d 100644 +--- a/src/widgets/kernel/qboxlayout.cpp ++++ b/src/widgets/kernel/qboxlayout.cpp +@@ -548,7 +548,11 @@ QLayoutItem* QBoxLayoutPrivate::replaceAt(int index, QLayoutItem *item) + Constructs a new QBoxLayout with direction \a dir and parent widget \a + parent. + +- \sa direction() ++ The layout is set directly as the top-level layout for \a parent. ++ There can be only one top-level layout for a widget. It is returned ++ by QWidget::layout(). ++ ++ \sa direction(), QWidget::setLayout() + */ + QBoxLayout::QBoxLayout(Direction dir, QWidget *parent) + : QLayout(*new QBoxLayoutPrivate, nullptr, parent) +@@ -1232,11 +1236,16 @@ QBoxLayout::Direction QBoxLayout::direction() const + \snippet layouts/layouts.cpp 4 + \snippet layouts/layouts.cpp 5 + +- First, we create the widgets we want in the layout. Then, we +- create the QHBoxLayout object and add the widgets into the +- layout. Finally, we call QWidget::setLayout() to install the +- QHBoxLayout object onto the widget. At that point, the widgets in +- the layout are reparented to have \c window as their parent. ++ First, we create the widgets we want to add to the layout. Then, ++ we create the QHBoxLayout object, setting \c window as parent by ++ passing it in the constructor; next we add the widgets to the ++ layout. \c window will be the parent of the widgets that are ++ added to the layout. ++ ++ If you don't pass parent \c window in the constrcutor, you can ++ at a later point use QWidget::setLayout() to install the QHBoxLayout ++ object onto \c window. At that point, the widgets in the layout are ++ reparented to have \c window as their parent. + + \image qhboxlayout-with-5-children.png Horizontal box layout with five child widgets + +@@ -1245,8 +1254,13 @@ QBoxLayout::Direction QBoxLayout::direction() const + + + /*! +- Constructs a new top-level horizontal box with +- parent \a parent. ++ Constructs a new top-level horizontal box with parent \a parent. ++ ++ The layout is set directly as the top-level layout for \a parent. ++ There can be only one top-level layout for a widget. It is returned ++ by QWidget::layout(). ++ ++ \sa QWidget::setLayout() + */ + QHBoxLayout::QHBoxLayout(QWidget *parent) + : QBoxLayout(LeftToRight, parent) +@@ -1295,11 +1309,16 @@ QHBoxLayout::~QHBoxLayout() + \snippet layouts/layouts.cpp 10 + \snippet layouts/layouts.cpp 11 + +- First, we create the widgets we want in the layout. Then, we +- create the QVBoxLayout object and add the widgets into the +- layout. Finally, we call QWidget::setLayout() to install the +- QVBoxLayout object onto the widget. At that point, the widgets in +- the layout are reparented to have \c window as their parent. ++ First, we create the widgets we want to add to the layout. Then, ++ we create the QVBoxLayout object, setting \c window as parent by ++ passing it in the constructor; next we add the widgets to the ++ layout. \c window will be the parent of the widgets that are ++ added to the layout. ++ ++ If you don't pass parent \c window in the constrcutor, you can ++ at a later point use QWidget::setLayout() to install the QVBoxLayout ++ object onto \c window. At that point, the widgets in the layout are ++ reparented to have \c window as their parent. + + \image qvboxlayout-with-5-children.png Horizontal box layout with five child widgets + +@@ -1307,8 +1326,13 @@ QHBoxLayout::~QHBoxLayout() + */ + + /*! +- Constructs a new top-level vertical box with +- parent \a parent. ++ Constructs a new top-level vertical box with parent \a parent. ++ ++ The layout is set directly as the top-level layout for \a parent. ++ There can be only one top-level layout for a widget. It is returned ++ by QWidget::layout(). ++ ++ \sa QWidget::setLayout() + */ + QVBoxLayout::QVBoxLayout(QWidget *parent) + : QBoxLayout(TopToBottom, parent) +diff --git a/src/widgets/kernel/qformlayout.cpp b/src/widgets/kernel/qformlayout.cpp +index 4ffa226d7f..1eac4986d9 100644 +--- a/src/widgets/kernel/qformlayout.cpp ++++ b/src/widgets/kernel/qformlayout.cpp +@@ -1189,6 +1189,10 @@ QLayoutItem* QFormLayoutPrivate::replaceAt(int index, QLayoutItem *newitem) + /*! + Constructs a new form layout with the given \a parent widget. + ++ The layout is set directly as the top-level layout for \a parent. ++ There can be only one top-level layout for a widget. It is returned ++ by QWidget::layout(). ++ + \sa QWidget::setLayout() + */ + QFormLayout::QFormLayout(QWidget *parent) +diff --git a/src/widgets/kernel/qgridlayout.cpp b/src/widgets/kernel/qgridlayout.cpp +index b4ac263c2b..b4e8541172 100644 +--- a/src/widgets/kernel/qgridlayout.cpp ++++ b/src/widgets/kernel/qgridlayout.cpp +@@ -1073,6 +1073,12 @@ QRect QGridLayoutPrivate::cellRect(int row, int col) const + Constructs a new QGridLayout with parent widget, \a parent. The + layout has one row and one column initially, and will expand when + new items are inserted. ++ ++ The layout is set directly as the top-level layout for \a parent. ++ There can be only one top-level layout for a widget. It is returned ++ by QWidget::layout(). ++ ++ \sa QWidget::setLayout() + */ + QGridLayout::QGridLayout(QWidget *parent) + : QLayout(*new QGridLayoutPrivate, nullptr, parent) +diff --git a/src/widgets/kernel/qstackedlayout.cpp b/src/widgets/kernel/qstackedlayout.cpp +index f87fe96cc0..2f3d6f39cb 100644 +--- a/src/widgets/kernel/qstackedlayout.cpp ++++ b/src/widgets/kernel/qstackedlayout.cpp +@@ -44,6 +44,8 @@ + #include "private/qwidget_p.h" + #include "private/qlayoutengine_p.h" + ++#include ++ + QT_BEGIN_NAMESPACE + + class QStackedLayoutPrivate : public QLayoutPrivate +@@ -421,13 +423,13 @@ int QStackedLayout::count() const + */ + void QStackedLayout::addItem(QLayoutItem *item) + { ++ std::unique_ptr guard(item); + QWidget *widget = item->widget(); + if (Q_UNLIKELY(!widget)) { + qWarning("QStackedLayout::addItem: Only widgets can be added"); + return; + } + addWidget(widget); +- delete item; + } + + /*! +diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp +index 479d91be0e..1eac50df81 100644 +--- a/src/widgets/kernel/qwidget.cpp ++++ b/src/widgets/kernel/qwidget.cpp +@@ -6476,6 +6476,9 @@ void QWidget::clearFocus() + QCoreApplication::sendEvent(this, &focusAboutToChange); + } + ++ QTLWExtra *extra = window()->d_func()->maybeTopData(); ++ QObject *originalFocusObject = (extra && extra->window) ? extra->window->focusObject() : nullptr; ++ + QWidget *w = this; + while (w) { + // Just like setFocus(), we update (clear) the focus_child of our parents +@@ -6484,14 +6487,12 @@ void QWidget::clearFocus() + w = w->parentWidget(); + } + +- // Since we've unconditionally cleared the focus_child of our parents, we need ++ // We've potentially cleared the focus_child of our parents, so we need + // to report this to the rest of Qt. Note that the focus_child is not the same + // thing as the application's focusWidget, which is why this piece of code is +- // not inside the hasFocus() block below. +- if (QTLWExtra *extra = window()->d_func()->maybeTopData()) { +- if (extra->window) +- emit extra->window->focusObjectChanged(extra->window->focusObject()); +- } ++ // not inside a hasFocus() block. ++ if (originalFocusObject && originalFocusObject != extra->window->focusObject()) ++ emit extra->window->focusObjectChanged(extra->window->focusObject()); + + #if QT_CONFIG(graphicsview) + const auto &topData = d_func()->extra; +@@ -11400,7 +11401,7 @@ QString QWidget::accessibleName() const + \brief the widget's description as seen by assistive technologies + + The accessible description of a widget should convey what a widget does. +- While the \l accessibleName should be a short and consise string (e.g. \gui{Save}), ++ While the \l accessibleName should be a short and concise string (e.g. \gui{Save}), + the description should give more context, such as \gui{Saves the current document}. + + This property has to be \l{Internationalization with Qt}{localized}. +diff --git a/src/widgets/styles/qstyleanimation.cpp b/src/widgets/styles/qstyleanimation.cpp +index b9202eae69..f4a2ebe913 100644 +--- a/src/widgets/styles/qstyleanimation.cpp ++++ b/src/widgets/styles/qstyleanimation.cpp +@@ -122,9 +122,9 @@ bool QStyleAnimation::isUpdateNeeded() const + return currentTime() > _delay; + } + +-void QStyleAnimation::updateCurrentTime(int) ++void QStyleAnimation::updateCurrentTime(int time) + { +- if (++_skip >= _fps) { ++ if (++_skip >= _fps || time >= duration()) { + _skip = 0; + if (target() && isUpdateNeeded()) + updateTarget(); +diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp +index 14bca7fbe4..72f7ad7455 100644 +--- a/src/widgets/styles/qstylesheetstyle.cpp ++++ b/src/widgets/styles/qstylesheetstyle.cpp +@@ -1324,11 +1324,11 @@ QPainterPath QRenderRule::borderClip(QRect r) + + path.lineTo(rect.x() + blr.width(), curY); + curX = rect.left() + borders[LeftEdge]/2.0; +- path.arcTo(curX, rect.bottom() - 2*blr.height() + borders[BottomEdge]/2, ++ path.arcTo(curX, rect.bottom() - 2*blr.height() + borders[BottomEdge]/2.0, + blr.width()*2 - borders[LeftEdge], blr.height()*2 - borders[BottomEdge], 270, -90); + + path.lineTo(curX, rect.top() + tlr.height()); +- path.arcTo(curX, rect.top() + borders[TopEdge]/2, ++ path.arcTo(curX, rect.top() + borders[TopEdge]/2.0, + tlr.width()*2 - borders[LeftEdge], tlr.height()*2 - borders[TopEdge], 180, -90); + + path.closeSubpath(); +@@ -2848,6 +2848,7 @@ void QStyleSheetStyle::polish(QWidget *w) + if ( cssClass & PseudoClass_Hover || negated & PseudoClass_Hover) { + w->setAttribute(Qt::WA_Hover); + embeddedWidget(w)->setAttribute(Qt::WA_Hover); ++ embeddedWidget(w)->setMouseTracking(true); + } + } + +@@ -3539,8 +3540,8 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q + const uint horizontalAlignMask = Qt::AlignHCenter | Qt::AlignLeft | Qt::AlignRight; + const uint verticalAlignMask = Qt::AlignVCenter | Qt::AlignTop | Qt::AlignLeft; + +- if (rule.hasPosition() && rule.position()->textAlignment != 0) { +- Qt::Alignment textAlignment = rule.position()->textAlignment; ++ const Qt::Alignment textAlignment = rule.position()->textAlignment; ++ if (rule.hasPosition() && textAlignment != 0) { + tf |= (textAlignment & verticalAlignMask) ? (textAlignment & verticalAlignMask) : Qt::AlignVCenter; + tf |= (textAlignment & horizontalAlignMask) ? (textAlignment & horizontalAlignMask) : Qt::AlignHCenter; + if (!styleHint(SH_UnderlineShortcut, button, w)) +@@ -3599,6 +3600,8 @@ void QStyleSheetStyle::drawControl(ControlElement ce, const QStyleOption *opt, Q + iconRect.translate(pixelMetric(PM_ButtonShiftHorizontal, opt, w), + pixelMetric(PM_ButtonShiftVertical, opt, w)); + p->drawPixmap(iconRect, pixmap); ++ }else { ++ tf |= textAlignment; + } + + if (button->state & (State_On | State_Sunken)) +diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp +index 474a538fb2..41dccd1f5e 100644 +--- a/src/widgets/widgets/qcombobox.cpp ++++ b/src/widgets/widgets/qcombobox.cpp +@@ -1943,6 +1943,7 @@ void QComboBox::setEditable(bool editable) + view()->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + } + QLineEdit *le = new QLineEdit(this); ++ le->setPalette(palette()); + setLineEdit(le); + } else { + if (style()->styleHint(QStyle::SH_ComboBox_Popup, &opt, this)) { +@@ -2761,8 +2762,10 @@ void QComboBox::showPopup() + #endif + + // set current item and select it +- view()->selectionModel()->setCurrentIndex(d->currentIndex, +- QItemSelectionModel::ClearAndSelect); ++ QItemSelectionModel::SelectionFlags selectionMode = QItemSelectionModel::ClearAndSelect; ++ if (view()->selectionBehavior() == QAbstractItemView::SelectRows) ++ selectionMode.setFlag(QItemSelectionModel::Rows); ++ view()->selectionModel()->setCurrentIndex(d->currentIndex, selectionMode); + QComboBoxPrivateContainer* container = d->viewContainer(); + QRect listRect(style->subControlRect(QStyle::CC_ComboBox, &opt, + QStyle::SC_ComboBoxListBoxPopup, this)); +diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp +index ab933c987f..a23d8b790d 100644 +--- a/src/widgets/widgets/qmenu.cpp ++++ b/src/widgets/widgets/qmenu.cpp +@@ -2368,6 +2368,8 @@ void QMenuPrivate::popup(const QPoint &p, QAction *atAction, PositionFunction po + doChildEffects = true; + updateLayoutDirection(); + ++ q->ensurePolished(); // Get the right font ++ + // Ensure that we get correct sizeHints by placing this window on the correct screen. + // However if the QMenu was constructed with a QDesktopScreenWidget as its parent, + // then initialScreenIndex was set, so we should respect that for the lifetime of this menu. +@@ -2405,7 +2407,6 @@ void QMenuPrivate::popup(const QPoint &p, QAction *atAction, PositionFunction po + q->setAttribute(Qt::WA_X11NetWmWindowTypeDropDownMenu, qobject_cast(topCausedWidget()) != nullptr); + #endif + +- q->ensurePolished(); // Get the right font + emit q->aboutToShow(); + const bool actionListChanged = itemsDirty; + +diff --git a/src/widgets/widgets/qmenu_mac.mm b/src/widgets/widgets/qmenu_mac.mm +index 81a98f2d14..97fb6370fd 100644 +--- a/src/widgets/widgets/qmenu_mac.mm ++++ b/src/widgets/widgets/qmenu_mac.mm +@@ -126,6 +126,7 @@ void QMenu::setAsDockMenu() + void QMenuPrivate::moveWidgetToPlatformItem(QWidget *widget, QPlatformMenuItem* item) + { + auto *container = new QT_IGNORE_DEPRECATIONS(QMacNativeWidget); ++ container->setAttribute(Qt::WA_QuitOnClose, false); + QObject::connect(platformMenu, SIGNAL(destroyed()), container, SLOT(deleteLater())); + container->resize(widget->sizeHint()); + widget->setParent(container); +diff --git a/src/widgets/widgets/qpushbutton.cpp b/src/widgets/widgets/qpushbutton.cpp +index 3d075bf92f..d182d7d33d 100644 +--- a/src/widgets/widgets/qpushbutton.cpp ++++ b/src/widgets/widgets/qpushbutton.cpp +@@ -332,6 +332,8 @@ void QPushButton::initStyleOption(QStyleOptionButton *option) const + option->state |= QStyle::State_On; + if (!d->flat && !d->down) + option->state |= QStyle::State_Raised; ++ if (underMouse() && hasMouseTracking()) ++ option->state.setFlag(QStyle::State_MouseOver, d->hovering); + option->text = d->text; + option->icon = d->icon; + option->iconSize = iconSize(); +@@ -691,6 +693,18 @@ bool QPushButton::event(QEvent *e) + updateGeometry(); + } else if (e->type() == QEvent::PolishRequest) { + updateGeometry(); ++ } else if (e->type() == QEvent::MouseMove) { ++ const QMouseEvent *mouseEvent = static_cast(e); ++ if (testAttribute(Qt::WA_Hover)) { ++ bool hit = false; ++ if (underMouse()) ++ hit = hitButton(mouseEvent->pos()); ++ ++ if (hit != d->hovering) { ++ update(rect()); ++ d->hovering = hit; ++ } ++ } + } + return QAbstractButton::event(e); + } +diff --git a/src/widgets/widgets/qpushbutton_p.h b/src/widgets/widgets/qpushbutton_p.h +index 439b6e35d6..7a5458ea3b 100644 +--- a/src/widgets/widgets/qpushbutton_p.h ++++ b/src/widgets/widgets/qpushbutton_p.h +@@ -69,7 +69,9 @@ public: + + QPushButtonPrivate() + : QAbstractButtonPrivate(QSizePolicy::PushButton), autoDefault(Auto), +- defaultButton(false), flat(false), menuOpen(false), lastAutoDefault(false) {} ++ defaultButton(false), flat(false), menuOpen(false), hovering(false), ++ lastAutoDefault(false) ++ {} + + inline void init() { resetLayoutItemMargins(); } + static QPushButtonPrivate* get(QPushButton *b) { return b->d_func(); } +@@ -89,6 +91,7 @@ public: + uint defaultButton : 1; + uint flat : 1; + uint menuOpen : 1; ++ uint hovering : 1; + mutable uint lastAutoDefault : 1; + }; + +diff --git a/src/widgets/widgets/qsplashscreen.cpp b/src/widgets/widgets/qsplashscreen.cpp +index 328df6a8f2..84841c1cc0 100644 +--- a/src/widgets/widgets/qsplashscreen.cpp ++++ b/src/widgets/widgets/qsplashscreen.cpp +@@ -425,6 +425,7 @@ bool QSplashScreen::event(QEvent *e) + if (e->type() == QEvent::Paint) { + Q_D(QSplashScreen); + QPainter painter(this); ++ painter.setRenderHints(QPainter::SmoothPixmapTransform); + painter.setLayoutDirection(layoutDirection()); + if (!d->pixmap.isNull()) + painter.drawPixmap(QPoint(), d->pixmap); +diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp +index 40b8af663c..e2a07c0043 100644 +--- a/src/widgets/widgets/qwidgettextcontrol.cpp ++++ b/src/widgets/widgets/qwidgettextcontrol.cpp +@@ -1942,10 +1942,14 @@ void QWidgetTextControlPrivate::contextMenuEvent(const QPoint &screenPos, const + if (!menu) + return; + menu->setAttribute(Qt::WA_DeleteOnClose); +- if (auto *window = static_cast(parent)->window()->windowHandle()) { +- QMenuPrivate::get(menu)->topData()->initialScreenIndex = ++ ++ if (auto *widget = qobject_cast(parent)) { ++ if (auto *window = widget->window()->windowHandle()) { ++ QMenuPrivate::get(menu)->topData()->initialScreenIndex = + QGuiApplication::screens().indexOf(window->screen()); ++ } + } ++ + menu->popup(screenPos); + #endif + } +diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp +index ea6124f45d..7a444713c1 100644 +--- a/src/xml/sax/qxml.cpp ++++ b/src/xml/sax/qxml.cpp +@@ -523,8 +523,6 @@ public: + pushContext() to start a new namespace context, and popContext() + to return to the previous namespace context. Use splitName() or + processName() to split a name into its prefix and local name. +- +- \sa {Namespace Support via Features} + */ + + /*! +@@ -807,8 +805,6 @@ QXmlAttributes::~QXmlAttributes() + Looks up the index of an attribute by the qualified name \a qName. + + Returns the index of the attribute or -1 if it wasn't found. +- +- \sa {Namespace Support via Features} + */ + int QXmlAttributes::index(const QString& qName) const + { +@@ -840,8 +836,6 @@ int QXmlAttributes::index(QLatin1String qName) const + name. + + Returns the index of the attribute, or -1 if it wasn't found. +- +- \sa {Namespace Support via Features} + */ + int QXmlAttributes::index(const QString& uri, const QString& localPart) const + { +@@ -874,8 +868,6 @@ int QXmlAttributes::length() const + Looks up an attribute's local name for the attribute at position + \a index. If no namespace processing is done, the local name is + an empty string. +- +- \sa {Namespace Support via Features} + */ + QString QXmlAttributes::localName(int index) const + { +@@ -885,8 +877,6 @@ QString QXmlAttributes::localName(int index) const + /*! + Looks up an attribute's XML 1.0 qualified name for the attribute + at position \a index. +- +- \sa {Namespace Support via Features} + */ + QString QXmlAttributes::qName(int index) const + { +@@ -897,8 +887,6 @@ QString QXmlAttributes::qName(int index) const + Looks up an attribute's namespace URI for the attribute at + position \a index. If no namespace processing is done or if the + attribute has no namespace, the namespace URI is an empty string. +- +- \sa {Namespace Support via Features} + */ + QString QXmlAttributes::uri(int index) const + { +@@ -959,8 +947,6 @@ QString QXmlAttributes::value(int index) const + + Returns an attribute's value for the qualified name \a qName, or an + empty string if no attribute exists for the name given. +- +- \sa {Namespace Support via Features} + */ + QString QXmlAttributes::value(const QString& qName) const + { +@@ -975,8 +961,6 @@ QString QXmlAttributes::value(const QString& qName) const + + Returns an attribute's value for the qualified name \a qName, or an + empty string if no attribute exists for the name given. +- +- \sa {Namespace Support via Features} + */ + QString QXmlAttributes::value(QLatin1String qName) const + { +@@ -1497,7 +1481,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + startPrefixMapping() is called. + + \sa QXmlDTDHandler, QXmlDeclHandler, QXmlEntityResolver, QXmlErrorHandler, +- QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlLexicalHandler + */ + + /*! +@@ -1571,7 +1555,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + reports an error. The reader uses the function errorString() to + get the error message. + +- \sa endPrefixMapping(), {Namespace Support via Features} ++ \sa endPrefixMapping() + */ + + /*! +@@ -1584,7 +1568,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + reports an error. The reader uses the function errorString() to + get the error message. + +- \sa startPrefixMapping(), {Namespace Support via Features} ++ \sa startPrefixMapping() + */ + + /*! +@@ -1616,7 +1600,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + reports an error. The reader uses the function errorString() to + get the error message. + +- \sa endElement(), {Namespace Support via Features} ++ \sa endElement() + */ + + /*! +@@ -1630,7 +1614,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + reports an error. The reader uses the function errorString() to + get the error message. + +- \sa startElement(), {Namespace Support via Features} ++ \sa startElement() + */ + + /*! +@@ -1720,7 +1704,7 @@ QString QXmlInputSource::fromRawData(const QByteArray &data, bool beginning) + with the error text being reported with errorString(). + + \sa QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, +- QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlLexicalHandler + */ + + /*! +@@ -1797,7 +1781,7 @@ events are reported. + unparsedEntityDecl() respectively. + + \sa QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, +- QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlLexicalHandler + */ + + /*! +@@ -1861,7 +1845,7 @@ events are reported. + QXmlReader::setEntityResolver(). + + \sa QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlErrorHandler, +- QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlLexicalHandler + */ + + /*! +@@ -1927,7 +1911,7 @@ events are reported. + endEntity(), startCDATA(), endCDATA() and comment() functions. + + \sa QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, +- QXmlErrorHandler, {Introduction to SAX2} ++ QXmlErrorHandler + */ + + /*! +@@ -2073,7 +2057,7 @@ events are reported. + externalEntityDecl() functions. + + \sa QXmlDTDHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler, +- QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlLexicalHandler + */ + + /*! +@@ -2201,7 +2185,7 @@ events are reported. + document has been read completely. + + \sa QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, +- QXmlErrorHandler, QXmlLexicalHandler, {Introduction to SAX2} ++ QXmlErrorHandler, QXmlLexicalHandler + */ + + /*! +@@ -3012,7 +2996,7 @@ bool QXmlSimpleReader::feature(const QString& name, bool *ok) const + data in one chunk. + \endtable + +- \sa feature(), hasFeature(), {SAX2 Features} ++ \sa feature(), hasFeature() + */ + void QXmlSimpleReader::setFeature(const QString& name, bool enable) + { +diff --git a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp +index afbd64c405..a0aefac268 100644 +--- a/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp ++++ b/tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp +@@ -532,7 +532,12 @@ void tst_qstandardpaths::testCustomRuntimeDirectory_data() + d.mkdir("runtime"); + QFile::setPermissions(p, QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner | + QFile::ExeGroup | QFile::ExeOther); +- return updateRuntimeDir(p); ++ updateRuntimeDir(p); ++ QTest::ignoreMessage(QtWarningMsg, ++ QString("QStandardPaths: wrong permissions on runtime directory %1, " ++ "0711 instead of 0700") ++ .arg(p).toLatin1()); ++ return fallbackXdgRuntimeDir(); + }); + + addRow("environment:wrong-owner", [](QDir &) { +@@ -597,6 +602,7 @@ void tst_qstandardpaths::testCustomRuntimeDirectory_data() + clearRuntimeDir(); + QString p = fallbackXdgRuntimeDir(); + d.mkdir(p); // probably has wrong permissions ++ QFile::setPermissions(p, QFile::ReadOwner | QFile::WriteOwner | QFile::ExeOwner); + return p; + }); + +diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp +index d30ec1d57d..b3ae547d07 100644 +--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp ++++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp +@@ -1914,6 +1914,8 @@ void tst_QUrl::ipv6_data() + QTest::addColumn("isValid"); + QTest::addColumn("output"); + ++ QTest::newRow("empty") << "//[]" << false << ""; ++ + QTest::newRow("case 1") << QString::fromLatin1("//[56:56:56:56:56:56:56:56]") << true + << "//[56:56:56:56:56:56:56:56]"; + QTest::newRow("case 2") << QString::fromLatin1("//[::56:56:56:56:56:56:56]") << true +diff --git a/tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp b/tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp +index 40617c1f7d..90972caa57 100644 +--- a/tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp ++++ b/tests/auto/corelib/itemmodels/qconcatenatetablesproxymodel/tst_qconcatenatetablesproxymodel.cpp +@@ -116,6 +116,8 @@ private Q_SLOTS: + void shouldPropagateDropBetweenItemsAtModelBoundary(); + void shouldPropagateDropAfterLastRow_data(); + void shouldPropagateDropAfterLastRow(); ++ void qtbug91788(); ++ void qtbug91878(); + + private: + QStandardItemModel mod; +@@ -453,6 +455,17 @@ void tst_QConcatenateTablesProxyModel::shouldUseSmallestColumnCount() + const QModelIndex indexD = pm.mapFromSource(mod2.index(0, 0)); + QVERIFY(indexD.isValid()); + QCOMPARE(indexD, pm.index(1, 0)); ++ ++ // Test setData in an ignored column (QTBUG-91253) ++ QSignalSpy dataChangedSpy(&pm, SIGNAL(dataChanged(QModelIndex,QModelIndex))); ++ mod.setData(mod.index(0, 1), "b"); ++ QCOMPARE(dataChangedSpy.count(), 0); ++ ++ // Test dataChanged across all columns, some visible, some ignored ++ mod.dataChanged(mod.index(0, 0), mod.index(0, 2)); ++ QCOMPARE(dataChangedSpy.count(), 1); ++ QCOMPARE(dataChangedSpy.at(0).at(0).toModelIndex(), pm.index(0, 0)); ++ QCOMPARE(dataChangedSpy.at(0).at(1).toModelIndex(), pm.index(0, 0)); + } + + void tst_QConcatenateTablesProxyModel::shouldIncreaseColumnCountWhenRemovingFirstModel() +@@ -818,6 +831,35 @@ void tst_QConcatenateTablesProxyModel::shouldPropagateDropAfterLastRow() + + } + ++void tst_QConcatenateTablesProxyModel::qtbug91788() ++{ ++ QConcatenateTablesProxyModel proxyConcat; ++ QStringList strList{QString("one"),QString("two")}; ++ QStringListModel strListModelA(strList); ++ QSortFilterProxyModel proxyFilter; ++ proxyFilter.setSourceModel(&proxyConcat); ++ ++ proxyConcat.addSourceModel(&strListModelA); ++ proxyConcat.removeSourceModel(&strListModelA); // This should not assert ++ QCOMPARE(proxyConcat.columnCount(), 0); ++} ++ ++void tst_QConcatenateTablesProxyModel::qtbug91878() ++{ ++ QStandardItemModel m; ++ m.setRowCount(4); ++ m.setColumnCount(4); ++ ++ QConcatenateTablesProxyModel pm; ++ QSortFilterProxyModel proxyFilter; ++ proxyFilter.setSourceModel(&pm); ++ proxyFilter.setFilterFixedString("something"); ++ pm.addSourceModel(&m); // This should not assert ++ ++ QCOMPARE(pm.columnCount(), 4); ++ QCOMPARE(pm.rowCount(), 4); ++} ++ + QTEST_GUILESS_MAIN(tst_QConcatenateTablesProxyModel) + + #include "tst_qconcatenatetablesproxymodel.moc" +diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp +index 7f9a996136..6f608854ae 100644 +--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp ++++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.cpp +@@ -2191,6 +2191,201 @@ void tst_QSortFilterProxyModel::changeSourceDataForwardsRoles_qtbug35440() + QCOMPARE(spy.at(1).at(2).value >(), expectedChangedRoles); + } + ++void tst_QSortFilterProxyModel::changeSourceDataProxySendDataChanged_qtbug87781() ++{ ++ QStandardItemModel baseModel; ++ QSortFilterProxyModel proxyModelBefore; ++ QSortFilterProxyModel proxyModelAfter; ++ ++ QSignalSpy baseDataChangedSpy(&baseModel, &QStandardItemModel::dataChanged); ++ QSignalSpy beforeDataChangedSpy(&proxyModelBefore, &QSortFilterProxyModel::dataChanged); ++ QSignalSpy afterDataChangedSpy(&proxyModelAfter, &QSortFilterProxyModel::dataChanged); ++ ++ QVERIFY(baseDataChangedSpy.isValid()); ++ QVERIFY(beforeDataChangedSpy.isValid()); ++ QVERIFY(afterDataChangedSpy.isValid()); ++ ++ proxyModelBefore.setSourceModel(&baseModel); ++ baseModel.insertRows(0, 1); ++ baseModel.insertColumns(0, 1); ++ proxyModelAfter.setSourceModel(&baseModel); ++ ++ QCOMPARE(baseDataChangedSpy.size(), 0); ++ QCOMPARE(beforeDataChangedSpy.size(), 0); ++ QCOMPARE(afterDataChangedSpy.size(), 0); ++ ++ baseModel.setData(baseModel.index(0, 0), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(baseDataChangedSpy.size(), 1); ++ QCOMPARE(beforeDataChangedSpy.size(), 1); ++ QCOMPARE(afterDataChangedSpy.size(), 1); ++} ++ ++void tst_QSortFilterProxyModel::changeSourceDataProxyFilterSingleColumn() ++{ ++ enum modelRow { Row0, Row1, RowCount }; ++ enum modelColumn { Column0, Column1, Column2, Column3, Column4, Column5, ColumnCount }; ++ ++ class FilterProxyModel : public QSortFilterProxyModel ++ { ++ public: ++ bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const override { ++ Q_UNUSED(source_parent); ++ switch (source_column) { ++ case Column2: ++ case Column4: ++ return true; ++ default: ++ return false; ++ } ++ } ++ }; ++ ++ QStandardItemModel model; ++ FilterProxyModel proxy; ++ proxy.setSourceModel(&model); ++ model.insertRows(0, RowCount); ++ model.insertColumns(0, ColumnCount); ++ ++ QSignalSpy modelDataChangedSpy(&model, &QSortFilterProxyModel::dataChanged); ++ QSignalSpy proxyDataChangedSpy(&proxy, &FilterProxyModel::dataChanged); ++ ++ QVERIFY(modelDataChangedSpy.isValid()); ++ QVERIFY(proxyDataChangedSpy.isValid()); ++ ++ modelDataChangedSpy.clear(); ++ proxyDataChangedSpy.clear(); ++ model.setData(model.index(Row0, Column1), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(modelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyDataChangedSpy.size(), 0); ++ ++ modelDataChangedSpy.clear(); ++ proxyDataChangedSpy.clear(); ++ model.setData(model.index(Row0, Column2), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(modelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyDataChangedSpy.size(), 1); ++ ++ modelDataChangedSpy.clear(); ++ proxyDataChangedSpy.clear(); ++ model.setData(model.index(Row0, Column3), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(modelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyDataChangedSpy.size(), 0); ++ ++ modelDataChangedSpy.clear(); ++ proxyDataChangedSpy.clear(); ++ model.setData(model.index(Row0, Column4), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(modelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyDataChangedSpy.size(), 1); ++ ++ modelDataChangedSpy.clear(); ++ proxyDataChangedSpy.clear(); ++ model.setData(model.index(Row0, Column5), QStringLiteral("new data"), Qt::DisplayRole); ++ QCOMPARE(modelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyDataChangedSpy.size(), 0); ++} ++ ++void tst_QSortFilterProxyModel::changeSourceDataProxyFilterMultipleColumns() ++{ ++ class FilterProxyModel : public QSortFilterProxyModel ++ { ++ public: ++ bool filterAcceptsColumn(int source_column, const QModelIndex &source_parent) const override { ++ Q_UNUSED(source_parent); ++ switch (source_column) { ++ case 2: ++ case 4: ++ return true; ++ default: ++ return false; ++ } ++ } ++ }; ++ ++ class MyTableModel : public QAbstractTableModel ++ { ++ public: ++ explicit MyTableModel() = default; ++ int rowCount(const QModelIndex &parent = QModelIndex()) const override { ++ Q_UNUSED(parent) ++ return 10; ++ } ++ int columnCount(const QModelIndex &parent = QModelIndex()) const override { ++ Q_UNUSED(parent) ++ return 10; ++ } ++ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override { ++ Q_UNUSED(index) ++ Q_UNUSED(role) ++ return QString("testData"); ++ } ++ ++ void testDataChanged(const int topLeftRow, const int topLeftColumn, const int bottomRightRow, const int bottomRightColumn) { ++ QModelIndex topLeft = index(topLeftRow, topLeftColumn); ++ QModelIndex bottomRight = index(bottomRightRow, bottomRightColumn); ++ QVERIFY(topLeft.isValid()); ++ QVERIFY(bottomRight.isValid()); ++ emit dataChanged(topLeft, bottomRight); ++ } ++ }; ++ ++ MyTableModel baseModel; ++ FilterProxyModel proxyModel; ++ ++ proxyModel.setSourceModel(&baseModel); ++ ++ QSignalSpy baseModelDataChangedSpy(&baseModel, &MyTableModel::dataChanged); ++ QSignalSpy proxyModelDataChangedSpy(&proxyModel, &FilterProxyModel::dataChanged); ++ ++ connect(&proxyModel, &FilterProxyModel::dataChanged, [=](const QModelIndex &topLeft, const QModelIndex &bottomRight) { ++ QVERIFY(topLeft.isValid()); ++ QVERIFY(bottomRight.isValid()); ++ ++ //make sure every element is valid ++ int topLeftRow = topLeft.row(); ++ int topLeftColumn = topLeft.column(); ++ int bottomRightRow = bottomRight.row(); ++ int bottomRightColumn = bottomRight.column(); ++ for (int row = topLeftRow; row <= bottomRightRow; ++row) { ++ for (int column = topLeftColumn; column <= bottomRightColumn; ++column) { ++ QModelIndex index = topLeft.model()->index(row, column); ++ QVERIFY(index.isValid()); ++ } ++ } ++ }); ++ ++ QVERIFY(baseModelDataChangedSpy.isValid()); ++ QVERIFY(proxyModelDataChangedSpy.isValid()); ++ ++ baseModelDataChangedSpy.clear(); ++ proxyModelDataChangedSpy.clear(); ++ baseModel.testDataChanged(0, 0, 1, 1); ++ QCOMPARE(baseModelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyModelDataChangedSpy.size(), 0); ++ ++ baseModelDataChangedSpy.clear(); ++ proxyModelDataChangedSpy.clear(); ++ baseModel.testDataChanged(0, 0, 1, 2); ++ QCOMPARE(baseModelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyModelDataChangedSpy.size(), 1); ++ ++ baseModelDataChangedSpy.clear(); ++ proxyModelDataChangedSpy.clear(); ++ baseModel.testDataChanged(0, 3, 1, 3); ++ QCOMPARE(baseModelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyModelDataChangedSpy.size(), 0); ++ ++ baseModelDataChangedSpy.clear(); ++ proxyModelDataChangedSpy.clear(); ++ baseModel.testDataChanged(0, 3, 1, 5); ++ QCOMPARE(baseModelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyModelDataChangedSpy.size(), 1); ++ ++ baseModelDataChangedSpy.clear(); ++ proxyModelDataChangedSpy.clear(); ++ baseModel.testDataChanged(0, 0, 1, 5); ++ QCOMPARE(baseModelDataChangedSpy.size(), 1); ++ QCOMPARE(proxyModelDataChangedSpy.size(), 1); ++} ++ + void tst_QSortFilterProxyModel::sortFilterRole() + { + QStandardItemModel model; +diff --git a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h +index 71662bda07..7bf87a86c2 100644 +--- a/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h ++++ b/tests/auto/corelib/itemmodels/qsortfilterproxymodel_common/tst_qsortfilterproxymodel.h +@@ -90,6 +90,9 @@ private slots: + void changeSourceData(); + void changeSourceDataKeepsStableSorting_qtbug1548(); + void changeSourceDataForwardsRoles_qtbug35440(); ++ void changeSourceDataProxySendDataChanged_qtbug87781(); ++ void changeSourceDataProxyFilterSingleColumn(); ++ void changeSourceDataProxyFilterMultipleColumns(); + void resortingDoesNotBreakTreeModels(); + void dynamicFilterWithoutSort(); + void sortFilterRole(); +diff --git a/tests/auto/corelib/serialization/json/tst_qtjson.cpp b/tests/auto/corelib/serialization/json/tst_qtjson.cpp +index ecbdb0ab22..a03eca7234 100644 +--- a/tests/auto/corelib/serialization/json/tst_qtjson.cpp ++++ b/tests/auto/corelib/serialization/json/tst_qtjson.cpp +@@ -33,6 +33,7 @@ + #include "qjsonvalue.h" + #include "qjsondocument.h" + #include "qregularexpression.h" ++#include "private/qnumeric_p.h" + #include + + #define INVALID_UNICODE "\xCE\xBA\xE1" +@@ -3584,6 +3585,17 @@ void tst_QtJson::fromToVariantConversions_data() + << QVariant::fromValue(nullptr); + QTest::newRow("NaN") << QVariant(qQNaN()) << QJsonValue(QJsonValue::Null) + << QVariant::fromValue(nullptr); ++ ++ const qulonglong ulongValue = (1ul << 63) + 1; ++ const double uLongToDouble = ulongValue; ++ qint64 n; ++ if (convertDoubleTo(uLongToDouble, &n)) { ++ QTest::newRow("ulonglong") << QVariant(ulongValue) << QJsonValue(uLongToDouble) ++ << QVariant(n); ++ } else { ++ QTest::newRow("ulonglong") << QVariant(ulongValue) << QJsonValue(uLongToDouble) ++ << QVariant(uLongToDouble); ++ } + } + + void tst_QtJson::fromToVariantConversions() +diff --git a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp +index 0a780d3e46..533fb1c8aa 100644 +--- a/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp ++++ b/tests/auto/corelib/serialization/qcborvalue/tst_qcborvalue.cpp +@@ -2159,7 +2159,9 @@ void tst_QCborValue::extendedTypeValidation() + + void tst_QCborValue::hugeDeviceValidation_data() + { +- addValidationHugeDevice(MaxByteArraySize + 1, MaxStringSize + 1); ++ // because QCborValue will attempt to retain the original string in UTF-8, ++ // the size which it can't store is actually the byte array size ++ addValidationHugeDevice(MaxByteArraySize + 1, MaxByteArraySize + 1); + } + + void tst_QCborValue::hugeDeviceValidation() +diff --git a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +index c409494786..6ff6995440 100644 +--- a/tests/auto/corelib/text/qlocale/tst_qlocale.cpp ++++ b/tests/auto/corelib/text/qlocale/tst_qlocale.cpp +@@ -2496,7 +2496,7 @@ void tst_QLocale::timeFormat() + + const QLocale cat("ca_ES"); + QCOMPARE(cat.timeFormat(QLocale::ShortFormat), QLatin1String("H:mm")); +- QCOMPARE(cat.timeFormat(QLocale::LongFormat), QLatin1String("H:mm:ss t")); ++ QCOMPARE(cat.timeFormat(QLocale::LongFormat), QLatin1String("H:mm:ss (t)")); + + const QLocale bra("pt_BR"); + QCOMPARE(bra.timeFormat(QLocale::ShortFormat), QLatin1String("HH:mm")); +diff --git a/tests/auto/corelib/text/qstring/tst_qstring.cpp b/tests/auto/corelib/text/qstring/tst_qstring.cpp +index e8e578ac25..8f53824050 100644 +--- a/tests/auto/corelib/text/qstring/tst_qstring.cpp ++++ b/tests/auto/corelib/text/qstring/tst_qstring.cpp +@@ -1674,7 +1674,7 @@ void tst_QString::lastIndexOf() + QCOMPARE(haystack.lastIndexOf(needle.toLatin1(), from, cs), expected); + QCOMPARE(haystack.lastIndexOf(needle.toLatin1().data(), from, cs), expected); + +- if (from >= -1 && from < haystack.size()) { ++ if (from >= -1 && from < haystack.size() && needle.size() > 0) { + // unfortunately, QString and QRegExp don't have the same out of bound semantics + // I think QString is wrong -- See file log for contact information. + { +@@ -1765,6 +1765,7 @@ void tst_QString::count() + QCOMPARE(a.count( "", Qt::CaseInsensitive), 16); + QCOMPARE(a.count(QRegExp("[FG][HI]")),1); + QCOMPARE(a.count(QRegExp("[G][HE]")),2); ++ QCOMPARE(a.count(QRegularExpression("")), 16); + QCOMPARE(a.count(QRegularExpression("[FG][HI]")), 1); + QCOMPARE(a.count(QRegularExpression("[G][HE]")), 2); + QTest::ignoreMessage(QtWarningMsg, "QString::count: invalid QRegularExpression object"); +@@ -2966,6 +2967,17 @@ void tst_QString::replace_extra() + // Also check the full values match, of course: + QCOMPARE(str8.size(), ans8.size()); + QCOMPARE(str8, ans8); ++ ++ { ++ QString s(QLatin1String("BBB")); ++ QString expected(QLatin1String("BBB")); ++ for (int i = 0; i < 1028; ++i) { ++ s.append("X"); ++ expected.append("GXU"); ++ } ++ s.replace(QChar('X'), "GXU"); ++ QCOMPARE(s, expected); ++ } + } + + void tst_QString::replace_string() +diff --git a/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp b/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp +index 5da69e76a5..55027530ec 100644 +--- a/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp ++++ b/tests/auto/corelib/time/qcalendar/tst_qcalendar.cpp +@@ -47,6 +47,9 @@ private slots: + void specific(); + void daily_data() { basic_data(); } + void daily(); ++ void properties_data(); ++ void properties(); ++ void aliases(); + }; + + // Support for basic(): +@@ -57,7 +60,10 @@ void tst_QCalendar::checkYear(const QCalendar &cal, int year, bool normal) + QVERIFY(moons > 0); + QVERIFY(!cal.isDateValid(year, moons + 1, 1)); + QVERIFY(!cal.isDateValid(year, 0, 1)); ++ QVERIFY(!QDate(year, 0, 1, cal).isValid()); + QVERIFY(moons <= cal.maximumMonthsInYear()); ++ QCOMPARE(cal.standaloneMonthName(QLocale::c(), moons + 1, year), QString()); ++ QCOMPARE(cal.monthName(QLocale::c(), 0, year), QString()); + + const int days = cal.daysInYear(year); + QVERIFY(days > 0); +@@ -118,6 +124,7 @@ void tst_QCalendar::basic() + QCOMPARE(cal.monthsInYear(0), 0); + QCOMPARE(cal.daysInYear(0), 0); + QVERIFY(!cal.isDateValid(0, 1, 1)); ++ QVERIFY(!QDate(0, 1, 1, cal).isValid()); + } + + if (cal.isProleptic()) { +@@ -177,6 +184,7 @@ void tst_QCalendar::specific_data() + { + QTest::addColumn("system"); + // Date in that system: ++ QTest::addColumn("monthName"); + QTest::addColumn("sysyear"); + QTest::addColumn("sysmonth"); + QTest::addColumn("sysday"); +@@ -185,26 +193,27 @@ void tst_QCalendar::specific_data() + QTest::addColumn("gregmonth"); + QTest::addColumn("gregday"); + +-#define ADDROW(cal, year, month, day, gy, gm, gd) \ +- QTest::newRow(#cal) << QCalendar::System::cal << year << month << day << gy << gm << gd ++#define ADDROW(cal, monthName, year, month, day, gy, gm, gd) \ ++ QTest::newRow(#cal) << QCalendar::System::cal << QStringLiteral(monthName) \ ++ << year << month << day << gy << gm << gd + +- ADDROW(Gregorian, 1970, 1, 1, 1970, 1, 1); ++ ADDROW(Gregorian, "January", 1970, 1, 1, 1970, 1, 1); + + // One known specific date, for each calendar + #ifndef QT_BOOTSTRAPPED + // Julian 1582-10-4 was followed by Gregorian 1582-10-15 +- ADDROW(Julian, 1582, 10, 4, 1582, 10, 14); ++ ADDROW(Julian, "October", 1582, 10, 4, 1582, 10, 14); + // Milankovic matches Gregorian for a few centuries +- ADDROW(Milankovic, 1923, 3, 20, 1923, 3, 20); ++ ADDROW(Milankovic, "March", 1923, 3, 20, 1923, 3, 20); + #endif + + #if QT_CONFIG(jalalicalendar) + // Jalali year 1355 started on Gregorian 1976-3-21: +- ADDROW(Jalali, 1355, 1, 1, 1976, 3, 21); ++ ADDROW(Jalali, "Farvardin", 1355, 1, 1, 1976, 3, 21); + #endif // jalali + #if QT_CONFIG(islamiccivilcalendar) + // TODO: confirm this is correct +- ADDROW(IslamicCivil, 1, 1, 1, 622, 7, 19); ++ ADDROW(IslamicCivil, "Muharram", 1, 1, 1, 622, 7, 19); + #endif + + #undef ADDROW +@@ -213,6 +222,7 @@ void tst_QCalendar::specific_data() + void tst_QCalendar::specific() + { + QFETCH(QCalendar::System, system); ++ QFETCH(const QString, monthName); + QFETCH(int, sysyear); + QFETCH(int, sysmonth); + QFETCH(int, sysday); +@@ -221,6 +231,7 @@ void tst_QCalendar::specific() + QFETCH(int, gregday); + + const QCalendar cal(system); ++ QCOMPARE(cal.monthName(QLocale::c(), sysmonth), monthName); + const QDate date(sysyear, sysmonth, sysday, cal), gregory(gregyear, gregmonth, gregday); + QCOMPARE(date, gregory); + QCOMPARE(gregory.year(cal), sysyear); +@@ -255,5 +266,88 @@ void tst_QCalendar::daily() + } + } + ++void tst_QCalendar::properties_data() ++{ ++ QTest::addColumn("system"); ++ QTest::addColumn("gregory"); ++ QTest::addColumn("lunar"); ++ QTest::addColumn("luniSolar"); ++ QTest::addColumn("solar"); ++ QTest::addColumn("proleptic"); ++ QTest::addColumn("yearZero"); ++ QTest::addColumn("monthMax"); ++ QTest::addColumn("monthMin"); ++ QTest::addColumn("yearMax"); ++ QTest::addColumn("name"); ++ ++ QTest::addRow("Gregorian") ++ << QCalendar::System::Gregorian << true << false << false << true << true << false ++ << 31 << 28 << 12 << QStringLiteral("Gregorian"); ++#ifndef QT_BOOTSTRAPPED ++ QTest::addRow("Julian") ++ << QCalendar::System::Julian << false << false << false << true << true << false ++ << 31 << 28 << 12 << QStringLiteral("Julian"); ++ QTest::addRow("Milankovic") ++ << QCalendar::System::Milankovic << false << false << false << true << true << false ++ << 31 << 28 << 12 << QStringLiteral("Milankovic"); ++#endif ++ ++#if QT_CONFIG(jalalicalendar) ++ QTest::addRow("Jalali") ++ << QCalendar::System::Jalali << false << false << false << true << true << false ++ << 31 << 29 << 12 << QStringLiteral("Jalali"); ++#endif ++#if QT_CONFIG(islamiccivilcalendar) ++ QTest::addRow("IslamicCivil") ++ << QCalendar::System::IslamicCivil << false << true << false << false << true << false ++ << 30 << 29 << 12 << QStringLiteral("Islamic Civil"); ++#endif ++} ++ ++void tst_QCalendar::properties() ++{ ++ QFETCH(const QCalendar::System, system); ++ QFETCH(const bool, gregory); ++ QFETCH(const bool, lunar); ++ QFETCH(const bool, luniSolar); ++ QFETCH(const bool, solar); ++ QFETCH(const bool, proleptic); ++ QFETCH(const bool, yearZero); ++ QFETCH(const int, monthMax); ++ QFETCH(const int, monthMin); ++ QFETCH(const int, yearMax); ++ QFETCH(const QString, name); ++ ++ const QCalendar cal(system); ++ QCOMPARE(cal.isGregorian(), gregory); ++ QCOMPARE(cal.isLunar(), lunar); ++ QCOMPARE(cal.isLuniSolar(), luniSolar); ++ QCOMPARE(cal.isSolar(), solar); ++ QCOMPARE(cal.isProleptic(), proleptic); ++ QCOMPARE(cal.hasYearZero(), yearZero); ++ QCOMPARE(cal.maximumDaysInMonth(), monthMax); ++ QCOMPARE(cal.minimumDaysInMonth(), monthMin); ++ QCOMPARE(cal.maximumMonthsInYear(), yearMax); ++ QCOMPARE(cal.name(), name); ++} ++ ++void tst_QCalendar::aliases() ++{ ++ QCOMPARE(QCalendar(u"gregory").name(), u"Gregorian"); ++#if QT_CONFIG(jalalicalendar) ++ QCOMPARE(QCalendar(u"Persian").name(), u"Jalali"); ++#endif ++#if QT_CONFIG(islamiccivilcalendar) ++ // Exercise all constructors from name, while we're at it: ++ QCOMPARE(QCalendar(u"islamic-civil").name(), u"Islamic Civil"); ++ QCOMPARE(QCalendar(QLatin1String("islamic")).name(), u"Islamic Civil"); ++ QCOMPARE(QCalendar(QStringLiteral("Islamic")).name(), u"Islamic Civil"); ++#endif ++ ++ // Invalid is handled gracefully: ++ QCOMPARE(QCalendar(u"").name(), QString()); ++ QCOMPARE(QCalendar(QCalendar::System::User).name(), QString()); ++} ++ + QTEST_APPLESS_MAIN(tst_QCalendar) + #include "tst_qcalendar.moc" +diff --git a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp +index 332a00efb5..92ead6545b 100644 +--- a/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp ++++ b/tests/auto/corelib/time/qtimezone/tst_qtimezone.cpp +@@ -62,6 +62,7 @@ private slots: + void windowsId(); + void isValidId_data(); + void isValidId(); ++ void serialize(); + // Backend tests + void utcTest(); + void icuTest(); +@@ -935,6 +936,33 @@ void tst_QTimeZone::isValidId() + #endif + } + ++void tst_QTimeZone::serialize() ++{ ++ int parts = 0; ++#ifndef QT_NO_DEBUG_STREAM ++ qDebug() << QTimeZone(); // to verify no crash ++ parts++; ++#endif ++#ifndef QT_NO_DATASTREAM ++ QByteArray blob; ++ { ++ QDataStream stream(&blob, QIODevice::WriteOnly); ++ stream << QTimeZone("Europe/Oslo") << QTimeZone(420) << QTimeZone() << qint64(-1); ++ } ++ QDataStream stream(&blob, QIODevice::ReadOnly); ++ QTimeZone invalid, offset, oslo; ++ qint64 minusone; ++ stream >> oslo >> offset >> invalid >> minusone; ++ QCOMPARE(oslo, QTimeZone("Europe/Oslo")); ++ QCOMPARE(offset, QTimeZone(420)); ++ QVERIFY(!invalid.isValid()); ++ QCOMPARE(minusone, qint64(-1)); ++ parts++; ++#endif ++ if (!parts) ++ QSKIP("No serialization enabled"); ++} ++ + void tst_QTimeZone::utcTest() + { + #ifdef QT_BUILD_INTERNAL +diff --git a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp +index a1d0100f96..5443cf120b 100644 +--- a/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp ++++ b/tests/auto/corelib/tools/qvarlengtharray/tst_qvarlengtharray.cpp +@@ -26,7 +26,7 @@ + ** + ****************************************************************************/ + +-#include ++#include + #include + #include + +diff --git a/tests/auto/gui/image/qimage/tst_qimage.cpp b/tests/auto/gui/image/qimage/tst_qimage.cpp +index d5c5752f95..2f20559258 100644 +--- a/tests/auto/gui/image/qimage/tst_qimage.cpp ++++ b/tests/auto/gui/image/qimage/tst_qimage.cpp +@@ -3536,6 +3536,14 @@ void tst_QImage::pixelColor() + // Try setting an invalid color. + QTest::ignoreMessage(QtWarningMsg, "QImage::setPixelColor: color is invalid"); + argb32.setPixelColor(0, 0, QColor()); ++ ++ // Test correct premultiplied handling of RGBA64 as well ++ QImage rgba64(1, 1, QImage::Format_RGBA64); ++ QImage rgba64pm(1, 1, QImage::Format_RGBA64_Premultiplied); ++ rgba64.setPixelColor(QPoint(0, 0), c); ++ rgba64pm.setPixelColor(QPoint(0, 0), c); ++ QCOMPARE(rgba64.pixelColor(QPoint(0, 0)), c); ++ QCOMPARE(rgba64pm.pixelColor(QPoint(0, 0)), c); + } + + void tst_QImage::pixel() +diff --git a/tests/auto/gui/kernel/qwindow/BLACKLIST b/tests/auto/gui/kernel/qwindow/BLACKLIST +index 37ad98b157..db7e261243 100644 +--- a/tests/auto/gui/kernel/qwindow/BLACKLIST ++++ b/tests/auto/gui/kernel/qwindow/BLACKLIST +@@ -10,9 +10,6 @@ macos ci + # QTBUG-66851 + # QTBUG-69160 + opensuse-leap +-[setVisible] +-# QTBUG-69154 +-android + [modalWindowEnterEventOnHide_QTBUG35109] + osx + [spuriousMouseMove] +@@ -20,12 +17,6 @@ osx + windows-10 + [testInputEvents] + rhel-7.4 +-[initialSize] +-# QTBUG-69159 +-android + [modalWindowPosition] + # QTBUG-69161 + android +-[childWindowPositioning:show] +-# QTBUG-69156 +-android +diff --git a/tests/auto/gui/painting/qtransform/tst_qtransform.cpp b/tests/auto/gui/painting/qtransform/tst_qtransform.cpp +index f31e2bf41b..48e4f4c9c0 100644 +--- a/tests/auto/gui/painting/qtransform/tst_qtransform.cpp ++++ b/tests/auto/gui/painting/qtransform/tst_qtransform.cpp +@@ -447,8 +447,9 @@ void tst_QTransform::types() + QCOMPARE(m1.inverted().type(), QTransform::TxScale); + + m1.rotate(45.0f); +- QCOMPARE(m1.type(), QTransform::TxRotate); +- QCOMPARE(m1.inverted().type(), QTransform::TxRotate); ++ // Rotation after non-uniform scaling -> shearing. Uniform scale + rotate tested below. ++ QCOMPARE(m1.type(), QTransform::TxShear); ++ QCOMPARE(m1.inverted().type(), QTransform::TxShear); + + m1.shear(0.5f, 0.25f); + QCOMPARE(m1.type(), QTransform::TxShear); +diff --git a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +index 12e8083622..bbb7276bfb 100644 +--- a/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp ++++ b/tests/auto/gui/text/qfontdatabase/tst_qfontdatabase.cpp +@@ -309,7 +309,17 @@ void tst_QFontDatabase::aliases() + QFontDatabase db; + const QStringList families = db.families(); + QVERIFY(!families.isEmpty()); +- const QString firstFont = families.front(); ++ QString firstFont; ++ for (int i = 0; i < families.size(); ++i) { ++ if (!families.at(i).contains('[')) { ++ firstFont = families.at(i); ++ break; ++ } ++ } ++ ++ if (firstFont.isEmpty()) ++ QSKIP("Skipped because there are no unambiguous font families on the system."); ++ + QVERIFY(db.hasFamily(firstFont)); + const QString alias = QStringLiteral("AliasToFirstFont") + firstFont; + QVERIFY(!db.hasFamily(alias)); +diff --git a/tests/auto/gui/text/qtextimagehandler/data/image.png b/tests/auto/gui/text/qtextimagehandler/data/image.png +new file mode 100644 +index 0000000000..dd589dd49c +Binary files /dev/null and b/tests/auto/gui/text/qtextimagehandler/data/image.png differ +diff --git a/tests/auto/gui/text/qtextimagehandler/data/image@2x.png b/tests/auto/gui/text/qtextimagehandler/data/image@2x.png +new file mode 100644 +index 0000000000..6b4c0bd059 +Binary files /dev/null and b/tests/auto/gui/text/qtextimagehandler/data/image@2x.png differ +diff --git a/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro b/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro +new file mode 100644 +index 0000000000..6214171377 +--- /dev/null ++++ b/tests/auto/gui/text/qtextimagehandler/qtextimagehandler.pro +@@ -0,0 +1,4 @@ ++CONFIG += testcase ++TARGET = tst_qtextimagehandler ++QT += core-private gui gui-private testlib ++SOURCES += tst_qtextimagehandler.cpp +diff --git a/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp +new file mode 100644 +index 0000000000..ee79c36ba5 +--- /dev/null ++++ b/tests/auto/gui/text/qtextimagehandler/tst_qtextimagehandler.cpp +@@ -0,0 +1,87 @@ ++/**************************************************************************** ++ ** ++ ** Copyright (C) 2020 The Qt Company Ltd. ++ ** Contact: https://www.qt.io/licensing/ ++ ** ++ ** This file is part of the test suite of the Qt Toolkit. ++ ** ++ ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ++ ** Commercial License Usage ++ ** Licensees holding valid commercial Qt licenses may use this file in ++ ** accordance with the commercial license agreement provided with the ++ ** Software or, alternatively, in accordance with the terms contained in ++ ** a written agreement between you and The Qt Company. For licensing terms ++ ** and conditions see https://www.qt.io/terms-conditions. For further ++ ** information use the contact form at https://www.qt.io/contact-us. ++ ** ++ ** GNU General Public License Usage ++ ** Alternatively, this file may be used under the terms of the GNU ++ ** General Public License version 3 as published by the Free Software ++ ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ++ ** included in the packaging of this file. Please review the following ++ ** information to ensure the GNU General Public License requirements will ++ ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ++ ** ++ ** $QT_END_LICENSE$ ++ ** ++ ****************************************************************************/ ++ ++#include ++ ++#include ++#include ++ ++class tst_QTextImageHandler : public QObject ++{ ++ Q_OBJECT ++ ++public: ++ tst_QTextImageHandler(); ++ ++private slots: ++ void init(); ++ void cleanup(); ++ void cleanupTestCase(); ++ void loadAtNImages(); ++}; ++ ++tst_QTextImageHandler::tst_QTextImageHandler() ++{ ++} ++ ++void tst_QTextImageHandler::init() ++{ ++} ++ ++void tst_QTextImageHandler::cleanup() ++{ ++} ++ ++void tst_QTextImageHandler::cleanupTestCase() ++{ ++} ++ ++void tst_QTextImageHandler::loadAtNImages() ++{ ++ QTextDocument doc; ++ QTextCursor c(&doc); ++ c.insertHtml(""); ++ QTextImageHandler handler; ++ QTextImageFormat fmt; ++ fmt.setName("data/image.png"); ++ ++ for (int i = 1; i < 3; ++i) { ++ QImage img(20, 20, QImage::Format_ARGB32_Premultiplied); ++ img.fill(Qt::white); ++ img.setDevicePixelRatio(i); ++ QPainter p(&img); ++ handler.drawObject(&p, QRect(0, 0, 20, 20), &doc, 0, fmt); ++ p.end(); ++ QVERIFY(!img.isNull()); ++ const auto expectedColor = i == 1 ? Qt::red : Qt::green; ++ QCOMPARE(img.pixelColor(0, 0), expectedColor); ++ } ++} ++ ++QTEST_MAIN(tst_QTextImageHandler) ++#include "tst_qtextimagehandler.moc" +diff --git a/tests/auto/network-settings.h b/tests/auto/network-settings.h +index 4dd6ce897b..fc7b1d090e 100644 +--- a/tests/auto/network-settings.h ++++ b/tests/auto/network-settings.h +@@ -262,6 +262,41 @@ public: + #endif + } + ++ static QString hostWithServiceOnPort(int port) ++ { ++#if !defined(QT_TEST_SERVER) ++ Q_UNUSED(port); ++ return serverName(); ++#else ++ switch (port) { ++ case 13: ++ case 22: ++ case 139: ++ return serverName(); // No such things in docker (yet?) ++ case 7: ++ return echoServerName(); ++ case 21: ++ return ftpServerName(); ++ case 80: ++ case 443: ++ return httpServerName(); ++ case 143: ++ return imapServerName(); ++ case 3128: ++ case 3129: ++ case 3130: ++ return httpProxyServerName(); ++ case 1080: ++ case 1081: ++ return socksProxyServerName(); ++ case 2121: ++ return ftpProxyServerName(); ++ default: ++ return serverName(); ++ } ++#endif // QT_TEST_SERVER ++ } ++ + #ifdef QT_NETWORK_LIB + static QHostAddress imapServerIp() + { +@@ -297,5 +332,6 @@ public: + { + return getServerIpImpl(firewallServerName()); + } +-#endif ++ ++#endif // QT_NETWORK_LIB + }; +diff --git a/tests/auto/network/access/qnetworkreply/BLACKLIST b/tests/auto/network/access/qnetworkreply/BLACKLIST +index 801ac65d71..2bc1c85cba 100644 +--- a/tests/auto/network/access/qnetworkreply/BLACKLIST ++++ b/tests/auto/network/access/qnetworkreply/BLACKLIST +@@ -1,7 +1,4 @@ + # See qtbase/src/testlib/qtestblacklist.cpp for format +-[authenticationCacheAfterCancel] +-windows-7sp1 +-windows-10 msvc-2015 + [backgroundRequestInterruption] + opensuse-leap + windows-10 msvc-2015 +diff --git a/tests/auto/network/ssl/qdtls/tst_qdtls.cpp b/tests/auto/network/ssl/qdtls/tst_qdtls.cpp +index 1fc46ca36a..b80ca8593b 100644 +--- a/tests/auto/network/ssl/qdtls/tst_qdtls.cpp ++++ b/tests/auto/network/ssl/qdtls/tst_qdtls.cpp +@@ -40,10 +40,13 @@ + #include + + #include ++#include + #include + #include ++#include + #include + #include ++#include + + #include + +@@ -312,6 +315,19 @@ void tst_QDtls::configuration() + QCOMPARE(dtls.dtlsError(), QDtlsError::InvalidOperation); + QCOMPARE(dtls.dtlsConfiguration(), config); + } ++ ++ static bool doneAlready = false; ++ if (!doneAlready) { ++ doneAlready = true; ++ QSslConfiguration nullConfig; ++ const auto defaultDtlsConfig = QSslConfiguration::defaultDtlsConfiguration(); ++ const auto restoreDefault = qScopeGuard([&defaultDtlsConfig] { ++ QSslConfiguration::setDefaultDtlsConfiguration(defaultDtlsConfig); ++ }); ++ QSslConfiguration::setDefaultDtlsConfiguration(nullConfig); ++ QCOMPARE(QSslConfiguration::defaultDtlsConfiguration(), nullConfig); ++ QVERIFY(QSslConfiguration::defaultDtlsConfiguration() != defaultDtlsConfig); ++ } + } + + void tst_QDtls::invalidConfiguration() +diff --git a/tests/auto/network/ssl/qdtlscookie/tst_qdtlscookie.cpp b/tests/auto/network/ssl/qdtlscookie/tst_qdtlscookie.cpp +index a273ceaa17..00e4cfbe46 100644 +--- a/tests/auto/network/ssl/qdtlscookie/tst_qdtlscookie.cpp ++++ b/tests/auto/network/ssl/qdtlscookie/tst_qdtlscookie.cpp +@@ -288,6 +288,20 @@ void tst_QDtlsCookie::verifyClient() + clientPort), true); + QCOMPARE(anotherListener.verifiedHello(), dgram); + QCOMPARE(anotherListener.dtlsError(), QDtlsError::NoError); ++ ++ // Now, let's test if a DTLS server is able to create a new TLS session ++ // re-using the client's 'Hello' with a cookie inside: ++ QDtls session(QSslSocket::SslServerMode); ++ auto dtlsConf = QSslConfiguration::defaultDtlsConfiguration(); ++ dtlsConf.setDtlsCookieVerificationEnabled(true); ++ session.setDtlsConfiguration(dtlsConf); ++ session.setPeer(clientAddress, clientPort); ++ // Borrow a secret and hash algorithm: ++ session.setCookieGeneratorParameters(listener.cookieGeneratorParameters()); ++ // Trigger TLS state machine change to think it accepted a cookie and started ++ // a handshake: ++ QVERIFY(session.doHandshake(&serverSocket, dgram)); ++ + // Now let's use a wrong port: + QCOMPARE(listener.verifyClient(&serverSocket, dgram, clientAddress, serverPort), false); + // Invalid cookie, no verified hello message: +diff --git a/tests/auto/network/ssl/qocsp/tst_qocsp.cpp b/tests/auto/network/ssl/qocsp/tst_qocsp.cpp +index f877dcab2d..9f0b4ffb73 100644 +--- a/tests/auto/network/ssl/qocsp/tst_qocsp.cpp ++++ b/tests/auto/network/ssl/qocsp/tst_qocsp.cpp +@@ -491,9 +491,9 @@ void tst_QOcsp::connectSelfSigned() + { + // Now the server will send a valid 'status: good' response. + OcspServer server(subjectChain, privateKey); +- const QByteArray response(goodResponse(subjectChain, responderChain, privateKey)); +- QVERIFY(response.size()); +- server.configureResponse(response); ++ const QByteArray responseData(goodResponse(subjectChain, responderChain, privateKey)); ++ QVERIFY(responseData.size()); ++ server.configureResponse(responseData); + QVERIFY(server.listen()); + + QSslSocket clientSocket; +@@ -502,6 +502,19 @@ void tst_QOcsp::connectSelfSigned() + loop.enterLoopMSecs(handshakeTimeoutMS); + + QVERIFY_HANDSHAKE_WITHOUT_ERRORS(clientSocket); ++ ++ const auto responses = clientSocket.ocspResponses(); ++ QCOMPARE(responses.size(), 1); ++ const auto &response = responses.at(0); ++ QVERIFY(response != QOcspResponse()); ++ const auto copy = response; ++ QCOMPARE(copy, response); ++ QVERIFY(qHash(response, 0) != 0); ++ ++ QCOMPARE(response.revocationReason(), QOcspRevocationReason::None); ++ QCOMPARE(response.certificateStatus(), QOcspCertificateStatus::Good); ++ QCOMPARE(response.subject(), clientSocket.peerCertificate()); ++ QCOMPARE(response.responder(), clientSocket.peerCertificate()); + } + } + +diff --git a/tests/auto/network/ssl/qpassworddigestor/tst_qpassworddigestor.cpp b/tests/auto/network/ssl/qpassworddigestor/tst_qpassworddigestor.cpp +index bbd6c72ca8..a9b99f3e58 100644 +--- a/tests/auto/network/ssl/qpassworddigestor/tst_qpassworddigestor.cpp ++++ b/tests/auto/network/ssl/qpassworddigestor/tst_qpassworddigestor.cpp +@@ -28,18 +28,77 @@ + + #include + #include ++#include + #include + ++#include ++ + class tst_QPasswordDigestor : public QObject + { + Q_OBJECT + private Q_SLOTS: ++ void inputSanityChecks(); + void pbkdf1Vectors_data(); + void pbkdf1Vectors(); + void pbkdf2Vectors_data(); + void pbkdf2Vectors(); + }; + ++void tst_QPasswordDigestor::inputSanityChecks() ++{ ++ const QByteArray pass("password"); ++ const QByteArray salt("saltsalt"); ++#ifndef QT_CRYPTOGRAPHICHASH_ONLY_SHA1 ++ //1. PBKDF1 supports only SHA1 and (if not disabled in Qt) MD5 algorithms. ++ QTest::ignoreMessage(QtWarningMsg, "The only supported algorithms for pbkdf1 are SHA-1 and MD5!"); ++ auto derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha224, pass, salt, 2, 48); ++ QCOMPARE(derivedKey, QByteArray()); ++#endif // QT_CRYPTOGRAPHICHASH_ONLY_SHA1 ++ ++ // 2. Salt size must be == 8: ++ QTest::ignoreMessage(QtWarningMsg, "The salt must be 8 bytes long!"); ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha1, pass, "salt", 2, 48); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 3. An illegal number of iterations (0): ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha1, pass, salt, 0, 48); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 4. An illegal number of iterations (-10): ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha1, pass, salt, -10, 48); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 5. An invalid key size (0): ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha1, ++ "password", "saltsalt", 1, 0); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 6. Requested key is too large: ++ QTest::ignoreMessage(QtWarningMsg, "Derived key too long:\n" ++ " QCryptographicHash::Sha1 was chosen which" ++ " produces output of length 20 but 120 was requested."); ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf1(QCryptographicHash::Sha1, pass, salt, 1, ++ quint64(QCryptographicHash::hashLength(QCryptographicHash::Sha1) + 100)); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 7. Key size is too large, max is quint64(std::numeric_limits::max() - 1) * hashLen ++ const auto invalidDkLen = quint64(QCryptographicHash::hashLength(QCryptographicHash::Sha1)) ++ * (std::numeric_limits::max() - 1) + 1; ++ QTest::ignoreMessage(QtWarningMsg, "Derived key too long:\n" ++ "QCryptographicHash::Sha1 was chosen which produces output" ++ " of length 85899345880 but 85899345881 was requested."); ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf2(QCryptographicHash::Sha1, pass, salt, 1, invalidDkLen); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 8. Invalid number of iterations. ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf2(QCryptographicHash::Sha1, pass, salt, 0, 100); ++ QCOMPARE(derivedKey, QByteArray()); ++ ++ // 9. Invalid (negative) number of iterations. ++ derivedKey = QPasswordDigestor::deriveKeyPbkdf2(QCryptographicHash::Sha1, pass, salt, -100, 100); ++ QCOMPARE(derivedKey, QByteArray()); ++} ++ + void tst_QPasswordDigestor::pbkdf1Vectors_data() + { + QTest::addColumn("algorithm"); +diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/aspiriniks.ca.crt b/tests/auto/network/ssl/qsslcertificate/more-certificates/aspiriniks.ca.crt +new file mode 100644 +index 0000000000..36436b6248 +--- /dev/null ++++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/aspiriniks.ca.crt +@@ -0,0 +1,22 @@ ++-----BEGIN CERTIFICATE----- ++MIIDnDCCAoQCCQDV3otC4hs2KTANBgkqhkiG9w0BAQUFADCBjzELMAkGA1UEBhMC ++Tk8xDTALBgNVBAgTBE9zbG8xDTALBgNVBAcTBE9zbG8xDzANBgNVBAoTBlRUIEFT ++QTEOMAwGA1UECxMFUVQgU1cxHDAaBgNVBAMTE2FzcGlyaW5pa3MudHJvbGwubm8x ++IzAhBgkqhkiG9w0BCQEWFGFiYWJpY0B0cm9sbHRlY2guY29tMB4XDTA4MTEwMTA4 ++NTcyOFoXDTA5MTEwMTA4NTcyOFowgY8xCzAJBgNVBAYTAk5PMQ0wCwYDVQQIEwRP ++c2xvMQ0wCwYDVQQHEwRPc2xvMQ8wDQYDVQQKEwZUVCBBU0ExDjAMBgNVBAsTBVFU ++IFNXMRwwGgYDVQQDExNhc3BpcmluaWtzLnRyb2xsLm5vMSMwIQYJKoZIhvcNAQkB ++FhRhYmFiaWNAdHJvbGx0ZWNoLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC ++AQoCggEBAMV2bMD1DN3DMgbxU3DXw2i7EWGDXcWjTDtdHvqgIb+9nHqo3MJSrzJy ++qgEPoOsXqswMla9wDPZAsWv5gVAmVSqpy2lfEgfY7LaSHiGD75seF7zIy+CxREHW ++DofHXpJGGJpBCZEKQt2HfHu3+yAYNPucN78tWNZAcPbUg5tfxMZeepRimAZNIxBI ++93SDrl/f9Ka7hvPSzUQsnp8hfdpHlFPFznKfD6yPrjxgz2mT9efavJ4DhtyIa4m+ ++paiX515CidDz4A8CFxKZbYvuqq1ilibF/si2so9VhALC77ZcAJP1IMuT8T+WUCxq ++skJqiSCncl0Hgr+ba8MDGF9UQYowgjMCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA ++KcJuNUHvjB8ok3cnTmQEeF0LPPkgj28Tqb5TFB8xpVfRI+wvTYsHsmGdOKCgYJ3a ++7VflIsr63ojG8/rXK8H/cx2o2f2Hr3liJdi1UnoLDDRjBqGGz7JNuMreYokPvIbm ++eP01mVyK4PO2iYRwHUIAw5eeB1vMWKX2z95MupD+HRLtmGyaLALg8aQxj5N84Ewl ++eU2PQfhv8A1wj7aL17kfEUxDerQ1kUzlThJMV1J8Dl0l4C9N8evQkelROJU00i46 ++oJikA8BW6EpgbnGyNyyj5Loy4wLPKew9nTS8MCJ5xPMQc0urbY/VzuOeUK7WQof7 ++xOFSsRAVyQv+yqgmcZMCtg== ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-cn.pem b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-cn.pem +new file mode 100644 +index 0000000000..fc77399f8c +--- /dev/null ++++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-cn.pem +@@ -0,0 +1,32 @@ ++-----BEGIN CERTIFICATE----- ++MIIFfTCCA2WgAwIBAgIUEciqqaXfpL5/Ytf0D64oDHQQ2fIwDQYJKoZIhvcNAQEL ++BQAwTTELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8x ++DDAKBgNVBAsMA1ImRDESMBAGA1UEAwwJWU9VUiBuYW1lMCAXDTIwMTExOTEzMzEw ++NVoYDzIxMjAxMDI2MTMzMTA1WjBNMQswCQYDVQQGEwJOTzENMAsGA1UECAwET3Ns ++bzENMAsGA1UEBwwET3NsbzEMMAoGA1UECwwDUiZEMRIwEAYDVQQDDAlZT1VSIG5h ++bWUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDCZmoIs4mApLPRw+gI ++DxOkTyT/Zyma2LILF26vxOrqE5ygwcJYVWg8HTSlCuJ8Gc22UofuNYvtKLcv8xpz ++/mzhOAvsmL9Q7vPlMshUxz0ITPCD/0R4Z95U9vw4/ytzUvf2sz1tgqc08QAS+TyJ ++wzljHyN8a+M7yZK71OF+Qto9bFgdA0nWC2AcoHcRhL1UJUSVAl8Ifi7n/lnPIMqr ++bvmFfn4wkE+EDO3QnkBNMI5fsvPrfC8TV1D/zGQUZGp/AjqzVZtAonjzE1qVu5IX ++ye3Kl9VTsbM0Ms7HnNk7c0ysXnneoIyLl+Gd4EaogFPKjysOidzA2aZIx/aEtPAU ++RzL5yxZaVuXEqsqkAcyt2EAhh225ybQPNhi9hy9cFKDpjmngv1UppfAk0FMgmNbr ++/GCO4I1J8Bt4/54WhSQuvK8WIo1OcALifOuTalzhmX/ndyoT79SwTZShNasQYEl7 ++i9EjKCx0tOWG3yO1I6cyeycQcTCJCmFa3/SdnYuooZ6enlvwHP1cTeNdu2d40hxu ++mtlhd7n21FWFHnoMUyBw6ZsWnicY/Nne2a7wCivF7uEjmzFkjNDDoK7xaFz9G2bn ++IkdI3R7kNPA4Z+iJKguu6xD63ZOjlB7hRQHhtYxvKhsNNQv90a+eh5EPE8aacGwr ++1P04f40Ap/41lAuL/7dS41jGkwIDAQABo1MwUTAdBgNVHQ4EFgQUU0ZlIZM8B5kb ++butAVOJkN0VSTB0wHwYDVR0jBBgwFoAUU0ZlIZM8B5kbbutAVOJkN0VSTB0wDwYD ++VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAE7SoFANxr/JsSE2NhxBE ++yXyLo2Tqv1izBMWXk1HSQJr6Vhoi1g0r3yexIbLbWNelgh7V+oicjHmlqmwi0t+c ++7wyhNTc7HUHWQRGO8y//4GSSgGbjNTt5FY7wo+X3QwbH5mGUwRPqfGm/H+f1vRCZ ++Gc2e6YSrDtVwuCT4IwoJQEC/6bFDPlkXBDvlKp7pC67arr/LwXdTv8MGkZjYIKgy ++PlbAGiWmpSgmUrU9Q/DnQRlvi2DYOE5fTENrDhXGG0La8h3lTqqm7X0fwY73ZoaG ++VO0WXoYZmY8t+UuD39gYHR6kOzZN48D4G41HEBP01c6MQU6ocgkxFwI5IyBR3nwf ++UEMpTuWTPUokDI2UzrCjigedXb8WhAOnm6IyOgBOtQrfF5xwZd0Jt5tZCszw7stE ++3bz8FVAECPZ3LB2lWidwuHpcyFRvYMMoWIzzwl+BsM95rI0IyBpM3nNLwMk4Gy4Y ++uuZTSkNDO1tuUjppf6J7iIq272xlBt6xxTGvlWZEPYQyYeNWd9yZ0NXQZBwBSyo8 ++Twf4TyeHDvBNnOQIlzPAnONJWDUWWFT0pJfn0cVFypA0FZ6ZPgIlLfgjNgKDyHH9 ++NCtBF9luhfMY5ncX9bB+foRdyceAnM3LJCLjNEmzKC7gZ9H9yyaOVgtHyZmwecE5 ++H/WJbjX6rYLrU2reHuVGf30= ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-noname.pem b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-noname.pem +new file mode 100644 +index 0000000000..8c1baa97c2 +--- /dev/null ++++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-noname.pem +@@ -0,0 +1,32 @@ ++-----BEGIN CERTIFICATE----- ++MIIFfTCCA2WgAwIBAgIUDI7wlRkJ11GOMiPwMqLUHtQvzaQwDQYJKoZIhvcNAQEL ++BQAwTTELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8x ++IDAeBgkqhkiG9w0BCQEWEW1pbmltaUBkcmV2aWwuY29tMCAXDTIwMTExOTEzMzQ0 ++MloYDzIxMjAxMDI2MTMzNDQyWjBNMQswCQYDVQQGEwJOTzENMAsGA1UECAwET3Ns ++bzENMAsGA1UEBwwET3NsbzEgMB4GCSqGSIb3DQEJARYRbWluaW1pQGRyZXZpbC5j ++b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDR4hy/ySyPy6y/TTWI ++zHBbN8Lw6IiCtemmKdwzf32RKubV7iErJwCQ0QxPvqJSzVBfHYzzjlRzQ5bTWeVg ++7pcUY1W51J9bgpC95gDviOnjkDEBIocapcGGLqMVZuoghZrKDXdzA9r2TQ/bfWIR ++6mB2ZgYMUN+5xa7ytvCrz/oYEIGGGojfyK8DPsz5qnV7csnZT+5tDOjkx8dQsDrf ++Ob69WKpb6+vPAdh2zWMg+25DamXzLqmEcmAgfAJu6MhtWf787zdsXXsxOHcBOjSJ ++plRG4Di0+aV84fnJWvv1+LNmstSGpO3jnrl6bpQVyCBn6/RHcO8bt0oDZ4nJhc6n ++5x1VmmWpo11YOJgR6smrUn+OdwZVASCdeaD46X7dmgjg1BTRdIDLDFlF2V/cZRu0 ++afeRyHGN0PmusMrARYaCxiXBLLSLrDhxkbT8U4yb36uxWP672aHgpStzbhIPs4HU ++/2MzZ9kHHbQVoYJEgAUhi3LyeSHFjkhSk2ZIRpQtjYLFXyngfJ//UqqCYtjY75cZ ++X3P+CG35QP1uF6ORWAxTedESX5qSQyc7YUq5H14NvcwY/hqLmjm1EvCKuPrKRD9C ++/V0GzBcB7seW0gB0h5+1xMzPhEeubqo965w3NRezUjCmSMkRZGcKGdV9zBq2XD9F ++964yS6wxNkAxi5CpcAzD+EIu7QIDAQABo1MwUTAdBgNVHQ4EFgQUB4K2uwCB1DGy ++eC5hLGQvh8rvdwEwHwYDVR0jBBgwFoAUB4K2uwCB1DGyeC5hLGQvh8rvdwEwDwYD ++VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAluDSEjAtVYepxcBt1Azi ++7V6Ux0t7AFRfHxBViBzEhCJ8po+TejgDQpWsc6i5/upaqZb5ADoytiPnwAS9X620 ++/Q3Q87wXHyHtUuW89p9DCynZpGYQAhSXbLd3YHn2fn2/WeyqX9YjiZvO2AJhdEz2 ++o0jM1RQZDT5I9e/bxHKxOd1gv/zBSrDh1CMCmoPcCHMWyr5lN8He8IpKnIXj6DIq ++mJxgNfM1WFraFp1Qc5V27iH69iNJuvR2bHY+772BzFkBis3jA8A55uUaP9EhU8EH ++/dnBf6RwUrtTaa7ym5rFrJNiCT/AOmCFkTHMC2KNYAJ2WsQlFo2LUfuWUKN9aN9a ++jrnXMgSlY2sWJxPpzR/Z1yNPLqxexr2axMX9LS2WoJMPPChSGERAPlaiBlj8ZE42 ++JmYjxf5CxN7EgbZP8HjwueXFP2j+2eZEN08lDZJqWu8Q3OzvRSzYyE674tfL0TJX ++q9SYDK/Js04wjsYxR+py7Rz9elu5jHin+2qiVw7Z+6GlAxdrviirEPYoc87y26Va ++hpfMwrYB+7M8CrLLtwIRkZSHiHhcgw6wAGaYYCxsYjtDcjc4OLCUbYqRbI86vZ9M ++qXfM189o5TMkgamKO+TdUQSZT+7iUvhffI7Daq3+F/UKCLDSIPXvmasAP7cMKhQy ++tZkqJ5oHw1YBsGSZoL10TZs= ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-on.pem b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-on.pem +new file mode 100644 +index 0000000000..c75e335ed8 +--- /dev/null ++++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-on.pem +@@ -0,0 +1,31 @@ ++-----BEGIN CERTIFICATE----- ++MIIFVTCCAz2gAwIBAgIUcX6P/xc82lIq8PrtHoW3JO02VL0wDQYJKoZIhvcNAQEL ++BQAwOTELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8x ++DDAKBgNVBAoMA1ImRDAgFw0yMDExMTkxMjI4NDRaGA8yMTIwMTAyNjEyMjg0NFow ++OTELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8xDDAK ++BgNVBAoMA1ImRDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOHvuJbt ++o70wSSarD6Dslu3XqONT2x6zDXODltVmX0XEgb1S4tKG9p/Ax+h2EFnoNRs0mTSM ++hZfdbwwI7XzIAhIQMWvef/3P/BQNy8DRSGSGya4DY0E2qFJHJR6ijGuQfHrhsBSV ++eIXOx7mf05pX1ra0lhqRuLQPxPioDqeNxuSdfYfP4DM6ZicFfkfk7cU+xrXTieWI ++qGx7ZBN8VMUVZq/uw4MfBiZcP+Xqp3YOVlfqhEcxTFvl8dwBb2Yblgl1ujb4YR4F ++pC/M2kPVEBTT1LLwhVWy9rRMS0Jk656q/31p7qQCp4xrv5RLfc0YR3cdwhePKQlo ++XXmtrUupbvq9z8hmFo7rqtGZ4xN1cDuaHi9ufe/l9NmGtI4qTqbFtWBMfh3+psB3 ++wNMwtLXi/a2x9Ucg8atljC5kk0O5MxtLJwL0MIQpIzpbAy9ZMb4qSOeB5ZrsvILl +++6oQcSBLqzwZ8x6f/3igWTh3H/xJRTbE5W5a47L2LCLk8HYP8hfpG24Rn3cuS2oO ++eFFePjylebTAYU4CQ2bpWxkEEs/QMv50sB526GZm47RrFLllj1sTBGWOUYf6+Kqw ++LhpO4aO9PmClKYrcrD+5N2IMUbBLQTRw2lyzQ//yKTHrAD6FMrPVrPOT2Hg6Kl+X ++/Z+a+o9nIOqi2vj2f542QqGsYlxOQNhyx0+NAgMBAAGjUzBRMB0GA1UdDgQWBBSP ++gJvZEkM5CdPIyXU/HxWD8+VRrTAfBgNVHSMEGDAWgBSPgJvZEkM5CdPIyXU/HxWD ++8+VRrTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4ICAQDh24bPfdni ++Ao3r/KRHSeOVAdIjLpJ4pCdkWb/fQTjX/R/UCzAXGb9fZC9P83R/ySMNa+c/t1xQ ++FYFuo72DxQokWA8gc25gmibt+zCVP8ociOA//XTh2HEaq3rXmBjG6uTzxe1l1JTg ++5HFGSc345fgZrTHRs8MoPxZh842WZ4Z14vwfjoRDN75/N11Pe9muTTQbeFcESYay ++L46gRq6RDK1ZxwMY+HzBn9cVjcPgOCdedhEL5kHkSY65qnQJZkqguY+sAWcVKBH2 +++dXori9kNdv/fzr1w4swiqAtIcNauRoiQ1Gh7m3881AxQXT2pYKpl3zu268sx33i ++XIBcXoRdwBvy80Ave0Z+nihZU6R+CXJtb9xl4kfJof8cgagAkuNLRpY9OW6n8rBo ++yX9mwg7z8tKV+2AaUJl+kiRfhujLmoohouP34/LdTHXTdIh1O0Jwx36QY4ara9ER ++QsQjUmnmWJREvwzzUVsqcOOduHPEJyz5wIDFpw2KLR+8N2i6/jBs9/dWps476Ohj ++b9+y/tXKcWt+ja9MGvw0Bn8pqU8r4Kj3aYM8KzezRSEL7KKPSNFKkOZYzRYwGkXn ++O+ZIyasjjO/C4aSlpZCgWQ1B400ZlrXKmEiFJpkGBnQP/offQJKeSxlfnWwOQ4Og ++0TsWxr+VMy7uRq8ltTKbE0UvHPQqf9AmkQ== ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-oun.pem b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-oun.pem +new file mode 100644 +index 0000000000..e244bf2889 +--- /dev/null ++++ b/tests/auto/network/ssl/qsslcertificate/more-certificates/cert-oun.pem +@@ -0,0 +1,31 @@ ++-----BEGIN CERTIFICATE----- ++MIIFZTCCA02gAwIBAgIUDufSooDGcwmx5dTWzw76lAH4m+EwDQYJKoZIhvcNAQEL ++BQAwQTELMAkGA1UEBhMCTk8xDTALBgNVBAgMBE9zbG8xDTALBgNVBAcMBE9zbG8x ++FDASBgNVBAsMC0ZvdW5kYXRpb25zMCAXDTIwMTExOTEzMjczM1oYDzIxMjAxMDI2 ++MTMyNzMzWjBBMQswCQYDVQQGEwJOTzENMAsGA1UECAwET3NsbzENMAsGA1UEBwwE ++T3NsbzEUMBIGA1UECwwLRm91bmRhdGlvbnMwggIiMA0GCSqGSIb3DQEBAQUAA4IC ++DwAwggIKAoICAQDEtFnz4VNkh/4eX8jh/QWaJXR8lMliZ/CBqheresvlQPIVpO/i ++iDsPeY6eZazko/B0NOoM+oJ0PBGepC8AJOdHf6peo4iNXiA7odczUBUoC1ALal03 ++V1KbRfATPYiDaPAUWg1nyEnb5DymLeX0lEwRitPxobYzIw00h/YpHnABj8MwyyNM ++vgk+wYrPCwVUyZwrhS+FClm12Eoff9sWJ+sqqlJZT0CQfKGbYd6h/itHcGVuCBPK ++pHgGrd2xuqK+CYrYLlyIFOWpk2ICRNGDHmNwj55+Sbj83Ryo40IkECBza9ge1axA ++qwYaVORWVSkXet6bN+d2alasJOCPkRvA88wTU+/CSQEtDiiHJMw0LOpyEZMq/0y8 ++RcGHqMpTEIbkhzXh9BxyVFsOL0TNdMSfjZwlT405pYJlODxSSgtYD1Fsu1T0ZMO2 ++37EcvImUni0ZrrC8S+QRac4nKM5mWjT5kB5XfKOLWzW2uZTTqpya0HJijfwcX6wA ++j3mb4w33NXb6zzbZQVVBsPdl1K2J8Q/lXjDvDA3SvusT9mt/0eCu/HYdyBmkMsA3 ++ILIJbU1+xKN5GHZdFDtjzGb3UjV5dLqzgBzn6z4vStBbM4rilhW17gPEmpseB1h4 ++iM5IUUyKwMavJSChxipkS2c8K6c42AkGBf6mMpGlGNXWyYUvH8mOLeU4LwIDAQAB ++o1MwUTAdBgNVHQ4EFgQUz/t+47C+Cdk/uidYWQt9hdNHZU4wHwYDVR0jBBgwFoAU ++z/t+47C+Cdk/uidYWQt9hdNHZU4wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B ++AQsFAAOCAgEATF8PkW3GNFXiYy3K8mF0yoZdp0nX771h2Et7FbgNLh25Uv+76amT ++ujHzobjQRtx8Ewzl+oJnWPmOqMm3bn6BWBR0tWH136ACFBAV4W9Zr3eAwCbQQgU0 ++0okRGDVG/tIVjSym9/5/TF37jkQRGCwHaQdjIRFbKiDhy7P7D4qobNs5G0mUqmxj ++DY7lmq93/RhMOQE2JYdx2VrU8IxGZ8v3s3Dzl/ln0iw2wb2inj+YviQRs+vss7mU ++lXGS+MTo17OQBLPDBuZWV9x28I79hIaYgEYAcIid0IqV0Mp0ISYOhjOp1X9A/UJi ++lSMTMCm2kmrrrHmtJ/G9ztkm4Yc/TUl9qAIlXaY9KN5k+GuSLrxIdA9VII3GvuRg ++u2ghKl0xgC+uHfLwlfAxJwWbLyJS/ji3Y5yADc700D++pjZI1rWaC7jbOjH0wocA ++DW2tQY6Eh4MA1xQyj2IF24j+wfBNdWg/Ndc9BvCuG00v1qAje7lAZOuA8P2977SS ++0zqdgSbkAM83c4O6+kWaiRFb8pPBciSxR0YwIchxjjJWSlcqop6cJxtOKhvG+RQX ++oLIkpHJznI8aXK5rEniDb6YJm7o+a0i5cQkJQht1lDPI9WW5d7sliozrm1s+pmcr ++AM2KHvDxb9Pur6jIOqm9mvYpI3llJu2ICcp/HKiRI0iVV2a/bd1YQzY= ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp +index e89b7f5a44..115d111974 100644 +--- a/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp ++++ b/tests/auto/network/ssl/qsslcertificate/tst_qsslcertificate.cpp +@@ -79,6 +79,9 @@ private slots: + void subjectAlternativeNames_data(); + void utf8SubjectNames(); + void subjectAlternativeNames(); ++ void subjectInfoToString(); ++ void subjectIssuerDisplayName_data(); ++ void subjectIssuerDisplayName(); + void publicKey_data(); + void publicKey(); + void toPemOrDer_data(); +@@ -433,6 +436,63 @@ void tst_QSslCertificate::subjectAlternativeNames() + } + } + ++void tst_QSslCertificate::subjectInfoToString() ++{ ++ QFile certFile(testDataDir + "more-certificates/aspiriniks.ca.crt"); ++ const bool ok = certFile.open(QIODevice::ReadOnly); ++ QVERIFY(ok); ++ const auto chain = QSslCertificate::fromDevice(&certFile, QSsl::Pem); ++ QCOMPARE(chain.size(), 1); ++ const auto cert = chain.at(0); ++ QVERIFY(!cert.isNull()); ++ ++ const auto testInfo = [&cert](QSslCertificate::SubjectInfo info, const QString &expected) { ++ const auto infoAsList = cert.subjectInfo(info); ++ if (infoAsList.size()) ++ return expected == infoAsList.at(0); ++ return expected == QString(); ++ }; ++ ++ QVERIFY(testInfo(QSslCertificate::Organization, QStringLiteral("TT ASA"))); ++ QVERIFY(testInfo(QSslCertificate::CommonName, QStringLiteral("aspiriniks.troll.no"))); ++ QVERIFY(testInfo(QSslCertificate::LocalityName, QStringLiteral("Oslo"))); ++ QVERIFY(testInfo(QSslCertificate::OrganizationalUnitName, QStringLiteral("QT SW"))); ++ QVERIFY(testInfo(QSslCertificate::CountryName, QStringLiteral("NO"))); ++ QVERIFY(testInfo(QSslCertificate::StateOrProvinceName, QStringLiteral("Oslo"))); ++ QVERIFY(testInfo(QSslCertificate::DistinguishedNameQualifier, QString())); ++ QVERIFY(testInfo(QSslCertificate::SerialNumber, QString())); ++#ifndef QT_NO_OPENSSL ++ // TODO: check why generic code does not handle this! ++ QVERIFY(testInfo(QSslCertificate::EmailAddress, QStringLiteral("ababic@trolltech.com"))); ++#endif ++} ++ ++void tst_QSslCertificate::subjectIssuerDisplayName_data() ++{ ++ QTest::addColumn("certName"); ++ QTest::addColumn("expectedName"); ++ ++ QTest::addRow("CommonName") << QStringLiteral("more-certificates/cert-cn.pem") << QStringLiteral("YOUR name"); ++ QTest::addRow("OrganizationName") << QStringLiteral("more-certificates/cert-on.pem") << QStringLiteral("R&D"); ++ QTest::addRow("OrganizationUnitName") << QStringLiteral("more-certificates/cert-oun.pem") << QStringLiteral("Foundations"); ++#ifndef QT_NO_OPENSSL ++ QTest::addRow("NoSubjectName") << QStringLiteral("more-certificates/cert-noname.pem") << QString(); ++#endif ++} ++ ++void tst_QSslCertificate::subjectIssuerDisplayName() ++{ ++ QFETCH(const QString, certName); ++ QFETCH(const QString, expectedName); ++ ++ const auto chain = QSslCertificate::fromPath(testDataDir + certName); ++ QCOMPARE(chain.size(), 1); ++ const auto cert = chain.at(0); ++ QVERIFY(!cert.isNull()); ++ QCOMPARE(cert.subjectDisplayName(), expectedName); ++ QCOMPARE(cert.issuerDisplayName(), expectedName); ++} ++ + void tst_QSslCertificate::utf8SubjectNames() + { + QSslCertificate cert = QSslCertificate::fromPath(testDataDir + "certificates/cert-ss-san-utf8.pem", QSsl::Pem, +@@ -541,8 +601,15 @@ void tst_QSslCertificate::toPemOrDer() + void tst_QSslCertificate::fromDevice() + { + QTest::ignoreMessage(QtWarningMsg, "QSslCertificate::fromDevice: cannot read from a null device"); +- QList certs = QSslCertificate::fromDevice(0); // don't crash ++ QList certs = QSslCertificate::fromDevice(nullptr); // don't crash + QVERIFY(certs.isEmpty()); ++ ++ QFile certFile(testDataDir + "certificates/cert.der"); ++ const bool ok = certFile.open(QIODevice::ReadOnly); ++ QVERIFY(ok); ++ const auto chain = QSslCertificate::fromDevice(&certFile, QSsl::Der); ++ QCOMPARE(chain.size(), 1); ++ QVERIFY(!chain.at(0).isNull()); + } + + void tst_QSslCertificate::fromPath_data() +diff --git a/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp b/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp +index 9ffba1ec94..8114d1a064 100644 +--- a/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp ++++ b/tests/auto/network/ssl/qsslcipher/tst_qsslcipher.cpp +@@ -30,9 +30,6 @@ + #include + #include + +-#include +-#include +- + class tst_QSslCipher : public QObject + { + Q_OBJECT +@@ -50,6 +47,15 @@ private slots: + void tst_QSslCipher::constructing() + { + QSslCipher cipher; ++ ++ QVERIFY(cipher.isNull()); ++ QCOMPARE(cipher.name(), QString()); ++ QCOMPARE(cipher.supportedBits(), 0); ++ QCOMPARE(cipher.usedBits(), 0); ++ QCOMPARE(cipher.keyExchangeMethod(), QString()); ++ QCOMPARE(cipher.authenticationMethod(), QString()); ++ QCOMPARE(cipher.protocolString(), QString()); ++ QCOMPARE(cipher.protocol(), QSsl::UnknownProtocol); + } + + #endif // QT_NO_SSL +diff --git a/tests/auto/network/ssl/qsslerror/tst_qsslerror.cpp b/tests/auto/network/ssl/qsslerror/tst_qsslerror.cpp +index 438234b6dd..06f0325248 100644 +--- a/tests/auto/network/ssl/qsslerror/tst_qsslerror.cpp ++++ b/tests/auto/network/ssl/qsslerror/tst_qsslerror.cpp +@@ -28,51 +28,113 @@ + + + #include ++ ++#include ++ ++#include + #include + +-#include +-#include ++#include ++#include ++#include ++#include ++ ++QT_USE_NAMESPACE ++ ++const QByteArray certificateBytes = ++ "-----BEGIN CERTIFICATE-----\n" ++ "MIIEjjCCBDOgAwIBAgIQCQsKtxCf9ik3vIVQ+PMa5TAKBggqhkjOPQQDAjBKMQsw\n" ++ "CQYDVQQGEwJVUzEZMBcGA1UEChMQQ2xvdWRmbGFyZSwgSW5jLjEgMB4GA1UEAxMX\n" ++ "Q2xvdWRmbGFyZSBJbmMgRUNDIENBLTMwHhcNMjAwODE2MDAwMDAwWhcNMjEwODE2\n" ++ "MTIwMDAwWjBhMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNh\n" ++ "biBGcmFuY2lzY28xGTAXBgNVBAoTEENsb3VkZmxhcmUsIEluYy4xEjAQBgNVBAMT\n" ++ "CXd3dy5xdC5pbzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABP/r0xH22wdU8fLk\n" ++ "RsXhxRj5fmUNUo7rxnUl3lyqYYp53cLvn3agQifXkegpE8Xv4pGmuyWZj85FtoeZ\n" ++ "UZh8iyCjggLiMIIC3jAfBgNVHSMEGDAWgBSlzjfq67B1DpRniLRF+tkkEIeWHzAd\n" ++ "BgNVHQ4EFgQU7qPYGi9VtC4/6MS+54LNEAXApBgwFAYDVR0RBA0wC4IJd3d3LnF0\n" ++ "LmlvMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH\n" ++ "AwIwewYDVR0fBHQwcjA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Ns\n" ++ "b3VkZmxhcmVJbmNFQ0NDQS0zLmNybDA3oDWgM4YxaHR0cDovL2NybDQuZGlnaWNl\n" ++ "cnQuY29tL0Nsb3VkZmxhcmVJbmNFQ0NDQS0zLmNybDBMBgNVHSAERTBDMDcGCWCG\n" ++ "SAGG/WwBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20v\n" ++ "Q1BTMAgGBmeBDAECAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6\n" ++ "Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2NhY2VydHMu\n" ++ "ZGlnaWNlcnQuY29tL0Nsb3VkZmxhcmVJbmNFQ0NDQS0zLmNydDAMBgNVHRMBAf8E\n" ++ "AjAAMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYA9lyUL9F3MCIUVBgIMJRWjuNN\n" ++ "Exkzv98MLyALzE7xZOMAAAFz90PlSQAABAMARzBFAiAhrrtxdmuxpCy8HAJJ5Qkg\n" ++ "WNvlo8nZqfe6pqGUcz0dmwIhAOMqDtd5ZhcfRk96GAJxPm8bH4hDnmqDP/zJG2Mq\n" ++ "nFpMAHYAXNxDkv7mq0VEsV6a1FbmEDf71fpH3KFzlLJe5vbHDsoAAAFz90PlewAA\n" ++ "BAMARzBFAiB/EkdY10LDdaRcf6eSc/QxucxU+2PI+3pWjh/21A8ZUAIhAK2Qz9Kw\n" ++ "onlRNyHpV3E6qyVydkXihj3c3q5UclpURYcmMAoGCCqGSM49BAMCA0kAMEYCIQDz\n" ++ "K/lzLb2Rbeg1HErRLLm2HkJUmfOGU2+tbROSTGK8ugIhAKA+MKqaZ8VjPxQ+Ho4v\n" ++ "fuwccvZfkU/fg8tAHTOzX23v\n" ++ "-----END CERTIFICATE-----"; + + class tst_QSslError : public QObject + { + Q_OBJECT +- +-public: +- static void enterLoop(int secs) +- { +- ++loopLevel; +- QTestEventLoop::instance().enterLoop(secs); +- --loopLevel; +- } +- static void exitLoop() +- { +- // Safe exit - if we aren't in an event loop, don't +- // exit one. +- if (loopLevel > 0) +- QTestEventLoop::instance().exitLoop(); +- } +- static bool timeout() +- { +- return QTestEventLoop::instance().timeout(); +- } +- +-#ifndef QT_NO_SSL + private slots: + void constructing(); ++ void nonDefaultConstructors(); + void hash(); +-#endif +- +-private: +- static int loopLevel; + }; + +-int tst_QSslError::loopLevel = 0; +- +-#ifndef QT_NO_SSL +- + void tst_QSslError::constructing() + { +- QSslError error; ++ const QSslError error; ++ QCOMPARE(error.error(), QSslError::NoError); ++ QCOMPARE(error.errorString(), QStringLiteral("No error")); ++ QVERIFY(error.certificate().isNull()); ++} ++ ++void tst_QSslError::nonDefaultConstructors() ++{ ++ if (!QSslSocket::supportsSsl()) ++ QSKIP("This test requires a working TLS library"); ++ ++ const auto chain = QSslCertificate::fromData(certificateBytes); ++ QCOMPARE(chain.size(), 1); ++ const auto certificate = chain.at(0); ++ QVERIFY(!certificate.isNull()); ++ ++ const auto visitor = QSslError::staticMetaObject; ++ const int nEnums = visitor.enumeratorCount(); ++ QMetaEnum errorCodesEnum; ++ for (int i = 0; i < nEnums; ++i) { ++ const auto metaEnum = visitor.enumerator(i); ++ if (metaEnum.enumName() == QStringLiteral("SslError")) { ++ errorCodesEnum = metaEnum; ++ break; ++ } ++ } ++ ++ QCOMPARE(errorCodesEnum.enumName(), QStringLiteral("SslError")); ++ for (int i = 0, e = errorCodesEnum.keyCount(); i < e; ++i) { ++ const int value = errorCodesEnum.value(i); ++ if (value == -1) { ++ QVERIFY(i); ++ break; ++ } ++ const auto errorCode = QSslError::SslError(value); ++ QSslError error(errorCode); ++ ++ const auto basicChecks = [](const QSslError &err, QSslError::SslError code) { ++ QCOMPARE(err.error(), code); ++ const auto errorString = err.errorString(); ++ if (code == QSslError::NoError) ++ QCOMPARE(errorString, QStringLiteral("No error")); ++ else ++ QVERIFY(errorString != QStringLiteral("No error")); ++ }; ++ ++ basicChecks(error, errorCode); ++ ++ // ;) ++ error = QSslError(errorCode, certificate); ++ ++ basicChecks(error, errorCode); ++ QVERIFY(!error.certificate().isNull()); ++ } + } + + void tst_QSslError::hash() +@@ -83,7 +145,5 @@ void tst_QSslError::hash() + QCOMPARE(errors.size(), 1); + } + +-#endif // QT_NO_SSL +- + QTEST_MAIN(tst_QSslError) + #include "tst_qsslerror.moc" +diff --git a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp +index 8ff6d35ba2..d91d93d9ab 100644 +--- a/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp ++++ b/tests/auto/network/ssl/qsslkey/tst_qsslkey.cpp +@@ -117,6 +117,7 @@ private: + + tst_QSslKey::tst_QSslKey() + { ++#ifndef QT_NO_SSL + const QString expectedCurves[] = { + // See how we generate them in keys/genkey.sh. + QStringLiteral("secp224r1"), +@@ -139,6 +140,9 @@ tst_QSslKey::tst_QSslKey() + unsupportedCurves.push_back(requestedEc); + } + } ++#else ++ unsupportedCurves = {}; // not unsued anymore. ++#endif + } + + bool tst_QSslKey::fileContainsUnsupportedEllipticCurve(const QString &fileName) const +diff --git a/tests/auto/network/ssl/qsslsocket/certs/qtiochain.crt b/tests/auto/network/ssl/qsslsocket/certs/qtiochain.crt +new file mode 100644 +index 0000000000..9634bcef68 +--- /dev/null ++++ b/tests/auto/network/ssl/qsslsocket/certs/qtiochain.crt +@@ -0,0 +1,50 @@ ++-----BEGIN CERTIFICATE----- ++MIIEjjCCBDOgAwIBAgIQCQsKtxCf9ik3vIVQ+PMa5TAKBggqhkjOPQQDAjBKMQsw ++CQYDVQQGEwJVUzEZMBcGA1UEChMQQ2xvdWRmbGFyZSwgSW5jLjEgMB4GA1UEAxMX ++Q2xvdWRmbGFyZSBJbmMgRUNDIENBLTMwHhcNMjAwODE2MDAwMDAwWhcNMjEwODE2 ++MTIwMDAwWjBhMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDVNh ++biBGcmFuY2lzY28xGTAXBgNVBAoTEENsb3VkZmxhcmUsIEluYy4xEjAQBgNVBAMT ++CXd3dy5xdC5pbzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABP/r0xH22wdU8fLk ++RsXhxRj5fmUNUo7rxnUl3lyqYYp53cLvn3agQifXkegpE8Xv4pGmuyWZj85FtoeZ ++UZh8iyCjggLiMIIC3jAfBgNVHSMEGDAWgBSlzjfq67B1DpRniLRF+tkkEIeWHzAd ++BgNVHQ4EFgQU7qPYGi9VtC4/6MS+54LNEAXApBgwFAYDVR0RBA0wC4IJd3d3LnF0 ++LmlvMA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUH ++AwIwewYDVR0fBHQwcjA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0Ns ++b3VkZmxhcmVJbmNFQ0NDQS0zLmNybDA3oDWgM4YxaHR0cDovL2NybDQuZGlnaWNl ++cnQuY29tL0Nsb3VkZmxhcmVJbmNFQ0NDQS0zLmNybDBMBgNVHSAERTBDMDcGCWCG ++SAGG/WwBATAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20v ++Q1BTMAgGBmeBDAECAjB2BggrBgEFBQcBAQRqMGgwJAYIKwYBBQUHMAGGGGh0dHA6 ++Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBABggrBgEFBQcwAoY0aHR0cDovL2NhY2VydHMu ++ZGlnaWNlcnQuY29tL0Nsb3VkZmxhcmVJbmNFQ0NDQS0zLmNydDAMBgNVHRMBAf8E ++AjAAMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYA9lyUL9F3MCIUVBgIMJRWjuNN ++Exkzv98MLyALzE7xZOMAAAFz90PlSQAABAMARzBFAiAhrrtxdmuxpCy8HAJJ5Qkg ++WNvlo8nZqfe6pqGUcz0dmwIhAOMqDtd5ZhcfRk96GAJxPm8bH4hDnmqDP/zJG2Mq ++nFpMAHYAXNxDkv7mq0VEsV6a1FbmEDf71fpH3KFzlLJe5vbHDsoAAAFz90PlewAA ++BAMARzBFAiB/EkdY10LDdaRcf6eSc/QxucxU+2PI+3pWjh/21A8ZUAIhAK2Qz9Kw ++onlRNyHpV3E6qyVydkXihj3c3q5UclpURYcmMAoGCCqGSM49BAMCA0kAMEYCIQDz ++K/lzLb2Rbeg1HErRLLm2HkJUmfOGU2+tbROSTGK8ugIhAKA+MKqaZ8VjPxQ+Ho4v ++fuwccvZfkU/fg8tAHTOzX23v ++-----END CERTIFICATE----- ++-----BEGIN CERTIFICATE----- ++MIIDzTCCArWgAwIBAgIQCjeHZF5ftIwiTv0b7RQMPDANBgkqhkiG9w0BAQsFADBa ++MQswCQYDVQQGEwJJRTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJl ++clRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTIw ++MDEyNzEyNDgwOFoXDTI0MTIzMTIzNTk1OVowSjELMAkGA1UEBhMCVVMxGTAXBgNV ++BAoTEENsb3VkZmxhcmUsIEluYy4xIDAeBgNVBAMTF0Nsb3VkZmxhcmUgSW5jIEVD ++QyBDQS0zMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEua1NZpkUC0bsH4HRKlAe ++nQMVLzQSfS2WuIg4m4Vfj7+7Te9hRsTJc9QkT+DuHM5ss1FxL2ruTAUJd9NyYqSb ++16OCAWgwggFkMB0GA1UdDgQWBBSlzjfq67B1DpRniLRF+tkkEIeWHzAfBgNVHSME ++GDAWgBTlnVkwgkdYzKz6CFQ2hns6tQRN8DAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0l ++BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwNAYI ++KwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5j ++b20wOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL09t ++bmlyb290MjAyNS5jcmwwbQYDVR0gBGYwZDA3BglghkgBhv1sAQEwKjAoBggrBgEF ++BQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIw ++CAYGZ4EMAQIBMAgGBmeBDAECAjAIBgZngQwBAgMwDQYJKoZIhvcNAQELBQADggEB ++AAUkHd0bsCrrmNaF4zlNXmtXnYJX/OvoMaJXkGUFvhZEOFp3ArnPEELG4ZKk40Un +++ABHLGioVplTVI+tnkDB0A+21w0LOEhsUCxJkAZbZB2LzEgwLt4I4ptJIsCSDBFe ++lpKU1fwg3FZs5ZKTv3ocwDfjhUkV+ivhdDkYD7fa86JXWGBPzI6UAPxGezQxPk1H ++goE6y/SJXQ7vTQ1unBuCJN0yJV0ReFEQPaA1IwQvZW+cwdFD19Ae8zFnWSfda9J1 ++CZMRJCQUzym+5iPDuI9yP+kHyCREU3qzuWFloUwOxkgAyXVjBYdwRVKD05WdRerw ++6DEdfgkfCv4+3ao8XnTSrLE= ++-----END CERTIFICATE----- +diff --git a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp +index 5903eb6488..a40ec30622 100644 +--- a/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp ++++ b/tests/auto/network/ssl/qsslsocket/tst_qsslsocket.cpp +@@ -31,6 +31,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -51,10 +52,12 @@ + #include "../../../network-settings.h" + + #ifndef QT_NO_SSL ++ + #ifndef QT_NO_OPENSSL + #include "private/qsslsocket_openssl_p.h" + #include "private/qsslsocket_openssl_symbols_p.h" +-#endif ++#endif // QT_NO_OPENSSL ++ + #include "private/qsslsocket_p.h" + #include "private/qsslconfiguration_p.h" + +@@ -73,8 +76,9 @@ typedef QSharedPointer QSslSocketPtr; + #define FLUKE_CERTIFICATE_ERROR QSslError::SelfSignedCertificate + #else + #define FLUKE_CERTIFICATE_ERROR QSslError::CertificateUntrusted +-#endif +-#endif // QT_NO_SSL ++#endif // QT_NO_OPENSSL ++ ++#endif // QT_NO_OPENSSL + + // Detect ALPN (Application-Layer Protocol Negotiation) support + #undef ALPN_SUPPORTED // Undef the variable first to be safe +@@ -164,9 +168,6 @@ private slots: + // API tests + void sslErrors_data(); + void sslErrors(); +- void addCaCertificate(); +- void addCaCertificates(); +- void addCaCertificates2(); + void ciphers(); + void connectToHostEncrypted(); + void connectToHostEncryptedWithVerificationPeerName(); +@@ -191,7 +192,7 @@ private slots: + void setLocalCertificate(); + void localCertificateChain(); + void setLocalCertificateChain(); +- void setPrivateKey(); ++ void tlsConfiguration(); + void setSocketDescriptor(); + void setSslConfiguration_data(); + void setSslConfiguration(); +@@ -218,6 +219,9 @@ private slots: + void waitForMinusOne(); + void verifyMode(); + void verifyDepth(); ++#ifndef QT_NO_OPENSSL ++ void verifyAndDefaultConfiguration(); ++#endif // QT_NO_OPENSSL + void disconnectFromHostWhenConnecting(); + void disconnectFromHostWhenConnected(); + #ifndef QT_NO_OPENSSL +@@ -770,28 +774,17 @@ void tst_QSslSocket::sslErrors() + QCOMPARE(sslErrors, peerErrors); + } + +-void tst_QSslSocket::addCaCertificate() +-{ +- if (!QSslSocket::supportsSsl()) +- return; +-} +- +-void tst_QSslSocket::addCaCertificates() +-{ +- if (!QSslSocket::supportsSsl()) +- return; +-} +- +-void tst_QSslSocket::addCaCertificates2() ++void tst_QSslSocket::ciphers() + { + if (!QSslSocket::supportsSsl()) + return; +-} + +-void tst_QSslSocket::ciphers() +-{ +- if (!QSslSocket::supportsSsl()) ++ QFETCH_GLOBAL(const bool, setProxy); ++ if (setProxy) { ++ // KISS(mart), we don't connect, no need to test the same thing ++ // many times! + return; ++ } + + QSslSocket socket; + QCOMPARE(socket.sslConfiguration().ciphers(), QSslConfiguration::defaultConfiguration().ciphers()); +@@ -805,14 +798,16 @@ void tst_QSslSocket::ciphers() + socket.setSslConfiguration(sslConfig); + QCOMPARE(socket.sslConfiguration().ciphers(), QSslConfiguration::defaultConfiguration().ciphers()); + +- sslConfig.setCiphers(QSslConfiguration::defaultConfiguration().ciphers()); +- socket.setSslConfiguration(sslConfig); +- QCOMPARE(socket.sslConfiguration().ciphers(), QSslConfiguration::defaultConfiguration().ciphers()); +- +- // Task 164356 +- sslConfig.setCiphers({QSslCipher("ALL"), QSslCipher("!ADH"), QSslCipher("!LOW"), +- QSslCipher("!EXP"), QSslCipher("!MD5"), QSslCipher("@STRENGTH")}); +- socket.setSslConfiguration(sslConfig); ++#ifndef QT_NO_OPENSSL ++ const auto ciphers = QSslConfiguration::defaultConfiguration().ciphers(); ++ for (const auto &cipher : ciphers) { ++ if (cipher.name().size() && cipher.protocol() != QSsl::UnknownProtocol) { ++ const QSslCipher aCopy(cipher.name(), cipher.protocol()); ++ QCOMPARE(aCopy, cipher); ++ break; ++ } ++ } ++#endif // QT_NO_OPENSSL + } + + void tst_QSslSocket::connectToHostEncrypted() +@@ -1562,8 +1557,33 @@ void tst_QSslSocket::setLocalCertificateChain() + QCOMPARE(chain[1].serialNumber(), QByteArray("3b:eb:99:c5:ea:d8:0b:5d:0b:97:5d:4f:06:75:4b:e1")); + } + +-void tst_QSslSocket::setPrivateKey() ++void tst_QSslSocket::tlsConfiguration() + { ++ QFETCH_GLOBAL(const bool, setProxy); ++ if (setProxy) ++ return; ++ // Test some things not covered by any other auto-test. ++ QSslSocket socket; ++ auto tlsConfig = socket.sslConfiguration(); ++ QVERIFY(tlsConfig.sessionCipher().isNull()); ++ QCOMPARE(tlsConfig.addCaCertificates(QStringLiteral("nonexisting/chain.crt")), false); ++ QCOMPARE(tlsConfig.sessionProtocol(), QSsl::UnknownProtocol); ++ QSslConfiguration nullConfig; ++ QVERIFY(nullConfig.isNull()); ++#ifndef QT_NO_OPENSSL ++ nullConfig.setEllipticCurves(tlsConfig.ellipticCurves()); ++ QCOMPARE(nullConfig.ellipticCurves(), tlsConfig.ellipticCurves()); ++#endif ++ QMap backendConfig; ++ backendConfig["DTLSMTU"] = QVariant::fromValue(1024); ++ backendConfig["DTLSTIMEOUTMS"] = QVariant::fromValue(1000); ++ nullConfig.setBackendConfiguration(backendConfig); ++ QCOMPARE(nullConfig.backendConfiguration(), backendConfig); ++ QTest::ignoreMessage(QtWarningMsg, "QSslConfiguration::setPeerVerifyDepth: cannot set negative depth of -1000"); ++ nullConfig.setPeerVerifyDepth(-1000); ++ QVERIFY(nullConfig.peerVerifyDepth() != -1000); ++ nullConfig.setPeerVerifyDepth(100); ++ QCOMPARE(nullConfig.peerVerifyDepth(), 100); + } + + void tst_QSslSocket::setSocketDescriptor() +@@ -2387,6 +2407,43 @@ void tst_QSslSocket::verifyDepth() + QCOMPARE(socket.peerVerifyDepth(), 1); + } + ++#ifndef QT_NO_OPENSSL ++void tst_QSslSocket::verifyAndDefaultConfiguration() ++{ ++ QFETCH_GLOBAL(const bool, setProxy); ++ if (setProxy) ++ return; ++ const auto defaultCACertificates = QSslConfiguration::defaultConfiguration().caCertificates(); ++ const auto chainGuard = qScopeGuard([&defaultCACertificates]{ ++ auto conf = QSslConfiguration::defaultConfiguration(); ++ conf.setCaCertificates(defaultCACertificates); ++ QSslConfiguration::setDefaultConfiguration(conf); ++ }); ++ ++ auto chain = QSslCertificate::fromPath(testDataDir + QStringLiteral("certs/qtiochain.crt"), QSsl::Pem); ++ QCOMPARE(chain.size(), 2); ++ QVERIFY(!chain.at(0).isNull()); ++ QVERIFY(!chain.at(1).isNull()); ++ auto errors = QSslCertificate::verify(chain); ++ // At least, test that 'verify' did not alter the default configuration: ++ QCOMPARE(defaultCACertificates, QSslConfiguration::defaultConfiguration().caCertificates()); ++ if (!errors.isEmpty()) ++ QSKIP("The certificate for qt.io could not be trusted, skipping the rest of the test"); ++#ifdef Q_OS_WINDOWS ++ const auto fakeCaChain = QSslCertificate::fromPath(testDataDir + QStringLiteral("certs/fluke.cert")); ++ QCOMPARE(fakeCaChain.size(), 1); ++ const auto caCert = fakeCaChain.at(0); ++ QVERIFY(!caCert.isNull()); ++ auto conf = QSslConfiguration::defaultConfiguration(); ++ conf.setCaCertificates({caCert}); ++ QSslConfiguration::setDefaultConfiguration(conf); ++ errors = QSslCertificate::verify(chain); ++ QVERIFY(errors.size() > 0); ++ QCOMPARE(QSslConfiguration::defaultConfiguration().caCertificates(), QList() << caCert); ++#endif ++} ++#endif // QT_NO_OPENSSL ++ + void tst_QSslSocket::disconnectFromHostWhenConnecting() + { + QSslSocketPtr socket = newSocket(); +diff --git a/tests/auto/network/ssl/ssl.pro b/tests/auto/network/ssl/ssl.pro +index 169e9bce83..c9a4474c4c 100644 +--- a/tests/auto/network/ssl/ssl.pro ++++ b/tests/auto/network/ssl/ssl.pro +@@ -5,11 +5,12 @@ SUBDIRS=\ + qpassworddigestor \ + qsslcertificate \ + qsslcipher \ +- qsslellipticcurve \ +- qsslerror \ +- qsslkey \ ++ qsslellipticcurve + + qtConfig(ssl) { ++ SUBDIRS += qsslkey \ ++ qsslerror ++ + qtConfig(private_tests) { + SUBDIRS += \ + qsslsocket \ +diff --git a/tests/auto/other/networkselftest/networkselftest.pro b/tests/auto/other/networkselftest/networkselftest.pro +index 7c307a097b..ea81b10f8c 100644 +--- a/tests/auto/other/networkselftest/networkselftest.pro ++++ b/tests/auto/other/networkselftest/networkselftest.pro +@@ -3,3 +3,6 @@ TARGET = tst_networkselftest + + SOURCES += tst_networkselftest.cpp + QT = core core-private network testlib ++ ++CONFIG += unsupported/testserver ++QT_TEST_SERVER_LIST = cyrus vsftpd apache2 ftp-proxy danted squid echo +diff --git a/tests/auto/other/networkselftest/tst_networkselftest.cpp b/tests/auto/other/networkselftest/tst_networkselftest.cpp +index 396e23da0c..b875c7c5cf 100644 +--- a/tests/auto/other/networkselftest/tst_networkselftest.cpp ++++ b/tests/auto/other/networkselftest/tst_networkselftest.cpp +@@ -35,18 +35,16 @@ + #include + #include + +-#ifndef QT_NO_BEARERMANAGEMENT +-#include +-#include +-#include +-#endif +- + #include "../../network-settings.h" + + class tst_NetworkSelfTest: public QObject + { + Q_OBJECT ++ // This is either old server's address, or the new http ++ // server's address (different from ftp, for example): + QHostAddress cachedIpAddress; ++ // This is only for the new docker test server: ++ QHostAddress ftpServerIpAddress; + public: + tst_NetworkSelfTest(); + virtual ~tst_NetworkSelfTest(); +@@ -83,12 +81,6 @@ private slots: + + // ssl supported test + void supportsSsl(); +-private: +-#ifndef QT_NO_BEARERMANAGEMENT +- QNetworkConfigurationManager *netConfMan; +- QNetworkConfiguration networkConfiguration; +- QScopedPointer networkSession; +-#endif + }; + + class Chat +@@ -223,8 +215,8 @@ static void netChat(int port, const QList &chat) + #else + QTcpSocket socket; + #endif +- +- socket.connectToHost(QtNetworkSettings::serverName(), port); ++ const auto serverName = QtNetworkSettings::hostWithServiceOnPort(port); ++ socket.connectToHost(serverName, port); + qDebug() << 0 << "Connecting to server on port" << port; + QVERIFY2(socket.waitForConnected(10000), + QString("Failed to connect to server in step 0: %1").arg(socket.errorString()).toLocal8Bit()); +@@ -236,7 +228,7 @@ static void netChat(int port, const QList &chat) + case Chat::Expect: { + qDebug() << i << "Expecting" << prettyByteArray(it->data); + if (!doSocketRead(&socket, it->data.length(), 3 * defaultReadTimeoutMS)) +- QFAIL(msgDoSocketReadFailed(QtNetworkSettings::serverName(), port, i, it->data.length())); ++ QFAIL(msgDoSocketReadFailed(serverName, port, i, it->data.length())); + + // pop that many bytes off the socket + QByteArray received = socket.read(it->data.length()); +@@ -254,7 +246,7 @@ static void netChat(int port, const QList &chat) + while (true) { + // scan the buffer until we have our string + if (!doSocketRead(&socket, it->data.length())) +- QFAIL(msgDoSocketReadFailed(QtNetworkSettings::serverName(), port, i, it->data.length())); ++ QFAIL(msgDoSocketReadFailed(serverName, port, i, it->data.length())); + + QByteArray buffer; + buffer.resize(socket.bytesAvailable()); +@@ -275,7 +267,7 @@ static void netChat(int port, const QList &chat) + case Chat::SkipBytes: { + qDebug() << i << "Skipping" << it->value << "bytes"; + if (!doSocketRead(&socket, it->value)) +- QFAIL(msgDoSocketReadFailed(QtNetworkSettings::serverName(), port, i, it->value)); ++ QFAIL(msgDoSocketReadFailed(serverName, port, i, it->value)); + + // now discard the bytes + QByteArray buffer = socket.read(it->value); +@@ -324,7 +316,7 @@ static void netChat(int port, const QList &chat) + + case Chat::Reconnect: + qDebug() << i << "Reconnecting to server on port" << port; +- socket.connectToHost(QtNetworkSettings::serverName(), port); ++ socket.connectToHost(serverName, port); + QVERIFY2(socket.waitForConnected(10000), + QString("Failed to reconnect to server in step %1: %2").arg(i).arg(socket.errorString()).toLocal8Bit()); + break; +@@ -357,7 +349,7 @@ QHostAddress tst_NetworkSelfTest::serverIpAddress() + { + if (cachedIpAddress.protocol() == QAbstractSocket::UnknownNetworkLayerProtocol) { + // need resolving +- QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::serverName()); ++ QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::httpServerName()); + if(resolved.error() != QHostInfo::NoError || + resolved.addresses().isEmpty()) { + qWarning("QHostInfo::fromName failed (%d).", resolved.error()); +@@ -370,16 +362,27 @@ QHostAddress tst_NetworkSelfTest::serverIpAddress() + + void tst_NetworkSelfTest::initTestCase() + { ++#if defined(QT_TEST_SERVER) ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::echoServerName(), 7)); ++ // TODO: 'daytime' , port 13. ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpServerName(), 21)); ++ const QHostInfo resolved = QHostInfo::fromName(QtNetworkSettings::ftpServerName()); ++ if (resolved.error() == QHostInfo::NoError && !resolved.addresses().isEmpty()) ++ ftpServerIpAddress = resolved.addresses().first(); ++ // TODO: 'ssh', port 22. ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::ftpProxyServerName(), 2121)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 80)); ++ // TODO: 'smb', port 139. ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::imapServerName(), 143)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpServerName(), 443)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3128)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3129)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::httpProxyServerName(), 3130)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1080)); ++ QVERIFY(QtNetworkSettings::verifyConnection(QtNetworkSettings::socksProxyServerName(), 1081)); ++#else + if (!QtNetworkSettings::verifyTestNetworkSettings()) + QSKIP("No network test server available"); +-#ifndef QT_NO_BEARERMANAGEMENT +- netConfMan = new QNetworkConfigurationManager(this); +- networkConfiguration = netConfMan->defaultConfiguration(); +- networkSession.reset(new QNetworkSession(networkConfiguration)); +- if (!networkSession->isOpen()) { +- networkSession->open(); +- QVERIFY(networkSession->waitForOpened(30000)); +- } + #endif + } + +@@ -402,7 +405,7 @@ void tst_NetworkSelfTest::dnsResolution_data() + { + QTest::addColumn("hostName"); + QTest::newRow("local-name") << QtNetworkSettings::serverLocalName(); +- QTest::newRow("fqdn") << QtNetworkSettings::serverName(); ++ QTest::newRow("fqdn") << QtNetworkSettings::httpServerName(); + } + + void tst_NetworkSelfTest::dnsResolution() +@@ -420,7 +423,7 @@ void tst_NetworkSelfTest::serverReachability() + { + // check that we get a proper error connecting to port 12346 + QTcpSocket socket; +- socket.connectToHost(QtNetworkSettings::serverName(), 12346); ++ socket.connectToHost(QtNetworkSettings::httpServerName(), 12346); + + QElapsedTimer timer; + timer.start(); +@@ -434,7 +437,11 @@ void tst_NetworkSelfTest::serverReachability() + + void tst_NetworkSelfTest::remotePortsOpen_data() + { ++#if defined(QT_TEST_SERVER) ++ QSKIP("Skipping, for the docker test server already tested by initTestCase()"); ++#endif + QTest::addColumn("portNumber"); ++ + QTest::newRow("echo") << 7; + QTest::newRow("daytime") << 13; + QTest::newRow("ftp") << 21; +@@ -453,9 +460,10 @@ void tst_NetworkSelfTest::remotePortsOpen_data() + + void tst_NetworkSelfTest::remotePortsOpen() + { +- QFETCH(int, portNumber); ++ QFETCH(const int, portNumber); ++ + QTcpSocket socket; +- socket.connectToHost(QtNetworkSettings::serverName(), portNumber); ++ socket.connectToHost(QtNetworkSettings::hostWithServiceOnPort(portNumber), quint16(portNumber)); + + if (!socket.waitForConnected(10000)) { + if (socket.error() == QAbstractSocket::SocketTimeoutError) +@@ -470,43 +478,43 @@ static QList ftpChat(const QByteArray &userSuffix = QByteArray()) + { + QList rv; + rv << Chat::expect("220") +- << Chat::discardUntil("\r\n") +- << Chat::send("USER anonymous" + userSuffix + "\r\n") +- << Chat::expect("331") +- << Chat::discardUntil("\r\n") +- << Chat::send("PASS user@hostname\r\n") +- << Chat::expect("230") +- << Chat::discardUntil("\r\n") +- +- << Chat::send("CWD pub\r\n") +- << Chat::expect("250") +- << Chat::discardUntil("\r\n") +- << Chat::send("CWD dir-not-readable\r\n") +- << Chat::expect("550") +- << Chat::discardUntil("\r\n") +- << Chat::send("PWD\r\n") +- << Chat::expect("257 \"/pub\"\r\n") +- << Chat::send("SIZE file-not-readable.txt\r\n") +- << Chat::expect("213 41\r\n") +- << Chat::send("CWD qxmlquery\r\n") +- << Chat::expect("250") +- << Chat::discardUntil("\r\n") +- +- << Chat::send("CWD /qtest\r\n") +- << Chat::expect("250") +- << Chat::discardUntil("\r\n") +- << Chat::send("SIZE bigfile\r\n") +- << Chat::expect("213 519240\r\n") +- << Chat::send("SIZE rfc3252\r\n") +- << Chat::expect("213 25962\r\n") +- << Chat::send("SIZE rfc3252.txt\r\n") +- << Chat::expect("213 25962\r\n") +-// << Chat::send("SIZE nonASCII/german_\344\366\374\304\326\334\337\r\n") +-// << Chat::expect("213 40\r\n") +- +- << Chat::send("QUIT\r\n"); +- rv << Chat::expect("221") +- << Chat::discardUntil("\r\n"); ++ << Chat::discardUntil("\r\n") ++ << Chat::send("USER anonymous" + userSuffix + "\r\n") ++ << Chat::expect("331") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("PASS user@hostname\r\n") ++ << Chat::expect("230") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("CWD pub\r\n") ++ << Chat::expect("250") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("CWD dir-not-readable\r\n") ++ << Chat::expect("550") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("PWD\r\n") ++#if defined(QT_TEST_SERVER) ++ << Chat::expect("257 \"/pub\" is the current directory\r\n") ++#else ++ << Chat::expect("257 \"/pub\"\r\n") ++#endif ++ << Chat::send("SIZE file-not-readable.txt\r\n") ++ << Chat::expect("213 41\r\n") ++ << Chat::send("CWD qxmlquery\r\n") ++ << Chat::expect("250") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("CWD /qtest\r\n") ++ << Chat::expect("250") ++ << Chat::discardUntil("\r\n") ++ << Chat::send("SIZE bigfile\r\n") ++ << Chat::expect("213 519240\r\n") ++ << Chat::send("SIZE rfc3252\r\n") ++ << Chat::expect("213 25962\r\n") ++ << Chat::send("SIZE rfc3252.txt\r\n") ++ << Chat::expect("213 25962\r\n") ++ << Chat::send("QUIT\r\n"); ++ ++ rv << Chat::expect("221") ++ << Chat::discardUntil("\r\n"); + + rv << Chat::RemoteDisconnect; + return rv; +@@ -519,7 +527,7 @@ void tst_NetworkSelfTest::ftpServer() + + void tst_NetworkSelfTest::ftpProxyServer() + { +- netChat(2121, ftpChat("@" + QtNetworkSettings::serverName().toLatin1())); ++ netChat(2121, ftpChat("@" + QtNetworkSettings::ftpServerName().toLatin1())); + } + + void tst_NetworkSelfTest::imapServer() +@@ -551,7 +559,7 @@ void tst_NetworkSelfTest::httpServer() + // HTTP/1.0 chat: + << Chat::Reconnect + << Chat::send("GET / HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -563,7 +571,7 @@ void tst_NetworkSelfTest::httpServer() + << Chat::Reconnect + << Chat::send("POST / HTTP/1.0\r\n" + "Content-Length: 5\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n" + "Hello") +@@ -575,7 +583,7 @@ void tst_NetworkSelfTest::httpServer() + // HTTP protected area + << Chat::Reconnect + << Chat::send("GET /qtest/protected/rfc3252.txt HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -585,7 +593,7 @@ void tst_NetworkSelfTest::httpServer() + + << Chat::Reconnect + << Chat::send("HEAD /qtest/protected/rfc3252.txt HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "Authorization: Basic cXNvY2tzdGVzdDpwYXNzd29yZA==\r\n" + "\r\n") +@@ -597,7 +605,7 @@ void tst_NetworkSelfTest::httpServer() + // DAV area + << Chat::Reconnect + << Chat::send("HEAD /dav/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -609,7 +617,7 @@ void tst_NetworkSelfTest::httpServer() + << Chat::Reconnect + << Chat::send("PUT /dav/networkselftest-" + uniqueExtension + ".txt HTTP/1.0\r\n" + "Content-Length: 5\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n" + "Hello") +@@ -621,7 +629,7 @@ void tst_NetworkSelfTest::httpServer() + // check that the file did get uploaded + << Chat::Reconnect + << Chat::send("HEAD /dav/networkselftest-" + uniqueExtension + ".txt HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -633,7 +641,7 @@ void tst_NetworkSelfTest::httpServer() + // HTTP/1.0 DELETE + << Chat::Reconnect + << Chat::send("DELETE /dav/networkselftest-" + uniqueExtension + ".txt HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -668,7 +676,7 @@ void tst_NetworkSelfTest::httpServerFiles() + + QList chat; + chat << Chat::send("HEAD " + url.toEncoded() + " HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "Authorization: Basic cXNvY2tzdGVzdDpwYXNzd29yZA==\r\n" + "\r\n") +@@ -757,7 +765,7 @@ void tst_NetworkSelfTest::httpsServer() + netChat(443, QList() + << Chat::StartEncryption + << Chat::send("GET / HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -772,7 +780,7 @@ void tst_NetworkSelfTest::httpProxy() + netChat(3128, QList() + // proxy GET by IP + << Chat::send("GET http://" + serverIpAddress().toString().toLatin1() + "/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Proxy-connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -782,8 +790,8 @@ void tst_NetworkSelfTest::httpProxy() + + // proxy GET by hostname + << Chat::Reconnect +- << Chat::send("GET http://" + QtNetworkSettings::serverName().toLatin1() + "/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ << Chat::send("GET http://" + QtNetworkSettings::httpServerName().toLatin1() + "/ HTTP/1.0\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Proxy-connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -793,8 +801,13 @@ void tst_NetworkSelfTest::httpProxy() + + // proxy CONNECT by IP + << Chat::Reconnect ++#if !defined(QT_TEST_SERVER) + << Chat::send("CONNECT " + serverIpAddress().toString().toLatin1() + ":21 HTTP/1.0\r\n" + "\r\n") ++#else ++ << Chat::send("CONNECT " + ftpServerIpAddress.toString().toLatin1() + ":21 HTTP/1.0\r\n" ++ "\r\n") ++#endif + << Chat::expect("HTTP/1.") + << Chat::discardUntil(" ") + << Chat::expect("200 ") +@@ -803,7 +816,7 @@ void tst_NetworkSelfTest::httpProxy() + + // proxy CONNECT by hostname + << Chat::Reconnect +- << Chat::send("CONNECT " + QtNetworkSettings::serverName().toLatin1() + ":21 HTTP/1.0\r\n" ++ << Chat::send("CONNECT " + QtNetworkSettings::ftpServerName().toLatin1() + ":21 HTTP/1.0\r\n" + "\r\n") + << Chat::expect("HTTP/1.") + << Chat::discardUntil(" ") +@@ -817,8 +830,8 @@ void tst_NetworkSelfTest::httpProxyBasicAuth() + { + netChat(3129, QList() + // test auth required response +- << Chat::send("GET http://" + QtNetworkSettings::serverName().toLatin1() + "/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ << Chat::send("GET http://" + QtNetworkSettings::httpServerName().toLatin1() + "/ HTTP/1.0\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Proxy-connection: close\r\n" + "\r\n") + << Chat::expect("HTTP/1.") +@@ -829,8 +842,8 @@ void tst_NetworkSelfTest::httpProxyBasicAuth() + + // now try sending our credentials + << Chat::Reconnect +- << Chat::send("GET http://" + QtNetworkSettings::serverName().toLatin1() + "/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ << Chat::send("GET http://" + QtNetworkSettings::httpServerName().toLatin1() + "/ HTTP/1.0\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" + "Proxy-connection: close\r\n" + "Proxy-Authorization: Basic cXNvY2tzdGVzdDpwYXNzd29yZA==\r\n" + "\r\n") +@@ -844,9 +857,13 @@ void tst_NetworkSelfTest::httpProxyNtlmAuth() + { + netChat(3130, QList() + // test auth required response +- << Chat::send("GET http://" + QtNetworkSettings::serverName().toLatin1() + "/ HTTP/1.0\r\n" +- "Host: " + QtNetworkSettings::serverName().toLatin1() + "\r\n" ++ << Chat::send("GET http://" + QtNetworkSettings::httpServerName().toLatin1() + "/ HTTP/1.0\r\n" ++ "Host: " + QtNetworkSettings::httpServerName().toLatin1() + "\r\n" ++#if !defined(QT_TEST_SERVER) + "Proxy-connection: keep-alive\r\n" // NTLM auth will disconnect ++#else ++ "Proxy-connection: close\r\n" // Well, what do you know? It keeps it alive! ++#endif + "\r\n") + << Chat::expect("HTTP/1.") + << Chat::discardUntil(" ") +@@ -877,8 +894,12 @@ void tst_NetworkSelfTest::socks5Proxy() + char buf[4]; + quint32 data; + } ip4Address; +- ip4Address.data = qToBigEndian(serverIpAddress().toIPv4Address()); +- ++ ip4Address.data = ++#if !defined(QT_TEST_SERVER) ++ qToBigEndian(serverIpAddress().toIPv4Address()); ++#else ++ qToBigEndian(ftpServerIpAddress.toIPv4Address()); ++#endif + const QByteArray handshakeNoAuthData = QByteArray(handshakeNoAuth, int(sizeof handshakeNoAuth) - 1); + const QByteArray handshakeOkNoAuthData = QByteArray(handshakeOkNoAuth, int(sizeof handshakeOkNoAuth) - 1); + const QByteArray connect1Data = QByteArray(connect1, int(sizeof connect1) - 1); +@@ -887,6 +908,10 @@ void tst_NetworkSelfTest::socks5Proxy() + + netChat(1080, QList() + // IP address connection ++#if !defined(QT_TEST_SERVER) ++ // This test relies on the proxy and ftp servers ++ // running on the same machine, which is not the ++ // case for the docker test server. + << Chat::send(handshakeNoAuthData) + << Chat::expect(handshakeOkNoAuthData) + << Chat::send(connect1Data) +@@ -897,6 +922,7 @@ void tst_NetworkSelfTest::socks5Proxy() + + // connect by IP + << Chat::Reconnect ++#endif + << Chat::send(handshakeNoAuthData) + << Chat::expect(handshakeOkNoAuthData) + << Chat::send(QBA(connect1a) + QByteArray::fromRawData(ip4Address.buf, 4) + QBA(connect1b)) +@@ -904,8 +930,9 @@ void tst_NetworkSelfTest::socks5Proxy() + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port + << ftpChat() +- +- // connect to "localhost" by hostname ++#if !defined(QT_TEST_SERVER) ++ // connect to "localhost" by hostname, the same as above: ++ // makes no sense with the docker test server. + << Chat::Reconnect + << Chat::send(handshakeNoAuthData) + << Chat::expect(handshakeOkNoAuthData) +@@ -914,12 +941,12 @@ void tst_NetworkSelfTest::socks5Proxy() + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port + << ftpChat() +- ++#endif + // connect to server by its official name + << Chat::Reconnect + << Chat::send(handshakeNoAuthData) + << Chat::expect(handshakeOkNoAuthData) +- << Chat::send(QBA(connect2a) + char(QtNetworkSettings::serverName().size()) + QtNetworkSettings::serverName().toLatin1() + QBA(connect1b)) ++ << Chat::send(QBA(connect2a) + char(QtNetworkSettings::ftpServerName().size()) + QtNetworkSettings::ftpServerName().toLatin1() + QBA(connect1b)) + << Chat::expect(connectedData) + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port +@@ -941,8 +968,10 @@ void tst_NetworkSelfTest::socks5ProxyAuth() + << Chat::send(handshakeNoAuthData) + << Chat::expect(handshakeAuthNotOkData) + << Chat::RemoteDisconnect +- +- // now try to connect with authentication ++#if !defined(QT_TEST_SERVER) ++ // now try to connect with authentication, ++ // danted is just that, socks 5 proxy and ++ // does not have ftp running, skip! + << Chat::Reconnect + << Chat::send(handshakeAuthPasswordData) + << Chat::expect(handshakeOkPasswdAuthData) +@@ -951,6 +980,16 @@ void tst_NetworkSelfTest::socks5ProxyAuth() + << Chat::expect("\1") // IPv4 address following + << Chat::skipBytes(6) // the server's local address and port + << ftpChat() ++#else ++ << Chat::Reconnect ++ << Chat::send(handshakeAuthPasswordData) ++ << Chat::expect(handshakeOkPasswdAuthData) ++ << Chat::send(QBA(connect2a) + char(QtNetworkSettings::ftpServerName().size()) + QtNetworkSettings::ftpServerName().toLatin1() + QBA(connect1b)) ++ << Chat::expect(connectedData) ++ << Chat::expect("\1") // IPv4 address following ++ << Chat::skipBytes(6) // the server's local address and port ++ << ftpChat() ++#endif + ); + } + +@@ -984,6 +1023,9 @@ static void ensureTermination(QProcess &process) + + void tst_NetworkSelfTest::smbServer() + { ++#if defined(QT_TEST_SERVER) ++ QSKIP("Not supported by the docker test server"); ++#endif // QT_TEST_SERVER + static const char contents[] = "This is 34 bytes. Do not change..."; + #ifdef Q_OS_WIN + // use Windows's native UNC support to try and open a file on the server +diff --git a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp +index b305eee0ec..d2050a61aa 100644 +--- a/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp ++++ b/tests/auto/testlib/qabstractitemmodeltester/tst_qabstractitemmodeltester.cpp +@@ -40,6 +40,7 @@ private slots: + void stringListModel(); + void treeWidgetModel(); + void standardItemModel(); ++ void standardItemModelZeroColumns(); + void testInsertThroughProxy(); + void moveSourceItems(); + void testResetThroughProxy(); +@@ -104,6 +105,22 @@ void tst_QAbstractItemModelTester::standardItemModel() + model.insertColumns(0, 5, model.index(1, 3)); + } + ++void tst_QAbstractItemModelTester::standardItemModelZeroColumns() ++{ ++ QStandardItemModel model; ++ QAbstractItemModelTester t1(&model); ++ // QTBUG-92220 ++ model.insertRows(0, 5); ++ model.removeRows(0, 5); ++ // QTBUG-92886 ++ model.insertRows(0, 5); ++ model.removeRows(1, 2); ++ ++ const QModelIndex parentIndex = model.index(0, 0); ++ model.insertRows(0, 5, parentIndex); ++ model.removeRows(1, 2, parentIndex); ++} ++ + void tst_QAbstractItemModelTester::testInsertThroughProxy() + { + DynamicTreeModel *model = new DynamicTreeModel(this); +diff --git a/tests/auto/testlib/selftests/tst_selftests.cpp b/tests/auto/testlib/selftests/tst_selftests.cpp +index 95b759edc2..829a79c0e6 100644 +--- a/tests/auto/testlib/selftests/tst_selftests.cpp ++++ b/tests/auto/testlib/selftests/tst_selftests.cpp +@@ -616,7 +616,7 @@ static QProcessEnvironment processEnvironment() + || key == QLatin1String("QEMU_SET_ENV") || key == QLatin1String("QEMU_LD_PREFIX") // Required for QEMU + # if !defined(Q_OS_MAC) + || key == QLatin1String("DISPLAY") || key == QLatin1String("XAUTHLOCALHOSTNAME") +- || key.startsWith(QLatin1String("XDG_")) ++ || key.startsWith(QLatin1String("XDG_")) || key == QLatin1String("XAUTHORITY") + # endif // !Q_OS_MAC + #endif // Q_OS_UNIX + #ifdef __COVERAGESCANNER__ +diff --git a/tests/auto/tools/moc/enum_inc.h b/tests/auto/tools/moc/enum_inc.h +index 32eec283e4..7d7b6ae9f3 100644 +--- a/tests/auto/tools/moc/enum_inc.h ++++ b/tests/auto/tools/moc/enum_inc.h +@@ -1 +1,2 @@ +-parcel ++parcel = 42, ++part = 12, +diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp +index d5813d64ff..c355ee9665 100644 +--- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp ++++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp +@@ -218,6 +218,7 @@ private slots: + void QTBUG75615_sizeHintWithStylesheet(); + void ensureNoIndexAtLength(); + void offsetConsistent(); ++ void sectionsDontSortWhenNotClickingInThem(); + + void initialSortOrderRole(); + +@@ -2628,6 +2629,140 @@ void tst_QHeaderView::offsetConsistent() + QVERIFY(offset2 > offset1); + } + ++void tst_QHeaderView::sectionsDontSortWhenNotClickingInThem() ++{ ++ QTableView qtv; ++ QStandardItemModel amodel(1000, 4); ++ qtv.setModel(&amodel); ++ QHeaderView *hv = qtv.horizontalHeader(); ++ hv->setSectionsClickable(true); ++ hv->setFirstSectionMovable(true); ++ hv->setSectionsMovable(false); ++ ++ enum { DefaultYOffset = 5, OutOfRangeYOffset = 10000 }; ++ ++ const auto pressOnSection = [&](int section, int yOffset = DefaultYOffset) ++ { ++ QTest::mousePress(hv->viewport(), Qt::LeftButton, Qt::NoModifier, ++ QPoint(hv->sectionViewportPosition(section) + hv->sectionSize(section) / 2, yOffset)); ++ }; ++ const auto moveOntoSection = [&](int section, int yOffset = DefaultYOffset) ++ { ++ QTest::mouseMove(hv->viewport(), ++ QPoint(hv->sectionViewportPosition(section) + hv->sectionSize(section) / 2, yOffset)); ++ }; ++ const auto releaseOnSection = [&](int section, int yOffset = DefaultYOffset) ++ { ++ QTest::mouseRelease(hv->viewport(), Qt::LeftButton, Qt::NoModifier, ++ QPoint(hv->sectionViewportPosition(section) + hv->sectionSize(section) / 2, yOffset)); ++ }; ++ ++ hv->setSortIndicator(-1, Qt::AscendingOrder); ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ releaseOnSection(0); ++ // RESULT: sorting ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ hv->setSortIndicator(-1, Qt::AscendingOrder); ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ moveOntoSection(1); ++ releaseOnSection(1); ++ // RESULT: no sorting ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ moveOntoSection(1); ++ moveOntoSection(2); ++ releaseOnSection(2); ++ // RESULT: no sorting ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ moveOntoSection(1); ++ moveOntoSection(0); ++ releaseOnSection(0); ++ // RESULT: sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ pressOnSection(0); ++ moveOntoSection(1); ++ releaseOnSection(1); ++ // RESULT: no change, still sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ auto sortOrder = hv->sortIndicatorOrder(); ++ pressOnSection(1); ++ moveOntoSection(0); ++ releaseOnSection(0); ++ // RESULT: no change, still sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ QCOMPARE(hv->sortIndicatorOrder(), sortOrder); ++ ++ pressOnSection(1); ++ moveOntoSection(0); ++ moveOntoSection(1); ++ releaseOnSection(1); ++ // RESULT: sorting by 1 ++ QCOMPARE(hv->sortIndicatorSection(), 1); ++ ++ pressOnSection(1); ++ moveOntoSection(0); ++ releaseOnSection(0); ++ // RESULT: no change, still sorting by 1 ++ QCOMPARE(hv->sortIndicatorSection(), 1); ++ ++ hv->setSortIndicator(-1, Qt::AscendingOrder); ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ releaseOnSection(0, OutOfRangeYOffset); ++ // RESULT: no sorting ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ moveOntoSection(0, OutOfRangeYOffset); ++ releaseOnSection(0, OutOfRangeYOffset); ++ // RESULT: no sorting ++ QCOMPARE(hv->sortIndicatorSection(), -1); ++ ++ pressOnSection(0); ++ moveOntoSection(0, OutOfRangeYOffset); ++ moveOntoSection(0); ++ releaseOnSection(0); ++ // RESULT: sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ pressOnSection(1); ++ releaseOnSection(1, OutOfRangeYOffset); ++ // RESULT: no change, still sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ pressOnSection(1); ++ moveOntoSection(1, OutOfRangeYOffset); ++ releaseOnSection(1, OutOfRangeYOffset); ++ // RESULT: no change, still sorting by 0 ++ QCOMPARE(hv->sortIndicatorSection(), 0); ++ ++ pressOnSection(1); ++ moveOntoSection(1, OutOfRangeYOffset); ++ moveOntoSection(1); ++ releaseOnSection(1); ++ // RESULT: sorting by 1 ++ QCOMPARE(hv->sortIndicatorSection(), 1); ++ ++ pressOnSection(2); ++ moveOntoSection(1); ++ moveOntoSection(2); ++ moveOntoSection(2, OutOfRangeYOffset); ++ releaseOnSection(2, OutOfRangeYOffset); ++ // RESULT: no change, still sorting by 1 ++ QCOMPARE(hv->sortIndicatorSection(), 1); ++} ++ + void tst_QHeaderView::initialSortOrderRole() + { + QTableView view; // ### Shadowing member view (of type QHeaderView) +diff --git a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp +index 941ff52373..04c6acfea1 100644 +--- a/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp ++++ b/tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp +@@ -2707,12 +2707,12 @@ void tst_QListView::internalDragDropMove() + + list.startDrag(Qt::MoveAction); + +- QCOMPARE(data.stringList(), expectedData); ++ QTRY_COMPARE(data.stringList(), expectedData); + + // if the model doesn't implement moveRows, or if items are replaced, then selection is lost + if (modelMoves && !(itemFlags & Qt::ItemIsDropEnabled)) { + const QStringList actualSelected = getSelectedTexts(); +- QCOMPARE(actualSelected, expectedSelected); ++ QTRY_COMPARE(actualSelected, expectedSelected); + } + } + +diff --git a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +index 761357b252..06bb706074 100644 +--- a/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp ++++ b/tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp +@@ -397,6 +397,7 @@ private slots: + void checkHeaderMinSize(); + + void resizeToContents(); ++ void resizeToContentsSpans(); + + void tabFocus(); + void bigModel(); +@@ -3721,6 +3722,70 @@ void tst_QTableView::resizeToContents() + + } + ++ ++class SpanModel : public QAbstractTableModel ++{ ++public: ++ SpanModel(bool sectionsMoved) ++ : _sectionsMoved(sectionsMoved) ++ {} ++ int columnCount(const QModelIndex & = {}) const override { return 2; } ++ int rowCount(const QModelIndex & = {}) const override { return 1; } ++ QVariant data(const QModelIndex &idx, int role = Qt::DisplayRole) const override ++ { ++ if (role != Qt::DisplayRole) ++ return QVariant(); ++ const int col = _sectionsMoved ? 1 - idx.column() : idx.column(); ++ if (col == 0) ++ return "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; ++ return QVariant(); ++ } ++private: ++ bool _sectionsMoved; ++}; ++ ++ ++void tst_QTableView::resizeToContentsSpans() ++{ ++ SpanModel model1(false); ++ SpanModel model2(true); ++ QTableView view1, view2, view3; ++ view1.setModel(&model1); ++ view2.setModel(&model2); ++ view2.horizontalHeader()->moveSection(0, 1); ++ view3.setModel(&model1); ++ ++ view1.setSpan(0, 0, 1, 2); ++ view2.setSpan(0, 1, 1, 2); ++ view1.show(); ++ view2.show(); ++ view3.show(); ++ QVERIFY(QTest::qWaitForWindowExposed(&view1)); ++ QVERIFY(QTest::qWaitForWindowExposed(&view2)); ++ QVERIFY(QTest::qWaitForWindowExposed(&view3)); ++ view1.setColumnWidth(0, 100); ++ view1.setColumnWidth(1, 100); ++ view2.setColumnWidth(0, 100); ++ view2.setColumnWidth(1, 100); ++ view3.setColumnWidth(0, 200); ++ ++ view1.resizeRowToContents(0); ++ view2.resizeRowToContents(0); ++ view3.resizeRowToContents(0); ++ QCOMPARE(view1.rowHeight(0), view3.rowHeight(0)); ++ QCOMPARE(view2.rowHeight(0), view3.rowHeight(0)); ++ ++ view3.resizeColumnToContents(0); ++ view3.resizeRowToContents(0); ++ // height should be only 1 text line for easy testing ++ view1.setRowHeight(0, view3.verticalHeader()->sectionSize(0)); ++ view2.setRowHeight(0, view3.verticalHeader()->sectionSize(0)); ++ view1.resizeColumnToContents(0); ++ view2.resizeColumnToContents(1); ++ QCOMPARE(view1.columnWidth(0), view3.columnWidth(0) - view1.columnWidth(1)); ++ QCOMPARE(view2.columnWidth(0), view3.columnWidth(0) - view2.columnWidth(1)); ++} ++ + QT_BEGIN_NAMESPACE + extern bool Q_WIDGETS_EXPORT qt_tab_all_widgets(); // qapplication.cpp + QT_END_NAMESPACE +diff --git a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp +index 7da56ab797..b129868bbd 100644 +--- a/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp ++++ b/tests/auto/widgets/itemviews/qtreewidget/tst_qtreewidget.cpp +@@ -151,6 +151,7 @@ private slots: + void getMimeDataWithInvalidItem(); + void testVisualItemRect(); + void reparentHiddenItem(); ++ void persistentChildIndex(); + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + void clearItemData(); + #endif +@@ -3597,6 +3598,21 @@ void tst_QTreeWidget::reparentHiddenItem() + QVERIFY(grandChild->isHidden()); + } + ++void tst_QTreeWidget::persistentChildIndex() // QTBUG-90030 ++{ ++ QTreeWidget tree; ++ QTreeWidgetItem *toplevel = new QTreeWidgetItem(QStringList{QStringLiteral("toplevel")}); ++ tree.addTopLevelItem(toplevel); ++ QModelIndex firstIndex = tree.model()->index(0, 0); ++ QTreeWidgetItem *child1 = new QTreeWidgetItem(QStringList{QStringLiteral("child1")}); ++ QTreeWidgetItem *child2 = new QTreeWidgetItem(QStringList{QStringLiteral("child2")}); ++ toplevel->addChildren({child1, child2}); ++ QPersistentModelIndex persistentIdx = tree.model()->index(1, 0, firstIndex); ++ QCOMPARE(persistentIdx.data().toString(), QStringLiteral("child2")); ++ tree.model()->removeRows(0, 1, firstIndex); ++ QCOMPARE(persistentIdx.data().toString(), QStringLiteral("child2")); ++} ++ + #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) + void tst_QTreeWidget::clearItemData() + { +diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp +index 86a7b112d2..d8bb34933a 100644 +--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp ++++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp +@@ -166,6 +166,7 @@ private slots: + void inputMethodUpdate(); + void task_QTBUG_52027_mapCompleterIndex(); + void checkMenuItemPosWhenStyleSheetIsSet(); ++ void checkEmbeddedLineEditWhenStyleSheetIsSet(); + + private: + PlatformInputContext m_platformInputContext; +@@ -3559,5 +3560,31 @@ void tst_QComboBox::checkMenuItemPosWhenStyleSheetIsSet() + qApp->setStyleSheet(oldCss); + } + ++void tst_QComboBox::checkEmbeddedLineEditWhenStyleSheetIsSet() ++{ ++ QString newCss = "QWidget { background-color: red; color: white; }"; ++ QString oldCss = qApp->styleSheet(); ++ qApp->setStyleSheet(newCss); ++ ++ QWidget topLevel; ++ auto layout = new QVBoxLayout(&topLevel); ++ topLevel.setLayout(layout); ++ auto comboBox = new QComboBox; ++ layout->addWidget(comboBox); ++ topLevel.show(); ++ comboBox->setEditable(true); ++ QApplication::setActiveWindow(&topLevel); ++ QVERIFY(QTest::qWaitForWindowActive(&topLevel)); ++ ++ QImage grab = comboBox->grab().toImage(); ++ auto color = grab.pixelColor(grab.rect().center()); ++ ++ QVERIFY(color.red() > 240); ++ QVERIFY(color.green() < 20); ++ QVERIFY(color.blue() < 20); ++ ++ qApp->setStyleSheet(oldCss); ++} ++ + QTEST_MAIN(tst_QComboBox) + #include "tst_qcombobox.moc" +diff --git a/tests/auto/widgets/widgets/qmdiarea/BLACKLIST b/tests/auto/widgets/widgets/qmdiarea/BLACKLIST +index 6010772be7..1108acd027 100644 +--- a/tests/auto/widgets/widgets/qmdiarea/BLACKLIST ++++ b/tests/auto/widgets/widgets/qmdiarea/BLACKLIST +@@ -11,3 +11,6 @@ opensuse-42.3 + [resizeTimer] + macos + ++[updateScrollBars] ++macos ++ +diff --git a/tests/libfuzzer/README b/tests/libfuzzer/README +index 16e70e9bee..d0ab4fdda8 100644 +--- a/tests/libfuzzer/README ++++ b/tests/libfuzzer/README +@@ -39,4 +39,16 @@ To run a test with libFuzzer: + * tell libFuzzer to generate only ASCII data using + -only_ascii=1 + +-For further info, see https://llvm.org/docs/LibFuzzer.html ++For further info about libFuzzer, see https://llvm.org/docs/LibFuzzer.html ++ ++Some of these tests are continuously being run on oss-fuzz which is documented at ++https://google.github.io/oss-fuzz/ ++ ++You can find: ++ - The build logs for Qt at ++ https://oss-fuzz-build-logs.storage.googleapis.com/index.html#qt ++ - The code coverage of the running fuzzers at ++ https://storage.googleapis.com/oss-fuzz-coverage/qt/reports/20201104/linux/report.html ++ Update the date in the URL to get more recent data. ++ - The found issues which were already published at: ++ https://bugs.chromium.org/p/oss-fuzz/issues/list?q=proj%3Dqt +diff --git a/tests/libfuzzer/corelib/time/qdatetime/fromstring/fromstring.pro b/tests/libfuzzer/corelib/time/qdatetime/fromstring/fromstring.pro +new file mode 100644 +index 0000000000..631fcd71e4 +--- /dev/null ++++ b/tests/libfuzzer/corelib/time/qdatetime/fromstring/fromstring.pro +@@ -0,0 +1,10 @@ ++QT -= gui ++CONFIG -= app_bundle ++CONFIG += console ++SOURCES += main.cpp ++FUZZ_ENGINE = $$(LIB_FUZZING_ENGINE) ++isEmpty(FUZZ_ENGINE) { ++ QMAKE_LFLAGS += -fsanitize=fuzzer ++} else { ++ LIBS += $$FUZZ_ENGINE ++} +diff --git a/tests/libfuzzer/corelib/time/qdatetime/fromstring/main.cpp b/tests/libfuzzer/corelib/time/qdatetime/fromstring/main.cpp +new file mode 100644 +index 0000000000..e41301bb55 +--- /dev/null ++++ b/tests/libfuzzer/corelib/time/qdatetime/fromstring/main.cpp +@@ -0,0 +1,100 @@ ++/**************************************************************************** ++** ++** Copyright (C) 2020 The Qt Company Ltd. ++** Contact: https://www.qt.io/licensing/ ++** ++** This file is part of the test suite of the Qt Toolkit. ++** ++** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ++** Commercial License Usage ++** Licensees holding valid commercial Qt licenses may use this file in ++** accordance with the commercial license agreement provided with the ++** Software or, alternatively, in accordance with the terms contained in ++** a written agreement between you and The Qt Company. For licensing terms ++** and conditions see https://www.qt.io/terms-conditions. For further ++** information use the contact form at https://www.qt.io/contact-us. ++** ++** GNU General Public License Usage ++** Alternatively, this file may be used under the terms of the GNU ++** General Public License version 3 as published by the Free Software ++** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ++** included in the packaging of this file. Please review the following ++** information to ensure the GNU General Public License requirements will ++** be met: https://www.gnu.org/licenses/gpl-3.0.html. ++** ++** $QT_END_LICENSE$ ++** ++****************************************************************************/ ++ ++#include ++ ++static const QString formats[] = { ++ QStringLiteral("h"), ++ QStringLiteral("hh"), ++ QStringLiteral("H"), ++ QStringLiteral("HH"), ++ QStringLiteral("m"), ++ QStringLiteral("mm"), ++ QStringLiteral("s"), ++ QStringLiteral("ss"), ++ QStringLiteral("z"), ++ QStringLiteral("zzz"), ++ QStringLiteral("A"), ++ QStringLiteral("t"), ++ QStringLiteral("M/d/yyyy"), ++ QStringLiteral("M/d/yyyy hh:mm"), ++ QStringLiteral("M/d/yyyy hh:mm A"), ++ QStringLiteral("M/d/yyyy, hh:mm"), ++ QStringLiteral("M/d/yyyy, hh:mm A"), ++ QStringLiteral("MMM d yyyy"), ++ QStringLiteral("MMM d yyyy hh:mm"), ++ QStringLiteral("MMM d yyyy hh:mm:ss"), ++ QStringLiteral("MMM d yyyy, hh:mm"), ++ QStringLiteral("MMM d yyyy, hh:mm:ss"), ++ QStringLiteral("MMMM d yyyy"), ++ QStringLiteral("MMMM d yyyy hh:mm"), ++ QStringLiteral("MMMM d yyyy hh:mm:ss"), ++ QStringLiteral("MMMM d yyyy, hh:mm"), ++ QStringLiteral("MMMM d yyyy, hh:mm:ss"), ++ QStringLiteral("MMMM d yyyy, hh:mm:ss t"), ++ QStringLiteral("MMM d, yyyy"), ++ QStringLiteral("MMM d, yyyy hh:mm"), ++ QStringLiteral("MMM d, yyyy hh:mm:ss"), ++ QStringLiteral("MMMM d, yyyy"), ++ QStringLiteral("MMMM d, yyyy hh:mm"), ++ QStringLiteral("MMMM d, yyyy hh:mm:ss"), ++ QStringLiteral("MMMM d, yyyy hh:mm:ss t"), ++ QStringLiteral("d MMM yyyy"), ++ QStringLiteral("d MMM yyyy hh:mm"), ++ QStringLiteral("d MMM yyyy hh:mm:ss"), ++ QStringLiteral("d MMM yyyy, hh:mm"), ++ QStringLiteral("d MMM yyyy, hh:mm:ss"), ++ QStringLiteral("d MMMM yyyy"), ++ QStringLiteral("d MMMM yyyy hh:mm"), ++ QStringLiteral("d MMMM yyyy hh:mm:ss"), ++ QStringLiteral("d MMMM yyyy, hh:mm"), ++ QStringLiteral("d MMMM yyyy, hh:mm:ss"), ++ QStringLiteral("d MMM, yyyy"), ++ QStringLiteral("d MMM, yyyy hh:mm"), ++ QStringLiteral("d MMM, yyyy hh:mm:ss"), ++ QStringLiteral("d MMMM, yyyy"), ++ QStringLiteral("d MMMM, yyyy hh:mm"), ++ QStringLiteral("d MMMM, yyyy hh:mm:ss"), ++ QStringLiteral("yyyy-MM-ddThh:mm:ss.zt"), ++}; ++ ++// libFuzzer entry-point for testing QDateTimeParser ++extern "C" int LLVMFuzzerTestOneInput(const char *Data, size_t Size) ++{ ++ const QString userString = QString::fromUtf8(Data, Size); ++ ++ QDateTime::fromString(userString, Qt::TextDate); ++ QDateTime::fromString(userString, Qt::ISODate); ++ QDateTime::fromString(userString, Qt::RFC2822Date); ++ QDateTime::fromString(userString, Qt::ISODateWithMs); ++ ++ for (const auto &format : formats) { ++ QDateTime::fromString(userString, format); ++ } ++ return 0; ++} +diff --git a/tests/manual/qcursor/allcursors/mainwindow.cpp b/tests/manual/qcursor/allcursors/mainwindow.cpp +index f2fa438330..ecd2c4d908 100644 +--- a/tests/manual/qcursor/allcursors/mainwindow.cpp ++++ b/tests/manual/qcursor/allcursors/mainwindow.cpp +@@ -51,6 +51,9 @@ void MainWindow::keyPressEvent(QKeyEvent* event) + { + QPoint off(0, 0); + switch (event->key()) { ++ case Qt::Key_Q: ++ qApp->quit(); ++ break; + case Qt::Key_Up: + off.setY(-4); + break; +diff --git a/tests/testserver/apache2/testdata/main.conf b/tests/testserver/apache2/testdata/main.conf +index f3b13bb571..ed9aae3fbd 100644 +--- a/tests/testserver/apache2/testdata/main.conf ++++ b/tests/testserver/apache2/testdata/main.conf +@@ -54,3 +54,7 @@ Alias /qtest "/home/qt-test-server/www/htdocs/" + + AllowOverride AuthConfig Options + ++ ++ ++ Options Indexes ++ +diff --git a/tests/testserver/apache2/testdata/www/htdocs/protected/rfc3252.txt b/tests/testserver/apache2/testdata/www/htdocs/protected/rfc3252.txt +new file mode 100644 +index 0000000000..b80c61bf0a +--- /dev/null ++++ b/tests/testserver/apache2/testdata/www/htdocs/protected/rfc3252.txt +@@ -0,0 +1,899 @@ ++ ++ ++ ++ ++ ++ ++Network Working Group H. Kennedy ++Request for Comments: 3252 Mimezine ++Category: Informational 1 April 2002 ++ ++ ++ Binary Lexical Octet Ad-hoc Transport ++ ++Status of this Memo ++ ++ This memo provides information for the Internet community. It does ++ not specify an Internet standard of any kind. Distribution of this ++ memo is unlimited. ++ ++Copyright Notice ++ ++ Copyright (C) The Internet Society (2002). All Rights Reserved. ++ ++Abstract ++ ++ This document defines a reformulation of IP and two transport layer ++ protocols (TCP and UDP) as XML applications. ++ ++1. Introduction ++ ++1.1. Overview ++ ++ This document describes the Binary Lexical Octet Ad-hoc Transport ++ (BLOAT): a reformulation of a widely-deployed network-layer protocol ++ (IP [RFC791]), and two associated transport layer protocols (TCP ++ [RFC793] and UDP [RFC768]) as XML [XML] applications. It also ++ describes methods for transporting BLOAT over Ethernet and IEEE 802 ++ networks as well as encapsulating BLOAT in IP for gatewaying BLOAT ++ across the public Internet. ++ ++1.2. Motivation ++ ++ The wild popularity of XML as a basis for application-level protocols ++ such as the Blocks Extensible Exchange Protocol [RFC3080], the Simple ++ Object Access Protocol [SOAP], and Jabber [JABBER] prompted ++ investigation into the possibility of extending the use of XML in the ++ protocol stack. Using XML at both the transport and network layer in ++ addition to the application layer would provide for an amazing amount ++ of power and flexibility while removing dependencies on proprietary ++ and hard-to-understand binary protocols. This protocol unification ++ would also allow applications to use a single XML parser for all ++ aspects of their operation, eliminating developer time spent figuring ++ out the intricacies of each new protocol, and moving the hard work of ++ ++ ++ ++ ++Kennedy Informational [Page 1] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ parsing to the XML toolset. The use of XML also mitigates concerns ++ over "network vs. host" byte ordering which is at the root of many ++ network application bugs. ++ ++1.3. Relation to Existing Protocols ++ ++ The reformulations specified in this RFC follow as closely as ++ possible the spirit of the RFCs on which they are based, and so MAY ++ contain elements or attributes that would not be needed in a pure ++ reworking (e.g. length attributes, which are implicit in XML.) ++ ++ The layering of network and transport protocols are maintained in ++ this RFC despite the optimizations that could be made if the line ++ were somewhat blurred (i.e. merging TCP and IP into a single, larger ++ element in the DTD) in order to foster future use of this protocol as ++ a basis for reformulating other protocols (such as ICMP.) ++ ++ Other than the encoding, the behavioral aspects of each of the ++ existing protocols remain unchanged. Routing, address spaces, TCP ++ congestion control, etc. behave as specified in the extant standards. ++ Adapting to new standards and experimental algorithm heuristics for ++ improving performance will become much easier once the move to BLOAT ++ has been completed. ++ ++1.4. Requirement Levels ++ ++ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", ++ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this ++ document are to be interpreted as described in BCP 14, RFC 2119 ++ [RFC2119]. ++ ++2. IPoXML ++ ++ This protocol MUST be implemented to be compliant with this RFC. ++ IPoXML is the root protocol REQUIRED for effective use of TCPoXML ++ (section 3.) and higher-level application protocols. ++ ++ The DTD for this document type can be found in section 7.1. ++ ++ The routing of IPoXML can be easily implemented on hosts with an XML ++ parser, as the regular structure lends itself handily to parsing and ++ validation of the document/datagram and then processing the ++ destination address, TTL, and checksum before sending it on to its ++ next-hop. ++ ++ The reformulation of IPv4 was chosen over IPv6 [RFC2460] due to the ++ wider deployment of IPv4 and the fact that implementing IPv6 as XML ++ would have exceeded the 1500 byte Ethernet MTU. ++ ++ ++ ++Kennedy Informational [Page 2] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ All BLOAT implementations MUST use - and specify - the UTF-8 encoding ++ of RFC 2279 [RFC2279]. All BLOAT document/datagrams MUST be well- ++ formed and include the XMLDecl. ++ ++2.1. IP Description ++ ++ A number of items have changed (for the better) from the original IP ++ specification. Bit-masks, where present have been converted into ++ human-readable values. IP addresses are listed in their dotted- ++ decimal notation [RFC1123]. Length and checksum values are present ++ as decimal integers. ++ ++ To calculate the length and checksum fields of the IP element, a ++ canonicalized form of the element MUST be used. The canonical form ++ SHALL have no whitespace (including newline characters) between ++ elements and only one space character between attributes. There ++ SHALL NOT be a space following the last attribute in an element. ++ ++ An iterative method SHOULD be used to calculate checksums, as the ++ length field will vary based on the size of the checksum. ++ ++ The payload element bears special attention. Due to the character ++ set restrictions of XML, the payload of IP datagrams (which MAY ++ contain arbitrary data) MUST be encoded for transport. This RFC ++ REQUIRES the contents of the payload to be encoded in the base-64 ++ encoding of RFC 2045 [RFC2045], but removes the requirement that the ++ encoded output MUST be wrapped on 76-character lines. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 3] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++2.2. Example Datagram ++ ++ The following is an example IPoXML datagram with an empty payload: ++ ++ ++ ++ ++
++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ ++
++ ++3. TCPoXML ++ ++ This protocol MUST be implemented to be compliant with this RFC. The ++ DTD for this document type can be found in section 7.2. ++ ++3.1. TCP Description ++ ++ A number of items have changed from the original TCP specification. ++ Bit-masks, where present have been converted into human-readable ++ values. Length and checksum and port values are present as decimal ++ integers. ++ ++ To calculate the length and checksum fields of the TCP element, a ++ canonicalized form of the element MUST be used as in section 2.1. ++ ++ An iterative method SHOULD be used to calculate checksums as in ++ section 2.1. ++ ++ The payload element MUST be encoded as in section 2.1. ++ ++ ++ ++Kennedy Informational [Page 4] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ The TCP offset element was expanded to a maximum of 255 from 16 to ++ allow for the increased size of the header in XML. ++ ++ TCPoXML datagrams encapsulated by IPoXML MAY omit the header ++ as well as the declaration. ++ ++3.2. Example Datagram ++ ++ The following is an example TCPoXML datagram with an empty payload: ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++4. UDPoXML ++ ++ This protocol MUST be implemented to be compliant with this RFC. The ++ DTD for this document type can be found in section 7.3. ++ ++4.1. UDP Description ++ ++ A number of items have changed from the original UDP specification. ++ Bit-masks, where present have been converted into human-readable ++ values. Length and checksum and port values are present as decimal ++ integers. ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 5] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ To calculate the length and checksum fields of the UDP element, a ++ canonicalized form of the element MUST be used as in section 2.1. An ++ iterative method SHOULD be used to calculate checksums as in section ++ 2.1. ++ ++ The payload element MUST be encoded as in section 2.1. ++ ++ UDPoXML datagrams encapsulated by IPoXML MAY omit the header ++ as well as the declaration. ++ ++4.2. Example Datagram ++ ++ The following is an example UDPoXML datagram with an empty payload: ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++5. Network Transport ++ ++ This document provides for the transmission of BLOAT datagrams over ++ two common families of physical layer transport. Future RFCs will ++ address additional transports as routing vendors catch up to the ++ specification, and we begin to see BLOAT routed across the Internet ++ backbone. ++ ++5.1. Ethernet ++ ++ BLOAT is encapsulated in Ethernet datagrams as in [RFC894] with the ++ exception that the type field of the Ethernet frame MUST contain the ++ value 0xBEEF. The first 5 octets of the Ethernet frame payload will ++ be 0x3c 3f 78 6d 6c (" ++ --> ++ ++ ++ ++ ++Kennedy Informational [Page 7] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 9] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 10] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++7.2. TCPoXML DTD ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 11] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 12] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++7.3. UDPoXML DTD ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 13] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++8. Security Considerations ++ ++ XML, as a subset of SGML, has the same security considerations as ++ specified in SGML Media Types [RFC1874]. Security considerations ++ that apply to IP, TCP and UDP also likely apply to BLOAT as it does ++ not attempt to correct for issues not related to message format. ++ ++9. References ++ ++ [JABBER] Miller, J., "Jabber", draft-miller-jabber-00.txt, ++ February 2002. (Work in Progress) ++ ++ [RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, ++ August 1980. ++ ++ [RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, ++ September 1981. ++ ++ [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC ++ 793, September 1981. ++ ++ [RFC894] Hornig, C., "Standard for the Transmission of IP ++ Datagrams over Ethernet Networks.", RFC 894, April 1984. ++ ++ [RFC1042] Postel, J. and J. Reynolds, "Standard for the ++ Transmission of IP Datagrams Over IEEE 802 Networks", STD ++ 43, RFC 1042, February 1988. ++ ++ [RFC1123] Braden, R., "Requirements for Internet Hosts - ++ Application and Support", RFC 1123, October 1989. ++ ++ [RFC1874] Levinson, E., "SGML Media Types", RFC 1874, December ++ 1995. ++ ++ [RFC2003] Perkins, C., "IP Encapsulation within IP", RFC 2003, ++ October 1996. ++ ++ [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail ++ Extensions (MIME) Part One: Format of Internet Message ++ Bodies", RFC 2045, November 1996. ++ ++ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate ++ Requirement Levels", BCP 14, RFC 2119, March 1997. ++ ++ [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO ++ 10646", RFC 2279, January 1998. ++ ++ ++ ++ ++ ++Kennedy Informational [Page 14] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++ [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 ++ (IPv6) Specification", RFC 2460, December 1998. ++ ++ [RFC3080] Rose, M., "The Blocks Extensible Exchange Protocol Core", ++ RFC 3080, March 2001. ++ ++ [SOAP] Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., ++ Mendelsohn, N., Nielsen, H. F., Thatte, S. Winer, D., ++ "Simple Object Access Protocol (SOAP) 1.1" World Wide Web ++ Consortium Note, May 2000 http://www.w3.org/TR/SOAP/ ++ ++ [XML] Bray, T., Paoli, J., Sperberg-McQueen, C. M., "Extensible ++ Markup Language (XML)" World Wide Web Consortium ++ Recommendation REC- xml-19980210. ++ http://www.w3.org/TR/1998/REC-xml-19980210 ++ ++10. Author's Address ++ ++ Hugh Kennedy ++ Mimezine ++ 1060 West Addison ++ Chicago, IL 60613 ++ USA ++ ++ EMail: kennedyh@engin.umich.edu ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 15] ++ ++RFC 3252 Binary Lexical Octet Ad-hoc Transport 1 April 2002 ++ ++ ++11. Full Copyright Statement ++ ++ Copyright (C) The Internet Society (2002). All Rights Reserved. ++ ++ This document and translations of it may be copied and furnished to ++ others, and derivative works that comment on or otherwise explain it ++ or assist in its implementation may be prepared, copied, published ++ and distributed, in whole or in part, without restriction of any ++ kind, provided that the above copyright notice and this paragraph are ++ included on all such copies and derivative works. However, this ++ document itself may not be modified in any way, such as by removing ++ the copyright notice or references to the Internet Society or other ++ Internet organizations, except as needed for the purpose of ++ developing Internet standards in which case the procedures for ++ copyrights defined in the Internet Standards process must be ++ followed, or as required to translate it into languages other than ++ English. ++ ++ The limited permissions granted above are perpetual and will not be ++ revoked by the Internet Society or its successors or assigns. ++ ++ This document and the information contained herein is provided on an ++ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING ++ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING ++ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION ++ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF ++ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ++ ++Acknowledgement ++ ++ Funding for the RFC Editor function is currently provided by the ++ Internet Society. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++Kennedy Informational [Page 16] ++ +diff --git a/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/completelyEmptyQuery.xq b/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/completelyEmptyQuery.xq +new file mode 100644 +index 0000000000..e69de29bb2 +diff --git a/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/notWellformed.xml b/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/notWellformed.xml +new file mode 100644 +index 0000000000..cf49e65bab +--- /dev/null ++++ b/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/notWellformed.xml +@@ -0,0 +1 @@ ++ ++Some Text +diff --git a/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/wellFormedViaHttps.xml b/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/wellFormedViaHttps.xml +new file mode 100644 +index 0000000000..555d29e1d7 +--- /dev/null ++++ b/tests/testserver/apache2/testdata/www/htdocs/qxmlquery/wellFormedViaHttps.xml +@@ -0,0 +1,2 @@ ++ ++Some Text +diff --git a/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/README b/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/README +new file mode 100644 +index 0000000000..0f4a679502 +--- /dev/null ++++ b/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/README +@@ -0,0 +1 @@ ++This directory contains data for the auto test for QXmlQuery, found in the Qt module QtXmlPatterns. +diff --git a/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/completelyEmptyQuery.xq b/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/completelyEmptyQuery.xq +new file mode 100644 +index 0000000000..e69de29bb2 +diff --git a/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/notWellFormed.xml b/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/notWellFormed.xml +new file mode 100644 +index 0000000000..f967989a0b +--- /dev/null ++++ b/tests/testserver/vsftpd/testdata/ftp/pub/qxmlquery/notWellFormed.xml +@@ -0,0 +1 @@ ++ ++Some Text diff --git a/desktop/toolkit/qt5/qt5-base/pspec.xml b/desktop/toolkit/qt5/qt5-base/pspec.xml index d4925da90d..95c7313ab8 100755 --- a/desktop/toolkit/qt5/qt5-base/pspec.xml +++ b/desktop/toolkit/qt5/qt5-base/pspec.xml @@ -82,9 +82,9 @@ - mkspecs2.patch - kdebug-428095.patch - qt5-base-nostrip.patch + mkspecs2.patch + qt_kde.patch + qt5-base-nostrip.patch @@ -277,14 +277,21 @@ --> - + + 2021-05-05 + 5.15.2 + Rebuild. + Mustafa Cinasal + muscnsl@gmail.com + + 2021-02-26 5.15.2 Rebuild. Mustafa Cinasal muscnsl@gmail.com - + 2021-02-24 5.15.2 Rebuild.