From 6b4be195cd8868b76eb6fbe166acc39beee8ce36 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Mon, 22 May 2017 21:36:03 -0700 Subject: [PATCH] bpo-22257: Small changes for PEP 432. (#1728) PEP 432 specifies a number of large changes to interpreter startup code, including exposing a cleaner C-API. The major changes depend on a number of smaller changes. This patch includes all those smaller changes. --- Include/Python.h | 2 +- Include/compile.h | 17 + Include/pylifecycle.h | 7 +- Include/pystate.h | 1 + Include/pythonrun.h | 16 - Lib/importlib/_bootstrap.py | 5 +- Lib/test/coding20731.py | 8 +- Lib/test/test_cmd_line.py | 23 +- Lib/test/test_site.py | 9 +- Makefile.pre.in | 2 +- Misc/NEWS | 2 + Modules/main.c | 299 ++- PCbuild/pythoncore.vcxproj | 4 +- PCbuild/pythoncore.vcxproj.filters | 4 +- Python/{random.c => bootstrap_hash.c} | 80 +- Python/importlib.h | 3584 +++++++++++++------------ Python/pylifecycle.c | 15 +- Python/pystate.c | 16 + Python/sysmodule.c | 133 +- 19 files changed, 2221 insertions(+), 2006 deletions(-) rename Python/{random.c => bootstrap_hash.c} (93%) diff --git a/Include/Python.h b/Include/Python.h index 4c7c9a48c81..061d693f34b 100644 --- a/Include/Python.h +++ b/Include/Python.h @@ -112,6 +112,7 @@ #include "pyarena.h" #include "modsupport.h" +#include "compile.h" #include "pythonrun.h" #include "pylifecycle.h" #include "ceval.h" @@ -123,7 +124,6 @@ #include "abstract.h" #include "bltinmodule.h" -#include "compile.h" #include "eval.h" #include "pyctype.h" diff --git a/Include/compile.h b/Include/compile.h index ecd8dc1d104..3cc351d4098 100644 --- a/Include/compile.h +++ b/Include/compile.h @@ -11,6 +11,23 @@ extern "C" { /* Public interface */ struct _node; /* Declare the existence of this type */ PyAPI_FUNC(PyCodeObject *) PyNode_Compile(struct _node *, const char *); +/* XXX (ncoghlan): Unprefixed type name in a public API! */ + +#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \ + CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \ + CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL | \ + CO_FUTURE_GENERATOR_STOP) +#define PyCF_MASK_OBSOLETE (CO_NESTED) +#define PyCF_SOURCE_IS_UTF8 0x0100 +#define PyCF_DONT_IMPLY_DEDENT 0x0200 +#define PyCF_ONLY_AST 0x0400 +#define PyCF_IGNORE_COOKIE 0x0800 + +#ifndef Py_LIMITED_API +typedef struct { + int cf_flags; /* bitmask of CO_xxx flags relevant to future */ +} PyCompilerFlags; +#endif /* Future feature support */ diff --git a/Include/pylifecycle.h b/Include/pylifecycle.h index 01abfa9fcd6..7d182cfa9e1 100644 --- a/Include/pylifecycle.h +++ b/Include/pylifecycle.h @@ -77,14 +77,15 @@ PyAPI_FUNC(const char *) _Py_gitversion(void); /* Internal -- various one-time initializations */ #ifndef Py_LIMITED_API PyAPI_FUNC(PyObject *) _PyBuiltin_Init(void); -PyAPI_FUNC(PyObject *) _PySys_Init(void); +PyAPI_FUNC(PyObject *) _PySys_BeginInit(void); +PyAPI_FUNC(int) _PySys_EndInit(PyObject *sysdict); PyAPI_FUNC(void) _PyImport_Init(void); PyAPI_FUNC(void) _PyExc_Init(PyObject * bltinmod); PyAPI_FUNC(void) _PyImportHooks_Init(void); PyAPI_FUNC(int) _PyFrame_Init(void); PyAPI_FUNC(int) _PyFloat_Init(void); PyAPI_FUNC(int) PyByteArray_Init(void); -PyAPI_FUNC(void) _PyRandom_Init(void); +PyAPI_FUNC(void) _Py_HashRandomization_Init(void); #endif /* Various internal finalizers */ @@ -106,7 +107,7 @@ PyAPI_FUNC(void) _PyGC_DumpShutdownStats(void); PyAPI_FUNC(void) _PyGC_Fini(void); PyAPI_FUNC(void) PySlice_Fini(void); PyAPI_FUNC(void) _PyType_Fini(void); -PyAPI_FUNC(void) _PyRandom_Fini(void); +PyAPI_FUNC(void) _Py_HashRandomization_Fini(void); PyAPI_FUNC(void) PyAsyncGen_Fini(void); PyAPI_DATA(PyThreadState *) _Py_Finalizing; diff --git a/Include/pystate.h b/Include/pystate.h index 9170ba9f7a7..5e54da1b190 100644 --- a/Include/pystate.h +++ b/Include/pystate.h @@ -302,6 +302,7 @@ PyAPI_FUNC(PyObject *) _PyThread_CurrentFrames(void); /* Routines for advanced debuggers, requested by David Beazley. Don't use unless you know what you are doing! */ #ifndef Py_LIMITED_API +PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Main(void); PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Head(void); PyAPI_FUNC(PyInterpreterState *) PyInterpreterState_Next(PyInterpreterState *); PyAPI_FUNC(PyThreadState *) PyInterpreterState_ThreadHead(PyInterpreterState *); diff --git a/Include/pythonrun.h b/Include/pythonrun.h index efc613f65df..6f0c6fc6554 100644 --- a/Include/pythonrun.h +++ b/Include/pythonrun.h @@ -7,22 +7,6 @@ extern "C" { #endif -#define PyCF_MASK (CO_FUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \ - CO_FUTURE_WITH_STATEMENT | CO_FUTURE_PRINT_FUNCTION | \ - CO_FUTURE_UNICODE_LITERALS | CO_FUTURE_BARRY_AS_BDFL | \ - CO_FUTURE_GENERATOR_STOP) -#define PyCF_MASK_OBSOLETE (CO_NESTED) -#define PyCF_SOURCE_IS_UTF8 0x0100 -#define PyCF_DONT_IMPLY_DEDENT 0x0200 -#define PyCF_ONLY_AST 0x0400 -#define PyCF_IGNORE_COOKIE 0x0800 - -#ifndef Py_LIMITED_API -typedef struct { - int cf_flags; /* bitmask of CO_xxx flags relevant to future */ -} PyCompilerFlags; -#endif - #ifndef Py_LIMITED_API PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *); diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index a531a0351df..891bd062bb0 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -1134,12 +1134,15 @@ def _setup(sys_module, _imp_module): def _install(sys_module, _imp_module): - """Install importlib as the implementation of import.""" + """Install importers for builtin and frozen modules""" _setup(sys_module, _imp_module) sys.meta_path.append(BuiltinImporter) sys.meta_path.append(FrozenImporter) + +def _install_external_importers(): + """Install importers that require external filesystem access""" global _bootstrap_external import _frozen_importlib_external _bootstrap_external = _frozen_importlib_external diff --git a/Lib/test/coding20731.py b/Lib/test/coding20731.py index b0e227ad110..ca4962ee8ef 100644 --- a/Lib/test/coding20731.py +++ b/Lib/test/coding20731.py @@ -1,4 +1,4 @@ -#coding:latin1 - - - +#coding:latin1 + + + diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 958d282a428..5f96d61c7d0 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -485,8 +485,29 @@ class CmdLineTest(unittest.TestCase): cwd=tmpdir) self.assertEqual(out.strip(), b"ok") + +class IgnoreEnvironmentTest(unittest.TestCase): + + def run_ignoring_vars(self, predicate, **env_vars): + # Runs a subprocess with -E set, even though we're passing + # specific environment variables + # Logical inversion to match predicate check to a zero return + # code indicating success + code = "import sys; sys.stderr.write(str(sys.flags)); sys.exit(not ({}))".format(predicate) + return assert_python_ok('-E', '-c', code, **env_vars) + + def test_ignore_PYTHONPATH(self): + path = "should_be_ignored" + self.run_ignoring_vars("'{}' not in sys.path".format(path), + PYTHONPATH=path) + + def test_ignore_PYTHONHASHSEED(self): + self.run_ignoring_vars("sys.flags.hash_randomization == 1", + PYTHONHASHSEED="0") + + def test_main(): - test.support.run_unittest(CmdLineTest) + test.support.run_unittest(CmdLineTest, IgnoreEnvironmentTest) test.support.reap_children() if __name__ == "__main__": diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py index 3aa46dfaf6d..0924f01ba1a 100644 --- a/Lib/test/test_site.py +++ b/Lib/test/test_site.py @@ -183,6 +183,7 @@ class HelperFunctionsTests(unittest.TestCase): @unittest.skipUnless(site.ENABLE_USER_SITE, "requires access to PEP 370 " "user-site (site.ENABLE_USER_SITE)") def test_s_option(self): + # (ncoghlan) Change this to use script_helper... usersite = site.USER_SITE self.assertIn(usersite, sys.path) @@ -199,7 +200,7 @@ class HelperFunctionsTests(unittest.TestCase): if usersite == site.getsitepackages()[0]: self.assertEqual(rc, 1) else: - self.assertEqual(rc, 0) + self.assertEqual(rc, 0, "User site still added to path with -s") env = os.environ.copy() env["PYTHONNOUSERSITE"] = "1" @@ -209,14 +210,16 @@ class HelperFunctionsTests(unittest.TestCase): if usersite == site.getsitepackages()[0]: self.assertEqual(rc, 1) else: - self.assertEqual(rc, 0) + self.assertEqual(rc, 0, + "User site still added to path with PYTHONNOUSERSITE") env = os.environ.copy() env["PYTHONUSERBASE"] = "/tmp" rc = subprocess.call([sys.executable, '-c', 'import sys, site; sys.exit(site.USER_BASE.startswith("/tmp"))'], env=env) - self.assertEqual(rc, 1) + self.assertEqual(rc, 1, + "User base not set by PYTHONUSERBASE") def test_getuserbase(self): site.USER_BASE = None diff --git a/Makefile.pre.in b/Makefile.pre.in index 84a12267e9b..21418055aa8 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -349,7 +349,7 @@ PYTHON_OBJS= \ Python/pystate.o \ Python/pythonrun.o \ Python/pytime.o \ - Python/random.o \ + Python/bootstrap_hash.o \ Python/structmember.o \ Python/symtable.o \ Python/sysmodule.o \ diff --git a/Misc/NEWS b/Misc/NEWS index 0e32d480b23..69602384882 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -154,6 +154,8 @@ Core and Builtins - Issue #28596: The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen. +- bpo-22257: Clean up interpreter startup (see PEP 432). + - Issue #26919: On Android, operating system data is now always encoded/decoded to/from UTF-8, instead of the locale encoding to avoid inconsistencies with os.fsencode() and os.fsdecode() which are already using UTF-8. diff --git a/Modules/main.c b/Modules/main.c index 2fb230a60ba..c8d3afd38d3 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -343,49 +343,44 @@ run_file(FILE *fp, const wchar_t *filename, PyCompilerFlags *p_cf) /* Main program */ -int -Py_Main(int argc, wchar_t **argv) +/*TODO: Add arg processing to PEP 432 as a new configuration setup API + */ +typedef struct { + wchar_t *filename; /* Trailing arg without -c or -m */ + wchar_t *command; /* -c argument */ + wchar_t *module; /* -m argument */ + PyObject *warning_options; /* -W options */ + PyObject *extra_options; /* -X options */ + int print_help; /* -h, -? options */ + int print_version; /* -V option */ + int bytes_warning; /* Py_BytesWarningFlag */ + int debug; /* Py_DebugFlag */ + int inspect; /* Py_InspectFlag */ + int interactive; /* Py_InteractiveFlag */ + int isolated; /* Py_IsolatedFlag */ + int optimization_level; /* Py_OptimizeFlag */ + int dont_write_bytecode; /* Py_DontWriteBytecodeFlag */ + int no_user_site_directory; /* Py_NoUserSiteDirectory */ + int no_site_import; /* Py_NoSiteFlag */ + int use_unbuffered_io; /* Py_UnbufferedStdioFlag */ + int verbosity; /* Py_VerboseFlag */ + int quiet_flag; /* Py_QuietFlag */ + int skip_first_line; /* -x option */ +} _Py_CommandLineDetails; + +#define _Py_CommandLineDetails_INIT \ + {NULL, NULL, NULL, NULL, NULL, \ + 0, 0, 0, 0, 0, 0, 0, 0, \ + 0, 0, 0, 0, 0, 0, 0} + +static int +read_command_line(int argc, wchar_t **argv, _Py_CommandLineDetails *cmdline) { - int c; - int sts; - wchar_t *command = NULL; - wchar_t *filename = NULL; - wchar_t *module = NULL; - FILE *fp = stdin; - char *p; -#ifdef MS_WINDOWS - wchar_t *wp; -#endif - int skipfirstline = 0; - int stdin_is_interactive = 0; - int help = 0; - int version = 0; - int saw_unbuffered_flag = 0; - char *opt; - PyCompilerFlags cf; - PyObject *main_importer_path = NULL; PyObject *warning_option = NULL; - PyObject *warning_options = NULL; - - cf.cf_flags = 0; - - orig_argc = argc; /* For Py_GetArgcArgv() */ - orig_argv = argv; - - /* Hash randomization needed early for all string operations - (including -W and -X options). */ - _PyOS_opterr = 0; /* prevent printing the error in 1st pass */ - while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) { - if (c == 'm' || c == 'c') { - /* -c / -m is the last option: following arguments are - not interpreter options. */ - break; - } - if (c == 'E') { - Py_IgnoreEnvironmentFlag++; - break; - } - } + wchar_t *command = NULL; + wchar_t *module = NULL; + char c; + char *opt; opt = Py_GETENV("PYTHONMALLOC"); if (_PyMem_SetupAllocators(opt) < 0) { @@ -394,10 +389,11 @@ Py_Main(int argc, wchar_t **argv) exit(1); } + // TODO: Move these to core runtime init. Py_HashRandomizationFlag = 1; - _PyRandom_Init(); - + _Py_HashRandomization_Init(); PySys_ResetWarnOptions(); + _PyOS_ResetGetOpt(); while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) { @@ -415,6 +411,7 @@ Py_Main(int argc, wchar_t **argv) wcscpy(command, _PyOS_optarg); command[len - 2] = '\n'; command[len - 1] = 0; + cmdline->command = command; break; } @@ -423,49 +420,49 @@ Py_Main(int argc, wchar_t **argv) that look like options are left for the module to interpret. */ module = _PyOS_optarg; + cmdline->module = module; break; } switch (c) { case 'b': - Py_BytesWarningFlag++; + cmdline->bytes_warning++; break; case 'd': - Py_DebugFlag++; + cmdline->debug++; break; case 'i': - Py_InspectFlag++; - Py_InteractiveFlag++; + cmdline->inspect++; + cmdline->interactive++; break; case 'I': - Py_IsolatedFlag++; - Py_NoUserSiteDirectory++; - Py_IgnoreEnvironmentFlag++; + cmdline->isolated++; + cmdline->no_user_site_directory++; break; /* case 'J': reserved for Jython */ case 'O': - Py_OptimizeFlag++; + cmdline->optimization_level++; break; case 'B': - Py_DontWriteBytecodeFlag++; + cmdline->dont_write_bytecode++; break; case 's': - Py_NoUserSiteDirectory++; + cmdline->no_user_site_directory++; break; case 'S': - Py_NoSiteFlag++; + cmdline->no_site_import++; break; case 'E': - /* Already handled above */ + /* Handled prior to core initialization */ break; case 't': @@ -473,46 +470,46 @@ Py_Main(int argc, wchar_t **argv) break; case 'u': - Py_UnbufferedStdioFlag = 1; - saw_unbuffered_flag = 1; + cmdline->use_unbuffered_io = 1; break; case 'v': - Py_VerboseFlag++; + cmdline->verbosity++; break; case 'x': - skipfirstline = 1; + cmdline->skip_first_line = 1; break; case 'h': case '?': - help++; + cmdline->print_help++; break; case 'V': - version++; + cmdline->print_version++; break; case 'W': - if (warning_options == NULL) - warning_options = PyList_New(0); - if (warning_options == NULL) + if (cmdline->warning_options == NULL) + cmdline->warning_options = PyList_New(0); + if (cmdline->warning_options == NULL) Py_FatalError("failure in handling of -W argument"); warning_option = PyUnicode_FromWideChar(_PyOS_optarg, -1); if (warning_option == NULL) Py_FatalError("failure in handling of -W argument"); - if (PyList_Append(warning_options, warning_option) == -1) + if (PyList_Append(cmdline->warning_options, warning_option) == -1) Py_FatalError("failure in handling of -W argument"); Py_DECREF(warning_option); break; case 'X': + /* TODO: Delay addition of X options to sys module */ PySys_AddXOption(_PyOS_optarg); break; case 'q': - Py_QuietFlag++; + cmdline->quiet_flag++; break; case 'R': @@ -522,30 +519,110 @@ Py_Main(int argc, wchar_t **argv) /* This space reserved for other options */ default: - return usage(2, argv[0]); + return -1; /*NOTREACHED*/ } } - if (help) - return usage(0, argv[0]); + if (command == NULL && module == NULL && _PyOS_optind < argc && + wcscmp(argv[_PyOS_optind], L"-") != 0) + { + cmdline->filename = argv[_PyOS_optind]; + } + return 0; +} - if (version) { - printf("Python %s\n", version >= 2 ? Py_GetVersion() : PY_VERSION); +static int +apply_command_line_and_environment(_Py_CommandLineDetails *cmdline) +{ + char *p; + Py_BytesWarningFlag = cmdline->bytes_warning; + Py_DebugFlag = cmdline->debug; + Py_InspectFlag = cmdline->inspect; + Py_InteractiveFlag = cmdline->interactive; + Py_IsolatedFlag = cmdline->isolated; + Py_OptimizeFlag = cmdline->optimization_level; + Py_DontWriteBytecodeFlag = cmdline->dont_write_bytecode; + Py_NoUserSiteDirectory = cmdline->no_user_site_directory; + Py_NoSiteFlag = cmdline->no_site_import; + Py_UnbufferedStdioFlag = cmdline->use_unbuffered_io; + Py_VerboseFlag = cmdline->verbosity; + Py_QuietFlag = cmdline->quiet_flag; + + if (!Py_InspectFlag && + (p = Py_GETENV("PYTHONINSPECT")) && *p != '\0') { + Py_InspectFlag = 1; + cmdline->inspect = 1; + } + if (!cmdline->use_unbuffered_io && + (p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0') { + Py_UnbufferedStdioFlag = 1; + cmdline->use_unbuffered_io = 1; + } + + if (!Py_NoUserSiteDirectory && + (p = Py_GETENV("PYTHONNOUSERSITE")) && *p != '\0') { + Py_NoUserSiteDirectory = 1; + cmdline->no_user_site_directory = 1; + } + + /* TODO: Apply PYTHONWARNINGS & -W options to sys module here */ + /* TODO: Apply -X options to sys module here */ + return 0; +} + +int +Py_Main(int argc, wchar_t **argv) +{ + int c; + int sts; + FILE *fp = stdin; + char *p; +#ifdef MS_WINDOWS + wchar_t *wp; +#endif + int stdin_is_interactive = 0; + _Py_CommandLineDetails cmdline = _Py_CommandLineDetails_INIT; + PyCompilerFlags cf; + PyObject *main_importer_path = NULL; + + cf.cf_flags = 0; + + orig_argc = argc; /* For Py_GetArgcArgv() */ + orig_argv = argv; + + /* Hash randomization needed early for all string operations + (including -W and -X options). */ + _PyOS_opterr = 0; /* prevent printing the error in 1st pass */ + while ((c = _PyOS_GetOpt(argc, argv, PROGRAM_OPTS)) != EOF) { + if (c == 'm' || c == 'c') { + /* -c / -m is the last option: following arguments are + not interpreter options. */ + break; + } + if (c == 'E' || c == 'I') { + Py_IgnoreEnvironmentFlag++; + break; + } + } + + /* Reprocess the command line with the language runtime available */ + if (read_command_line(argc, argv, &cmdline)) { + return usage(2, argv[0]); + } + + if (cmdline.print_help) { + return usage(0, argv[0]); + } + + if (cmdline.print_version) { + printf("Python %s\n", cmdline.print_version >= 2 ? Py_GetVersion() : PY_VERSION); return 0; } - if (!Py_InspectFlag && - (p = Py_GETENV("PYTHONINSPECT")) && *p != '\0') - Py_InspectFlag = 1; - if (!saw_unbuffered_flag && - (p = Py_GETENV("PYTHONUNBUFFERED")) && *p != '\0') - Py_UnbufferedStdioFlag = 1; - - if (!Py_NoUserSiteDirectory && - (p = Py_GETENV("PYTHONNOUSERSITE")) && *p != '\0') - Py_NoUserSiteDirectory = 1; + PySys_ResetWarnOptions(); + apply_command_line_and_environment(&cmdline); #ifdef MS_WINDOWS if (!Py_IgnoreEnvironmentFlag && (wp = _wgetenv(L"PYTHONWARNINGS")) && @@ -598,19 +675,13 @@ Py_Main(int argc, wchar_t **argv) PyMem_RawFree(buf); } #endif - if (warning_options != NULL) { + if (cmdline.warning_options != NULL) { Py_ssize_t i; - for (i = 0; i < PyList_GET_SIZE(warning_options); i++) { - PySys_AddWarnOptionUnicode(PyList_GET_ITEM(warning_options, i)); + for (i = 0; i < PyList_GET_SIZE(cmdline.warning_options); i++) { + PySys_AddWarnOptionUnicode(PyList_GET_ITEM(cmdline.warning_options, i)); } } - if (command == NULL && module == NULL && _PyOS_optind < argc && - wcscmp(argv[_PyOS_optind], L"-") != 0) - { - filename = argv[_PyOS_optind]; - } - stdin_is_interactive = Py_FdIsInteractive(stdin, (char *)0); #if defined(MS_WINDOWS) || defined(__CYGWIN__) @@ -697,31 +768,31 @@ Py_Main(int argc, wchar_t **argv) Py_SetProgramName(argv[0]); #endif Py_Initialize(); - Py_XDECREF(warning_options); + Py_XDECREF(cmdline.warning_options); if (!Py_QuietFlag && (Py_VerboseFlag || - (command == NULL && filename == NULL && - module == NULL && stdin_is_interactive))) { + (cmdline.command == NULL && cmdline.filename == NULL && + cmdline.module == NULL && stdin_is_interactive))) { fprintf(stderr, "Python %s on %s\n", Py_GetVersion(), Py_GetPlatform()); if (!Py_NoSiteFlag) fprintf(stderr, "%s\n", COPYRIGHT); } - if (command != NULL) { + if (cmdline.command != NULL) { /* Backup _PyOS_optind and force sys.argv[0] = '-c' */ _PyOS_optind--; argv[_PyOS_optind] = L"-c"; } - if (module != NULL) { + if (cmdline.module != NULL) { /* Backup _PyOS_optind and force sys.argv[0] = '-m'*/ _PyOS_optind--; argv[_PyOS_optind] = L"-m"; } - if (filename != NULL) { - main_importer_path = AsImportPathEntry(filename); + if (cmdline.filename != NULL) { + main_importer_path = AsImportPathEntry(cmdline.filename); } if (main_importer_path != NULL) { @@ -732,9 +803,11 @@ Py_Main(int argc, wchar_t **argv) PySys_SetArgv(argc-_PyOS_optind, argv+_PyOS_optind); } - if ((Py_InspectFlag || (command == NULL && filename == NULL && module == NULL)) && - isatty(fileno(stdin)) && - !Py_IsolatedFlag) { + if ((Py_InspectFlag || (cmdline.command == NULL && + cmdline.filename == NULL && + cmdline.module == NULL)) && + isatty(fileno(stdin)) && + !Py_IsolatedFlag) { PyObject *v; v = PyImport_ImportModule("readline"); if (v == NULL) @@ -743,15 +816,15 @@ Py_Main(int argc, wchar_t **argv) Py_DECREF(v); } - if (command) { - sts = run_command(command, &cf); - PyMem_RawFree(command); - } else if (module) { - sts = (RunModule(module, 1) != 0); + if (cmdline.command) { + sts = run_command(cmdline.command, &cf); + PyMem_RawFree(cmdline.command); + } else if (cmdline.module) { + sts = (RunModule(cmdline.module, 1) != 0); } else { - if (filename == NULL && stdin_is_interactive) { + if (cmdline.filename == NULL && stdin_is_interactive) { Py_InspectFlag = 0; /* do exit on SystemExit */ RunStartupFile(&cf); RunInteractiveHook(); @@ -764,13 +837,13 @@ Py_Main(int argc, wchar_t **argv) sts = RunMainFromImporter(main_importer_path); } - if (sts==-1 && filename != NULL) { - fp = _Py_wfopen(filename, L"r"); + if (sts==-1 && cmdline.filename != NULL) { + fp = _Py_wfopen(cmdline.filename, L"r"); if (fp == NULL) { char *cfilename_buffer; const char *cfilename; int err = errno; - cfilename_buffer = Py_EncodeLocale(filename, NULL); + cfilename_buffer = Py_EncodeLocale(cmdline.filename, NULL); if (cfilename_buffer != NULL) cfilename = cfilename_buffer; else @@ -781,7 +854,7 @@ Py_Main(int argc, wchar_t **argv) PyMem_Free(cfilename_buffer); return 2; } - else if (skipfirstline) { + else if (cmdline.skip_first_line) { int ch; /* Push back first newline so line numbers remain the same */ @@ -798,7 +871,7 @@ Py_Main(int argc, wchar_t **argv) S_ISDIR(sb.st_mode)) { fprintf(stderr, "%ls: '%ls' is a directory, cannot continue\n", - argv[0], filename); + argv[0], cmdline.filename); fclose(fp); return 1; } @@ -806,7 +879,7 @@ Py_Main(int argc, wchar_t **argv) } if (sts == -1) - sts = run_file(fp, filename, &cf); + sts = run_file(fp, cmdline.filename, &cf); } /* Check this environment variable at the end, to give programs the @@ -819,7 +892,7 @@ Py_Main(int argc, wchar_t **argv) } if (Py_InspectFlag && stdin_is_interactive && - (filename != NULL || command != NULL || module != NULL)) { + (cmdline.filename != NULL || cmdline.command != NULL || cmdline.module != NULL)) { Py_InspectFlag = 0; RunInteractiveHook(); /* XXX */ diff --git a/PCbuild/pythoncore.vcxproj b/PCbuild/pythoncore.vcxproj index 572d27cfef9..8ebb22e0e2b 100644 --- a/PCbuild/pythoncore.vcxproj +++ b/PCbuild/pythoncore.vcxproj @@ -1,4 +1,4 @@ - + @@ -349,11 +349,11 @@ - + diff --git a/PCbuild/pythoncore.vcxproj.filters b/PCbuild/pythoncore.vcxproj.filters index 65a5b795152..cbe1a3943ff 100644 --- a/PCbuild/pythoncore.vcxproj.filters +++ b/PCbuild/pythoncore.vcxproj.filters @@ -1,4 +1,4 @@ - + @@ -971,7 +971,7 @@ Python - + Python diff --git a/Python/random.c b/Python/bootstrap_hash.c similarity index 93% rename from Python/random.c rename to Python/bootstrap_hash.c index c97d5e71002..27d26ead05b 100644 --- a/Python/random.c +++ b/Python/bootstrap_hash.c @@ -533,44 +533,57 @@ _PyOS_URandomNonblock(void *buffer, Py_ssize_t size) return pyurandom(buffer, size, 0, 1); } -void -_PyRandom_Init(void) +int Py_ReadHashSeed(char *seed_text, + int *use_hash_seed, + unsigned long *hash_seed) { - char *env; - unsigned char *secret = (unsigned char *)&_Py_HashSecret.uc; - Py_ssize_t secret_size = sizeof(_Py_HashSecret_t); Py_BUILD_ASSERT(sizeof(_Py_HashSecret_t) == sizeof(_Py_HashSecret.uc)); + /* Convert a text seed to a numeric one */ + if (seed_text && *seed_text != '\0' && strcmp(seed_text, "random") != 0) { + char *endptr = seed_text; + unsigned long seed; + seed = strtoul(seed_text, &endptr, 10); + if (*endptr != '\0' + || seed > 4294967295UL + || (errno == ERANGE && seed == ULONG_MAX)) + { + return -1; + } + /* Use a specific hash */ + *use_hash_seed = 1; + *hash_seed = seed; + } + else { + /* Use a random hash */ + *use_hash_seed = 0; + *hash_seed = 0; + } + return 0; +} + +static void +init_hash_secret(int use_hash_seed, + unsigned long hash_seed) +{ + void *secret = &_Py_HashSecret; + Py_ssize_t secret_size = sizeof(_Py_HashSecret_t); if (_Py_HashSecret_Initialized) return; _Py_HashSecret_Initialized = 1; - /* - Hash randomization is enabled. Generate a per-process secret, - using PYTHONHASHSEED if provided. - */ - - env = Py_GETENV("PYTHONHASHSEED"); - if (env && *env != '\0' && strcmp(env, "random") != 0) { - char *endptr = env; - unsigned long seed; - seed = strtoul(env, &endptr, 10); - if (*endptr != '\0' - || seed > 4294967295UL - || (errno == ERANGE && seed == ULONG_MAX)) - { - Py_FatalError("PYTHONHASHSEED must be \"random\" or an integer " - "in range [0; 4294967295]"); - } - if (seed == 0) { + if (use_hash_seed) { + if (hash_seed == 0) { /* disable the randomized hash */ memset(secret, 0, secret_size); } else { - lcg_urandom(seed, secret, secret_size); + /* use the specified hash seed */ + lcg_urandom(hash_seed, secret, secret_size); } } else { + /* use a random hash seed */ int res; /* _PyRandom_Init() is called very early in the Python initialization @@ -586,7 +599,24 @@ _PyRandom_Init(void) } void -_PyRandom_Fini(void) +_Py_HashRandomization_Init(void) +{ + char *seed_text; + int use_hash_seed = -1; + unsigned long hash_seed; + + if (use_hash_seed < 0) { + seed_text = Py_GETENV("PYTHONHASHSEED"); + if (Py_ReadHashSeed(seed_text, &use_hash_seed, &hash_seed) < 0) { + Py_FatalError("PYTHONHASHSEED must be \"random\" or an integer " + "in range [0; 4294967295]"); + } + } + init_hash_secret(use_hash_seed, hash_seed); +} + +void +_Py_HashRandomization_Fini(void) { #ifdef MS_WINDOWS if (hCryptProv) { diff --git a/Python/importlib.h b/Python/importlib.h index c462afc1d25..4cc30af6157 100644 --- a/Python/importlib.h +++ b/Python/importlib.h @@ -1,7 +1,7 @@ /* Auto-generated by Programs/_freeze_importlib.c */ const unsigned char _Py_M__importlib[] = { 99,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0, - 0,64,0,0,0,115,202,1,0,0,100,0,90,0,100,1, + 0,64,0,0,0,115,210,1,0,0,100,0,90,0,100,1, 97,1,100,2,100,3,132,0,90,2,100,4,100,5,132,0, 90,3,105,0,90,4,105,0,90,5,71,0,100,6,100,7, 132,0,100,7,101,6,131,3,90,7,71,0,100,8,100,9, @@ -14,7 +14,7 @@ const unsigned char _Py_M__importlib[] = { 90,17,100,30,100,31,132,0,90,18,71,0,100,32,100,33, 132,0,100,33,131,2,90,19,71,0,100,34,100,35,132,0, 100,35,131,2,90,20,100,1,100,1,100,36,156,2,100,37, - 100,38,132,2,90,21,101,22,131,0,90,23,100,92,100,39, + 100,38,132,2,90,21,101,22,131,0,90,23,100,94,100,39, 100,40,132,1,90,24,100,41,100,42,156,1,100,43,100,44, 132,2,90,25,100,45,100,46,132,0,90,26,100,47,100,48, 132,0,90,27,100,49,100,50,132,0,90,28,100,51,100,52, @@ -22,1801 +22,1811 @@ const unsigned char _Py_M__importlib[] = { 132,0,90,31,71,0,100,57,100,58,132,0,100,58,131,2, 90,32,71,0,100,59,100,60,132,0,100,60,131,2,90,33, 71,0,100,61,100,62,132,0,100,62,131,2,90,34,100,63, - 100,64,132,0,90,35,100,65,100,66,132,0,90,36,100,93, + 100,64,132,0,90,35,100,65,100,66,132,0,90,36,100,95, 100,67,100,68,132,1,90,37,100,69,100,70,132,0,90,38, 100,71,90,39,101,39,100,72,23,0,90,40,100,73,100,74, - 132,0,90,41,100,75,100,76,132,0,90,42,100,94,100,78, + 132,0,90,41,100,75,100,76,132,0,90,42,100,96,100,78, 100,79,132,1,90,43,100,80,100,81,132,0,90,44,100,82, 100,83,132,0,90,45,100,1,100,1,102,0,100,77,102,4, 100,84,100,85,132,1,90,46,100,86,100,87,132,0,90,47, 100,88,100,89,132,0,90,48,100,90,100,91,132,0,90,49, - 100,1,83,0,41,95,97,83,1,0,0,67,111,114,101,32, - 105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111, - 102,32,105,109,112,111,114,116,46,10,10,84,104,105,115,32, - 109,111,100,117,108,101,32,105,115,32,78,79,84,32,109,101, - 97,110,116,32,116,111,32,98,101,32,100,105,114,101,99,116, - 108,121,32,105,109,112,111,114,116,101,100,33,32,73,116,32, - 104,97,115,32,98,101,101,110,32,100,101,115,105,103,110,101, - 100,32,115,117,99,104,10,116,104,97,116,32,105,116,32,99, - 97,110,32,98,101,32,98,111,111,116,115,116,114,97,112,112, - 101,100,32,105,110,116,111,32,80,121,116,104,111,110,32,97, - 115,32,116,104,101,32,105,109,112,108,101,109,101,110,116,97, - 116,105,111,110,32,111,102,32,105,109,112,111,114,116,46,32, - 65,115,10,115,117,99,104,32,105,116,32,114,101,113,117,105, - 114,101,115,32,116,104,101,32,105,110,106,101,99,116,105,111, - 110,32,111,102,32,115,112,101,99,105,102,105,99,32,109,111, - 100,117,108,101,115,32,97,110,100,32,97,116,116,114,105,98, - 117,116,101,115,32,105,110,32,111,114,100,101,114,32,116,111, - 10,119,111,114,107,46,32,79,110,101,32,115,104,111,117,108, - 100,32,117,115,101,32,105,109,112,111,114,116,108,105,98,32, - 97,115,32,116,104,101,32,112,117,98,108,105,99,45,102,97, - 99,105,110,103,32,118,101,114,115,105,111,110,32,111,102,32, - 116,104,105,115,32,109,111,100,117,108,101,46,10,10,78,99, - 2,0,0,0,0,0,0,0,3,0,0,0,7,0,0,0, - 67,0,0,0,115,60,0,0,0,120,40,100,6,68,0,93, - 32,125,2,116,0,124,1,124,2,131,2,114,6,116,1,124, - 0,124,2,116,2,124,1,124,2,131,2,131,3,1,0,113, - 6,87,0,124,0,106,3,160,4,124,1,106,3,161,1,1, - 0,100,5,83,0,41,7,122,47,83,105,109,112,108,101,32, - 115,117,98,115,116,105,116,117,116,101,32,102,111,114,32,102, - 117,110,99,116,111,111,108,115,46,117,112,100,97,116,101,95, - 119,114,97,112,112,101,114,46,218,10,95,95,109,111,100,117, - 108,101,95,95,218,8,95,95,110,97,109,101,95,95,218,12, - 95,95,113,117,97,108,110,97,109,101,95,95,218,7,95,95, - 100,111,99,95,95,78,41,4,114,0,0,0,0,114,1,0, - 0,0,114,2,0,0,0,114,3,0,0,0,41,5,218,7, - 104,97,115,97,116,116,114,218,7,115,101,116,97,116,116,114, - 218,7,103,101,116,97,116,116,114,218,8,95,95,100,105,99, - 116,95,95,218,6,117,112,100,97,116,101,41,3,90,3,110, - 101,119,90,3,111,108,100,218,7,114,101,112,108,97,99,101, - 169,0,114,10,0,0,0,250,29,60,102,114,111,122,101,110, - 32,105,109,112,111,114,116,108,105,98,46,95,98,111,111,116, - 115,116,114,97,112,62,218,5,95,119,114,97,112,27,0,0, - 0,115,8,0,0,0,0,2,10,1,10,1,22,1,114,12, - 0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,0, - 2,0,0,0,67,0,0,0,115,12,0,0,0,116,0,116, - 1,131,1,124,0,131,1,83,0,41,1,78,41,2,218,4, - 116,121,112,101,218,3,115,121,115,41,1,218,4,110,97,109, - 101,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, - 218,11,95,110,101,119,95,109,111,100,117,108,101,35,0,0, - 0,115,2,0,0,0,0,1,114,16,0,0,0,99,0,0, - 0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0, - 0,0,115,12,0,0,0,101,0,90,1,100,0,90,2,100, - 1,83,0,41,2,218,14,95,68,101,97,100,108,111,99,107, - 69,114,114,111,114,78,41,3,114,1,0,0,0,114,0,0, - 0,0,114,2,0,0,0,114,10,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,17,0,0,0, - 47,0,0,0,115,2,0,0,0,8,1,114,17,0,0,0, - 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, - 0,64,0,0,0,115,56,0,0,0,101,0,90,1,100,0, - 90,2,100,1,90,3,100,2,100,3,132,0,90,4,100,4, - 100,5,132,0,90,5,100,6,100,7,132,0,90,6,100,8, - 100,9,132,0,90,7,100,10,100,11,132,0,90,8,100,12, - 83,0,41,13,218,11,95,77,111,100,117,108,101,76,111,99, - 107,122,169,65,32,114,101,99,117,114,115,105,118,101,32,108, - 111,99,107,32,105,109,112,108,101,109,101,110,116,97,116,105, - 111,110,32,119,104,105,99,104,32,105,115,32,97,98,108,101, - 32,116,111,32,100,101,116,101,99,116,32,100,101,97,100,108, - 111,99,107,115,10,32,32,32,32,40,101,46,103,46,32,116, - 104,114,101,97,100,32,49,32,116,114,121,105,110,103,32,116, - 111,32,116,97,107,101,32,108,111,99,107,115,32,65,32,116, - 104,101,110,32,66,44,32,97,110,100,32,116,104,114,101,97, - 100,32,50,32,116,114,121,105,110,103,32,116,111,10,32,32, - 32,32,116,97,107,101,32,108,111,99,107,115,32,66,32,116, - 104,101,110,32,65,41,46,10,32,32,32,32,99,2,0,0, - 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0, - 0,115,48,0,0,0,116,0,160,1,161,0,124,0,95,2, - 116,0,160,1,161,0,124,0,95,3,124,1,124,0,95,4, - 100,0,124,0,95,5,100,1,124,0,95,6,100,1,124,0, - 95,7,100,0,83,0,41,2,78,233,0,0,0,0,41,8, - 218,7,95,116,104,114,101,97,100,90,13,97,108,108,111,99, - 97,116,101,95,108,111,99,107,218,4,108,111,99,107,218,6, - 119,97,107,101,117,112,114,15,0,0,0,218,5,111,119,110, - 101,114,218,5,99,111,117,110,116,218,7,119,97,105,116,101, - 114,115,41,2,218,4,115,101,108,102,114,15,0,0,0,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,8, - 95,95,105,110,105,116,95,95,57,0,0,0,115,12,0,0, - 0,0,1,10,1,10,1,6,1,6,1,6,1,122,20,95, - 77,111,100,117,108,101,76,111,99,107,46,95,95,105,110,105, - 116,95,95,99,1,0,0,0,0,0,0,0,4,0,0,0, - 3,0,0,0,67,0,0,0,115,64,0,0,0,116,0,160, - 1,161,0,125,1,124,0,106,2,125,2,120,44,116,3,160, - 4,124,2,161,1,125,3,124,3,100,0,107,8,114,38,100, - 1,83,0,124,3,106,2,125,2,124,2,124,1,107,2,114, - 16,100,2,83,0,113,16,87,0,100,0,83,0,41,3,78, - 70,84,41,5,114,20,0,0,0,218,9,103,101,116,95,105, - 100,101,110,116,114,23,0,0,0,218,12,95,98,108,111,99, - 107,105,110,103,95,111,110,218,3,103,101,116,41,4,114,26, - 0,0,0,90,2,109,101,218,3,116,105,100,114,21,0,0, - 0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, - 218,12,104,97,115,95,100,101,97,100,108,111,99,107,65,0, - 0,0,115,18,0,0,0,0,2,8,1,6,1,2,1,10, - 1,8,1,4,1,6,1,8,1,122,24,95,77,111,100,117, - 108,101,76,111,99,107,46,104,97,115,95,100,101,97,100,108, - 111,99,107,99,1,0,0,0,0,0,0,0,2,0,0,0, - 16,0,0,0,67,0,0,0,115,168,0,0,0,116,0,160, - 1,161,0,125,1,124,0,116,2,124,1,60,0,122,138,120, - 132,124,0,106,3,143,96,1,0,124,0,106,4,100,1,107, - 2,115,48,124,0,106,5,124,1,107,2,114,72,124,1,124, - 0,95,5,124,0,4,0,106,4,100,2,55,0,2,0,95, - 4,100,3,83,0,124,0,160,6,161,0,114,92,116,7,100, - 4,124,0,22,0,131,1,130,1,124,0,106,8,160,9,100, - 5,161,1,114,118,124,0,4,0,106,10,100,2,55,0,2, - 0,95,10,87,0,100,6,81,0,82,0,88,0,124,0,106, - 8,160,9,161,0,1,0,124,0,106,8,160,11,161,0,1, - 0,113,20,87,0,87,0,100,6,116,2,124,1,61,0,88, - 0,100,6,83,0,41,7,122,185,10,32,32,32,32,32,32, - 32,32,65,99,113,117,105,114,101,32,116,104,101,32,109,111, - 100,117,108,101,32,108,111,99,107,46,32,32,73,102,32,97, - 32,112,111,116,101,110,116,105,97,108,32,100,101,97,100,108, - 111,99,107,32,105,115,32,100,101,116,101,99,116,101,100,44, - 10,32,32,32,32,32,32,32,32,97,32,95,68,101,97,100, - 108,111,99,107,69,114,114,111,114,32,105,115,32,114,97,105, - 115,101,100,46,10,32,32,32,32,32,32,32,32,79,116,104, - 101,114,119,105,115,101,44,32,116,104,101,32,108,111,99,107, - 32,105,115,32,97,108,119,97,121,115,32,97,99,113,117,105, - 114,101,100,32,97,110,100,32,84,114,117,101,32,105,115,32, - 114,101,116,117,114,110,101,100,46,10,32,32,32,32,32,32, - 32,32,114,19,0,0,0,233,1,0,0,0,84,122,23,100, - 101,97,100,108,111,99,107,32,100,101,116,101,99,116,101,100, - 32,98,121,32,37,114,70,78,41,12,114,20,0,0,0,114, - 28,0,0,0,114,29,0,0,0,114,21,0,0,0,114,24, - 0,0,0,114,23,0,0,0,114,32,0,0,0,114,17,0, - 0,0,114,22,0,0,0,218,7,97,99,113,117,105,114,101, - 114,25,0,0,0,218,7,114,101,108,101,97,115,101,41,2, - 114,26,0,0,0,114,31,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,34,0,0,0,77,0, - 0,0,115,32,0,0,0,0,6,8,1,8,1,2,1,2, - 1,8,1,20,1,6,1,14,1,4,1,8,1,12,1,12, - 1,24,2,10,1,18,2,122,19,95,77,111,100,117,108,101, - 76,111,99,107,46,97,99,113,117,105,114,101,99,1,0,0, - 0,0,0,0,0,2,0,0,0,10,0,0,0,67,0,0, - 0,115,122,0,0,0,116,0,160,1,161,0,125,1,124,0, - 106,2,143,98,1,0,124,0,106,3,124,1,107,3,114,34, - 116,4,100,1,131,1,130,1,124,0,106,5,100,2,107,4, - 115,48,116,6,130,1,124,0,4,0,106,5,100,3,56,0, - 2,0,95,5,124,0,106,5,100,2,107,2,114,108,100,0, - 124,0,95,3,124,0,106,7,114,108,124,0,4,0,106,7, - 100,3,56,0,2,0,95,7,124,0,106,8,160,9,161,0, - 1,0,87,0,100,0,81,0,82,0,88,0,100,0,83,0, - 41,4,78,122,31,99,97,110,110,111,116,32,114,101,108,101, - 97,115,101,32,117,110,45,97,99,113,117,105,114,101,100,32, - 108,111,99,107,114,19,0,0,0,114,33,0,0,0,41,10, - 114,20,0,0,0,114,28,0,0,0,114,21,0,0,0,114, - 23,0,0,0,218,12,82,117,110,116,105,109,101,69,114,114, - 111,114,114,24,0,0,0,218,14,65,115,115,101,114,116,105, - 111,110,69,114,114,111,114,114,25,0,0,0,114,22,0,0, - 0,114,35,0,0,0,41,2,114,26,0,0,0,114,31,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,35,0,0,0,102,0,0,0,115,22,0,0,0,0, - 1,8,1,8,1,10,1,8,1,14,1,14,1,10,1,6, - 1,6,1,14,1,122,19,95,77,111,100,117,108,101,76,111, - 99,107,46,114,101,108,101,97,115,101,99,1,0,0,0,0, - 0,0,0,1,0,0,0,5,0,0,0,67,0,0,0,115, - 18,0,0,0,100,1,160,0,124,0,106,1,116,2,124,0, - 131,1,161,2,83,0,41,2,78,122,23,95,77,111,100,117, - 108,101,76,111,99,107,40,123,33,114,125,41,32,97,116,32, - 123,125,41,3,218,6,102,111,114,109,97,116,114,15,0,0, - 0,218,2,105,100,41,1,114,26,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,218,8,95,95,114, - 101,112,114,95,95,115,0,0,0,115,2,0,0,0,0,1, - 122,20,95,77,111,100,117,108,101,76,111,99,107,46,95,95, - 114,101,112,114,95,95,78,41,9,114,1,0,0,0,114,0, - 0,0,0,114,2,0,0,0,114,3,0,0,0,114,27,0, - 0,0,114,32,0,0,0,114,34,0,0,0,114,35,0,0, - 0,114,40,0,0,0,114,10,0,0,0,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,114,18,0,0,0,51, - 0,0,0,115,10,0,0,0,12,6,8,8,8,12,8,25, - 8,13,114,18,0,0,0,99,0,0,0,0,0,0,0,0, - 0,0,0,0,2,0,0,0,64,0,0,0,115,48,0,0, - 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,100, - 3,132,0,90,4,100,4,100,5,132,0,90,5,100,6,100, - 7,132,0,90,6,100,8,100,9,132,0,90,7,100,10,83, - 0,41,11,218,16,95,68,117,109,109,121,77,111,100,117,108, - 101,76,111,99,107,122,86,65,32,115,105,109,112,108,101,32, - 95,77,111,100,117,108,101,76,111,99,107,32,101,113,117,105, - 118,97,108,101,110,116,32,102,111,114,32,80,121,116,104,111, - 110,32,98,117,105,108,100,115,32,119,105,116,104,111,117,116, - 10,32,32,32,32,109,117,108,116,105,45,116,104,114,101,97, - 100,105,110,103,32,115,117,112,112,111,114,116,46,99,2,0, - 0,0,0,0,0,0,2,0,0,0,2,0,0,0,67,0, - 0,0,115,16,0,0,0,124,1,124,0,95,0,100,1,124, - 0,95,1,100,0,83,0,41,2,78,114,19,0,0,0,41, - 2,114,15,0,0,0,114,24,0,0,0,41,2,114,26,0, - 0,0,114,15,0,0,0,114,10,0,0,0,114,10,0,0, - 0,114,11,0,0,0,114,27,0,0,0,123,0,0,0,115, - 4,0,0,0,0,1,6,1,122,25,95,68,117,109,109,121, - 77,111,100,117,108,101,76,111,99,107,46,95,95,105,110,105, - 116,95,95,99,1,0,0,0,0,0,0,0,1,0,0,0, - 3,0,0,0,67,0,0,0,115,18,0,0,0,124,0,4, - 0,106,0,100,1,55,0,2,0,95,0,100,2,83,0,41, - 3,78,114,33,0,0,0,84,41,1,114,24,0,0,0,41, - 1,114,26,0,0,0,114,10,0,0,0,114,10,0,0,0, - 114,11,0,0,0,114,34,0,0,0,127,0,0,0,115,4, - 0,0,0,0,1,14,1,122,24,95,68,117,109,109,121,77, - 111,100,117,108,101,76,111,99,107,46,97,99,113,117,105,114, - 101,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, - 0,0,67,0,0,0,115,36,0,0,0,124,0,106,0,100, - 1,107,2,114,18,116,1,100,2,131,1,130,1,124,0,4, - 0,106,0,100,3,56,0,2,0,95,0,100,0,83,0,41, - 4,78,114,19,0,0,0,122,31,99,97,110,110,111,116,32, - 114,101,108,101,97,115,101,32,117,110,45,97,99,113,117,105, - 114,101,100,32,108,111,99,107,114,33,0,0,0,41,2,114, - 24,0,0,0,114,36,0,0,0,41,1,114,26,0,0,0, - 114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,114, - 35,0,0,0,131,0,0,0,115,6,0,0,0,0,1,10, - 1,8,1,122,24,95,68,117,109,109,121,77,111,100,117,108, - 101,76,111,99,107,46,114,101,108,101,97,115,101,99,1,0, - 0,0,0,0,0,0,1,0,0,0,5,0,0,0,67,0, - 0,0,115,18,0,0,0,100,1,160,0,124,0,106,1,116, - 2,124,0,131,1,161,2,83,0,41,2,78,122,28,95,68, - 117,109,109,121,77,111,100,117,108,101,76,111,99,107,40,123, - 33,114,125,41,32,97,116,32,123,125,41,3,114,38,0,0, - 0,114,15,0,0,0,114,39,0,0,0,41,1,114,26,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,40,0,0,0,136,0,0,0,115,2,0,0,0,0, - 1,122,25,95,68,117,109,109,121,77,111,100,117,108,101,76, - 111,99,107,46,95,95,114,101,112,114,95,95,78,41,8,114, - 1,0,0,0,114,0,0,0,0,114,2,0,0,0,114,3, - 0,0,0,114,27,0,0,0,114,34,0,0,0,114,35,0, - 0,0,114,40,0,0,0,114,10,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,41,0,0,0, - 119,0,0,0,115,8,0,0,0,12,4,8,4,8,4,8, - 5,114,41,0,0,0,99,0,0,0,0,0,0,0,0,0, - 0,0,0,2,0,0,0,64,0,0,0,115,36,0,0,0, - 101,0,90,1,100,0,90,2,100,1,100,2,132,0,90,3, - 100,3,100,4,132,0,90,4,100,5,100,6,132,0,90,5, - 100,7,83,0,41,8,218,18,95,77,111,100,117,108,101,76, - 111,99,107,77,97,110,97,103,101,114,99,2,0,0,0,0, - 0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115, - 16,0,0,0,124,1,124,0,95,0,100,0,124,0,95,1, - 100,0,83,0,41,1,78,41,2,218,5,95,110,97,109,101, - 218,5,95,108,111,99,107,41,2,114,26,0,0,0,114,15, - 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,114,27,0,0,0,142,0,0,0,115,4,0,0,0, - 0,1,6,1,122,27,95,77,111,100,117,108,101,76,111,99, - 107,77,97,110,97,103,101,114,46,95,95,105,110,105,116,95, - 95,99,1,0,0,0,0,0,0,0,1,0,0,0,11,0, - 0,0,67,0,0,0,115,42,0,0,0,122,16,116,0,124, - 0,106,1,131,1,124,0,95,2,87,0,100,0,116,3,160, - 4,161,0,1,0,88,0,124,0,106,2,160,5,161,0,1, - 0,100,0,83,0,41,1,78,41,6,218,16,95,103,101,116, - 95,109,111,100,117,108,101,95,108,111,99,107,114,43,0,0, - 0,114,44,0,0,0,218,4,95,105,109,112,218,12,114,101, - 108,101,97,115,101,95,108,111,99,107,114,34,0,0,0,41, - 1,114,26,0,0,0,114,10,0,0,0,114,10,0,0,0, - 114,11,0,0,0,218,9,95,95,101,110,116,101,114,95,95, - 146,0,0,0,115,8,0,0,0,0,1,2,1,16,2,10, - 1,122,28,95,77,111,100,117,108,101,76,111,99,107,77,97, - 110,97,103,101,114,46,95,95,101,110,116,101,114,95,95,99, - 1,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0, - 79,0,0,0,115,14,0,0,0,124,0,106,0,160,1,161, - 0,1,0,100,0,83,0,41,1,78,41,2,114,44,0,0, - 0,114,35,0,0,0,41,3,114,26,0,0,0,218,4,97, - 114,103,115,90,6,107,119,97,114,103,115,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,218,8,95,95,101,120, - 105,116,95,95,153,0,0,0,115,2,0,0,0,0,1,122, - 27,95,77,111,100,117,108,101,76,111,99,107,77,97,110,97, - 103,101,114,46,95,95,101,120,105,116,95,95,78,41,6,114, - 1,0,0,0,114,0,0,0,0,114,2,0,0,0,114,27, - 0,0,0,114,48,0,0,0,114,50,0,0,0,114,10,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,42,0,0,0,140,0,0,0,115,6,0,0,0,8, - 2,8,4,8,7,114,42,0,0,0,99,1,0,0,0,0, - 0,0,0,3,0,0,0,12,0,0,0,3,0,0,0,115, - 106,0,0,0,100,1,125,1,121,14,116,0,136,0,25,0, - 131,0,125,1,87,0,110,20,4,0,116,1,107,10,114,38, - 1,0,1,0,1,0,89,0,110,2,88,0,124,1,100,1, - 107,8,114,102,116,2,100,1,107,8,114,66,116,3,136,0, - 131,1,125,1,110,8,116,4,136,0,131,1,125,1,135,0, - 102,1,100,2,100,3,132,8,125,2,116,5,160,6,124,1, - 124,2,161,2,116,0,136,0,60,0,124,1,83,0,41,4, - 122,109,71,101,116,32,111,114,32,99,114,101,97,116,101,32, - 116,104,101,32,109,111,100,117,108,101,32,108,111,99,107,32, - 102,111,114,32,97,32,103,105,118,101,110,32,109,111,100,117, - 108,101,32,110,97,109,101,46,10,10,32,32,32,32,83,104, - 111,117,108,100,32,111,110,108,121,32,98,101,32,99,97,108, - 108,101,100,32,119,105,116,104,32,116,104,101,32,105,109,112, - 111,114,116,32,108,111,99,107,32,116,97,107,101,110,46,78, - 99,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0, - 0,19,0,0,0,115,10,0,0,0,116,0,136,0,61,0, - 100,0,83,0,41,1,78,41,1,218,13,95,109,111,100,117, - 108,101,95,108,111,99,107,115,41,1,218,1,95,41,1,114, - 15,0,0,0,114,10,0,0,0,114,11,0,0,0,218,2, - 99,98,173,0,0,0,115,2,0,0,0,0,1,122,28,95, - 103,101,116,95,109,111,100,117,108,101,95,108,111,99,107,46, - 60,108,111,99,97,108,115,62,46,99,98,41,7,114,51,0, - 0,0,218,8,75,101,121,69,114,114,111,114,114,20,0,0, - 0,114,41,0,0,0,114,18,0,0,0,218,8,95,119,101, - 97,107,114,101,102,90,3,114,101,102,41,3,114,15,0,0, - 0,114,21,0,0,0,114,53,0,0,0,114,10,0,0,0, - 41,1,114,15,0,0,0,114,11,0,0,0,114,45,0,0, - 0,159,0,0,0,115,24,0,0,0,0,4,4,1,2,1, - 14,1,14,1,6,1,8,1,8,1,10,2,8,1,12,2, - 16,1,114,45,0,0,0,99,1,0,0,0,0,0,0,0, - 2,0,0,0,11,0,0,0,67,0,0,0,115,62,0,0, - 0,116,0,124,0,131,1,125,1,116,1,160,2,161,0,1, - 0,121,12,124,1,160,3,161,0,1,0,87,0,110,20,4, - 0,116,4,107,10,114,48,1,0,1,0,1,0,89,0,110, - 10,88,0,124,1,160,5,161,0,1,0,100,1,83,0,41, - 2,97,21,1,0,0,82,101,108,101,97,115,101,32,116,104, - 101,32,103,108,111,98,97,108,32,105,109,112,111,114,116,32, - 108,111,99,107,44,32,97,110,100,32,97,99,113,117,105,114, - 101,115,32,116,104,101,110,32,114,101,108,101,97,115,101,32, - 116,104,101,10,32,32,32,32,109,111,100,117,108,101,32,108, - 111,99,107,32,102,111,114,32,97,32,103,105,118,101,110,32, - 109,111,100,117,108,101,32,110,97,109,101,46,10,32,32,32, - 32,84,104,105,115,32,105,115,32,117,115,101,100,32,116,111, - 32,101,110,115,117,114,101,32,97,32,109,111,100,117,108,101, - 32,105,115,32,99,111,109,112,108,101,116,101,108,121,32,105, - 110,105,116,105,97,108,105,122,101,100,44,32,105,110,32,116, - 104,101,10,32,32,32,32,101,118,101,110,116,32,105,116,32, - 105,115,32,98,101,105,110,103,32,105,109,112,111,114,116,101, - 100,32,98,121,32,97,110,111,116,104,101,114,32,116,104,114, - 101,97,100,46,10,10,32,32,32,32,83,104,111,117,108,100, - 32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32, - 119,105,116,104,32,116,104,101,32,105,109,112,111,114,116,32, - 108,111,99,107,32,116,97,107,101,110,46,78,41,6,114,45, - 0,0,0,114,46,0,0,0,114,47,0,0,0,114,34,0, - 0,0,114,17,0,0,0,114,35,0,0,0,41,2,114,15, - 0,0,0,114,21,0,0,0,114,10,0,0,0,114,10,0, - 0,0,114,11,0,0,0,218,19,95,108,111,99,107,95,117, - 110,108,111,99,107,95,109,111,100,117,108,101,178,0,0,0, - 115,14,0,0,0,0,7,8,1,8,1,2,1,12,1,14, - 3,6,2,114,56,0,0,0,99,1,0,0,0,0,0,0, - 0,3,0,0,0,3,0,0,0,79,0,0,0,115,10,0, - 0,0,124,0,124,1,124,2,142,1,83,0,41,1,97,46, - 1,0,0,114,101,109,111,118,101,95,105,109,112,111,114,116, - 108,105,98,95,102,114,97,109,101,115,32,105,110,32,105,109, - 112,111,114,116,46,99,32,119,105,108,108,32,97,108,119,97, - 121,115,32,114,101,109,111,118,101,32,115,101,113,117,101,110, - 99,101,115,10,32,32,32,32,111,102,32,105,109,112,111,114, - 116,108,105,98,32,102,114,97,109,101,115,32,116,104,97,116, - 32,101,110,100,32,119,105,116,104,32,97,32,99,97,108,108, - 32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111, - 110,10,10,32,32,32,32,85,115,101,32,105,116,32,105,110, - 115,116,101,97,100,32,111,102,32,97,32,110,111,114,109,97, - 108,32,99,97,108,108,32,105,110,32,112,108,97,99,101,115, - 32,119,104,101,114,101,32,105,110,99,108,117,100,105,110,103, - 32,116,104,101,32,105,109,112,111,114,116,108,105,98,10,32, - 32,32,32,102,114,97,109,101,115,32,105,110,116,114,111,100, - 117,99,101,115,32,117,110,119,97,110,116,101,100,32,110,111, - 105,115,101,32,105,110,116,111,32,116,104,101,32,116,114,97, - 99,101,98,97,99,107,32,40,101,46,103,46,32,119,104,101, - 110,32,101,120,101,99,117,116,105,110,103,10,32,32,32,32, - 109,111,100,117,108,101,32,99,111,100,101,41,10,32,32,32, - 32,114,10,0,0,0,41,3,218,1,102,114,49,0,0,0, - 90,4,107,119,100,115,114,10,0,0,0,114,10,0,0,0, - 114,11,0,0,0,218,25,95,99,97,108,108,95,119,105,116, - 104,95,102,114,97,109,101,115,95,114,101,109,111,118,101,100, - 197,0,0,0,115,2,0,0,0,0,8,114,58,0,0,0, - 114,33,0,0,0,41,1,218,9,118,101,114,98,111,115,105, - 116,121,99,1,0,0,0,1,0,0,0,3,0,0,0,4, - 0,0,0,71,0,0,0,115,54,0,0,0,116,0,106,1, - 106,2,124,1,107,5,114,50,124,0,160,3,100,6,161,1, - 115,30,100,3,124,0,23,0,125,0,116,4,124,0,106,5, - 124,2,142,0,116,0,106,6,100,4,141,2,1,0,100,5, - 83,0,41,7,122,61,80,114,105,110,116,32,116,104,101,32, - 109,101,115,115,97,103,101,32,116,111,32,115,116,100,101,114, - 114,32,105,102,32,45,118,47,80,89,84,72,79,78,86,69, - 82,66,79,83,69,32,105,115,32,116,117,114,110,101,100,32, - 111,110,46,250,1,35,250,7,105,109,112,111,114,116,32,122, - 2,35,32,41,1,90,4,102,105,108,101,78,41,2,114,60, - 0,0,0,114,61,0,0,0,41,7,114,14,0,0,0,218, - 5,102,108,97,103,115,218,7,118,101,114,98,111,115,101,218, - 10,115,116,97,114,116,115,119,105,116,104,218,5,112,114,105, - 110,116,114,38,0,0,0,218,6,115,116,100,101,114,114,41, - 3,218,7,109,101,115,115,97,103,101,114,59,0,0,0,114, - 49,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, - 0,0,0,218,16,95,118,101,114,98,111,115,101,95,109,101, - 115,115,97,103,101,208,0,0,0,115,8,0,0,0,0,2, - 12,1,10,1,8,1,114,68,0,0,0,99,1,0,0,0, - 0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0, - 115,26,0,0,0,135,0,102,1,100,1,100,2,132,8,125, - 1,116,0,124,1,136,0,131,2,1,0,124,1,83,0,41, - 3,122,49,68,101,99,111,114,97,116,111,114,32,116,111,32, - 118,101,114,105,102,121,32,116,104,101,32,110,97,109,101,100, - 32,109,111,100,117,108,101,32,105,115,32,98,117,105,108,116, - 45,105,110,46,99,2,0,0,0,0,0,0,0,2,0,0, - 0,4,0,0,0,19,0,0,0,115,38,0,0,0,124,1, - 116,0,106,1,107,7,114,28,116,2,100,1,160,3,124,1, - 161,1,124,1,100,2,141,2,130,1,136,0,124,0,124,1, - 131,2,83,0,41,3,78,122,29,123,33,114,125,32,105,115, - 32,110,111,116,32,97,32,98,117,105,108,116,45,105,110,32, - 109,111,100,117,108,101,41,1,114,15,0,0,0,41,4,114, - 14,0,0,0,218,20,98,117,105,108,116,105,110,95,109,111, - 100,117,108,101,95,110,97,109,101,115,218,11,73,109,112,111, - 114,116,69,114,114,111,114,114,38,0,0,0,41,2,114,26, - 0,0,0,218,8,102,117,108,108,110,97,109,101,41,1,218, - 3,102,120,110,114,10,0,0,0,114,11,0,0,0,218,25, - 95,114,101,113,117,105,114,101,115,95,98,117,105,108,116,105, - 110,95,119,114,97,112,112,101,114,218,0,0,0,115,8,0, - 0,0,0,1,10,1,10,1,8,1,122,52,95,114,101,113, - 117,105,114,101,115,95,98,117,105,108,116,105,110,46,60,108, - 111,99,97,108,115,62,46,95,114,101,113,117,105,114,101,115, - 95,98,117,105,108,116,105,110,95,119,114,97,112,112,101,114, - 41,1,114,12,0,0,0,41,2,114,72,0,0,0,114,73, - 0,0,0,114,10,0,0,0,41,1,114,72,0,0,0,114, - 11,0,0,0,218,17,95,114,101,113,117,105,114,101,115,95, - 98,117,105,108,116,105,110,216,0,0,0,115,6,0,0,0, - 0,2,12,5,10,1,114,74,0,0,0,99,1,0,0,0, - 0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0, - 115,26,0,0,0,135,0,102,1,100,1,100,2,132,8,125, - 1,116,0,124,1,136,0,131,2,1,0,124,1,83,0,41, - 3,122,47,68,101,99,111,114,97,116,111,114,32,116,111,32, - 118,101,114,105,102,121,32,116,104,101,32,110,97,109,101,100, - 32,109,111,100,117,108,101,32,105,115,32,102,114,111,122,101, - 110,46,99,2,0,0,0,0,0,0,0,2,0,0,0,4, - 0,0,0,19,0,0,0,115,38,0,0,0,116,0,160,1, - 124,1,161,1,115,28,116,2,100,1,160,3,124,1,161,1, - 124,1,100,2,141,2,130,1,136,0,124,0,124,1,131,2, - 83,0,41,3,78,122,27,123,33,114,125,32,105,115,32,110, - 111,116,32,97,32,102,114,111,122,101,110,32,109,111,100,117, - 108,101,41,1,114,15,0,0,0,41,4,114,46,0,0,0, - 218,9,105,115,95,102,114,111,122,101,110,114,70,0,0,0, - 114,38,0,0,0,41,2,114,26,0,0,0,114,71,0,0, - 0,41,1,114,72,0,0,0,114,10,0,0,0,114,11,0, - 0,0,218,24,95,114,101,113,117,105,114,101,115,95,102,114, - 111,122,101,110,95,119,114,97,112,112,101,114,229,0,0,0, - 115,8,0,0,0,0,1,10,1,10,1,8,1,122,50,95, - 114,101,113,117,105,114,101,115,95,102,114,111,122,101,110,46, - 60,108,111,99,97,108,115,62,46,95,114,101,113,117,105,114, - 101,115,95,102,114,111,122,101,110,95,119,114,97,112,112,101, - 114,41,1,114,12,0,0,0,41,2,114,72,0,0,0,114, - 76,0,0,0,114,10,0,0,0,41,1,114,72,0,0,0, - 114,11,0,0,0,218,16,95,114,101,113,117,105,114,101,115, - 95,102,114,111,122,101,110,227,0,0,0,115,6,0,0,0, - 0,2,12,5,10,1,114,77,0,0,0,99,2,0,0,0, + 100,92,100,93,132,0,90,50,100,1,83,0,41,97,97,83, + 1,0,0,67,111,114,101,32,105,109,112,108,101,109,101,110, + 116,97,116,105,111,110,32,111,102,32,105,109,112,111,114,116, + 46,10,10,84,104,105,115,32,109,111,100,117,108,101,32,105, + 115,32,78,79,84,32,109,101,97,110,116,32,116,111,32,98, + 101,32,100,105,114,101,99,116,108,121,32,105,109,112,111,114, + 116,101,100,33,32,73,116,32,104,97,115,32,98,101,101,110, + 32,100,101,115,105,103,110,101,100,32,115,117,99,104,10,116, + 104,97,116,32,105,116,32,99,97,110,32,98,101,32,98,111, + 111,116,115,116,114,97,112,112,101,100,32,105,110,116,111,32, + 80,121,116,104,111,110,32,97,115,32,116,104,101,32,105,109, + 112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32, + 105,109,112,111,114,116,46,32,65,115,10,115,117,99,104,32, + 105,116,32,114,101,113,117,105,114,101,115,32,116,104,101,32, + 105,110,106,101,99,116,105,111,110,32,111,102,32,115,112,101, + 99,105,102,105,99,32,109,111,100,117,108,101,115,32,97,110, + 100,32,97,116,116,114,105,98,117,116,101,115,32,105,110,32, + 111,114,100,101,114,32,116,111,10,119,111,114,107,46,32,79, + 110,101,32,115,104,111,117,108,100,32,117,115,101,32,105,109, + 112,111,114,116,108,105,98,32,97,115,32,116,104,101,32,112, + 117,98,108,105,99,45,102,97,99,105,110,103,32,118,101,114, + 115,105,111,110,32,111,102,32,116,104,105,115,32,109,111,100, + 117,108,101,46,10,10,78,99,2,0,0,0,0,0,0,0, + 3,0,0,0,7,0,0,0,67,0,0,0,115,60,0,0, + 0,120,40,100,6,68,0,93,32,125,2,116,0,124,1,124, + 2,131,2,114,6,116,1,124,0,124,2,116,2,124,1,124, + 2,131,2,131,3,1,0,113,6,87,0,124,0,106,3,160, + 4,124,1,106,3,161,1,1,0,100,5,83,0,41,7,122, + 47,83,105,109,112,108,101,32,115,117,98,115,116,105,116,117, + 116,101,32,102,111,114,32,102,117,110,99,116,111,111,108,115, + 46,117,112,100,97,116,101,95,119,114,97,112,112,101,114,46, + 218,10,95,95,109,111,100,117,108,101,95,95,218,8,95,95, + 110,97,109,101,95,95,218,12,95,95,113,117,97,108,110,97, + 109,101,95,95,218,7,95,95,100,111,99,95,95,78,41,4, + 114,0,0,0,0,114,1,0,0,0,114,2,0,0,0,114, + 3,0,0,0,41,5,218,7,104,97,115,97,116,116,114,218, + 7,115,101,116,97,116,116,114,218,7,103,101,116,97,116,116, + 114,218,8,95,95,100,105,99,116,95,95,218,6,117,112,100, + 97,116,101,41,3,90,3,110,101,119,90,3,111,108,100,218, + 7,114,101,112,108,97,99,101,169,0,114,10,0,0,0,250, + 29,60,102,114,111,122,101,110,32,105,109,112,111,114,116,108, + 105,98,46,95,98,111,111,116,115,116,114,97,112,62,218,5, + 95,119,114,97,112,27,0,0,0,115,8,0,0,0,0,2, + 10,1,10,1,22,1,114,12,0,0,0,99,1,0,0,0, + 0,0,0,0,1,0,0,0,2,0,0,0,67,0,0,0, + 115,12,0,0,0,116,0,116,1,131,1,124,0,131,1,83, + 0,41,1,78,41,2,218,4,116,121,112,101,218,3,115,121, + 115,41,1,218,4,110,97,109,101,114,10,0,0,0,114,10, + 0,0,0,114,11,0,0,0,218,11,95,110,101,119,95,109, + 111,100,117,108,101,35,0,0,0,115,2,0,0,0,0,1, + 114,16,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,1,0,0,0,64,0,0,0,115,12,0,0,0,101, + 0,90,1,100,0,90,2,100,1,83,0,41,2,218,14,95, + 68,101,97,100,108,111,99,107,69,114,114,111,114,78,41,3, + 114,1,0,0,0,114,0,0,0,0,114,2,0,0,0,114, + 10,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,17,0,0,0,47,0,0,0,115,2,0,0, + 0,8,1,114,17,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,64,0,0,0,115,56,0, + 0,0,101,0,90,1,100,0,90,2,100,1,90,3,100,2, + 100,3,132,0,90,4,100,4,100,5,132,0,90,5,100,6, + 100,7,132,0,90,6,100,8,100,9,132,0,90,7,100,10, + 100,11,132,0,90,8,100,12,83,0,41,13,218,11,95,77, + 111,100,117,108,101,76,111,99,107,122,169,65,32,114,101,99, + 117,114,115,105,118,101,32,108,111,99,107,32,105,109,112,108, + 101,109,101,110,116,97,116,105,111,110,32,119,104,105,99,104, + 32,105,115,32,97,98,108,101,32,116,111,32,100,101,116,101, + 99,116,32,100,101,97,100,108,111,99,107,115,10,32,32,32, + 32,40,101,46,103,46,32,116,104,114,101,97,100,32,49,32, + 116,114,121,105,110,103,32,116,111,32,116,97,107,101,32,108, + 111,99,107,115,32,65,32,116,104,101,110,32,66,44,32,97, + 110,100,32,116,104,114,101,97,100,32,50,32,116,114,121,105, + 110,103,32,116,111,10,32,32,32,32,116,97,107,101,32,108, + 111,99,107,115,32,66,32,116,104,101,110,32,65,41,46,10, + 32,32,32,32,99,2,0,0,0,0,0,0,0,2,0,0, + 0,2,0,0,0,67,0,0,0,115,48,0,0,0,116,0, + 160,1,161,0,124,0,95,2,116,0,160,1,161,0,124,0, + 95,3,124,1,124,0,95,4,100,0,124,0,95,5,100,1, + 124,0,95,6,100,1,124,0,95,7,100,0,83,0,41,2, + 78,233,0,0,0,0,41,8,218,7,95,116,104,114,101,97, + 100,90,13,97,108,108,111,99,97,116,101,95,108,111,99,107, + 218,4,108,111,99,107,218,6,119,97,107,101,117,112,114,15, + 0,0,0,218,5,111,119,110,101,114,218,5,99,111,117,110, + 116,218,7,119,97,105,116,101,114,115,41,2,218,4,115,101, + 108,102,114,15,0,0,0,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,8,95,95,105,110,105,116,95,95, + 57,0,0,0,115,12,0,0,0,0,1,10,1,10,1,6, + 1,6,1,6,1,122,20,95,77,111,100,117,108,101,76,111, + 99,107,46,95,95,105,110,105,116,95,95,99,1,0,0,0, 0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0, - 115,62,0,0,0,116,0,124,1,124,0,131,2,125,2,124, - 1,116,1,106,2,107,6,114,50,116,1,106,2,124,1,25, - 0,125,3,116,3,124,2,124,3,131,2,1,0,116,1,106, - 2,124,1,25,0,83,0,116,4,124,2,131,1,83,0,100, - 1,83,0,41,2,122,128,76,111,97,100,32,116,104,101,32, - 115,112,101,99,105,102,105,101,100,32,109,111,100,117,108,101, - 32,105,110,116,111,32,115,121,115,46,109,111,100,117,108,101, - 115,32,97,110,100,32,114,101,116,117,114,110,32,105,116,46, - 10,10,32,32,32,32,84,104,105,115,32,109,101,116,104,111, - 100,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46, - 32,32,85,115,101,32,108,111,97,100,101,114,46,101,120,101, - 99,95,109,111,100,117,108,101,32,105,110,115,116,101,97,100, - 46,10,10,32,32,32,32,78,41,5,218,16,115,112,101,99, - 95,102,114,111,109,95,108,111,97,100,101,114,114,14,0,0, - 0,218,7,109,111,100,117,108,101,115,218,5,95,101,120,101, - 99,218,5,95,108,111,97,100,41,4,114,26,0,0,0,114, - 71,0,0,0,218,4,115,112,101,99,218,6,109,111,100,117, - 108,101,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,218,17,95,108,111,97,100,95,109,111,100,117,108,101,95, - 115,104,105,109,239,0,0,0,115,12,0,0,0,0,6,10, - 1,10,1,10,1,10,1,10,2,114,84,0,0,0,99,1, - 0,0,0,0,0,0,0,5,0,0,0,36,0,0,0,67, - 0,0,0,115,216,0,0,0,116,0,124,0,100,1,100,0, - 131,3,125,1,116,1,124,1,100,2,131,2,114,54,121,10, - 124,1,160,2,124,0,161,1,83,0,4,0,116,3,107,10, - 114,52,1,0,1,0,1,0,89,0,110,2,88,0,121,10, - 124,0,106,4,125,2,87,0,110,20,4,0,116,5,107,10, - 114,84,1,0,1,0,1,0,89,0,110,18,88,0,124,2, - 100,0,107,9,114,102,116,6,124,2,131,1,83,0,121,10, - 124,0,106,7,125,3,87,0,110,24,4,0,116,5,107,10, - 114,136,1,0,1,0,1,0,100,3,125,3,89,0,110,2, - 88,0,121,10,124,0,106,8,125,4,87,0,110,50,4,0, - 116,5,107,10,114,198,1,0,1,0,1,0,124,1,100,0, - 107,8,114,182,100,4,160,9,124,3,161,1,83,0,100,5, - 160,9,124,3,124,1,161,2,83,0,89,0,110,14,88,0, - 100,6,160,9,124,3,124,4,161,2,83,0,100,0,83,0, - 41,7,78,218,10,95,95,108,111,97,100,101,114,95,95,218, - 11,109,111,100,117,108,101,95,114,101,112,114,250,1,63,122, - 13,60,109,111,100,117,108,101,32,123,33,114,125,62,122,20, - 60,109,111,100,117,108,101,32,123,33,114,125,32,40,123,33, - 114,125,41,62,122,23,60,109,111,100,117,108,101,32,123,33, - 114,125,32,102,114,111,109,32,123,33,114,125,62,41,10,114, - 6,0,0,0,114,4,0,0,0,114,86,0,0,0,218,9, - 69,120,99,101,112,116,105,111,110,218,8,95,95,115,112,101, - 99,95,95,218,14,65,116,116,114,105,98,117,116,101,69,114, - 114,111,114,218,22,95,109,111,100,117,108,101,95,114,101,112, - 114,95,102,114,111,109,95,115,112,101,99,114,1,0,0,0, - 218,8,95,95,102,105,108,101,95,95,114,38,0,0,0,41, - 5,114,83,0,0,0,218,6,108,111,97,100,101,114,114,82, - 0,0,0,114,15,0,0,0,218,8,102,105,108,101,110,97, - 109,101,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,218,12,95,109,111,100,117,108,101,95,114,101,112,114,255, - 0,0,0,115,46,0,0,0,0,2,12,1,10,4,2,1, - 10,1,14,1,6,1,2,1,10,1,14,1,6,2,8,1, - 8,4,2,1,10,1,14,1,10,1,2,1,10,1,14,1, - 8,1,10,2,18,2,114,95,0,0,0,99,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0, - 115,36,0,0,0,101,0,90,1,100,0,90,2,100,1,100, - 2,132,0,90,3,100,3,100,4,132,0,90,4,100,5,100, - 6,132,0,90,5,100,7,83,0,41,8,218,17,95,105,110, - 115,116,97,108,108,101,100,95,115,97,102,101,108,121,99,2, - 0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,67, - 0,0,0,115,18,0,0,0,124,1,124,0,95,0,124,1, - 106,1,124,0,95,2,100,0,83,0,41,1,78,41,3,218, - 7,95,109,111,100,117,108,101,114,89,0,0,0,218,5,95, - 115,112,101,99,41,2,114,26,0,0,0,114,83,0,0,0, - 114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,114, - 27,0,0,0,37,1,0,0,115,4,0,0,0,0,1,6, - 1,122,26,95,105,110,115,116,97,108,108,101,100,95,115,97, - 102,101,108,121,46,95,95,105,110,105,116,95,95,99,1,0, - 0,0,0,0,0,0,1,0,0,0,3,0,0,0,67,0, - 0,0,115,28,0,0,0,100,1,124,0,106,0,95,1,124, - 0,106,2,116,3,106,4,124,0,106,0,106,5,60,0,100, - 0,83,0,41,2,78,84,41,6,114,98,0,0,0,218,13, - 95,105,110,105,116,105,97,108,105,122,105,110,103,114,97,0, - 0,0,114,14,0,0,0,114,79,0,0,0,114,15,0,0, + 115,64,0,0,0,116,0,160,1,161,0,125,1,124,0,106, + 2,125,2,120,44,116,3,160,4,124,2,161,1,125,3,124, + 3,100,0,107,8,114,38,100,1,83,0,124,3,106,2,125, + 2,124,2,124,1,107,2,114,16,100,2,83,0,113,16,87, + 0,100,0,83,0,41,3,78,70,84,41,5,114,20,0,0, + 0,218,9,103,101,116,95,105,100,101,110,116,114,23,0,0, + 0,218,12,95,98,108,111,99,107,105,110,103,95,111,110,218, + 3,103,101,116,41,4,114,26,0,0,0,90,2,109,101,218, + 3,116,105,100,114,21,0,0,0,114,10,0,0,0,114,10, + 0,0,0,114,11,0,0,0,218,12,104,97,115,95,100,101, + 97,100,108,111,99,107,65,0,0,0,115,18,0,0,0,0, + 2,8,1,6,1,2,1,10,1,8,1,4,1,6,1,8, + 1,122,24,95,77,111,100,117,108,101,76,111,99,107,46,104, + 97,115,95,100,101,97,100,108,111,99,107,99,1,0,0,0, + 0,0,0,0,2,0,0,0,16,0,0,0,67,0,0,0, + 115,168,0,0,0,116,0,160,1,161,0,125,1,124,0,116, + 2,124,1,60,0,122,138,120,132,124,0,106,3,143,96,1, + 0,124,0,106,4,100,1,107,2,115,48,124,0,106,5,124, + 1,107,2,114,72,124,1,124,0,95,5,124,0,4,0,106, + 4,100,2,55,0,2,0,95,4,100,3,83,0,124,0,160, + 6,161,0,114,92,116,7,100,4,124,0,22,0,131,1,130, + 1,124,0,106,8,160,9,100,5,161,1,114,118,124,0,4, + 0,106,10,100,2,55,0,2,0,95,10,87,0,100,6,81, + 0,82,0,88,0,124,0,106,8,160,9,161,0,1,0,124, + 0,106,8,160,11,161,0,1,0,113,20,87,0,87,0,100, + 6,116,2,124,1,61,0,88,0,100,6,83,0,41,7,122, + 185,10,32,32,32,32,32,32,32,32,65,99,113,117,105,114, + 101,32,116,104,101,32,109,111,100,117,108,101,32,108,111,99, + 107,46,32,32,73,102,32,97,32,112,111,116,101,110,116,105, + 97,108,32,100,101,97,100,108,111,99,107,32,105,115,32,100, + 101,116,101,99,116,101,100,44,10,32,32,32,32,32,32,32, + 32,97,32,95,68,101,97,100,108,111,99,107,69,114,114,111, + 114,32,105,115,32,114,97,105,115,101,100,46,10,32,32,32, + 32,32,32,32,32,79,116,104,101,114,119,105,115,101,44,32, + 116,104,101,32,108,111,99,107,32,105,115,32,97,108,119,97, + 121,115,32,97,99,113,117,105,114,101,100,32,97,110,100,32, + 84,114,117,101,32,105,115,32,114,101,116,117,114,110,101,100, + 46,10,32,32,32,32,32,32,32,32,114,19,0,0,0,233, + 1,0,0,0,84,122,23,100,101,97,100,108,111,99,107,32, + 100,101,116,101,99,116,101,100,32,98,121,32,37,114,70,78, + 41,12,114,20,0,0,0,114,28,0,0,0,114,29,0,0, + 0,114,21,0,0,0,114,24,0,0,0,114,23,0,0,0, + 114,32,0,0,0,114,17,0,0,0,114,22,0,0,0,218, + 7,97,99,113,117,105,114,101,114,25,0,0,0,218,7,114, + 101,108,101,97,115,101,41,2,114,26,0,0,0,114,31,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,34,0,0,0,77,0,0,0,115,32,0,0,0,0, + 6,8,1,8,1,2,1,2,1,8,1,20,1,6,1,14, + 1,4,1,8,1,12,1,12,1,24,2,10,1,18,2,122, + 19,95,77,111,100,117,108,101,76,111,99,107,46,97,99,113, + 117,105,114,101,99,1,0,0,0,0,0,0,0,2,0,0, + 0,10,0,0,0,67,0,0,0,115,122,0,0,0,116,0, + 160,1,161,0,125,1,124,0,106,2,143,98,1,0,124,0, + 106,3,124,1,107,3,114,34,116,4,100,1,131,1,130,1, + 124,0,106,5,100,2,107,4,115,48,116,6,130,1,124,0, + 4,0,106,5,100,3,56,0,2,0,95,5,124,0,106,5, + 100,2,107,2,114,108,100,0,124,0,95,3,124,0,106,7, + 114,108,124,0,4,0,106,7,100,3,56,0,2,0,95,7, + 124,0,106,8,160,9,161,0,1,0,87,0,100,0,81,0, + 82,0,88,0,100,0,83,0,41,4,78,122,31,99,97,110, + 110,111,116,32,114,101,108,101,97,115,101,32,117,110,45,97, + 99,113,117,105,114,101,100,32,108,111,99,107,114,19,0,0, + 0,114,33,0,0,0,41,10,114,20,0,0,0,114,28,0, + 0,0,114,21,0,0,0,114,23,0,0,0,218,12,82,117, + 110,116,105,109,101,69,114,114,111,114,114,24,0,0,0,218, + 14,65,115,115,101,114,116,105,111,110,69,114,114,111,114,114, + 25,0,0,0,114,22,0,0,0,114,35,0,0,0,41,2, + 114,26,0,0,0,114,31,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,35,0,0,0,102,0, + 0,0,115,22,0,0,0,0,1,8,1,8,1,10,1,8, + 1,14,1,14,1,10,1,6,1,6,1,14,1,122,19,95, + 77,111,100,117,108,101,76,111,99,107,46,114,101,108,101,97, + 115,101,99,1,0,0,0,0,0,0,0,1,0,0,0,5, + 0,0,0,67,0,0,0,115,18,0,0,0,100,1,160,0, + 124,0,106,1,116,2,124,0,131,1,161,2,83,0,41,2, + 78,122,23,95,77,111,100,117,108,101,76,111,99,107,40,123, + 33,114,125,41,32,97,116,32,123,125,41,3,218,6,102,111, + 114,109,97,116,114,15,0,0,0,218,2,105,100,41,1,114, + 26,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,218,8,95,95,114,101,112,114,95,95,115,0,0, + 0,115,2,0,0,0,0,1,122,20,95,77,111,100,117,108, + 101,76,111,99,107,46,95,95,114,101,112,114,95,95,78,41, + 9,114,1,0,0,0,114,0,0,0,0,114,2,0,0,0, + 114,3,0,0,0,114,27,0,0,0,114,32,0,0,0,114, + 34,0,0,0,114,35,0,0,0,114,40,0,0,0,114,10, + 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,114,18,0,0,0,51,0,0,0,115,10,0,0,0, + 12,6,8,8,8,12,8,25,8,13,114,18,0,0,0,99, + 0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, + 64,0,0,0,115,48,0,0,0,101,0,90,1,100,0,90, + 2,100,1,90,3,100,2,100,3,132,0,90,4,100,4,100, + 5,132,0,90,5,100,6,100,7,132,0,90,6,100,8,100, + 9,132,0,90,7,100,10,83,0,41,11,218,16,95,68,117, + 109,109,121,77,111,100,117,108,101,76,111,99,107,122,86,65, + 32,115,105,109,112,108,101,32,95,77,111,100,117,108,101,76, + 111,99,107,32,101,113,117,105,118,97,108,101,110,116,32,102, + 111,114,32,80,121,116,104,111,110,32,98,117,105,108,100,115, + 32,119,105,116,104,111,117,116,10,32,32,32,32,109,117,108, + 116,105,45,116,104,114,101,97,100,105,110,103,32,115,117,112, + 112,111,114,116,46,99,2,0,0,0,0,0,0,0,2,0, + 0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,124, + 1,124,0,95,0,100,1,124,0,95,1,100,0,83,0,41, + 2,78,114,19,0,0,0,41,2,114,15,0,0,0,114,24, + 0,0,0,41,2,114,26,0,0,0,114,15,0,0,0,114, + 10,0,0,0,114,10,0,0,0,114,11,0,0,0,114,27, + 0,0,0,123,0,0,0,115,4,0,0,0,0,1,6,1, + 122,25,95,68,117,109,109,121,77,111,100,117,108,101,76,111, + 99,107,46,95,95,105,110,105,116,95,95,99,1,0,0,0, + 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, + 115,18,0,0,0,124,0,4,0,106,0,100,1,55,0,2, + 0,95,0,100,2,83,0,41,3,78,114,33,0,0,0,84, + 41,1,114,24,0,0,0,41,1,114,26,0,0,0,114,10, + 0,0,0,114,10,0,0,0,114,11,0,0,0,114,34,0, + 0,0,127,0,0,0,115,4,0,0,0,0,1,14,1,122, + 24,95,68,117,109,109,121,77,111,100,117,108,101,76,111,99, + 107,46,97,99,113,117,105,114,101,99,1,0,0,0,0,0, + 0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,36, + 0,0,0,124,0,106,0,100,1,107,2,114,18,116,1,100, + 2,131,1,130,1,124,0,4,0,106,0,100,3,56,0,2, + 0,95,0,100,0,83,0,41,4,78,114,19,0,0,0,122, + 31,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32, + 117,110,45,97,99,113,117,105,114,101,100,32,108,111,99,107, + 114,33,0,0,0,41,2,114,24,0,0,0,114,36,0,0, 0,41,1,114,26,0,0,0,114,10,0,0,0,114,10,0, - 0,0,114,11,0,0,0,114,48,0,0,0,41,1,0,0, - 115,4,0,0,0,0,4,8,1,122,27,95,105,110,115,116, - 97,108,108,101,100,95,115,97,102,101,108,121,46,95,95,101, - 110,116,101,114,95,95,99,1,0,0,0,0,0,0,0,3, - 0,0,0,17,0,0,0,71,0,0,0,115,98,0,0,0, - 122,82,124,0,106,0,125,2,116,1,100,1,100,2,132,0, - 124,1,68,0,131,1,131,1,114,64,121,14,116,2,106,3, - 124,2,106,4,61,0,87,0,113,80,4,0,116,5,107,10, - 114,60,1,0,1,0,1,0,89,0,113,80,88,0,110,16, - 116,6,100,3,124,2,106,4,124,2,106,7,131,3,1,0, - 87,0,100,0,100,4,124,0,106,0,95,8,88,0,100,0, - 83,0,41,5,78,99,1,0,0,0,0,0,0,0,2,0, - 0,0,3,0,0,0,115,0,0,0,115,22,0,0,0,124, - 0,93,14,125,1,124,1,100,0,107,9,86,0,1,0,113, - 2,100,0,83,0,41,1,78,114,10,0,0,0,41,2,90, - 2,46,48,90,3,97,114,103,114,10,0,0,0,114,10,0, - 0,0,114,11,0,0,0,250,9,60,103,101,110,101,120,112, - 114,62,51,1,0,0,115,2,0,0,0,4,0,122,45,95, - 105,110,115,116,97,108,108,101,100,95,115,97,102,101,108,121, - 46,95,95,101,120,105,116,95,95,46,60,108,111,99,97,108, - 115,62,46,60,103,101,110,101,120,112,114,62,122,18,105,109, - 112,111,114,116,32,123,33,114,125,32,35,32,123,33,114,125, - 70,41,9,114,98,0,0,0,218,3,97,110,121,114,14,0, - 0,0,114,79,0,0,0,114,15,0,0,0,114,54,0,0, - 0,114,68,0,0,0,114,93,0,0,0,114,99,0,0,0, - 41,3,114,26,0,0,0,114,49,0,0,0,114,82,0,0, - 0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, - 114,50,0,0,0,48,1,0,0,115,18,0,0,0,0,1, - 2,1,6,1,18,1,2,1,14,1,14,1,8,2,20,2, - 122,26,95,105,110,115,116,97,108,108,101,100,95,115,97,102, - 101,108,121,46,95,95,101,120,105,116,95,95,78,41,6,114, - 1,0,0,0,114,0,0,0,0,114,2,0,0,0,114,27, - 0,0,0,114,48,0,0,0,114,50,0,0,0,114,10,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,96,0,0,0,35,1,0,0,115,6,0,0,0,8, - 2,8,4,8,7,114,96,0,0,0,99,0,0,0,0,0, - 0,0,0,0,0,0,0,4,0,0,0,64,0,0,0,115, - 114,0,0,0,101,0,90,1,100,0,90,2,100,1,90,3, - 100,2,100,2,100,2,100,3,156,3,100,4,100,5,132,2, - 90,4,100,6,100,7,132,0,90,5,100,8,100,9,132,0, - 90,6,101,7,100,10,100,11,132,0,131,1,90,8,101,8, - 106,9,100,12,100,11,132,0,131,1,90,8,101,7,100,13, - 100,14,132,0,131,1,90,10,101,7,100,15,100,16,132,0, - 131,1,90,11,101,11,106,9,100,17,100,16,132,0,131,1, - 90,11,100,2,83,0,41,18,218,10,77,111,100,117,108,101, - 83,112,101,99,97,208,5,0,0,84,104,101,32,115,112,101, - 99,105,102,105,99,97,116,105,111,110,32,102,111,114,32,97, - 32,109,111,100,117,108,101,44,32,117,115,101,100,32,102,111, - 114,32,108,111,97,100,105,110,103,46,10,10,32,32,32,32, - 65,32,109,111,100,117,108,101,39,115,32,115,112,101,99,32, - 105,115,32,116,104,101,32,115,111,117,114,99,101,32,102,111, - 114,32,105,110,102,111,114,109,97,116,105,111,110,32,97,98, - 111,117,116,32,116,104,101,32,109,111,100,117,108,101,46,32, - 32,70,111,114,10,32,32,32,32,100,97,116,97,32,97,115, - 115,111,99,105,97,116,101,100,32,119,105,116,104,32,116,104, - 101,32,109,111,100,117,108,101,44,32,105,110,99,108,117,100, - 105,110,103,32,115,111,117,114,99,101,44,32,117,115,101,32, - 116,104,101,32,115,112,101,99,39,115,10,32,32,32,32,108, - 111,97,100,101,114,46,10,10,32,32,32,32,96,110,97,109, - 101,96,32,105,115,32,116,104,101,32,97,98,115,111,108,117, - 116,101,32,110,97,109,101,32,111,102,32,116,104,101,32,109, - 111,100,117,108,101,46,32,32,96,108,111,97,100,101,114,96, - 32,105,115,32,116,104,101,32,108,111,97,100,101,114,10,32, - 32,32,32,116,111,32,117,115,101,32,119,104,101,110,32,108, - 111,97,100,105,110,103,32,116,104,101,32,109,111,100,117,108, - 101,46,32,32,96,112,97,114,101,110,116,96,32,105,115,32, - 116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,10, - 32,32,32,32,112,97,99,107,97,103,101,32,116,104,101,32, - 109,111,100,117,108,101,32,105,115,32,105,110,46,32,32,84, - 104,101,32,112,97,114,101,110,116,32,105,115,32,100,101,114, - 105,118,101,100,32,102,114,111,109,32,116,104,101,32,110,97, - 109,101,46,10,10,32,32,32,32,96,105,115,95,112,97,99, - 107,97,103,101,96,32,100,101,116,101,114,109,105,110,101,115, - 32,105,102,32,116,104,101,32,109,111,100,117,108,101,32,105, - 115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,112, - 97,99,107,97,103,101,32,111,114,10,32,32,32,32,110,111, - 116,46,32,32,79,110,32,109,111,100,117,108,101,115,32,116, - 104,105,115,32,105,115,32,114,101,102,108,101,99,116,101,100, - 32,98,121,32,116,104,101,32,96,95,95,112,97,116,104,95, - 95,96,32,97,116,116,114,105,98,117,116,101,46,10,10,32, - 32,32,32,96,111,114,105,103,105,110,96,32,105,115,32,116, - 104,101,32,115,112,101,99,105,102,105,99,32,108,111,99,97, - 116,105,111,110,32,117,115,101,100,32,98,121,32,116,104,101, - 32,108,111,97,100,101,114,32,102,114,111,109,32,119,104,105, - 99,104,32,116,111,10,32,32,32,32,108,111,97,100,32,116, - 104,101,32,109,111,100,117,108,101,44,32,105,102,32,116,104, - 97,116,32,105,110,102,111,114,109,97,116,105,111,110,32,105, - 115,32,97,118,97,105,108,97,98,108,101,46,32,32,87,104, - 101,110,32,102,105,108,101,110,97,109,101,32,105,115,10,32, - 32,32,32,115,101,116,44,32,111,114,105,103,105,110,32,119, - 105,108,108,32,109,97,116,99,104,46,10,10,32,32,32,32, - 96,104,97,115,95,108,111,99,97,116,105,111,110,96,32,105, - 110,100,105,99,97,116,101,115,32,116,104,97,116,32,97,32, - 115,112,101,99,39,115,32,34,111,114,105,103,105,110,34,32, - 114,101,102,108,101,99,116,115,32,97,32,108,111,99,97,116, - 105,111,110,46,10,32,32,32,32,87,104,101,110,32,116,104, - 105,115,32,105,115,32,84,114,117,101,44,32,96,95,95,102, - 105,108,101,95,95,96,32,97,116,116,114,105,98,117,116,101, - 32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,105, - 115,32,115,101,116,46,10,10,32,32,32,32,96,99,97,99, - 104,101,100,96,32,105,115,32,116,104,101,32,108,111,99,97, - 116,105,111,110,32,111,102,32,116,104,101,32,99,97,99,104, - 101,100,32,98,121,116,101,99,111,100,101,32,102,105,108,101, - 44,32,105,102,32,97,110,121,46,32,32,73,116,10,32,32, - 32,32,99,111,114,114,101,115,112,111,110,100,115,32,116,111, - 32,116,104,101,32,96,95,95,99,97,99,104,101,100,95,95, - 96,32,97,116,116,114,105,98,117,116,101,46,10,10,32,32, - 32,32,96,115,117,98,109,111,100,117,108,101,95,115,101,97, - 114,99,104,95,108,111,99,97,116,105,111,110,115,96,32,105, - 115,32,116,104,101,32,115,101,113,117,101,110,99,101,32,111, - 102,32,112,97,116,104,32,101,110,116,114,105,101,115,32,116, - 111,10,32,32,32,32,115,101,97,114,99,104,32,119,104,101, - 110,32,105,109,112,111,114,116,105,110,103,32,115,117,98,109, - 111,100,117,108,101,115,46,32,32,73,102,32,115,101,116,44, - 32,105,115,95,112,97,99,107,97,103,101,32,115,104,111,117, - 108,100,32,98,101,10,32,32,32,32,84,114,117,101,45,45, - 97,110,100,32,70,97,108,115,101,32,111,116,104,101,114,119, - 105,115,101,46,10,10,32,32,32,32,80,97,99,107,97,103, - 101,115,32,97,114,101,32,115,105,109,112,108,121,32,109,111, - 100,117,108,101,115,32,116,104,97,116,32,40,109,97,121,41, - 32,104,97,118,101,32,115,117,98,109,111,100,117,108,101,115, - 46,32,32,73,102,32,97,32,115,112,101,99,10,32,32,32, - 32,104,97,115,32,97,32,110,111,110,45,78,111,110,101,32, - 118,97,108,117,101,32,105,110,32,96,115,117,98,109,111,100, - 117,108,101,95,115,101,97,114,99,104,95,108,111,99,97,116, - 105,111,110,115,96,44,32,116,104,101,32,105,109,112,111,114, - 116,10,32,32,32,32,115,121,115,116,101,109,32,119,105,108, - 108,32,99,111,110,115,105,100,101,114,32,109,111,100,117,108, - 101,115,32,108,111,97,100,101,100,32,102,114,111,109,32,116, - 104,101,32,115,112,101,99,32,97,115,32,112,97,99,107,97, - 103,101,115,46,10,10,32,32,32,32,79,110,108,121,32,102, - 105,110,100,101,114,115,32,40,115,101,101,32,105,109,112,111, - 114,116,108,105,98,46,97,98,99,46,77,101,116,97,80,97, - 116,104,70,105,110,100,101,114,32,97,110,100,10,32,32,32, - 32,105,109,112,111,114,116,108,105,98,46,97,98,99,46,80, - 97,116,104,69,110,116,114,121,70,105,110,100,101,114,41,32, - 115,104,111,117,108,100,32,109,111,100,105,102,121,32,77,111, - 100,117,108,101,83,112,101,99,32,105,110,115,116,97,110,99, - 101,115,46,10,10,32,32,32,32,78,41,3,218,6,111,114, - 105,103,105,110,218,12,108,111,97,100,101,114,95,115,116,97, - 116,101,218,10,105,115,95,112,97,99,107,97,103,101,99,3, - 0,0,0,3,0,0,0,6,0,0,0,2,0,0,0,67, - 0,0,0,115,54,0,0,0,124,1,124,0,95,0,124,2, - 124,0,95,1,124,3,124,0,95,2,124,4,124,0,95,3, - 124,5,114,32,103,0,110,2,100,0,124,0,95,4,100,1, - 124,0,95,5,100,0,124,0,95,6,100,0,83,0,41,2, - 78,70,41,7,114,15,0,0,0,114,93,0,0,0,114,103, - 0,0,0,114,104,0,0,0,218,26,115,117,98,109,111,100, - 117,108,101,95,115,101,97,114,99,104,95,108,111,99,97,116, - 105,111,110,115,218,13,95,115,101,116,95,102,105,108,101,97, - 116,116,114,218,7,95,99,97,99,104,101,100,41,6,114,26, - 0,0,0,114,15,0,0,0,114,93,0,0,0,114,103,0, - 0,0,114,104,0,0,0,114,105,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,27,0,0,0, - 99,1,0,0,115,14,0,0,0,0,2,6,1,6,1,6, - 1,6,1,14,3,6,1,122,19,77,111,100,117,108,101,83, - 112,101,99,46,95,95,105,110,105,116,95,95,99,1,0,0, - 0,0,0,0,0,2,0,0,0,6,0,0,0,67,0,0, - 0,115,102,0,0,0,100,1,160,0,124,0,106,1,161,1, - 100,2,160,0,124,0,106,2,161,1,103,2,125,1,124,0, - 106,3,100,0,107,9,114,52,124,1,160,4,100,3,160,0, - 124,0,106,3,161,1,161,1,1,0,124,0,106,5,100,0, - 107,9,114,80,124,1,160,4,100,4,160,0,124,0,106,5, - 161,1,161,1,1,0,100,5,160,0,124,0,106,6,106,7, - 100,6,160,8,124,1,161,1,161,2,83,0,41,7,78,122, - 9,110,97,109,101,61,123,33,114,125,122,11,108,111,97,100, - 101,114,61,123,33,114,125,122,11,111,114,105,103,105,110,61, - 123,33,114,125,122,29,115,117,98,109,111,100,117,108,101,95, - 115,101,97,114,99,104,95,108,111,99,97,116,105,111,110,115, - 61,123,125,122,6,123,125,40,123,125,41,122,2,44,32,41, - 9,114,38,0,0,0,114,15,0,0,0,114,93,0,0,0, - 114,103,0,0,0,218,6,97,112,112,101,110,100,114,106,0, - 0,0,218,9,95,95,99,108,97,115,115,95,95,114,1,0, - 0,0,218,4,106,111,105,110,41,2,114,26,0,0,0,114, - 49,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, - 0,0,0,114,40,0,0,0,111,1,0,0,115,16,0,0, - 0,0,1,10,1,14,1,10,1,18,1,10,1,8,1,10, - 1,122,19,77,111,100,117,108,101,83,112,101,99,46,95,95, - 114,101,112,114,95,95,99,2,0,0,0,0,0,0,0,3, - 0,0,0,11,0,0,0,67,0,0,0,115,102,0,0,0, - 124,0,106,0,125,2,121,70,124,0,106,1,124,1,106,1, - 107,2,111,76,124,0,106,2,124,1,106,2,107,2,111,76, - 124,0,106,3,124,1,106,3,107,2,111,76,124,2,124,1, - 106,0,107,2,111,76,124,0,106,4,124,1,106,4,107,2, - 111,76,124,0,106,5,124,1,106,5,107,2,83,0,4,0, - 116,6,107,10,114,96,1,0,1,0,1,0,100,1,83,0, - 88,0,100,0,83,0,41,2,78,70,41,7,114,106,0,0, - 0,114,15,0,0,0,114,93,0,0,0,114,103,0,0,0, - 218,6,99,97,99,104,101,100,218,12,104,97,115,95,108,111, - 99,97,116,105,111,110,114,90,0,0,0,41,3,114,26,0, - 0,0,90,5,111,116,104,101,114,90,4,115,109,115,108,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,6, - 95,95,101,113,95,95,121,1,0,0,115,20,0,0,0,0, - 1,6,1,2,1,12,1,12,1,12,1,10,1,12,1,12, - 1,14,1,122,17,77,111,100,117,108,101,83,112,101,99,46, - 95,95,101,113,95,95,99,1,0,0,0,0,0,0,0,1, - 0,0,0,3,0,0,0,67,0,0,0,115,58,0,0,0, - 124,0,106,0,100,0,107,8,114,52,124,0,106,1,100,0, - 107,9,114,52,124,0,106,2,114,52,116,3,100,0,107,8, - 114,38,116,4,130,1,116,3,160,5,124,0,106,1,161,1, - 124,0,95,0,124,0,106,0,83,0,41,1,78,41,6,114, - 108,0,0,0,114,103,0,0,0,114,107,0,0,0,218,19, - 95,98,111,111,116,115,116,114,97,112,95,101,120,116,101,114, - 110,97,108,218,19,78,111,116,73,109,112,108,101,109,101,110, - 116,101,100,69,114,114,111,114,90,11,95,103,101,116,95,99, - 97,99,104,101,100,41,1,114,26,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,112,0,0,0, - 133,1,0,0,115,12,0,0,0,0,2,10,1,16,1,8, - 1,4,1,14,1,122,17,77,111,100,117,108,101,83,112,101, - 99,46,99,97,99,104,101,100,99,2,0,0,0,0,0,0, - 0,2,0,0,0,2,0,0,0,67,0,0,0,115,10,0, - 0,0,124,1,124,0,95,0,100,0,83,0,41,1,78,41, - 1,114,108,0,0,0,41,2,114,26,0,0,0,114,112,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,112,0,0,0,142,1,0,0,115,2,0,0,0,0, - 2,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, - 0,0,67,0,0,0,115,36,0,0,0,124,0,106,0,100, - 1,107,8,114,26,124,0,106,1,160,2,100,2,161,1,100, - 3,25,0,83,0,124,0,106,1,83,0,100,1,83,0,41, - 4,122,32,84,104,101,32,110,97,109,101,32,111,102,32,116, - 104,101,32,109,111,100,117,108,101,39,115,32,112,97,114,101, - 110,116,46,78,218,1,46,114,19,0,0,0,41,3,114,106, - 0,0,0,114,15,0,0,0,218,10,114,112,97,114,116,105, - 116,105,111,110,41,1,114,26,0,0,0,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,218,6,112,97,114,101, - 110,116,146,1,0,0,115,6,0,0,0,0,3,10,1,16, - 2,122,17,77,111,100,117,108,101,83,112,101,99,46,112,97, - 114,101,110,116,99,1,0,0,0,0,0,0,0,1,0,0, - 0,1,0,0,0,67,0,0,0,115,6,0,0,0,124,0, - 106,0,83,0,41,1,78,41,1,114,107,0,0,0,41,1, - 114,26,0,0,0,114,10,0,0,0,114,10,0,0,0,114, - 11,0,0,0,114,113,0,0,0,154,1,0,0,115,2,0, - 0,0,0,2,122,23,77,111,100,117,108,101,83,112,101,99, - 46,104,97,115,95,108,111,99,97,116,105,111,110,99,2,0, - 0,0,0,0,0,0,2,0,0,0,2,0,0,0,67,0, - 0,0,115,14,0,0,0,116,0,124,1,131,1,124,0,95, - 1,100,0,83,0,41,1,78,41,2,218,4,98,111,111,108, - 114,107,0,0,0,41,2,114,26,0,0,0,218,5,118,97, - 108,117,101,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,114,113,0,0,0,158,1,0,0,115,2,0,0,0, - 0,2,41,12,114,1,0,0,0,114,0,0,0,0,114,2, - 0,0,0,114,3,0,0,0,114,27,0,0,0,114,40,0, - 0,0,114,114,0,0,0,218,8,112,114,111,112,101,114,116, - 121,114,112,0,0,0,218,6,115,101,116,116,101,114,114,119, - 0,0,0,114,113,0,0,0,114,10,0,0,0,114,10,0, - 0,0,114,10,0,0,0,114,11,0,0,0,114,102,0,0, - 0,62,1,0,0,115,18,0,0,0,12,37,4,1,14,11, - 8,10,8,12,12,9,14,4,12,8,12,4,114,102,0,0, - 0,41,2,114,103,0,0,0,114,105,0,0,0,99,2,0, - 0,0,2,0,0,0,6,0,0,0,14,0,0,0,67,0, - 0,0,115,154,0,0,0,116,0,124,1,100,1,131,2,114, - 74,116,1,100,2,107,8,114,22,116,2,130,1,116,1,106, - 3,125,4,124,3,100,2,107,8,114,48,124,4,124,0,124, - 1,100,3,141,2,83,0,124,3,114,56,103,0,110,2,100, - 2,125,5,124,4,124,0,124,1,124,5,100,4,141,3,83, - 0,124,3,100,2,107,8,114,138,116,0,124,1,100,5,131, - 2,114,134,121,14,124,1,160,4,124,0,161,1,125,3,87, - 0,113,138,4,0,116,5,107,10,114,130,1,0,1,0,1, - 0,100,2,125,3,89,0,113,138,88,0,110,4,100,6,125, - 3,116,6,124,0,124,1,124,2,124,3,100,7,141,4,83, - 0,41,8,122,53,82,101,116,117,114,110,32,97,32,109,111, - 100,117,108,101,32,115,112,101,99,32,98,97,115,101,100,32, - 111,110,32,118,97,114,105,111,117,115,32,108,111,97,100,101, - 114,32,109,101,116,104,111,100,115,46,90,12,103,101,116,95, - 102,105,108,101,110,97,109,101,78,41,1,114,93,0,0,0, - 41,2,114,93,0,0,0,114,106,0,0,0,114,105,0,0, - 0,70,41,2,114,103,0,0,0,114,105,0,0,0,41,7, - 114,4,0,0,0,114,115,0,0,0,114,116,0,0,0,218, - 23,115,112,101,99,95,102,114,111,109,95,102,105,108,101,95, - 108,111,99,97,116,105,111,110,114,105,0,0,0,114,70,0, - 0,0,114,102,0,0,0,41,6,114,15,0,0,0,114,93, - 0,0,0,114,103,0,0,0,114,105,0,0,0,114,124,0, - 0,0,90,6,115,101,97,114,99,104,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,78,0,0,0,163,1, - 0,0,115,34,0,0,0,0,2,10,1,8,1,4,1,6, - 2,8,1,12,1,12,1,6,1,8,2,8,1,10,1,2, - 1,14,1,14,1,12,3,4,2,114,78,0,0,0,99,3, - 0,0,0,0,0,0,0,8,0,0,0,53,0,0,0,67, - 0,0,0,115,56,1,0,0,121,10,124,0,106,0,125,3, - 87,0,110,20,4,0,116,1,107,10,114,30,1,0,1,0, - 1,0,89,0,110,14,88,0,124,3,100,0,107,9,114,44, - 124,3,83,0,124,0,106,2,125,4,124,1,100,0,107,8, - 114,90,121,10,124,0,106,3,125,1,87,0,110,20,4,0, - 116,1,107,10,114,88,1,0,1,0,1,0,89,0,110,2, - 88,0,121,10,124,0,106,4,125,5,87,0,110,24,4,0, - 116,1,107,10,114,124,1,0,1,0,1,0,100,0,125,5, - 89,0,110,2,88,0,124,2,100,0,107,8,114,184,124,5, - 100,0,107,8,114,180,121,10,124,1,106,5,125,2,87,0, - 113,184,4,0,116,1,107,10,114,176,1,0,1,0,1,0, - 100,0,125,2,89,0,113,184,88,0,110,4,124,5,125,2, - 121,10,124,0,106,6,125,6,87,0,110,24,4,0,116,1, - 107,10,114,218,1,0,1,0,1,0,100,0,125,6,89,0, - 110,2,88,0,121,14,116,7,124,0,106,8,131,1,125,7, - 87,0,110,26,4,0,116,1,107,10,144,1,114,4,1,0, - 1,0,1,0,100,0,125,7,89,0,110,2,88,0,116,9, - 124,4,124,1,124,2,100,1,141,3,125,3,124,5,100,0, - 107,8,144,1,114,34,100,2,110,2,100,3,124,3,95,10, - 124,6,124,3,95,11,124,7,124,3,95,12,124,3,83,0, - 41,4,78,41,1,114,103,0,0,0,70,84,41,13,114,89, - 0,0,0,114,90,0,0,0,114,1,0,0,0,114,85,0, - 0,0,114,92,0,0,0,90,7,95,79,82,73,71,73,78, - 218,10,95,95,99,97,99,104,101,100,95,95,218,4,108,105, - 115,116,218,8,95,95,112,97,116,104,95,95,114,102,0,0, - 0,114,107,0,0,0,114,112,0,0,0,114,106,0,0,0, - 41,8,114,83,0,0,0,114,93,0,0,0,114,103,0,0, - 0,114,82,0,0,0,114,15,0,0,0,90,8,108,111,99, - 97,116,105,111,110,114,112,0,0,0,114,106,0,0,0,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,17, - 95,115,112,101,99,95,102,114,111,109,95,109,111,100,117,108, - 101,192,1,0,0,115,72,0,0,0,0,2,2,1,10,1, - 14,1,6,2,8,1,4,2,6,1,8,1,2,1,10,1, - 14,2,6,1,2,1,10,1,14,1,10,1,8,1,8,1, - 2,1,10,1,14,1,12,2,4,1,2,1,10,1,14,1, - 10,1,2,1,14,1,16,1,10,2,14,1,20,1,6,1, - 6,1,114,128,0,0,0,70,41,1,218,8,111,118,101,114, - 114,105,100,101,99,2,0,0,0,1,0,0,0,5,0,0, - 0,59,0,0,0,67,0,0,0,115,212,1,0,0,124,2, - 115,20,116,0,124,1,100,1,100,0,131,3,100,0,107,8, - 114,54,121,12,124,0,106,1,124,1,95,2,87,0,110,20, - 4,0,116,3,107,10,114,52,1,0,1,0,1,0,89,0, - 110,2,88,0,124,2,115,74,116,0,124,1,100,2,100,0, - 131,3,100,0,107,8,114,166,124,0,106,4,125,3,124,3, - 100,0,107,8,114,134,124,0,106,5,100,0,107,9,114,134, - 116,6,100,0,107,8,114,110,116,7,130,1,116,6,106,8, - 125,4,124,4,160,9,124,4,161,1,125,3,124,0,106,5, - 124,3,95,10,121,10,124,3,124,1,95,11,87,0,110,20, - 4,0,116,3,107,10,114,164,1,0,1,0,1,0,89,0, - 110,2,88,0,124,2,115,186,116,0,124,1,100,3,100,0, - 131,3,100,0,107,8,114,220,121,12,124,0,106,12,124,1, - 95,13,87,0,110,20,4,0,116,3,107,10,114,218,1,0, - 1,0,1,0,89,0,110,2,88,0,121,10,124,0,124,1, - 95,14,87,0,110,20,4,0,116,3,107,10,114,250,1,0, - 1,0,1,0,89,0,110,2,88,0,124,2,144,1,115,20, - 116,0,124,1,100,4,100,0,131,3,100,0,107,8,144,1, - 114,68,124,0,106,5,100,0,107,9,144,1,114,68,121,12, - 124,0,106,5,124,1,95,15,87,0,110,22,4,0,116,3, - 107,10,144,1,114,66,1,0,1,0,1,0,89,0,110,2, - 88,0,124,0,106,16,144,1,114,208,124,2,144,1,115,100, - 116,0,124,1,100,5,100,0,131,3,100,0,107,8,144,1, - 114,136,121,12,124,0,106,17,124,1,95,18,87,0,110,22, - 4,0,116,3,107,10,144,1,114,134,1,0,1,0,1,0, - 89,0,110,2,88,0,124,2,144,1,115,160,116,0,124,1, - 100,6,100,0,131,3,100,0,107,8,144,1,114,208,124,0, - 106,19,100,0,107,9,144,1,114,208,121,12,124,0,106,19, - 124,1,95,20,87,0,110,22,4,0,116,3,107,10,144,1, - 114,206,1,0,1,0,1,0,89,0,110,2,88,0,124,1, - 83,0,41,7,78,114,1,0,0,0,114,85,0,0,0,218, - 11,95,95,112,97,99,107,97,103,101,95,95,114,127,0,0, - 0,114,92,0,0,0,114,125,0,0,0,41,21,114,6,0, - 0,0,114,15,0,0,0,114,1,0,0,0,114,90,0,0, - 0,114,93,0,0,0,114,106,0,0,0,114,115,0,0,0, - 114,116,0,0,0,218,16,95,78,97,109,101,115,112,97,99, - 101,76,111,97,100,101,114,218,7,95,95,110,101,119,95,95, - 90,5,95,112,97,116,104,114,85,0,0,0,114,119,0,0, - 0,114,130,0,0,0,114,89,0,0,0,114,127,0,0,0, - 114,113,0,0,0,114,103,0,0,0,114,92,0,0,0,114, - 112,0,0,0,114,125,0,0,0,41,5,114,82,0,0,0, - 114,83,0,0,0,114,129,0,0,0,114,93,0,0,0,114, - 131,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, - 0,0,0,218,18,95,105,110,105,116,95,109,111,100,117,108, - 101,95,97,116,116,114,115,237,1,0,0,115,92,0,0,0, - 0,4,20,1,2,1,12,1,14,1,6,2,20,1,6,1, - 8,2,10,1,8,1,4,1,6,2,10,1,8,1,2,1, - 10,1,14,1,6,2,20,1,2,1,12,1,14,1,6,2, - 2,1,10,1,14,1,6,2,24,1,12,1,2,1,12,1, - 16,1,6,2,8,1,24,1,2,1,12,1,16,1,6,2, - 24,1,12,1,2,1,12,1,16,1,6,1,114,133,0,0, - 0,99,1,0,0,0,0,0,0,0,2,0,0,0,3,0, - 0,0,67,0,0,0,115,82,0,0,0,100,1,125,1,116, - 0,124,0,106,1,100,2,131,2,114,30,124,0,106,1,160, - 2,124,0,161,1,125,1,110,20,116,0,124,0,106,1,100, - 3,131,2,114,50,116,3,100,4,131,1,130,1,124,1,100, - 1,107,8,114,68,116,4,124,0,106,5,131,1,125,1,116, - 6,124,0,124,1,131,2,1,0,124,1,83,0,41,5,122, - 43,67,114,101,97,116,101,32,97,32,109,111,100,117,108,101, - 32,98,97,115,101,100,32,111,110,32,116,104,101,32,112,114, - 111,118,105,100,101,100,32,115,112,101,99,46,78,218,13,99, - 114,101,97,116,101,95,109,111,100,117,108,101,218,11,101,120, - 101,99,95,109,111,100,117,108,101,122,66,108,111,97,100,101, - 114,115,32,116,104,97,116,32,100,101,102,105,110,101,32,101, - 120,101,99,95,109,111,100,117,108,101,40,41,32,109,117,115, - 116,32,97,108,115,111,32,100,101,102,105,110,101,32,99,114, - 101,97,116,101,95,109,111,100,117,108,101,40,41,41,7,114, - 4,0,0,0,114,93,0,0,0,114,134,0,0,0,114,70, - 0,0,0,114,16,0,0,0,114,15,0,0,0,114,133,0, - 0,0,41,2,114,82,0,0,0,114,83,0,0,0,114,10, - 0,0,0,114,10,0,0,0,114,11,0,0,0,218,16,109, - 111,100,117,108,101,95,102,114,111,109,95,115,112,101,99,41, - 2,0,0,115,18,0,0,0,0,3,4,1,12,3,14,1, - 12,1,8,2,8,1,10,1,10,1,114,136,0,0,0,99, - 1,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, - 67,0,0,0,115,106,0,0,0,124,0,106,0,100,1,107, - 8,114,14,100,2,110,4,124,0,106,0,125,1,124,0,106, - 1,100,1,107,8,114,66,124,0,106,2,100,1,107,8,114, - 50,100,3,160,3,124,1,161,1,83,0,100,4,160,3,124, - 1,124,0,106,2,161,2,83,0,110,36,124,0,106,4,114, - 86,100,5,160,3,124,1,124,0,106,1,161,2,83,0,100, - 6,160,3,124,0,106,0,124,0,106,1,161,2,83,0,100, - 1,83,0,41,7,122,38,82,101,116,117,114,110,32,116,104, - 101,32,114,101,112,114,32,116,111,32,117,115,101,32,102,111, - 114,32,116,104,101,32,109,111,100,117,108,101,46,78,114,87, - 0,0,0,122,13,60,109,111,100,117,108,101,32,123,33,114, - 125,62,122,20,60,109,111,100,117,108,101,32,123,33,114,125, - 32,40,123,33,114,125,41,62,122,23,60,109,111,100,117,108, - 101,32,123,33,114,125,32,102,114,111,109,32,123,33,114,125, - 62,122,18,60,109,111,100,117,108,101,32,123,33,114,125,32, - 40,123,125,41,62,41,5,114,15,0,0,0,114,103,0,0, - 0,114,93,0,0,0,114,38,0,0,0,114,113,0,0,0, - 41,2,114,82,0,0,0,114,15,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,91,0,0,0, - 58,2,0,0,115,16,0,0,0,0,3,20,1,10,1,10, - 1,10,2,16,2,6,1,14,2,114,91,0,0,0,99,2, - 0,0,0,0,0,0,0,4,0,0,0,12,0,0,0,67, - 0,0,0,115,186,0,0,0,124,0,106,0,125,2,116,1, - 160,2,161,0,1,0,116,3,124,2,131,1,143,148,1,0, - 116,4,106,5,160,6,124,2,161,1,124,1,107,9,114,62, - 100,1,160,7,124,2,161,1,125,3,116,8,124,3,124,2, - 100,2,141,2,130,1,124,0,106,9,100,3,107,8,114,114, - 124,0,106,10,100,3,107,8,114,96,116,8,100,4,124,0, - 106,0,100,2,141,2,130,1,116,11,124,0,124,1,100,5, - 100,6,141,3,1,0,124,1,83,0,116,11,124,0,124,1, - 100,5,100,6,141,3,1,0,116,12,124,0,106,9,100,7, - 131,2,115,154,124,0,106,9,160,13,124,2,161,1,1,0, - 110,12,124,0,106,9,160,14,124,1,161,1,1,0,87,0, - 100,3,81,0,82,0,88,0,116,4,106,5,124,2,25,0, - 83,0,41,8,122,70,69,120,101,99,117,116,101,32,116,104, - 101,32,115,112,101,99,39,115,32,115,112,101,99,105,102,105, - 101,100,32,109,111,100,117,108,101,32,105,110,32,97,110,32, - 101,120,105,115,116,105,110,103,32,109,111,100,117,108,101,39, - 115,32,110,97,109,101,115,112,97,99,101,46,122,30,109,111, - 100,117,108,101,32,123,33,114,125,32,110,111,116,32,105,110, - 32,115,121,115,46,109,111,100,117,108,101,115,41,1,114,15, - 0,0,0,78,122,14,109,105,115,115,105,110,103,32,108,111, - 97,100,101,114,84,41,1,114,129,0,0,0,114,135,0,0, - 0,41,15,114,15,0,0,0,114,46,0,0,0,218,12,97, - 99,113,117,105,114,101,95,108,111,99,107,114,42,0,0,0, - 114,14,0,0,0,114,79,0,0,0,114,30,0,0,0,114, - 38,0,0,0,114,70,0,0,0,114,93,0,0,0,114,106, - 0,0,0,114,133,0,0,0,114,4,0,0,0,218,11,108, - 111,97,100,95,109,111,100,117,108,101,114,135,0,0,0,41, - 4,114,82,0,0,0,114,83,0,0,0,114,15,0,0,0, - 218,3,109,115,103,114,10,0,0,0,114,10,0,0,0,114, - 11,0,0,0,114,80,0,0,0,75,2,0,0,115,32,0, - 0,0,0,2,6,1,8,1,10,1,16,1,10,1,12,1, - 10,1,10,1,14,2,14,1,4,1,14,1,12,4,14,2, - 22,1,114,80,0,0,0,99,1,0,0,0,0,0,0,0, - 2,0,0,0,27,0,0,0,67,0,0,0,115,206,0,0, - 0,124,0,106,0,160,1,124,0,106,2,161,1,1,0,116, - 3,106,4,124,0,106,2,25,0,125,1,116,5,124,1,100, - 1,100,0,131,3,100,0,107,8,114,76,121,12,124,0,106, - 0,124,1,95,6,87,0,110,20,4,0,116,7,107,10,114, - 74,1,0,1,0,1,0,89,0,110,2,88,0,116,5,124, - 1,100,2,100,0,131,3,100,0,107,8,114,154,121,40,124, - 1,106,8,124,1,95,9,116,10,124,1,100,3,131,2,115, - 130,124,0,106,2,160,11,100,4,161,1,100,5,25,0,124, - 1,95,9,87,0,110,20,4,0,116,7,107,10,114,152,1, - 0,1,0,1,0,89,0,110,2,88,0,116,5,124,1,100, - 6,100,0,131,3,100,0,107,8,114,202,121,10,124,0,124, - 1,95,12,87,0,110,20,4,0,116,7,107,10,114,200,1, - 0,1,0,1,0,89,0,110,2,88,0,124,1,83,0,41, - 7,78,114,85,0,0,0,114,130,0,0,0,114,127,0,0, - 0,114,117,0,0,0,114,19,0,0,0,114,89,0,0,0, - 41,13,114,93,0,0,0,114,138,0,0,0,114,15,0,0, - 0,114,14,0,0,0,114,79,0,0,0,114,6,0,0,0, - 114,85,0,0,0,114,90,0,0,0,114,1,0,0,0,114, - 130,0,0,0,114,4,0,0,0,114,118,0,0,0,114,89, - 0,0,0,41,2,114,82,0,0,0,114,83,0,0,0,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,25, - 95,108,111,97,100,95,98,97,99,107,119,97,114,100,95,99, - 111,109,112,97,116,105,98,108,101,100,2,0,0,115,40,0, - 0,0,0,4,14,2,12,1,16,1,2,1,12,1,14,1, - 6,1,16,1,2,4,8,1,10,1,22,1,14,1,6,1, - 16,1,2,1,10,1,14,1,6,1,114,140,0,0,0,99, - 1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0, - 67,0,0,0,115,118,0,0,0,124,0,106,0,100,0,107, - 9,114,30,116,1,124,0,106,0,100,1,131,2,115,30,116, - 2,124,0,131,1,83,0,116,3,124,0,131,1,125,1,116, - 4,124,1,131,1,143,54,1,0,124,0,106,0,100,0,107, - 8,114,84,124,0,106,5,100,0,107,8,114,96,116,6,100, - 2,124,0,106,7,100,3,141,2,130,1,110,12,124,0,106, - 0,160,8,124,1,161,1,1,0,87,0,100,0,81,0,82, - 0,88,0,116,9,106,10,124,0,106,7,25,0,83,0,41, - 4,78,114,135,0,0,0,122,14,109,105,115,115,105,110,103, - 32,108,111,97,100,101,114,41,1,114,15,0,0,0,41,11, - 114,93,0,0,0,114,4,0,0,0,114,140,0,0,0,114, - 136,0,0,0,114,96,0,0,0,114,106,0,0,0,114,70, - 0,0,0,114,15,0,0,0,114,135,0,0,0,114,14,0, - 0,0,114,79,0,0,0,41,2,114,82,0,0,0,114,83, - 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,218,14,95,108,111,97,100,95,117,110,108,111,99,107, - 101,100,129,2,0,0,115,20,0,0,0,0,2,10,2,12, - 1,8,2,8,1,10,1,10,1,10,1,16,3,22,5,114, - 141,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, - 0,9,0,0,0,67,0,0,0,115,38,0,0,0,116,0, - 160,1,161,0,1,0,116,2,124,0,106,3,131,1,143,10, - 1,0,116,4,124,0,131,1,83,0,81,0,82,0,88,0, - 100,1,83,0,41,2,122,191,82,101,116,117,114,110,32,97, - 32,110,101,119,32,109,111,100,117,108,101,32,111,98,106,101, - 99,116,44,32,108,111,97,100,101,100,32,98,121,32,116,104, - 101,32,115,112,101,99,39,115,32,108,111,97,100,101,114,46, - 10,10,32,32,32,32,84,104,101,32,109,111,100,117,108,101, - 32,105,115,32,110,111,116,32,97,100,100,101,100,32,116,111, - 32,105,116,115,32,112,97,114,101,110,116,46,10,10,32,32, - 32,32,73,102,32,97,32,109,111,100,117,108,101,32,105,115, - 32,97,108,114,101,97,100,121,32,105,110,32,115,121,115,46, - 109,111,100,117,108,101,115,44,32,116,104,97,116,32,101,120, - 105,115,116,105,110,103,32,109,111,100,117,108,101,32,103,101, - 116,115,10,32,32,32,32,99,108,111,98,98,101,114,101,100, - 46,10,10,32,32,32,32,78,41,5,114,46,0,0,0,114, - 137,0,0,0,114,42,0,0,0,114,15,0,0,0,114,141, - 0,0,0,41,1,114,82,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,81,0,0,0,152,2, - 0,0,115,6,0,0,0,0,9,8,1,12,1,114,81,0, - 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,4, - 0,0,0,64,0,0,0,115,136,0,0,0,101,0,90,1, - 100,0,90,2,100,1,90,3,101,4,100,2,100,3,132,0, - 131,1,90,5,101,6,100,19,100,5,100,6,132,1,131,1, - 90,7,101,6,100,20,100,7,100,8,132,1,131,1,90,8, - 101,6,100,9,100,10,132,0,131,1,90,9,101,6,100,11, - 100,12,132,0,131,1,90,10,101,6,101,11,100,13,100,14, - 132,0,131,1,131,1,90,12,101,6,101,11,100,15,100,16, - 132,0,131,1,131,1,90,13,101,6,101,11,100,17,100,18, - 132,0,131,1,131,1,90,14,101,6,101,15,131,1,90,16, - 100,4,83,0,41,21,218,15,66,117,105,108,116,105,110,73, - 109,112,111,114,116,101,114,122,144,77,101,116,97,32,112,97, - 116,104,32,105,109,112,111,114,116,32,102,111,114,32,98,117, - 105,108,116,45,105,110,32,109,111,100,117,108,101,115,46,10, - 10,32,32,32,32,65,108,108,32,109,101,116,104,111,100,115, - 32,97,114,101,32,101,105,116,104,101,114,32,99,108,97,115, - 115,32,111,114,32,115,116,97,116,105,99,32,109,101,116,104, - 111,100,115,32,116,111,32,97,118,111,105,100,32,116,104,101, - 32,110,101,101,100,32,116,111,10,32,32,32,32,105,110,115, - 116,97,110,116,105,97,116,101,32,116,104,101,32,99,108,97, - 115,115,46,10,10,32,32,32,32,99,1,0,0,0,0,0, - 0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,12, - 0,0,0,100,1,160,0,124,0,106,1,161,1,83,0,41, - 2,122,115,82,101,116,117,114,110,32,114,101,112,114,32,102, - 111,114,32,116,104,101,32,109,111,100,117,108,101,46,10,10, - 32,32,32,32,32,32,32,32,84,104,101,32,109,101,116,104, - 111,100,32,105,115,32,100,101,112,114,101,99,97,116,101,100, - 46,32,32,84,104,101,32,105,109,112,111,114,116,32,109,97, - 99,104,105,110,101,114,121,32,100,111,101,115,32,116,104,101, - 32,106,111,98,32,105,116,115,101,108,102,46,10,10,32,32, - 32,32,32,32,32,32,122,24,60,109,111,100,117,108,101,32, - 123,33,114,125,32,40,98,117,105,108,116,45,105,110,41,62, - 41,2,114,38,0,0,0,114,1,0,0,0,41,1,114,83, - 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,114,86,0,0,0,177,2,0,0,115,2,0,0,0, - 0,7,122,27,66,117,105,108,116,105,110,73,109,112,111,114, - 116,101,114,46,109,111,100,117,108,101,95,114,101,112,114,78, - 99,4,0,0,0,0,0,0,0,4,0,0,0,5,0,0, - 0,67,0,0,0,115,44,0,0,0,124,2,100,0,107,9, - 114,12,100,0,83,0,116,0,160,1,124,1,161,1,114,36, - 116,2,124,1,124,0,100,1,100,2,141,3,83,0,100,0, - 83,0,100,0,83,0,41,3,78,122,8,98,117,105,108,116, - 45,105,110,41,1,114,103,0,0,0,41,3,114,46,0,0, - 0,90,10,105,115,95,98,117,105,108,116,105,110,114,78,0, - 0,0,41,4,218,3,99,108,115,114,71,0,0,0,218,4, - 112,97,116,104,218,6,116,97,114,103,101,116,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,218,9,102,105,110, - 100,95,115,112,101,99,186,2,0,0,115,10,0,0,0,0, - 2,8,1,4,1,10,1,14,2,122,25,66,117,105,108,116, - 105,110,73,109,112,111,114,116,101,114,46,102,105,110,100,95, - 115,112,101,99,99,3,0,0,0,0,0,0,0,4,0,0, - 0,4,0,0,0,67,0,0,0,115,30,0,0,0,124,0, - 160,0,124,1,124,2,161,2,125,3,124,3,100,1,107,9, - 114,26,124,3,106,1,83,0,100,1,83,0,41,2,122,175, - 70,105,110,100,32,116,104,101,32,98,117,105,108,116,45,105, - 110,32,109,111,100,117,108,101,46,10,10,32,32,32,32,32, - 32,32,32,73,102,32,39,112,97,116,104,39,32,105,115,32, - 101,118,101,114,32,115,112,101,99,105,102,105,101,100,32,116, - 104,101,110,32,116,104,101,32,115,101,97,114,99,104,32,105, - 115,32,99,111,110,115,105,100,101,114,101,100,32,97,32,102, - 97,105,108,117,114,101,46,10,10,32,32,32,32,32,32,32, - 32,84,104,105,115,32,109,101,116,104,111,100,32,105,115,32, - 100,101,112,114,101,99,97,116,101,100,46,32,32,85,115,101, - 32,102,105,110,100,95,115,112,101,99,40,41,32,105,110,115, - 116,101,97,100,46,10,10,32,32,32,32,32,32,32,32,78, - 41,2,114,146,0,0,0,114,93,0,0,0,41,4,114,143, - 0,0,0,114,71,0,0,0,114,144,0,0,0,114,82,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,218,11,102,105,110,100,95,109,111,100,117,108,101,195,2, - 0,0,115,4,0,0,0,0,9,12,1,122,27,66,117,105, - 108,116,105,110,73,109,112,111,114,116,101,114,46,102,105,110, - 100,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0, - 0,2,0,0,0,4,0,0,0,67,0,0,0,115,46,0, - 0,0,124,1,106,0,116,1,106,2,107,7,114,34,116,3, - 100,1,160,4,124,1,106,0,161,1,124,1,106,0,100,2, - 141,2,130,1,116,5,116,6,106,7,124,1,131,2,83,0, - 41,3,122,24,67,114,101,97,116,101,32,97,32,98,117,105, - 108,116,45,105,110,32,109,111,100,117,108,101,122,29,123,33, - 114,125,32,105,115,32,110,111,116,32,97,32,98,117,105,108, - 116,45,105,110,32,109,111,100,117,108,101,41,1,114,15,0, - 0,0,41,8,114,15,0,0,0,114,14,0,0,0,114,69, - 0,0,0,114,70,0,0,0,114,38,0,0,0,114,58,0, - 0,0,114,46,0,0,0,90,14,99,114,101,97,116,101,95, - 98,117,105,108,116,105,110,41,2,114,26,0,0,0,114,82, - 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,114,134,0,0,0,207,2,0,0,115,8,0,0,0, - 0,3,12,1,12,1,10,1,122,29,66,117,105,108,116,105, - 110,73,109,112,111,114,116,101,114,46,99,114,101,97,116,101, - 95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,0, - 2,0,0,0,3,0,0,0,67,0,0,0,115,16,0,0, - 0,116,0,116,1,106,2,124,1,131,2,1,0,100,1,83, - 0,41,2,122,22,69,120,101,99,32,97,32,98,117,105,108, - 116,45,105,110,32,109,111,100,117,108,101,78,41,3,114,58, - 0,0,0,114,46,0,0,0,90,12,101,120,101,99,95,98, - 117,105,108,116,105,110,41,2,114,26,0,0,0,114,83,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,135,0,0,0,215,2,0,0,115,2,0,0,0,0, - 3,122,27,66,117,105,108,116,105,110,73,109,112,111,114,116, - 101,114,46,101,120,101,99,95,109,111,100,117,108,101,99,2, - 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67, - 0,0,0,115,4,0,0,0,100,1,83,0,41,2,122,57, - 82,101,116,117,114,110,32,78,111,110,101,32,97,115,32,98, - 117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,32, - 100,111,32,110,111,116,32,104,97,118,101,32,99,111,100,101, - 32,111,98,106,101,99,116,115,46,78,114,10,0,0,0,41, - 2,114,143,0,0,0,114,71,0,0,0,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,218,8,103,101,116,95, - 99,111,100,101,220,2,0,0,115,2,0,0,0,0,4,122, - 24,66,117,105,108,116,105,110,73,109,112,111,114,116,101,114, - 46,103,101,116,95,99,111,100,101,99,2,0,0,0,0,0, - 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,4, - 0,0,0,100,1,83,0,41,2,122,56,82,101,116,117,114, - 110,32,78,111,110,101,32,97,115,32,98,117,105,108,116,45, - 105,110,32,109,111,100,117,108,101,115,32,100,111,32,110,111, - 116,32,104,97,118,101,32,115,111,117,114,99,101,32,99,111, - 100,101,46,78,114,10,0,0,0,41,2,114,143,0,0,0, - 114,71,0,0,0,114,10,0,0,0,114,10,0,0,0,114, - 11,0,0,0,218,10,103,101,116,95,115,111,117,114,99,101, - 226,2,0,0,115,2,0,0,0,0,4,122,26,66,117,105, - 108,116,105,110,73,109,112,111,114,116,101,114,46,103,101,116, - 95,115,111,117,114,99,101,99,2,0,0,0,0,0,0,0, - 2,0,0,0,1,0,0,0,67,0,0,0,115,4,0,0, - 0,100,1,83,0,41,2,122,52,82,101,116,117,114,110,32, - 70,97,108,115,101,32,97,115,32,98,117,105,108,116,45,105, - 110,32,109,111,100,117,108,101,115,32,97,114,101,32,110,101, - 118,101,114,32,112,97,99,107,97,103,101,115,46,70,114,10, - 0,0,0,41,2,114,143,0,0,0,114,71,0,0,0,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,114,105, - 0,0,0,232,2,0,0,115,2,0,0,0,0,4,122,26, - 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,46, - 105,115,95,112,97,99,107,97,103,101,41,2,78,78,41,1, - 78,41,17,114,1,0,0,0,114,0,0,0,0,114,2,0, - 0,0,114,3,0,0,0,218,12,115,116,97,116,105,99,109, - 101,116,104,111,100,114,86,0,0,0,218,11,99,108,97,115, - 115,109,101,116,104,111,100,114,146,0,0,0,114,147,0,0, - 0,114,134,0,0,0,114,135,0,0,0,114,74,0,0,0, - 114,148,0,0,0,114,149,0,0,0,114,105,0,0,0,114, - 84,0,0,0,114,138,0,0,0,114,10,0,0,0,114,10, - 0,0,0,114,10,0,0,0,114,11,0,0,0,114,142,0, - 0,0,168,2,0,0,115,28,0,0,0,12,9,12,9,2, - 1,12,8,2,1,12,11,12,8,12,5,2,1,14,5,2, - 1,14,5,2,1,14,5,114,142,0,0,0,99,0,0,0, - 0,0,0,0,0,0,0,0,0,4,0,0,0,64,0,0, - 0,115,140,0,0,0,101,0,90,1,100,0,90,2,100,1, - 90,3,101,4,100,2,100,3,132,0,131,1,90,5,101,6, - 100,21,100,5,100,6,132,1,131,1,90,7,101,6,100,22, - 100,7,100,8,132,1,131,1,90,8,101,6,100,9,100,10, - 132,0,131,1,90,9,101,4,100,11,100,12,132,0,131,1, - 90,10,101,6,100,13,100,14,132,0,131,1,90,11,101,6, - 101,12,100,15,100,16,132,0,131,1,131,1,90,13,101,6, - 101,12,100,17,100,18,132,0,131,1,131,1,90,14,101,6, - 101,12,100,19,100,20,132,0,131,1,131,1,90,15,100,4, - 83,0,41,23,218,14,70,114,111,122,101,110,73,109,112,111, - 114,116,101,114,122,142,77,101,116,97,32,112,97,116,104,32, - 105,109,112,111,114,116,32,102,111,114,32,102,114,111,122,101, - 110,32,109,111,100,117,108,101,115,46,10,10,32,32,32,32, - 65,108,108,32,109,101,116,104,111,100,115,32,97,114,101,32, - 101,105,116,104,101,114,32,99,108,97,115,115,32,111,114,32, - 115,116,97,116,105,99,32,109,101,116,104,111,100,115,32,116, - 111,32,97,118,111,105,100,32,116,104,101,32,110,101,101,100, - 32,116,111,10,32,32,32,32,105,110,115,116,97,110,116,105, - 97,116,101,32,116,104,101,32,99,108,97,115,115,46,10,10, - 32,32,32,32,99,1,0,0,0,0,0,0,0,1,0,0, - 0,3,0,0,0,67,0,0,0,115,12,0,0,0,100,1, - 160,0,124,0,106,1,161,1,83,0,41,2,122,115,82,101, - 116,117,114,110,32,114,101,112,114,32,102,111,114,32,116,104, - 101,32,109,111,100,117,108,101,46,10,10,32,32,32,32,32, - 32,32,32,84,104,101,32,109,101,116,104,111,100,32,105,115, - 32,100,101,112,114,101,99,97,116,101,100,46,32,32,84,104, - 101,32,105,109,112,111,114,116,32,109,97,99,104,105,110,101, - 114,121,32,100,111,101,115,32,116,104,101,32,106,111,98,32, - 105,116,115,101,108,102,46,10,10,32,32,32,32,32,32,32, - 32,122,22,60,109,111,100,117,108,101,32,123,33,114,125,32, - 40,102,114,111,122,101,110,41,62,41,2,114,38,0,0,0, - 114,1,0,0,0,41,1,218,1,109,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,86,0,0,0,250,2, - 0,0,115,2,0,0,0,0,7,122,26,70,114,111,122,101, - 110,73,109,112,111,114,116,101,114,46,109,111,100,117,108,101, - 95,114,101,112,114,78,99,4,0,0,0,0,0,0,0,4, - 0,0,0,5,0,0,0,67,0,0,0,115,32,0,0,0, - 116,0,160,1,124,1,161,1,114,24,116,2,124,1,124,0, - 100,1,100,2,141,3,83,0,100,0,83,0,100,0,83,0, - 41,3,78,90,6,102,114,111,122,101,110,41,1,114,103,0, - 0,0,41,3,114,46,0,0,0,114,75,0,0,0,114,78, - 0,0,0,41,4,114,143,0,0,0,114,71,0,0,0,114, - 144,0,0,0,114,145,0,0,0,114,10,0,0,0,114,10, - 0,0,0,114,11,0,0,0,114,146,0,0,0,3,3,0, - 0,115,6,0,0,0,0,2,10,1,14,2,122,24,70,114, - 111,122,101,110,73,109,112,111,114,116,101,114,46,102,105,110, - 100,95,115,112,101,99,99,3,0,0,0,0,0,0,0,3, - 0,0,0,3,0,0,0,67,0,0,0,115,18,0,0,0, - 116,0,160,1,124,1,161,1,114,14,124,0,83,0,100,1, - 83,0,41,2,122,93,70,105,110,100,32,97,32,102,114,111, - 122,101,110,32,109,111,100,117,108,101,46,10,10,32,32,32, - 32,32,32,32,32,84,104,105,115,32,109,101,116,104,111,100, - 32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32, - 32,85,115,101,32,102,105,110,100,95,115,112,101,99,40,41, - 32,105,110,115,116,101,97,100,46,10,10,32,32,32,32,32, - 32,32,32,78,41,2,114,46,0,0,0,114,75,0,0,0, - 41,3,114,143,0,0,0,114,71,0,0,0,114,144,0,0, - 0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, - 114,147,0,0,0,10,3,0,0,115,2,0,0,0,0,7, - 122,26,70,114,111,122,101,110,73,109,112,111,114,116,101,114, - 46,102,105,110,100,95,109,111,100,117,108,101,99,2,0,0, - 0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0, - 0,115,4,0,0,0,100,1,83,0,41,2,122,42,85,115, - 101,32,100,101,102,97,117,108,116,32,115,101,109,97,110,116, - 105,99,115,32,102,111,114,32,109,111,100,117,108,101,32,99, - 114,101,97,116,105,111,110,46,78,114,10,0,0,0,41,2, - 114,143,0,0,0,114,82,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,134,0,0,0,19,3, - 0,0,115,0,0,0,0,122,28,70,114,111,122,101,110,73, - 109,112,111,114,116,101,114,46,99,114,101,97,116,101,95,109, - 111,100,117,108,101,99,1,0,0,0,0,0,0,0,3,0, - 0,0,4,0,0,0,67,0,0,0,115,64,0,0,0,124, - 0,106,0,106,1,125,1,116,2,160,3,124,1,161,1,115, - 36,116,4,100,1,160,5,124,1,161,1,124,1,100,2,141, - 2,130,1,116,6,116,2,106,7,124,1,131,2,125,2,116, - 8,124,2,124,0,106,9,131,2,1,0,100,0,83,0,41, - 3,78,122,27,123,33,114,125,32,105,115,32,110,111,116,32, - 97,32,102,114,111,122,101,110,32,109,111,100,117,108,101,41, - 1,114,15,0,0,0,41,10,114,89,0,0,0,114,15,0, - 0,0,114,46,0,0,0,114,75,0,0,0,114,70,0,0, - 0,114,38,0,0,0,114,58,0,0,0,218,17,103,101,116, - 95,102,114,111,122,101,110,95,111,98,106,101,99,116,218,4, - 101,120,101,99,114,7,0,0,0,41,3,114,83,0,0,0, - 114,15,0,0,0,218,4,99,111,100,101,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,114,135,0,0,0,23, - 3,0,0,115,12,0,0,0,0,2,8,1,10,1,10,1, - 8,1,12,1,122,26,70,114,111,122,101,110,73,109,112,111, - 114,116,101,114,46,101,120,101,99,95,109,111,100,117,108,101, - 99,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0, - 0,67,0,0,0,115,10,0,0,0,116,0,124,0,124,1, - 131,2,83,0,41,1,122,95,76,111,97,100,32,97,32,102, - 114,111,122,101,110,32,109,111,100,117,108,101,46,10,10,32, - 32,32,32,32,32,32,32,84,104,105,115,32,109,101,116,104, - 111,100,32,105,115,32,100,101,112,114,101,99,97,116,101,100, - 46,32,32,85,115,101,32,101,120,101,99,95,109,111,100,117, - 108,101,40,41,32,105,110,115,116,101,97,100,46,10,10,32, - 32,32,32,32,32,32,32,41,1,114,84,0,0,0,41,2, - 114,143,0,0,0,114,71,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,138,0,0,0,32,3, - 0,0,115,2,0,0,0,0,7,122,26,70,114,111,122,101, - 110,73,109,112,111,114,116,101,114,46,108,111,97,100,95,109, - 111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0, - 0,0,3,0,0,0,67,0,0,0,115,10,0,0,0,116, - 0,160,1,124,1,161,1,83,0,41,1,122,45,82,101,116, - 117,114,110,32,116,104,101,32,99,111,100,101,32,111,98,106, - 101,99,116,32,102,111,114,32,116,104,101,32,102,114,111,122, - 101,110,32,109,111,100,117,108,101,46,41,2,114,46,0,0, - 0,114,154,0,0,0,41,2,114,143,0,0,0,114,71,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,148,0,0,0,41,3,0,0,115,2,0,0,0,0, - 4,122,23,70,114,111,122,101,110,73,109,112,111,114,116,101, - 114,46,103,101,116,95,99,111,100,101,99,2,0,0,0,0, - 0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,115, - 4,0,0,0,100,1,83,0,41,2,122,54,82,101,116,117, - 114,110,32,78,111,110,101,32,97,115,32,102,114,111,122,101, - 110,32,109,111,100,117,108,101,115,32,100,111,32,110,111,116, - 32,104,97,118,101,32,115,111,117,114,99,101,32,99,111,100, - 101,46,78,114,10,0,0,0,41,2,114,143,0,0,0,114, - 71,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, - 0,0,0,114,149,0,0,0,47,3,0,0,115,2,0,0, - 0,0,4,122,25,70,114,111,122,101,110,73,109,112,111,114, - 116,101,114,46,103,101,116,95,115,111,117,114,99,101,99,2, - 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,67, - 0,0,0,115,10,0,0,0,116,0,160,1,124,1,161,1, - 83,0,41,1,122,46,82,101,116,117,114,110,32,84,114,117, - 101,32,105,102,32,116,104,101,32,102,114,111,122,101,110,32, - 109,111,100,117,108,101,32,105,115,32,97,32,112,97,99,107, - 97,103,101,46,41,2,114,46,0,0,0,90,17,105,115,95, - 102,114,111,122,101,110,95,112,97,99,107,97,103,101,41,2, - 114,143,0,0,0,114,71,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,114,105,0,0,0,53,3, - 0,0,115,2,0,0,0,0,4,122,25,70,114,111,122,101, - 110,73,109,112,111,114,116,101,114,46,105,115,95,112,97,99, - 107,97,103,101,41,2,78,78,41,1,78,41,16,114,1,0, - 0,0,114,0,0,0,0,114,2,0,0,0,114,3,0,0, - 0,114,150,0,0,0,114,86,0,0,0,114,151,0,0,0, - 114,146,0,0,0,114,147,0,0,0,114,134,0,0,0,114, - 135,0,0,0,114,138,0,0,0,114,77,0,0,0,114,148, - 0,0,0,114,149,0,0,0,114,105,0,0,0,114,10,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,114,152,0,0,0,241,2,0,0,115,28,0,0,0,12, - 9,12,9,2,1,12,6,2,1,12,8,12,4,12,9,12, - 9,2,1,14,5,2,1,14,5,2,1,114,152,0,0,0, - 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, - 0,64,0,0,0,115,32,0,0,0,101,0,90,1,100,0, - 90,2,100,1,90,3,100,2,100,3,132,0,90,4,100,4, - 100,5,132,0,90,5,100,6,83,0,41,7,218,18,95,73, - 109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,116, - 122,36,67,111,110,116,101,120,116,32,109,97,110,97,103,101, - 114,32,102,111,114,32,116,104,101,32,105,109,112,111,114,116, - 32,108,111,99,107,46,99,1,0,0,0,0,0,0,0,1, - 0,0,0,2,0,0,0,67,0,0,0,115,12,0,0,0, - 116,0,160,1,161,0,1,0,100,1,83,0,41,2,122,24, - 65,99,113,117,105,114,101,32,116,104,101,32,105,109,112,111, - 114,116,32,108,111,99,107,46,78,41,2,114,46,0,0,0, - 114,137,0,0,0,41,1,114,26,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,114,48,0,0,0, - 66,3,0,0,115,2,0,0,0,0,2,122,28,95,73,109, - 112,111,114,116,76,111,99,107,67,111,110,116,101,120,116,46, - 95,95,101,110,116,101,114,95,95,99,4,0,0,0,0,0, - 0,0,4,0,0,0,2,0,0,0,67,0,0,0,115,12, - 0,0,0,116,0,160,1,161,0,1,0,100,1,83,0,41, - 2,122,60,82,101,108,101,97,115,101,32,116,104,101,32,105, - 109,112,111,114,116,32,108,111,99,107,32,114,101,103,97,114, - 100,108,101,115,115,32,111,102,32,97,110,121,32,114,97,105, - 115,101,100,32,101,120,99,101,112,116,105,111,110,115,46,78, - 41,2,114,46,0,0,0,114,47,0,0,0,41,4,114,26, - 0,0,0,90,8,101,120,99,95,116,121,112,101,90,9,101, - 120,99,95,118,97,108,117,101,90,13,101,120,99,95,116,114, - 97,99,101,98,97,99,107,114,10,0,0,0,114,10,0,0, - 0,114,11,0,0,0,114,50,0,0,0,70,3,0,0,115, - 2,0,0,0,0,2,122,27,95,73,109,112,111,114,116,76, - 111,99,107,67,111,110,116,101,120,116,46,95,95,101,120,105, - 116,95,95,78,41,6,114,1,0,0,0,114,0,0,0,0, - 114,2,0,0,0,114,3,0,0,0,114,48,0,0,0,114, - 50,0,0,0,114,10,0,0,0,114,10,0,0,0,114,10, - 0,0,0,114,11,0,0,0,114,157,0,0,0,62,3,0, - 0,115,4,0,0,0,12,4,8,4,114,157,0,0,0,99, - 3,0,0,0,0,0,0,0,5,0,0,0,5,0,0,0, - 67,0,0,0,115,64,0,0,0,124,1,160,0,100,1,124, - 2,100,2,24,0,161,2,125,3,116,1,124,3,131,1,124, - 2,107,0,114,36,116,2,100,3,131,1,130,1,124,3,100, - 4,25,0,125,4,124,0,114,60,100,5,160,3,124,4,124, - 0,161,2,83,0,124,4,83,0,41,6,122,50,82,101,115, - 111,108,118,101,32,97,32,114,101,108,97,116,105,118,101,32, - 109,111,100,117,108,101,32,110,97,109,101,32,116,111,32,97, - 110,32,97,98,115,111,108,117,116,101,32,111,110,101,46,114, - 117,0,0,0,114,33,0,0,0,122,50,97,116,116,101,109, - 112,116,101,100,32,114,101,108,97,116,105,118,101,32,105,109, - 112,111,114,116,32,98,101,121,111,110,100,32,116,111,112,45, - 108,101,118,101,108,32,112,97,99,107,97,103,101,114,19,0, - 0,0,122,5,123,125,46,123,125,41,4,218,6,114,115,112, - 108,105,116,218,3,108,101,110,218,10,86,97,108,117,101,69, - 114,114,111,114,114,38,0,0,0,41,5,114,15,0,0,0, - 218,7,112,97,99,107,97,103,101,218,5,108,101,118,101,108, - 90,4,98,105,116,115,90,4,98,97,115,101,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,218,13,95,114,101, - 115,111,108,118,101,95,110,97,109,101,75,3,0,0,115,10, - 0,0,0,0,2,16,1,12,1,8,1,8,1,114,163,0, - 0,0,99,3,0,0,0,0,0,0,0,4,0,0,0,4, - 0,0,0,67,0,0,0,115,34,0,0,0,124,0,160,0, - 124,1,124,2,161,2,125,3,124,3,100,0,107,8,114,24, - 100,0,83,0,116,1,124,1,124,3,131,2,83,0,41,1, - 78,41,2,114,147,0,0,0,114,78,0,0,0,41,4,218, - 6,102,105,110,100,101,114,114,15,0,0,0,114,144,0,0, - 0,114,93,0,0,0,114,10,0,0,0,114,10,0,0,0, - 114,11,0,0,0,218,17,95,102,105,110,100,95,115,112,101, - 99,95,108,101,103,97,99,121,84,3,0,0,115,8,0,0, - 0,0,3,12,1,8,1,4,1,114,165,0,0,0,99,3, - 0,0,0,0,0,0,0,10,0,0,0,27,0,0,0,67, - 0,0,0,115,242,0,0,0,116,0,106,1,125,3,124,3, - 100,1,107,8,114,22,116,2,100,2,131,1,130,1,124,3, - 115,38,116,3,160,4,100,3,116,5,161,2,1,0,124,0, - 116,0,106,6,107,6,125,4,120,188,124,3,68,0,93,176, - 125,5,116,7,131,0,143,72,1,0,121,10,124,5,106,8, - 125,6,87,0,110,42,4,0,116,9,107,10,114,118,1,0, - 1,0,1,0,116,10,124,5,124,0,124,1,131,3,125,7, - 124,7,100,1,107,8,114,114,119,54,89,0,110,14,88,0, - 124,6,124,0,124,1,124,2,131,3,125,7,87,0,100,1, - 81,0,82,0,88,0,124,7,100,1,107,9,114,54,124,4, - 12,0,114,226,124,0,116,0,106,6,107,6,114,226,116,0, - 106,6,124,0,25,0,125,8,121,10,124,8,106,11,125,9, - 87,0,110,20,4,0,116,9,107,10,114,206,1,0,1,0, - 1,0,124,7,83,0,88,0,124,9,100,1,107,8,114,220, - 124,7,83,0,124,9,83,0,113,54,124,7,83,0,113,54, - 87,0,100,1,83,0,100,1,83,0,41,4,122,21,70,105, - 110,100,32,97,32,109,111,100,117,108,101,39,115,32,115,112, - 101,99,46,78,122,53,115,121,115,46,109,101,116,97,95,112, - 97,116,104,32,105,115,32,78,111,110,101,44,32,80,121,116, - 104,111,110,32,105,115,32,108,105,107,101,108,121,32,115,104, - 117,116,116,105,110,103,32,100,111,119,110,122,22,115,121,115, - 46,109,101,116,97,95,112,97,116,104,32,105,115,32,101,109, - 112,116,121,41,12,114,14,0,0,0,218,9,109,101,116,97, - 95,112,97,116,104,114,70,0,0,0,218,9,95,119,97,114, - 110,105,110,103,115,218,4,119,97,114,110,218,13,73,109,112, - 111,114,116,87,97,114,110,105,110,103,114,79,0,0,0,114, - 157,0,0,0,114,146,0,0,0,114,90,0,0,0,114,165, - 0,0,0,114,89,0,0,0,41,10,114,15,0,0,0,114, - 144,0,0,0,114,145,0,0,0,114,166,0,0,0,90,9, - 105,115,95,114,101,108,111,97,100,114,164,0,0,0,114,146, - 0,0,0,114,82,0,0,0,114,83,0,0,0,114,89,0, - 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,218,10,95,102,105,110,100,95,115,112,101,99,93,3,0, - 0,115,54,0,0,0,0,2,6,1,8,2,8,3,4,1, - 12,5,10,1,10,1,8,1,2,1,10,1,14,1,12,1, - 8,1,8,2,22,1,8,2,16,1,10,1,2,1,10,1, - 14,4,6,2,8,1,4,2,6,2,8,2,114,170,0,0, - 0,99,3,0,0,0,0,0,0,0,4,0,0,0,5,0, - 0,0,67,0,0,0,115,140,0,0,0,116,0,124,0,116, - 1,131,2,115,28,116,2,100,1,160,3,116,4,124,0,131, - 1,161,1,131,1,130,1,124,2,100,2,107,0,114,44,116, - 5,100,3,131,1,130,1,124,2,100,2,107,4,114,114,116, - 0,124,1,116,1,131,2,115,72,116,2,100,4,131,1,130, - 1,110,42,124,1,115,86,116,6,100,5,131,1,130,1,110, - 28,124,1,116,7,106,8,107,7,114,114,100,6,125,3,116, - 9,124,3,160,3,124,1,161,1,131,1,130,1,124,0,12, - 0,114,136,124,2,100,2,107,2,114,136,116,5,100,7,131, - 1,130,1,100,8,83,0,41,9,122,28,86,101,114,105,102, - 121,32,97,114,103,117,109,101,110,116,115,32,97,114,101,32, - 34,115,97,110,101,34,46,122,31,109,111,100,117,108,101,32, - 110,97,109,101,32,109,117,115,116,32,98,101,32,115,116,114, - 44,32,110,111,116,32,123,125,114,19,0,0,0,122,18,108, - 101,118,101,108,32,109,117,115,116,32,98,101,32,62,61,32, - 48,122,31,95,95,112,97,99,107,97,103,101,95,95,32,110, - 111,116,32,115,101,116,32,116,111,32,97,32,115,116,114,105, - 110,103,122,54,97,116,116,101,109,112,116,101,100,32,114,101, - 108,97,116,105,118,101,32,105,109,112,111,114,116,32,119,105, - 116,104,32,110,111,32,107,110,111,119,110,32,112,97,114,101, - 110,116,32,112,97,99,107,97,103,101,122,61,80,97,114,101, - 110,116,32,109,111,100,117,108,101,32,123,33,114,125,32,110, - 111,116,32,108,111,97,100,101,100,44,32,99,97,110,110,111, - 116,32,112,101,114,102,111,114,109,32,114,101,108,97,116,105, - 118,101,32,105,109,112,111,114,116,122,17,69,109,112,116,121, - 32,109,111,100,117,108,101,32,110,97,109,101,78,41,10,218, - 10,105,115,105,110,115,116,97,110,99,101,218,3,115,116,114, - 218,9,84,121,112,101,69,114,114,111,114,114,38,0,0,0, - 114,13,0,0,0,114,160,0,0,0,114,70,0,0,0,114, - 14,0,0,0,114,79,0,0,0,218,11,83,121,115,116,101, - 109,69,114,114,111,114,41,4,114,15,0,0,0,114,161,0, - 0,0,114,162,0,0,0,114,139,0,0,0,114,10,0,0, - 0,114,10,0,0,0,114,11,0,0,0,218,13,95,115,97, - 110,105,116,121,95,99,104,101,99,107,140,3,0,0,115,28, - 0,0,0,0,2,10,1,18,1,8,1,8,1,8,1,10, - 1,10,1,4,1,10,2,10,1,4,2,14,1,14,1,114, - 175,0,0,0,122,16,78,111,32,109,111,100,117,108,101,32, - 110,97,109,101,100,32,122,4,123,33,114,125,99,2,0,0, - 0,0,0,0,0,8,0,0,0,13,0,0,0,67,0,0, - 0,115,220,0,0,0,100,0,125,2,124,0,160,0,100,1, - 161,1,100,2,25,0,125,3,124,3,114,134,124,3,116,1, - 106,2,107,7,114,42,116,3,124,1,124,3,131,2,1,0, - 124,0,116,1,106,2,107,6,114,62,116,1,106,2,124,0, - 25,0,83,0,116,1,106,2,124,3,25,0,125,4,121,10, - 124,4,106,4,125,2,87,0,110,50,4,0,116,5,107,10, - 114,132,1,0,1,0,1,0,116,6,100,3,23,0,160,7, - 124,0,124,3,161,2,125,5,116,8,124,5,124,0,100,4, - 141,2,100,0,130,2,89,0,110,2,88,0,116,9,124,0, - 124,2,131,2,125,6,124,6,100,0,107,8,114,172,116,8, - 116,6,160,7,124,0,161,1,124,0,100,4,141,2,130,1, - 110,8,116,10,124,6,131,1,125,7,124,3,114,216,116,1, - 106,2,124,3,25,0,125,4,116,11,124,4,124,0,160,0, - 100,1,161,1,100,5,25,0,124,7,131,3,1,0,124,7, - 83,0,41,6,78,114,117,0,0,0,114,19,0,0,0,122, - 23,59,32,123,33,114,125,32,105,115,32,110,111,116,32,97, - 32,112,97,99,107,97,103,101,41,1,114,15,0,0,0,233, - 2,0,0,0,41,12,114,118,0,0,0,114,14,0,0,0, - 114,79,0,0,0,114,58,0,0,0,114,127,0,0,0,114, - 90,0,0,0,218,8,95,69,82,82,95,77,83,71,114,38, - 0,0,0,218,19,77,111,100,117,108,101,78,111,116,70,111, - 117,110,100,69,114,114,111,114,114,170,0,0,0,114,141,0, - 0,0,114,5,0,0,0,41,8,114,15,0,0,0,218,7, - 105,109,112,111,114,116,95,114,144,0,0,0,114,119,0,0, - 0,90,13,112,97,114,101,110,116,95,109,111,100,117,108,101, - 114,139,0,0,0,114,82,0,0,0,114,83,0,0,0,114, - 10,0,0,0,114,10,0,0,0,114,11,0,0,0,218,23, - 95,102,105,110,100,95,97,110,100,95,108,111,97,100,95,117, - 110,108,111,99,107,101,100,163,3,0,0,115,42,0,0,0, - 0,1,4,1,14,1,4,1,10,1,10,2,10,1,10,1, - 10,1,2,1,10,1,14,1,16,1,20,1,10,1,8,1, - 20,2,8,1,4,2,10,1,22,1,114,180,0,0,0,99, - 2,0,0,0,0,0,0,0,2,0,0,0,10,0,0,0, - 67,0,0,0,115,30,0,0,0,116,0,124,0,131,1,143, - 12,1,0,116,1,124,0,124,1,131,2,83,0,81,0,82, - 0,88,0,100,1,83,0,41,2,122,54,70,105,110,100,32, - 97,110,100,32,108,111,97,100,32,116,104,101,32,109,111,100, - 117,108,101,44,32,97,110,100,32,114,101,108,101,97,115,101, + 0,0,114,11,0,0,0,114,35,0,0,0,131,0,0,0, + 115,6,0,0,0,0,1,10,1,8,1,122,24,95,68,117, + 109,109,121,77,111,100,117,108,101,76,111,99,107,46,114,101, + 108,101,97,115,101,99,1,0,0,0,0,0,0,0,1,0, + 0,0,5,0,0,0,67,0,0,0,115,18,0,0,0,100, + 1,160,0,124,0,106,1,116,2,124,0,131,1,161,2,83, + 0,41,2,78,122,28,95,68,117,109,109,121,77,111,100,117, + 108,101,76,111,99,107,40,123,33,114,125,41,32,97,116,32, + 123,125,41,3,114,38,0,0,0,114,15,0,0,0,114,39, + 0,0,0,41,1,114,26,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,40,0,0,0,136,0, + 0,0,115,2,0,0,0,0,1,122,25,95,68,117,109,109, + 121,77,111,100,117,108,101,76,111,99,107,46,95,95,114,101, + 112,114,95,95,78,41,8,114,1,0,0,0,114,0,0,0, + 0,114,2,0,0,0,114,3,0,0,0,114,27,0,0,0, + 114,34,0,0,0,114,35,0,0,0,114,40,0,0,0,114, + 10,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,41,0,0,0,119,0,0,0,115,8,0,0, + 0,12,4,8,4,8,4,8,5,114,41,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64, + 0,0,0,115,36,0,0,0,101,0,90,1,100,0,90,2, + 100,1,100,2,132,0,90,3,100,3,100,4,132,0,90,4, + 100,5,100,6,132,0,90,5,100,7,83,0,41,8,218,18, + 95,77,111,100,117,108,101,76,111,99,107,77,97,110,97,103, + 101,114,99,2,0,0,0,0,0,0,0,2,0,0,0,2, + 0,0,0,67,0,0,0,115,16,0,0,0,124,1,124,0, + 95,0,100,0,124,0,95,1,100,0,83,0,41,1,78,41, + 2,218,5,95,110,97,109,101,218,5,95,108,111,99,107,41, + 2,114,26,0,0,0,114,15,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,27,0,0,0,142, + 0,0,0,115,4,0,0,0,0,1,6,1,122,27,95,77, + 111,100,117,108,101,76,111,99,107,77,97,110,97,103,101,114, + 46,95,95,105,110,105,116,95,95,99,1,0,0,0,0,0, + 0,0,1,0,0,0,11,0,0,0,67,0,0,0,115,42, + 0,0,0,122,16,116,0,124,0,106,1,131,1,124,0,95, + 2,87,0,100,0,116,3,160,4,161,0,1,0,88,0,124, + 0,106,2,160,5,161,0,1,0,100,0,83,0,41,1,78, + 41,6,218,16,95,103,101,116,95,109,111,100,117,108,101,95, + 108,111,99,107,114,43,0,0,0,114,44,0,0,0,218,4, + 95,105,109,112,218,12,114,101,108,101,97,115,101,95,108,111, + 99,107,114,34,0,0,0,41,1,114,26,0,0,0,114,10, + 0,0,0,114,10,0,0,0,114,11,0,0,0,218,9,95, + 95,101,110,116,101,114,95,95,146,0,0,0,115,8,0,0, + 0,0,1,2,1,16,2,10,1,122,28,95,77,111,100,117, + 108,101,76,111,99,107,77,97,110,97,103,101,114,46,95,95, + 101,110,116,101,114,95,95,99,1,0,0,0,0,0,0,0, + 3,0,0,0,2,0,0,0,79,0,0,0,115,14,0,0, + 0,124,0,106,0,160,1,161,0,1,0,100,0,83,0,41, + 1,78,41,2,114,44,0,0,0,114,35,0,0,0,41,3, + 114,26,0,0,0,218,4,97,114,103,115,90,6,107,119,97, + 114,103,115,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,218,8,95,95,101,120,105,116,95,95,153,0,0,0, + 115,2,0,0,0,0,1,122,27,95,77,111,100,117,108,101, + 76,111,99,107,77,97,110,97,103,101,114,46,95,95,101,120, + 105,116,95,95,78,41,6,114,1,0,0,0,114,0,0,0, + 0,114,2,0,0,0,114,27,0,0,0,114,48,0,0,0, + 114,50,0,0,0,114,10,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,42,0,0,0,140,0, + 0,0,115,6,0,0,0,8,2,8,4,8,7,114,42,0, + 0,0,99,1,0,0,0,0,0,0,0,3,0,0,0,12, + 0,0,0,3,0,0,0,115,106,0,0,0,100,1,125,1, + 121,14,116,0,136,0,25,0,131,0,125,1,87,0,110,20, + 4,0,116,1,107,10,114,38,1,0,1,0,1,0,89,0, + 110,2,88,0,124,1,100,1,107,8,114,102,116,2,100,1, + 107,8,114,66,116,3,136,0,131,1,125,1,110,8,116,4, + 136,0,131,1,125,1,135,0,102,1,100,2,100,3,132,8, + 125,2,116,5,160,6,124,1,124,2,161,2,116,0,136,0, + 60,0,124,1,83,0,41,4,122,109,71,101,116,32,111,114, + 32,99,114,101,97,116,101,32,116,104,101,32,109,111,100,117, + 108,101,32,108,111,99,107,32,102,111,114,32,97,32,103,105, + 118,101,110,32,109,111,100,117,108,101,32,110,97,109,101,46, + 10,10,32,32,32,32,83,104,111,117,108,100,32,111,110,108, + 121,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104, 32,116,104,101,32,105,109,112,111,114,116,32,108,111,99,107, - 46,78,41,2,114,42,0,0,0,114,180,0,0,0,41,2, - 114,15,0,0,0,114,179,0,0,0,114,10,0,0,0,114, - 10,0,0,0,114,11,0,0,0,218,14,95,102,105,110,100, - 95,97,110,100,95,108,111,97,100,190,3,0,0,115,4,0, - 0,0,0,2,10,1,114,181,0,0,0,114,19,0,0,0, - 99,3,0,0,0,0,0,0,0,5,0,0,0,4,0,0, - 0,67,0,0,0,115,120,0,0,0,116,0,124,0,124,1, - 124,2,131,3,1,0,124,2,100,1,107,4,114,32,116,1, - 124,0,124,1,124,2,131,3,125,0,116,2,160,3,161,0, - 1,0,124,0,116,4,106,5,107,7,114,60,116,6,124,0, - 116,7,131,2,83,0,116,4,106,5,124,0,25,0,125,3, - 124,3,100,2,107,8,114,108,116,2,160,8,161,0,1,0, - 100,3,160,9,124,0,161,1,125,4,116,10,124,4,124,0, - 100,4,141,2,130,1,116,11,124,0,131,1,1,0,124,3, - 83,0,41,5,97,50,1,0,0,73,109,112,111,114,116,32, - 97,110,100,32,114,101,116,117,114,110,32,116,104,101,32,109, - 111,100,117,108,101,32,98,97,115,101,100,32,111,110,32,105, - 116,115,32,110,97,109,101,44,32,116,104,101,32,112,97,99, - 107,97,103,101,32,116,104,101,32,99,97,108,108,32,105,115, - 10,32,32,32,32,98,101,105,110,103,32,109,97,100,101,32, - 102,114,111,109,44,32,97,110,100,32,116,104,101,32,108,101, - 118,101,108,32,97,100,106,117,115,116,109,101,110,116,46,10, - 10,32,32,32,32,84,104,105,115,32,102,117,110,99,116,105, - 111,110,32,114,101,112,114,101,115,101,110,116,115,32,116,104, - 101,32,103,114,101,97,116,101,115,116,32,99,111,109,109,111, - 110,32,100,101,110,111,109,105,110,97,116,111,114,32,111,102, - 32,102,117,110,99,116,105,111,110,97,108,105,116,121,10,32, - 32,32,32,98,101,116,119,101,101,110,32,105,109,112,111,114, - 116,95,109,111,100,117,108,101,32,97,110,100,32,95,95,105, - 109,112,111,114,116,95,95,46,32,84,104,105,115,32,105,110, - 99,108,117,100,101,115,32,115,101,116,116,105,110,103,32,95, - 95,112,97,99,107,97,103,101,95,95,32,105,102,10,32,32, - 32,32,116,104,101,32,108,111,97,100,101,114,32,100,105,100, - 32,110,111,116,46,10,10,32,32,32,32,114,19,0,0,0, - 78,122,40,105,109,112,111,114,116,32,111,102,32,123,125,32, - 104,97,108,116,101,100,59,32,78,111,110,101,32,105,110,32, - 115,121,115,46,109,111,100,117,108,101,115,41,1,114,15,0, - 0,0,41,12,114,175,0,0,0,114,163,0,0,0,114,46, - 0,0,0,114,137,0,0,0,114,14,0,0,0,114,79,0, - 0,0,114,181,0,0,0,218,11,95,103,99,100,95,105,109, - 112,111,114,116,114,47,0,0,0,114,38,0,0,0,114,178, - 0,0,0,114,56,0,0,0,41,5,114,15,0,0,0,114, - 161,0,0,0,114,162,0,0,0,114,83,0,0,0,114,67, - 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,114,182,0,0,0,196,3,0,0,115,28,0,0,0, - 0,9,12,1,8,1,12,1,8,1,10,1,10,1,10,1, - 8,1,8,1,4,1,6,1,12,1,8,1,114,182,0,0, - 0,99,3,0,0,0,0,0,0,0,6,0,0,0,17,0, - 0,0,67,0,0,0,115,164,0,0,0,116,0,124,0,100, - 1,131,2,114,160,100,2,124,1,107,6,114,58,116,1,124, - 1,131,1,125,1,124,1,160,2,100,2,161,1,1,0,116, - 0,124,0,100,3,131,2,114,58,124,1,160,3,124,0,106, - 4,161,1,1,0,120,100,124,1,68,0,93,92,125,3,116, - 0,124,0,124,3,131,2,115,64,100,4,160,5,124,0,106, - 6,124,3,161,2,125,4,121,14,116,7,124,2,124,4,131, - 2,1,0,87,0,113,64,4,0,116,8,107,10,114,154,1, - 0,125,5,1,0,122,20,124,5,106,9,124,4,107,2,114, - 136,119,64,130,0,87,0,89,0,100,5,100,5,125,5,126, - 5,88,0,113,64,88,0,113,64,87,0,124,0,83,0,41, - 6,122,238,70,105,103,117,114,101,32,111,117,116,32,119,104, - 97,116,32,95,95,105,109,112,111,114,116,95,95,32,115,104, - 111,117,108,100,32,114,101,116,117,114,110,46,10,10,32,32, - 32,32,84,104,101,32,105,109,112,111,114,116,95,32,112,97, - 114,97,109,101,116,101,114,32,105,115,32,97,32,99,97,108, - 108,97,98,108,101,32,119,104,105,99,104,32,116,97,107,101, - 115,32,116,104,101,32,110,97,109,101,32,111,102,32,109,111, - 100,117,108,101,32,116,111,10,32,32,32,32,105,109,112,111, - 114,116,46,32,73,116,32,105,115,32,114,101,113,117,105,114, - 101,100,32,116,111,32,100,101,99,111,117,112,108,101,32,116, - 104,101,32,102,117,110,99,116,105,111,110,32,102,114,111,109, - 32,97,115,115,117,109,105,110,103,32,105,109,112,111,114,116, - 108,105,98,39,115,10,32,32,32,32,105,109,112,111,114,116, - 32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32, - 105,115,32,100,101,115,105,114,101,100,46,10,10,32,32,32, - 32,114,127,0,0,0,250,1,42,218,7,95,95,97,108,108, - 95,95,122,5,123,125,46,123,125,78,41,10,114,4,0,0, - 0,114,126,0,0,0,218,6,114,101,109,111,118,101,218,6, - 101,120,116,101,110,100,114,184,0,0,0,114,38,0,0,0, - 114,1,0,0,0,114,58,0,0,0,114,178,0,0,0,114, - 15,0,0,0,41,6,114,83,0,0,0,218,8,102,114,111, - 109,108,105,115,116,114,179,0,0,0,218,1,120,90,9,102, - 114,111,109,95,110,97,109,101,90,3,101,120,99,114,10,0, - 0,0,114,10,0,0,0,114,11,0,0,0,218,16,95,104, - 97,110,100,108,101,95,102,114,111,109,108,105,115,116,221,3, - 0,0,115,32,0,0,0,0,10,10,1,8,1,8,1,10, - 1,10,1,12,1,10,1,10,1,14,1,2,1,14,1,16, - 4,10,1,2,1,24,1,114,189,0,0,0,99,1,0,0, - 0,0,0,0,0,3,0,0,0,6,0,0,0,67,0,0, - 0,115,146,0,0,0,124,0,160,0,100,1,161,1,125,1, - 124,0,160,0,100,2,161,1,125,2,124,1,100,3,107,9, - 114,82,124,2,100,3,107,9,114,78,124,1,124,2,106,1, - 107,3,114,78,116,2,106,3,100,4,124,1,155,2,100,5, - 124,2,106,1,155,2,100,6,157,5,116,4,100,7,100,8, - 141,3,1,0,124,1,83,0,124,2,100,3,107,9,114,96, - 124,2,106,1,83,0,116,2,106,3,100,9,116,4,100,7, - 100,8,141,3,1,0,124,0,100,10,25,0,125,1,100,11, - 124,0,107,7,114,142,124,1,160,5,100,12,161,1,100,13, - 25,0,125,1,124,1,83,0,41,14,122,167,67,97,108,99, - 117,108,97,116,101,32,119,104,97,116,32,95,95,112,97,99, - 107,97,103,101,95,95,32,115,104,111,117,108,100,32,98,101, - 46,10,10,32,32,32,32,95,95,112,97,99,107,97,103,101, - 95,95,32,105,115,32,110,111,116,32,103,117,97,114,97,110, - 116,101,101,100,32,116,111,32,98,101,32,100,101,102,105,110, - 101,100,32,111,114,32,99,111,117,108,100,32,98,101,32,115, - 101,116,32,116,111,32,78,111,110,101,10,32,32,32,32,116, - 111,32,114,101,112,114,101,115,101,110,116,32,116,104,97,116, - 32,105,116,115,32,112,114,111,112,101,114,32,118,97,108,117, - 101,32,105,115,32,117,110,107,110,111,119,110,46,10,10,32, - 32,32,32,114,130,0,0,0,114,89,0,0,0,78,122,32, - 95,95,112,97,99,107,97,103,101,95,95,32,33,61,32,95, - 95,115,112,101,99,95,95,46,112,97,114,101,110,116,32,40, - 122,4,32,33,61,32,250,1,41,233,3,0,0,0,41,1, - 90,10,115,116,97,99,107,108,101,118,101,108,122,89,99,97, - 110,39,116,32,114,101,115,111,108,118,101,32,112,97,99,107, - 97,103,101,32,102,114,111,109,32,95,95,115,112,101,99,95, - 95,32,111,114,32,95,95,112,97,99,107,97,103,101,95,95, - 44,32,102,97,108,108,105,110,103,32,98,97,99,107,32,111, - 110,32,95,95,110,97,109,101,95,95,32,97,110,100,32,95, - 95,112,97,116,104,95,95,114,1,0,0,0,114,127,0,0, - 0,114,117,0,0,0,114,19,0,0,0,41,6,114,30,0, - 0,0,114,119,0,0,0,114,167,0,0,0,114,168,0,0, - 0,114,169,0,0,0,114,118,0,0,0,41,3,218,7,103, - 108,111,98,97,108,115,114,161,0,0,0,114,82,0,0,0, + 32,116,97,107,101,110,46,78,99,1,0,0,0,0,0,0, + 0,1,0,0,0,2,0,0,0,19,0,0,0,115,10,0, + 0,0,116,0,136,0,61,0,100,0,83,0,41,1,78,41, + 1,218,13,95,109,111,100,117,108,101,95,108,111,99,107,115, + 41,1,218,1,95,41,1,114,15,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,2,99,98,173,0,0,0,115,2, + 0,0,0,0,1,122,28,95,103,101,116,95,109,111,100,117, + 108,101,95,108,111,99,107,46,60,108,111,99,97,108,115,62, + 46,99,98,41,7,114,51,0,0,0,218,8,75,101,121,69, + 114,114,111,114,114,20,0,0,0,114,41,0,0,0,114,18, + 0,0,0,218,8,95,119,101,97,107,114,101,102,90,3,114, + 101,102,41,3,114,15,0,0,0,114,21,0,0,0,114,53, + 0,0,0,114,10,0,0,0,41,1,114,15,0,0,0,114, + 11,0,0,0,114,45,0,0,0,159,0,0,0,115,24,0, + 0,0,0,4,4,1,2,1,14,1,14,1,6,1,8,1, + 8,1,10,2,8,1,12,2,16,1,114,45,0,0,0,99, + 1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0, + 67,0,0,0,115,62,0,0,0,116,0,124,0,131,1,125, + 1,116,1,160,2,161,0,1,0,121,12,124,1,160,3,161, + 0,1,0,87,0,110,20,4,0,116,4,107,10,114,48,1, + 0,1,0,1,0,89,0,110,10,88,0,124,1,160,5,161, + 0,1,0,100,1,83,0,41,2,97,21,1,0,0,82,101, + 108,101,97,115,101,32,116,104,101,32,103,108,111,98,97,108, + 32,105,109,112,111,114,116,32,108,111,99,107,44,32,97,110, + 100,32,97,99,113,117,105,114,101,115,32,116,104,101,110,32, + 114,101,108,101,97,115,101,32,116,104,101,10,32,32,32,32, + 109,111,100,117,108,101,32,108,111,99,107,32,102,111,114,32, + 97,32,103,105,118,101,110,32,109,111,100,117,108,101,32,110, + 97,109,101,46,10,32,32,32,32,84,104,105,115,32,105,115, + 32,117,115,101,100,32,116,111,32,101,110,115,117,114,101,32, + 97,32,109,111,100,117,108,101,32,105,115,32,99,111,109,112, + 108,101,116,101,108,121,32,105,110,105,116,105,97,108,105,122, + 101,100,44,32,105,110,32,116,104,101,10,32,32,32,32,101, + 118,101,110,116,32,105,116,32,105,115,32,98,101,105,110,103, + 32,105,109,112,111,114,116,101,100,32,98,121,32,97,110,111, + 116,104,101,114,32,116,104,114,101,97,100,46,10,10,32,32, + 32,32,83,104,111,117,108,100,32,111,110,108,121,32,98,101, + 32,99,97,108,108,101,100,32,119,105,116,104,32,116,104,101, + 32,105,109,112,111,114,116,32,108,111,99,107,32,116,97,107, + 101,110,46,78,41,6,114,45,0,0,0,114,46,0,0,0, + 114,47,0,0,0,114,34,0,0,0,114,17,0,0,0,114, + 35,0,0,0,41,2,114,15,0,0,0,114,21,0,0,0, 114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,218, - 17,95,99,97,108,99,95,95,95,112,97,99,107,97,103,101, - 95,95,252,3,0,0,115,30,0,0,0,0,7,10,1,10, - 1,8,1,18,1,22,2,10,1,4,1,8,1,6,2,6, - 2,10,1,8,1,8,1,14,1,114,193,0,0,0,99,5, - 0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,67, - 0,0,0,115,166,0,0,0,124,4,100,1,107,2,114,18, - 116,0,124,0,131,1,125,5,110,36,124,1,100,2,107,9, - 114,30,124,1,110,2,105,0,125,6,116,1,124,6,131,1, - 125,7,116,0,124,0,124,7,124,4,131,3,125,5,124,3, - 115,150,124,4,100,1,107,2,114,84,116,0,124,0,160,2, - 100,3,161,1,100,1,25,0,131,1,83,0,124,0,115,92, - 124,5,83,0,116,3,124,0,131,1,116,3,124,0,160,2, - 100,3,161,1,100,1,25,0,131,1,24,0,125,8,116,4, - 106,5,124,5,106,6,100,2,116,3,124,5,106,6,131,1, - 124,8,24,0,133,2,25,0,25,0,83,0,110,12,116,7, - 124,5,124,3,116,0,131,3,83,0,100,2,83,0,41,4, - 97,215,1,0,0,73,109,112,111,114,116,32,97,32,109,111, - 100,117,108,101,46,10,10,32,32,32,32,84,104,101,32,39, - 103,108,111,98,97,108,115,39,32,97,114,103,117,109,101,110, - 116,32,105,115,32,117,115,101,100,32,116,111,32,105,110,102, - 101,114,32,119,104,101,114,101,32,116,104,101,32,105,109,112, - 111,114,116,32,105,115,32,111,99,99,117,114,114,105,110,103, - 32,102,114,111,109,10,32,32,32,32,116,111,32,104,97,110, - 100,108,101,32,114,101,108,97,116,105,118,101,32,105,109,112, - 111,114,116,115,46,32,84,104,101,32,39,108,111,99,97,108, - 115,39,32,97,114,103,117,109,101,110,116,32,105,115,32,105, - 103,110,111,114,101,100,46,32,84,104,101,10,32,32,32,32, - 39,102,114,111,109,108,105,115,116,39,32,97,114,103,117,109, - 101,110,116,32,115,112,101,99,105,102,105,101,115,32,119,104, - 97,116,32,115,104,111,117,108,100,32,101,120,105,115,116,32, - 97,115,32,97,116,116,114,105,98,117,116,101,115,32,111,110, - 32,116,104,101,32,109,111,100,117,108,101,10,32,32,32,32, - 98,101,105,110,103,32,105,109,112,111,114,116,101,100,32,40, - 101,46,103,46,32,96,96,102,114,111,109,32,109,111,100,117, - 108,101,32,105,109,112,111,114,116,32,60,102,114,111,109,108, - 105,115,116,62,96,96,41,46,32,32,84,104,101,32,39,108, - 101,118,101,108,39,10,32,32,32,32,97,114,103,117,109,101, - 110,116,32,114,101,112,114,101,115,101,110,116,115,32,116,104, - 101,32,112,97,99,107,97,103,101,32,108,111,99,97,116,105, - 111,110,32,116,111,32,105,109,112,111,114,116,32,102,114,111, - 109,32,105,110,32,97,32,114,101,108,97,116,105,118,101,10, - 32,32,32,32,105,109,112,111,114,116,32,40,101,46,103,46, - 32,96,96,102,114,111,109,32,46,46,112,107,103,32,105,109, - 112,111,114,116,32,109,111,100,96,96,32,119,111,117,108,100, - 32,104,97,118,101,32,97,32,39,108,101,118,101,108,39,32, - 111,102,32,50,41,46,10,10,32,32,32,32,114,19,0,0, - 0,78,114,117,0,0,0,41,8,114,182,0,0,0,114,193, - 0,0,0,218,9,112,97,114,116,105,116,105,111,110,114,159, - 0,0,0,114,14,0,0,0,114,79,0,0,0,114,1,0, - 0,0,114,189,0,0,0,41,9,114,15,0,0,0,114,192, - 0,0,0,218,6,108,111,99,97,108,115,114,187,0,0,0, - 114,162,0,0,0,114,83,0,0,0,90,8,103,108,111,98, - 97,108,115,95,114,161,0,0,0,90,7,99,117,116,95,111, - 102,102,114,10,0,0,0,114,10,0,0,0,114,11,0,0, - 0,218,10,95,95,105,109,112,111,114,116,95,95,23,4,0, - 0,115,26,0,0,0,0,11,8,1,10,2,16,1,8,1, - 12,1,4,3,8,1,18,1,4,1,4,4,26,3,32,2, - 114,196,0,0,0,99,1,0,0,0,0,0,0,0,2,0, - 0,0,3,0,0,0,67,0,0,0,115,38,0,0,0,116, - 0,160,1,124,0,161,1,125,1,124,1,100,0,107,8,114, - 30,116,2,100,1,124,0,23,0,131,1,130,1,116,3,124, - 1,131,1,83,0,41,2,78,122,25,110,111,32,98,117,105, - 108,116,45,105,110,32,109,111,100,117,108,101,32,110,97,109, - 101,100,32,41,4,114,142,0,0,0,114,146,0,0,0,114, - 70,0,0,0,114,141,0,0,0,41,2,114,15,0,0,0, - 114,82,0,0,0,114,10,0,0,0,114,10,0,0,0,114, - 11,0,0,0,218,18,95,98,117,105,108,116,105,110,95,102, - 114,111,109,95,110,97,109,101,58,4,0,0,115,8,0,0, - 0,0,1,10,1,8,1,12,1,114,197,0,0,0,99,2, - 0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,67, - 0,0,0,115,244,0,0,0,124,1,97,0,124,0,97,1, - 116,2,116,1,131,1,125,2,120,86,116,1,106,3,160,4, - 161,0,68,0,93,72,92,2,125,3,125,4,116,5,124,4, - 124,2,131,2,114,28,124,3,116,1,106,6,107,6,114,62, - 116,7,125,5,110,18,116,0,160,8,124,3,161,1,114,28, - 116,9,125,5,110,2,113,28,116,10,124,4,124,5,131,2, - 125,6,116,11,124,6,124,4,131,2,1,0,113,28,87,0, - 116,1,106,3,116,12,25,0,125,7,120,54,100,5,68,0, - 93,46,125,8,124,8,116,1,106,3,107,7,114,144,116,13, - 124,8,131,1,125,9,110,10,116,1,106,3,124,8,25,0, - 125,9,116,14,124,7,124,8,124,9,131,3,1,0,113,120, - 87,0,121,12,116,13,100,2,131,1,125,10,87,0,110,24, - 4,0,116,15,107,10,114,206,1,0,1,0,1,0,100,3, - 125,10,89,0,110,2,88,0,116,14,124,7,100,2,124,10, - 131,3,1,0,116,13,100,4,131,1,125,11,116,14,124,7, - 100,4,124,11,131,3,1,0,100,3,83,0,41,6,122,250, - 83,101,116,117,112,32,105,109,112,111,114,116,108,105,98,32, - 98,121,32,105,109,112,111,114,116,105,110,103,32,110,101,101, - 100,101,100,32,98,117,105,108,116,45,105,110,32,109,111,100, - 117,108,101,115,32,97,110,100,32,105,110,106,101,99,116,105, - 110,103,32,116,104,101,109,10,32,32,32,32,105,110,116,111, - 32,116,104,101,32,103,108,111,98,97,108,32,110,97,109,101, - 115,112,97,99,101,46,10,10,32,32,32,32,65,115,32,115, - 121,115,32,105,115,32,110,101,101,100,101,100,32,102,111,114, - 32,115,121,115,46,109,111,100,117,108,101,115,32,97,99,99, - 101,115,115,32,97,110,100,32,95,105,109,112,32,105,115,32, - 110,101,101,100,101,100,32,116,111,32,108,111,97,100,32,98, - 117,105,108,116,45,105,110,10,32,32,32,32,109,111,100,117, - 108,101,115,44,32,116,104,111,115,101,32,116,119,111,32,109, - 111,100,117,108,101,115,32,109,117,115,116,32,98,101,32,101, - 120,112,108,105,99,105,116,108,121,32,112,97,115,115,101,100, - 32,105,110,46,10,10,32,32,32,32,114,167,0,0,0,114, - 20,0,0,0,78,114,55,0,0,0,41,1,114,167,0,0, - 0,41,16,114,46,0,0,0,114,14,0,0,0,114,13,0, - 0,0,114,79,0,0,0,218,5,105,116,101,109,115,114,171, - 0,0,0,114,69,0,0,0,114,142,0,0,0,114,75,0, - 0,0,114,152,0,0,0,114,128,0,0,0,114,133,0,0, - 0,114,1,0,0,0,114,197,0,0,0,114,5,0,0,0, - 114,70,0,0,0,41,12,218,10,115,121,115,95,109,111,100, - 117,108,101,218,11,95,105,109,112,95,109,111,100,117,108,101, - 90,11,109,111,100,117,108,101,95,116,121,112,101,114,15,0, - 0,0,114,83,0,0,0,114,93,0,0,0,114,82,0,0, - 0,90,11,115,101,108,102,95,109,111,100,117,108,101,90,12, - 98,117,105,108,116,105,110,95,110,97,109,101,90,14,98,117, - 105,108,116,105,110,95,109,111,100,117,108,101,90,13,116,104, - 114,101,97,100,95,109,111,100,117,108,101,90,14,119,101,97, - 107,114,101,102,95,109,111,100,117,108,101,114,10,0,0,0, - 114,10,0,0,0,114,11,0,0,0,218,6,95,115,101,116, - 117,112,65,4,0,0,115,50,0,0,0,0,9,4,1,4, - 3,8,1,20,1,10,1,10,1,6,1,10,1,6,2,2, - 1,10,1,14,3,10,1,10,1,10,1,10,2,10,1,16, - 3,2,1,12,1,14,2,10,1,12,3,8,1,114,201,0, - 0,0,99,2,0,0,0,0,0,0,0,3,0,0,0,4, - 0,0,0,67,0,0,0,115,66,0,0,0,116,0,124,0, - 124,1,131,2,1,0,116,1,106,2,160,3,116,4,161,1, - 1,0,116,1,106,2,160,3,116,5,161,1,1,0,100,1, - 100,2,108,6,125,2,124,2,97,7,124,2,160,8,116,1, - 106,9,116,10,25,0,161,1,1,0,100,2,83,0,41,3, - 122,50,73,110,115,116,97,108,108,32,105,109,112,111,114,116, - 108,105,98,32,97,115,32,116,104,101,32,105,109,112,108,101, - 109,101,110,116,97,116,105,111,110,32,111,102,32,105,109,112, - 111,114,116,46,114,19,0,0,0,78,41,11,114,201,0,0, - 0,114,14,0,0,0,114,166,0,0,0,114,109,0,0,0, - 114,142,0,0,0,114,152,0,0,0,218,26,95,102,114,111, - 122,101,110,95,105,109,112,111,114,116,108,105,98,95,101,120, - 116,101,114,110,97,108,114,115,0,0,0,218,8,95,105,110, - 115,116,97,108,108,114,79,0,0,0,114,1,0,0,0,41, - 3,114,199,0,0,0,114,200,0,0,0,114,202,0,0,0, + 19,95,108,111,99,107,95,117,110,108,111,99,107,95,109,111, + 100,117,108,101,178,0,0,0,115,14,0,0,0,0,7,8, + 1,8,1,2,1,12,1,14,3,6,2,114,56,0,0,0, + 99,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0, + 0,79,0,0,0,115,10,0,0,0,124,0,124,1,124,2, + 142,1,83,0,41,1,97,46,1,0,0,114,101,109,111,118, + 101,95,105,109,112,111,114,116,108,105,98,95,102,114,97,109, + 101,115,32,105,110,32,105,109,112,111,114,116,46,99,32,119, + 105,108,108,32,97,108,119,97,121,115,32,114,101,109,111,118, + 101,32,115,101,113,117,101,110,99,101,115,10,32,32,32,32, + 111,102,32,105,109,112,111,114,116,108,105,98,32,102,114,97, + 109,101,115,32,116,104,97,116,32,101,110,100,32,119,105,116, + 104,32,97,32,99,97,108,108,32,116,111,32,116,104,105,115, + 32,102,117,110,99,116,105,111,110,10,10,32,32,32,32,85, + 115,101,32,105,116,32,105,110,115,116,101,97,100,32,111,102, + 32,97,32,110,111,114,109,97,108,32,99,97,108,108,32,105, + 110,32,112,108,97,99,101,115,32,119,104,101,114,101,32,105, + 110,99,108,117,100,105,110,103,32,116,104,101,32,105,109,112, + 111,114,116,108,105,98,10,32,32,32,32,102,114,97,109,101, + 115,32,105,110,116,114,111,100,117,99,101,115,32,117,110,119, + 97,110,116,101,100,32,110,111,105,115,101,32,105,110,116,111, + 32,116,104,101,32,116,114,97,99,101,98,97,99,107,32,40, + 101,46,103,46,32,119,104,101,110,32,101,120,101,99,117,116, + 105,110,103,10,32,32,32,32,109,111,100,117,108,101,32,99, + 111,100,101,41,10,32,32,32,32,114,10,0,0,0,41,3, + 218,1,102,114,49,0,0,0,90,4,107,119,100,115,114,10, + 0,0,0,114,10,0,0,0,114,11,0,0,0,218,25,95, + 99,97,108,108,95,119,105,116,104,95,102,114,97,109,101,115, + 95,114,101,109,111,118,101,100,197,0,0,0,115,2,0,0, + 0,0,8,114,58,0,0,0,114,33,0,0,0,41,1,218, + 9,118,101,114,98,111,115,105,116,121,99,1,0,0,0,1, + 0,0,0,3,0,0,0,4,0,0,0,71,0,0,0,115, + 54,0,0,0,116,0,106,1,106,2,124,1,107,5,114,50, + 124,0,160,3,100,6,161,1,115,30,100,3,124,0,23,0, + 125,0,116,4,124,0,106,5,124,2,142,0,116,0,106,6, + 100,4,141,2,1,0,100,5,83,0,41,7,122,61,80,114, + 105,110,116,32,116,104,101,32,109,101,115,115,97,103,101,32, + 116,111,32,115,116,100,101,114,114,32,105,102,32,45,118,47, + 80,89,84,72,79,78,86,69,82,66,79,83,69,32,105,115, + 32,116,117,114,110,101,100,32,111,110,46,250,1,35,250,7, + 105,109,112,111,114,116,32,122,2,35,32,41,1,90,4,102, + 105,108,101,78,41,2,114,60,0,0,0,114,61,0,0,0, + 41,7,114,14,0,0,0,218,5,102,108,97,103,115,218,7, + 118,101,114,98,111,115,101,218,10,115,116,97,114,116,115,119, + 105,116,104,218,5,112,114,105,110,116,114,38,0,0,0,218, + 6,115,116,100,101,114,114,41,3,218,7,109,101,115,115,97, + 103,101,114,59,0,0,0,114,49,0,0,0,114,10,0,0, + 0,114,10,0,0,0,114,11,0,0,0,218,16,95,118,101, + 114,98,111,115,101,95,109,101,115,115,97,103,101,208,0,0, + 0,115,8,0,0,0,0,2,12,1,10,1,8,1,114,68, + 0,0,0,99,1,0,0,0,0,0,0,0,2,0,0,0, + 3,0,0,0,3,0,0,0,115,26,0,0,0,135,0,102, + 1,100,1,100,2,132,8,125,1,116,0,124,1,136,0,131, + 2,1,0,124,1,83,0,41,3,122,49,68,101,99,111,114, + 97,116,111,114,32,116,111,32,118,101,114,105,102,121,32,116, + 104,101,32,110,97,109,101,100,32,109,111,100,117,108,101,32, + 105,115,32,98,117,105,108,116,45,105,110,46,99,2,0,0, + 0,0,0,0,0,2,0,0,0,4,0,0,0,19,0,0, + 0,115,38,0,0,0,124,1,116,0,106,1,107,7,114,28, + 116,2,100,1,160,3,124,1,161,1,124,1,100,2,141,2, + 130,1,136,0,124,0,124,1,131,2,83,0,41,3,78,122, + 29,123,33,114,125,32,105,115,32,110,111,116,32,97,32,98, + 117,105,108,116,45,105,110,32,109,111,100,117,108,101,41,1, + 114,15,0,0,0,41,4,114,14,0,0,0,218,20,98,117, + 105,108,116,105,110,95,109,111,100,117,108,101,95,110,97,109, + 101,115,218,11,73,109,112,111,114,116,69,114,114,111,114,114, + 38,0,0,0,41,2,114,26,0,0,0,218,8,102,117,108, + 108,110,97,109,101,41,1,218,3,102,120,110,114,10,0,0, + 0,114,11,0,0,0,218,25,95,114,101,113,117,105,114,101, + 115,95,98,117,105,108,116,105,110,95,119,114,97,112,112,101, + 114,218,0,0,0,115,8,0,0,0,0,1,10,1,10,1, + 8,1,122,52,95,114,101,113,117,105,114,101,115,95,98,117, + 105,108,116,105,110,46,60,108,111,99,97,108,115,62,46,95, + 114,101,113,117,105,114,101,115,95,98,117,105,108,116,105,110, + 95,119,114,97,112,112,101,114,41,1,114,12,0,0,0,41, + 2,114,72,0,0,0,114,73,0,0,0,114,10,0,0,0, + 41,1,114,72,0,0,0,114,11,0,0,0,218,17,95,114, + 101,113,117,105,114,101,115,95,98,117,105,108,116,105,110,216, + 0,0,0,115,6,0,0,0,0,2,12,5,10,1,114,74, + 0,0,0,99,1,0,0,0,0,0,0,0,2,0,0,0, + 3,0,0,0,3,0,0,0,115,26,0,0,0,135,0,102, + 1,100,1,100,2,132,8,125,1,116,0,124,1,136,0,131, + 2,1,0,124,1,83,0,41,3,122,47,68,101,99,111,114, + 97,116,111,114,32,116,111,32,118,101,114,105,102,121,32,116, + 104,101,32,110,97,109,101,100,32,109,111,100,117,108,101,32, + 105,115,32,102,114,111,122,101,110,46,99,2,0,0,0,0, + 0,0,0,2,0,0,0,4,0,0,0,19,0,0,0,115, + 38,0,0,0,116,0,160,1,124,1,161,1,115,28,116,2, + 100,1,160,3,124,1,161,1,124,1,100,2,141,2,130,1, + 136,0,124,0,124,1,131,2,83,0,41,3,78,122,27,123, + 33,114,125,32,105,115,32,110,111,116,32,97,32,102,114,111, + 122,101,110,32,109,111,100,117,108,101,41,1,114,15,0,0, + 0,41,4,114,46,0,0,0,218,9,105,115,95,102,114,111, + 122,101,110,114,70,0,0,0,114,38,0,0,0,41,2,114, + 26,0,0,0,114,71,0,0,0,41,1,114,72,0,0,0, + 114,10,0,0,0,114,11,0,0,0,218,24,95,114,101,113, + 117,105,114,101,115,95,102,114,111,122,101,110,95,119,114,97, + 112,112,101,114,229,0,0,0,115,8,0,0,0,0,1,10, + 1,10,1,8,1,122,50,95,114,101,113,117,105,114,101,115, + 95,102,114,111,122,101,110,46,60,108,111,99,97,108,115,62, + 46,95,114,101,113,117,105,114,101,115,95,102,114,111,122,101, + 110,95,119,114,97,112,112,101,114,41,1,114,12,0,0,0, + 41,2,114,72,0,0,0,114,76,0,0,0,114,10,0,0, + 0,41,1,114,72,0,0,0,114,11,0,0,0,218,16,95, + 114,101,113,117,105,114,101,115,95,102,114,111,122,101,110,227, + 0,0,0,115,6,0,0,0,0,2,12,5,10,1,114,77, + 0,0,0,99,2,0,0,0,0,0,0,0,4,0,0,0, + 3,0,0,0,67,0,0,0,115,62,0,0,0,116,0,124, + 1,124,0,131,2,125,2,124,1,116,1,106,2,107,6,114, + 50,116,1,106,2,124,1,25,0,125,3,116,3,124,2,124, + 3,131,2,1,0,116,1,106,2,124,1,25,0,83,0,116, + 4,124,2,131,1,83,0,100,1,83,0,41,2,122,128,76, + 111,97,100,32,116,104,101,32,115,112,101,99,105,102,105,101, + 100,32,109,111,100,117,108,101,32,105,110,116,111,32,115,121, + 115,46,109,111,100,117,108,101,115,32,97,110,100,32,114,101, + 116,117,114,110,32,105,116,46,10,10,32,32,32,32,84,104, + 105,115,32,109,101,116,104,111,100,32,105,115,32,100,101,112, + 114,101,99,97,116,101,100,46,32,32,85,115,101,32,108,111, + 97,100,101,114,46,101,120,101,99,95,109,111,100,117,108,101, + 32,105,110,115,116,101,97,100,46,10,10,32,32,32,32,78, + 41,5,218,16,115,112,101,99,95,102,114,111,109,95,108,111, + 97,100,101,114,114,14,0,0,0,218,7,109,111,100,117,108, + 101,115,218,5,95,101,120,101,99,218,5,95,108,111,97,100, + 41,4,114,26,0,0,0,114,71,0,0,0,218,4,115,112, + 101,99,218,6,109,111,100,117,108,101,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,218,17,95,108,111,97,100, + 95,109,111,100,117,108,101,95,115,104,105,109,239,0,0,0, + 115,12,0,0,0,0,6,10,1,10,1,10,1,10,1,10, + 2,114,84,0,0,0,99,1,0,0,0,0,0,0,0,5, + 0,0,0,36,0,0,0,67,0,0,0,115,216,0,0,0, + 116,0,124,0,100,1,100,0,131,3,125,1,116,1,124,1, + 100,2,131,2,114,54,121,10,124,1,160,2,124,0,161,1, + 83,0,4,0,116,3,107,10,114,52,1,0,1,0,1,0, + 89,0,110,2,88,0,121,10,124,0,106,4,125,2,87,0, + 110,20,4,0,116,5,107,10,114,84,1,0,1,0,1,0, + 89,0,110,18,88,0,124,2,100,0,107,9,114,102,116,6, + 124,2,131,1,83,0,121,10,124,0,106,7,125,3,87,0, + 110,24,4,0,116,5,107,10,114,136,1,0,1,0,1,0, + 100,3,125,3,89,0,110,2,88,0,121,10,124,0,106,8, + 125,4,87,0,110,50,4,0,116,5,107,10,114,198,1,0, + 1,0,1,0,124,1,100,0,107,8,114,182,100,4,160,9, + 124,3,161,1,83,0,100,5,160,9,124,3,124,1,161,2, + 83,0,89,0,110,14,88,0,100,6,160,9,124,3,124,4, + 161,2,83,0,100,0,83,0,41,7,78,218,10,95,95,108, + 111,97,100,101,114,95,95,218,11,109,111,100,117,108,101,95, + 114,101,112,114,250,1,63,122,13,60,109,111,100,117,108,101, + 32,123,33,114,125,62,122,20,60,109,111,100,117,108,101,32, + 123,33,114,125,32,40,123,33,114,125,41,62,122,23,60,109, + 111,100,117,108,101,32,123,33,114,125,32,102,114,111,109,32, + 123,33,114,125,62,41,10,114,6,0,0,0,114,4,0,0, + 0,114,86,0,0,0,218,9,69,120,99,101,112,116,105,111, + 110,218,8,95,95,115,112,101,99,95,95,218,14,65,116,116, + 114,105,98,117,116,101,69,114,114,111,114,218,22,95,109,111, + 100,117,108,101,95,114,101,112,114,95,102,114,111,109,95,115, + 112,101,99,114,1,0,0,0,218,8,95,95,102,105,108,101, + 95,95,114,38,0,0,0,41,5,114,83,0,0,0,218,6, + 108,111,97,100,101,114,114,82,0,0,0,114,15,0,0,0, + 218,8,102,105,108,101,110,97,109,101,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,218,12,95,109,111,100,117, + 108,101,95,114,101,112,114,255,0,0,0,115,46,0,0,0, + 0,2,12,1,10,4,2,1,10,1,14,1,6,1,2,1, + 10,1,14,1,6,2,8,1,8,4,2,1,10,1,14,1, + 10,1,2,1,10,1,14,1,8,1,10,2,18,2,114,95, + 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,64,0,0,0,115,36,0,0,0,101,0,90, + 1,100,0,90,2,100,1,100,2,132,0,90,3,100,3,100, + 4,132,0,90,4,100,5,100,6,132,0,90,5,100,7,83, + 0,41,8,218,17,95,105,110,115,116,97,108,108,101,100,95, + 115,97,102,101,108,121,99,2,0,0,0,0,0,0,0,2, + 0,0,0,2,0,0,0,67,0,0,0,115,18,0,0,0, + 124,1,124,0,95,0,124,1,106,1,124,0,95,2,100,0, + 83,0,41,1,78,41,3,218,7,95,109,111,100,117,108,101, + 114,89,0,0,0,218,5,95,115,112,101,99,41,2,114,26, + 0,0,0,114,83,0,0,0,114,10,0,0,0,114,10,0, + 0,0,114,11,0,0,0,114,27,0,0,0,37,1,0,0, + 115,4,0,0,0,0,1,6,1,122,26,95,105,110,115,116, + 97,108,108,101,100,95,115,97,102,101,108,121,46,95,95,105, + 110,105,116,95,95,99,1,0,0,0,0,0,0,0,1,0, + 0,0,3,0,0,0,67,0,0,0,115,28,0,0,0,100, + 1,124,0,106,0,95,1,124,0,106,2,116,3,106,4,124, + 0,106,0,106,5,60,0,100,0,83,0,41,2,78,84,41, + 6,114,98,0,0,0,218,13,95,105,110,105,116,105,97,108, + 105,122,105,110,103,114,97,0,0,0,114,14,0,0,0,114, + 79,0,0,0,114,15,0,0,0,41,1,114,26,0,0,0, 114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,114, - 203,0,0,0,112,4,0,0,115,12,0,0,0,0,2,10, - 2,12,1,12,3,8,1,4,1,114,203,0,0,0,41,2, - 78,78,41,1,78,41,2,78,114,19,0,0,0,41,50,114, - 3,0,0,0,114,115,0,0,0,114,12,0,0,0,114,16, - 0,0,0,114,51,0,0,0,114,29,0,0,0,114,36,0, - 0,0,114,17,0,0,0,114,18,0,0,0,114,41,0,0, - 0,114,42,0,0,0,114,45,0,0,0,114,56,0,0,0, - 114,58,0,0,0,114,68,0,0,0,114,74,0,0,0,114, - 77,0,0,0,114,84,0,0,0,114,95,0,0,0,114,96, - 0,0,0,114,102,0,0,0,114,78,0,0,0,218,6,111, - 98,106,101,99,116,90,9,95,80,79,80,85,76,65,84,69, - 114,128,0,0,0,114,133,0,0,0,114,136,0,0,0,114, - 91,0,0,0,114,80,0,0,0,114,140,0,0,0,114,141, - 0,0,0,114,81,0,0,0,114,142,0,0,0,114,152,0, - 0,0,114,157,0,0,0,114,163,0,0,0,114,165,0,0, - 0,114,170,0,0,0,114,175,0,0,0,90,15,95,69,82, - 82,95,77,83,71,95,80,82,69,70,73,88,114,177,0,0, - 0,114,180,0,0,0,114,181,0,0,0,114,182,0,0,0, - 114,189,0,0,0,114,193,0,0,0,114,196,0,0,0,114, - 197,0,0,0,114,201,0,0,0,114,203,0,0,0,114,10, + 48,0,0,0,41,1,0,0,115,4,0,0,0,0,4,8, + 1,122,27,95,105,110,115,116,97,108,108,101,100,95,115,97, + 102,101,108,121,46,95,95,101,110,116,101,114,95,95,99,1, + 0,0,0,0,0,0,0,3,0,0,0,17,0,0,0,71, + 0,0,0,115,98,0,0,0,122,82,124,0,106,0,125,2, + 116,1,100,1,100,2,132,0,124,1,68,0,131,1,131,1, + 114,64,121,14,116,2,106,3,124,2,106,4,61,0,87,0, + 113,80,4,0,116,5,107,10,114,60,1,0,1,0,1,0, + 89,0,113,80,88,0,110,16,116,6,100,3,124,2,106,4, + 124,2,106,7,131,3,1,0,87,0,100,0,100,4,124,0, + 106,0,95,8,88,0,100,0,83,0,41,5,78,99,1,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,115,0, + 0,0,115,22,0,0,0,124,0,93,14,125,1,124,1,100, + 0,107,9,86,0,1,0,113,2,100,0,83,0,41,1,78, + 114,10,0,0,0,41,2,90,2,46,48,90,3,97,114,103, + 114,10,0,0,0,114,10,0,0,0,114,11,0,0,0,250, + 9,60,103,101,110,101,120,112,114,62,51,1,0,0,115,2, + 0,0,0,4,0,122,45,95,105,110,115,116,97,108,108,101, + 100,95,115,97,102,101,108,121,46,95,95,101,120,105,116,95, + 95,46,60,108,111,99,97,108,115,62,46,60,103,101,110,101, + 120,112,114,62,122,18,105,109,112,111,114,116,32,123,33,114, + 125,32,35,32,123,33,114,125,70,41,9,114,98,0,0,0, + 218,3,97,110,121,114,14,0,0,0,114,79,0,0,0,114, + 15,0,0,0,114,54,0,0,0,114,68,0,0,0,114,93, + 0,0,0,114,99,0,0,0,41,3,114,26,0,0,0,114, + 49,0,0,0,114,82,0,0,0,114,10,0,0,0,114,10, + 0,0,0,114,11,0,0,0,114,50,0,0,0,48,1,0, + 0,115,18,0,0,0,0,1,2,1,6,1,18,1,2,1, + 14,1,14,1,8,2,20,2,122,26,95,105,110,115,116,97, + 108,108,101,100,95,115,97,102,101,108,121,46,95,95,101,120, + 105,116,95,95,78,41,6,114,1,0,0,0,114,0,0,0, + 0,114,2,0,0,0,114,27,0,0,0,114,48,0,0,0, + 114,50,0,0,0,114,10,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,96,0,0,0,35,1, + 0,0,115,6,0,0,0,8,2,8,4,8,7,114,96,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,64,0,0,0,115,114,0,0,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,2,100,2,100,2,100,3, + 156,3,100,4,100,5,132,2,90,4,100,6,100,7,132,0, + 90,5,100,8,100,9,132,0,90,6,101,7,100,10,100,11, + 132,0,131,1,90,8,101,8,106,9,100,12,100,11,132,0, + 131,1,90,8,101,7,100,13,100,14,132,0,131,1,90,10, + 101,7,100,15,100,16,132,0,131,1,90,11,101,11,106,9, + 100,17,100,16,132,0,131,1,90,11,100,2,83,0,41,18, + 218,10,77,111,100,117,108,101,83,112,101,99,97,208,5,0, + 0,84,104,101,32,115,112,101,99,105,102,105,99,97,116,105, + 111,110,32,102,111,114,32,97,32,109,111,100,117,108,101,44, + 32,117,115,101,100,32,102,111,114,32,108,111,97,100,105,110, + 103,46,10,10,32,32,32,32,65,32,109,111,100,117,108,101, + 39,115,32,115,112,101,99,32,105,115,32,116,104,101,32,115, + 111,117,114,99,101,32,102,111,114,32,105,110,102,111,114,109, + 97,116,105,111,110,32,97,98,111,117,116,32,116,104,101,32, + 109,111,100,117,108,101,46,32,32,70,111,114,10,32,32,32, + 32,100,97,116,97,32,97,115,115,111,99,105,97,116,101,100, + 32,119,105,116,104,32,116,104,101,32,109,111,100,117,108,101, + 44,32,105,110,99,108,117,100,105,110,103,32,115,111,117,114, + 99,101,44,32,117,115,101,32,116,104,101,32,115,112,101,99, + 39,115,10,32,32,32,32,108,111,97,100,101,114,46,10,10, + 32,32,32,32,96,110,97,109,101,96,32,105,115,32,116,104, + 101,32,97,98,115,111,108,117,116,101,32,110,97,109,101,32, + 111,102,32,116,104,101,32,109,111,100,117,108,101,46,32,32, + 96,108,111,97,100,101,114,96,32,105,115,32,116,104,101,32, + 108,111,97,100,101,114,10,32,32,32,32,116,111,32,117,115, + 101,32,119,104,101,110,32,108,111,97,100,105,110,103,32,116, + 104,101,32,109,111,100,117,108,101,46,32,32,96,112,97,114, + 101,110,116,96,32,105,115,32,116,104,101,32,110,97,109,101, + 32,111,102,32,116,104,101,10,32,32,32,32,112,97,99,107, + 97,103,101,32,116,104,101,32,109,111,100,117,108,101,32,105, + 115,32,105,110,46,32,32,84,104,101,32,112,97,114,101,110, + 116,32,105,115,32,100,101,114,105,118,101,100,32,102,114,111, + 109,32,116,104,101,32,110,97,109,101,46,10,10,32,32,32, + 32,96,105,115,95,112,97,99,107,97,103,101,96,32,100,101, + 116,101,114,109,105,110,101,115,32,105,102,32,116,104,101,32, + 109,111,100,117,108,101,32,105,115,32,99,111,110,115,105,100, + 101,114,101,100,32,97,32,112,97,99,107,97,103,101,32,111, + 114,10,32,32,32,32,110,111,116,46,32,32,79,110,32,109, + 111,100,117,108,101,115,32,116,104,105,115,32,105,115,32,114, + 101,102,108,101,99,116,101,100,32,98,121,32,116,104,101,32, + 96,95,95,112,97,116,104,95,95,96,32,97,116,116,114,105, + 98,117,116,101,46,10,10,32,32,32,32,96,111,114,105,103, + 105,110,96,32,105,115,32,116,104,101,32,115,112,101,99,105, + 102,105,99,32,108,111,99,97,116,105,111,110,32,117,115,101, + 100,32,98,121,32,116,104,101,32,108,111,97,100,101,114,32, + 102,114,111,109,32,119,104,105,99,104,32,116,111,10,32,32, + 32,32,108,111,97,100,32,116,104,101,32,109,111,100,117,108, + 101,44,32,105,102,32,116,104,97,116,32,105,110,102,111,114, + 109,97,116,105,111,110,32,105,115,32,97,118,97,105,108,97, + 98,108,101,46,32,32,87,104,101,110,32,102,105,108,101,110, + 97,109,101,32,105,115,10,32,32,32,32,115,101,116,44,32, + 111,114,105,103,105,110,32,119,105,108,108,32,109,97,116,99, + 104,46,10,10,32,32,32,32,96,104,97,115,95,108,111,99, + 97,116,105,111,110,96,32,105,110,100,105,99,97,116,101,115, + 32,116,104,97,116,32,97,32,115,112,101,99,39,115,32,34, + 111,114,105,103,105,110,34,32,114,101,102,108,101,99,116,115, + 32,97,32,108,111,99,97,116,105,111,110,46,10,32,32,32, + 32,87,104,101,110,32,116,104,105,115,32,105,115,32,84,114, + 117,101,44,32,96,95,95,102,105,108,101,95,95,96,32,97, + 116,116,114,105,98,117,116,101,32,111,102,32,116,104,101,32, + 109,111,100,117,108,101,32,105,115,32,115,101,116,46,10,10, + 32,32,32,32,96,99,97,99,104,101,100,96,32,105,115,32, + 116,104,101,32,108,111,99,97,116,105,111,110,32,111,102,32, + 116,104,101,32,99,97,99,104,101,100,32,98,121,116,101,99, + 111,100,101,32,102,105,108,101,44,32,105,102,32,97,110,121, + 46,32,32,73,116,10,32,32,32,32,99,111,114,114,101,115, + 112,111,110,100,115,32,116,111,32,116,104,101,32,96,95,95, + 99,97,99,104,101,100,95,95,96,32,97,116,116,114,105,98, + 117,116,101,46,10,10,32,32,32,32,96,115,117,98,109,111, + 100,117,108,101,95,115,101,97,114,99,104,95,108,111,99,97, + 116,105,111,110,115,96,32,105,115,32,116,104,101,32,115,101, + 113,117,101,110,99,101,32,111,102,32,112,97,116,104,32,101, + 110,116,114,105,101,115,32,116,111,10,32,32,32,32,115,101, + 97,114,99,104,32,119,104,101,110,32,105,109,112,111,114,116, + 105,110,103,32,115,117,98,109,111,100,117,108,101,115,46,32, + 32,73,102,32,115,101,116,44,32,105,115,95,112,97,99,107, + 97,103,101,32,115,104,111,117,108,100,32,98,101,10,32,32, + 32,32,84,114,117,101,45,45,97,110,100,32,70,97,108,115, + 101,32,111,116,104,101,114,119,105,115,101,46,10,10,32,32, + 32,32,80,97,99,107,97,103,101,115,32,97,114,101,32,115, + 105,109,112,108,121,32,109,111,100,117,108,101,115,32,116,104, + 97,116,32,40,109,97,121,41,32,104,97,118,101,32,115,117, + 98,109,111,100,117,108,101,115,46,32,32,73,102,32,97,32, + 115,112,101,99,10,32,32,32,32,104,97,115,32,97,32,110, + 111,110,45,78,111,110,101,32,118,97,108,117,101,32,105,110, + 32,96,115,117,98,109,111,100,117,108,101,95,115,101,97,114, + 99,104,95,108,111,99,97,116,105,111,110,115,96,44,32,116, + 104,101,32,105,109,112,111,114,116,10,32,32,32,32,115,121, + 115,116,101,109,32,119,105,108,108,32,99,111,110,115,105,100, + 101,114,32,109,111,100,117,108,101,115,32,108,111,97,100,101, + 100,32,102,114,111,109,32,116,104,101,32,115,112,101,99,32, + 97,115,32,112,97,99,107,97,103,101,115,46,10,10,32,32, + 32,32,79,110,108,121,32,102,105,110,100,101,114,115,32,40, + 115,101,101,32,105,109,112,111,114,116,108,105,98,46,97,98, + 99,46,77,101,116,97,80,97,116,104,70,105,110,100,101,114, + 32,97,110,100,10,32,32,32,32,105,109,112,111,114,116,108, + 105,98,46,97,98,99,46,80,97,116,104,69,110,116,114,121, + 70,105,110,100,101,114,41,32,115,104,111,117,108,100,32,109, + 111,100,105,102,121,32,77,111,100,117,108,101,83,112,101,99, + 32,105,110,115,116,97,110,99,101,115,46,10,10,32,32,32, + 32,78,41,3,218,6,111,114,105,103,105,110,218,12,108,111, + 97,100,101,114,95,115,116,97,116,101,218,10,105,115,95,112, + 97,99,107,97,103,101,99,3,0,0,0,3,0,0,0,6, + 0,0,0,2,0,0,0,67,0,0,0,115,54,0,0,0, + 124,1,124,0,95,0,124,2,124,0,95,1,124,3,124,0, + 95,2,124,4,124,0,95,3,124,5,114,32,103,0,110,2, + 100,0,124,0,95,4,100,1,124,0,95,5,100,0,124,0, + 95,6,100,0,83,0,41,2,78,70,41,7,114,15,0,0, + 0,114,93,0,0,0,114,103,0,0,0,114,104,0,0,0, + 218,26,115,117,98,109,111,100,117,108,101,95,115,101,97,114, + 99,104,95,108,111,99,97,116,105,111,110,115,218,13,95,115, + 101,116,95,102,105,108,101,97,116,116,114,218,7,95,99,97, + 99,104,101,100,41,6,114,26,0,0,0,114,15,0,0,0, + 114,93,0,0,0,114,103,0,0,0,114,104,0,0,0,114, + 105,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,27,0,0,0,99,1,0,0,115,14,0,0, + 0,0,2,6,1,6,1,6,1,6,1,14,3,6,1,122, + 19,77,111,100,117,108,101,83,112,101,99,46,95,95,105,110, + 105,116,95,95,99,1,0,0,0,0,0,0,0,2,0,0, + 0,6,0,0,0,67,0,0,0,115,102,0,0,0,100,1, + 160,0,124,0,106,1,161,1,100,2,160,0,124,0,106,2, + 161,1,103,2,125,1,124,0,106,3,100,0,107,9,114,52, + 124,1,160,4,100,3,160,0,124,0,106,3,161,1,161,1, + 1,0,124,0,106,5,100,0,107,9,114,80,124,1,160,4, + 100,4,160,0,124,0,106,5,161,1,161,1,1,0,100,5, + 160,0,124,0,106,6,106,7,100,6,160,8,124,1,161,1, + 161,2,83,0,41,7,78,122,9,110,97,109,101,61,123,33, + 114,125,122,11,108,111,97,100,101,114,61,123,33,114,125,122, + 11,111,114,105,103,105,110,61,123,33,114,125,122,29,115,117, + 98,109,111,100,117,108,101,95,115,101,97,114,99,104,95,108, + 111,99,97,116,105,111,110,115,61,123,125,122,6,123,125,40, + 123,125,41,122,2,44,32,41,9,114,38,0,0,0,114,15, + 0,0,0,114,93,0,0,0,114,103,0,0,0,218,6,97, + 112,112,101,110,100,114,106,0,0,0,218,9,95,95,99,108, + 97,115,115,95,95,114,1,0,0,0,218,4,106,111,105,110, + 41,2,114,26,0,0,0,114,49,0,0,0,114,10,0,0, + 0,114,10,0,0,0,114,11,0,0,0,114,40,0,0,0, + 111,1,0,0,115,16,0,0,0,0,1,10,1,14,1,10, + 1,18,1,10,1,8,1,10,1,122,19,77,111,100,117,108, + 101,83,112,101,99,46,95,95,114,101,112,114,95,95,99,2, + 0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,67, + 0,0,0,115,102,0,0,0,124,0,106,0,125,2,121,70, + 124,0,106,1,124,1,106,1,107,2,111,76,124,0,106,2, + 124,1,106,2,107,2,111,76,124,0,106,3,124,1,106,3, + 107,2,111,76,124,2,124,1,106,0,107,2,111,76,124,0, + 106,4,124,1,106,4,107,2,111,76,124,0,106,5,124,1, + 106,5,107,2,83,0,4,0,116,6,107,10,114,96,1,0, + 1,0,1,0,100,1,83,0,88,0,100,0,83,0,41,2, + 78,70,41,7,114,106,0,0,0,114,15,0,0,0,114,93, + 0,0,0,114,103,0,0,0,218,6,99,97,99,104,101,100, + 218,12,104,97,115,95,108,111,99,97,116,105,111,110,114,90, + 0,0,0,41,3,114,26,0,0,0,90,5,111,116,104,101, + 114,90,4,115,109,115,108,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,6,95,95,101,113,95,95,121,1, + 0,0,115,20,0,0,0,0,1,6,1,2,1,12,1,12, + 1,12,1,10,1,12,1,12,1,14,1,122,17,77,111,100, + 117,108,101,83,112,101,99,46,95,95,101,113,95,95,99,1, + 0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,67, + 0,0,0,115,58,0,0,0,124,0,106,0,100,0,107,8, + 114,52,124,0,106,1,100,0,107,9,114,52,124,0,106,2, + 114,52,116,3,100,0,107,8,114,38,116,4,130,1,116,3, + 160,5,124,0,106,1,161,1,124,0,95,0,124,0,106,0, + 83,0,41,1,78,41,6,114,108,0,0,0,114,103,0,0, + 0,114,107,0,0,0,218,19,95,98,111,111,116,115,116,114, + 97,112,95,101,120,116,101,114,110,97,108,218,19,78,111,116, + 73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114, + 90,11,95,103,101,116,95,99,97,99,104,101,100,41,1,114, + 26,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,112,0,0,0,133,1,0,0,115,12,0,0, + 0,0,2,10,1,16,1,8,1,4,1,14,1,122,17,77, + 111,100,117,108,101,83,112,101,99,46,99,97,99,104,101,100, + 99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0, + 0,67,0,0,0,115,10,0,0,0,124,1,124,0,95,0, + 100,0,83,0,41,1,78,41,1,114,108,0,0,0,41,2, + 114,26,0,0,0,114,112,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,112,0,0,0,142,1, + 0,0,115,2,0,0,0,0,2,99,1,0,0,0,0,0, + 0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,36, + 0,0,0,124,0,106,0,100,1,107,8,114,26,124,0,106, + 1,160,2,100,2,161,1,100,3,25,0,83,0,124,0,106, + 1,83,0,100,1,83,0,41,4,122,32,84,104,101,32,110, + 97,109,101,32,111,102,32,116,104,101,32,109,111,100,117,108, + 101,39,115,32,112,97,114,101,110,116,46,78,218,1,46,114, + 19,0,0,0,41,3,114,106,0,0,0,114,15,0,0,0, + 218,10,114,112,97,114,116,105,116,105,111,110,41,1,114,26, 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, - 0,0,218,8,60,109,111,100,117,108,101,62,25,0,0,0, - 115,94,0,0,0,4,0,4,2,8,8,8,7,4,2,4, - 3,16,4,14,68,14,21,14,19,8,19,8,19,8,11,14, - 8,8,11,8,12,8,16,8,36,14,27,14,101,16,26,6, - 3,10,45,14,60,8,17,8,17,8,25,8,29,8,23,8, - 16,14,73,14,77,14,13,8,9,8,9,10,47,8,20,4, - 1,8,2,8,27,8,6,10,25,8,31,8,27,18,35,8, - 7,8,47, + 0,0,218,6,112,97,114,101,110,116,146,1,0,0,115,6, + 0,0,0,0,3,10,1,16,2,122,17,77,111,100,117,108, + 101,83,112,101,99,46,112,97,114,101,110,116,99,1,0,0, + 0,0,0,0,0,1,0,0,0,1,0,0,0,67,0,0, + 0,115,6,0,0,0,124,0,106,0,83,0,41,1,78,41, + 1,114,107,0,0,0,41,1,114,26,0,0,0,114,10,0, + 0,0,114,10,0,0,0,114,11,0,0,0,114,113,0,0, + 0,154,1,0,0,115,2,0,0,0,0,2,122,23,77,111, + 100,117,108,101,83,112,101,99,46,104,97,115,95,108,111,99, + 97,116,105,111,110,99,2,0,0,0,0,0,0,0,2,0, + 0,0,2,0,0,0,67,0,0,0,115,14,0,0,0,116, + 0,124,1,131,1,124,0,95,1,100,0,83,0,41,1,78, + 41,2,218,4,98,111,111,108,114,107,0,0,0,41,2,114, + 26,0,0,0,218,5,118,97,108,117,101,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,113,0,0,0,158, + 1,0,0,115,2,0,0,0,0,2,41,12,114,1,0,0, + 0,114,0,0,0,0,114,2,0,0,0,114,3,0,0,0, + 114,27,0,0,0,114,40,0,0,0,114,114,0,0,0,218, + 8,112,114,111,112,101,114,116,121,114,112,0,0,0,218,6, + 115,101,116,116,101,114,114,119,0,0,0,114,113,0,0,0, + 114,10,0,0,0,114,10,0,0,0,114,10,0,0,0,114, + 11,0,0,0,114,102,0,0,0,62,1,0,0,115,18,0, + 0,0,12,37,4,1,14,11,8,10,8,12,12,9,14,4, + 12,8,12,4,114,102,0,0,0,41,2,114,103,0,0,0, + 114,105,0,0,0,99,2,0,0,0,2,0,0,0,6,0, + 0,0,14,0,0,0,67,0,0,0,115,154,0,0,0,116, + 0,124,1,100,1,131,2,114,74,116,1,100,2,107,8,114, + 22,116,2,130,1,116,1,106,3,125,4,124,3,100,2,107, + 8,114,48,124,4,124,0,124,1,100,3,141,2,83,0,124, + 3,114,56,103,0,110,2,100,2,125,5,124,4,124,0,124, + 1,124,5,100,4,141,3,83,0,124,3,100,2,107,8,114, + 138,116,0,124,1,100,5,131,2,114,134,121,14,124,1,160, + 4,124,0,161,1,125,3,87,0,113,138,4,0,116,5,107, + 10,114,130,1,0,1,0,1,0,100,2,125,3,89,0,113, + 138,88,0,110,4,100,6,125,3,116,6,124,0,124,1,124, + 2,124,3,100,7,141,4,83,0,41,8,122,53,82,101,116, + 117,114,110,32,97,32,109,111,100,117,108,101,32,115,112,101, + 99,32,98,97,115,101,100,32,111,110,32,118,97,114,105,111, + 117,115,32,108,111,97,100,101,114,32,109,101,116,104,111,100, + 115,46,90,12,103,101,116,95,102,105,108,101,110,97,109,101, + 78,41,1,114,93,0,0,0,41,2,114,93,0,0,0,114, + 106,0,0,0,114,105,0,0,0,70,41,2,114,103,0,0, + 0,114,105,0,0,0,41,7,114,4,0,0,0,114,115,0, + 0,0,114,116,0,0,0,218,23,115,112,101,99,95,102,114, + 111,109,95,102,105,108,101,95,108,111,99,97,116,105,111,110, + 114,105,0,0,0,114,70,0,0,0,114,102,0,0,0,41, + 6,114,15,0,0,0,114,93,0,0,0,114,103,0,0,0, + 114,105,0,0,0,114,124,0,0,0,90,6,115,101,97,114, + 99,104,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,78,0,0,0,163,1,0,0,115,34,0,0,0,0, + 2,10,1,8,1,4,1,6,2,8,1,12,1,12,1,6, + 1,8,2,8,1,10,1,2,1,14,1,14,1,12,3,4, + 2,114,78,0,0,0,99,3,0,0,0,0,0,0,0,8, + 0,0,0,53,0,0,0,67,0,0,0,115,56,1,0,0, + 121,10,124,0,106,0,125,3,87,0,110,20,4,0,116,1, + 107,10,114,30,1,0,1,0,1,0,89,0,110,14,88,0, + 124,3,100,0,107,9,114,44,124,3,83,0,124,0,106,2, + 125,4,124,1,100,0,107,8,114,90,121,10,124,0,106,3, + 125,1,87,0,110,20,4,0,116,1,107,10,114,88,1,0, + 1,0,1,0,89,0,110,2,88,0,121,10,124,0,106,4, + 125,5,87,0,110,24,4,0,116,1,107,10,114,124,1,0, + 1,0,1,0,100,0,125,5,89,0,110,2,88,0,124,2, + 100,0,107,8,114,184,124,5,100,0,107,8,114,180,121,10, + 124,1,106,5,125,2,87,0,113,184,4,0,116,1,107,10, + 114,176,1,0,1,0,1,0,100,0,125,2,89,0,113,184, + 88,0,110,4,124,5,125,2,121,10,124,0,106,6,125,6, + 87,0,110,24,4,0,116,1,107,10,114,218,1,0,1,0, + 1,0,100,0,125,6,89,0,110,2,88,0,121,14,116,7, + 124,0,106,8,131,1,125,7,87,0,110,26,4,0,116,1, + 107,10,144,1,114,4,1,0,1,0,1,0,100,0,125,7, + 89,0,110,2,88,0,116,9,124,4,124,1,124,2,100,1, + 141,3,125,3,124,5,100,0,107,8,144,1,114,34,100,2, + 110,2,100,3,124,3,95,10,124,6,124,3,95,11,124,7, + 124,3,95,12,124,3,83,0,41,4,78,41,1,114,103,0, + 0,0,70,84,41,13,114,89,0,0,0,114,90,0,0,0, + 114,1,0,0,0,114,85,0,0,0,114,92,0,0,0,90, + 7,95,79,82,73,71,73,78,218,10,95,95,99,97,99,104, + 101,100,95,95,218,4,108,105,115,116,218,8,95,95,112,97, + 116,104,95,95,114,102,0,0,0,114,107,0,0,0,114,112, + 0,0,0,114,106,0,0,0,41,8,114,83,0,0,0,114, + 93,0,0,0,114,103,0,0,0,114,82,0,0,0,114,15, + 0,0,0,90,8,108,111,99,97,116,105,111,110,114,112,0, + 0,0,114,106,0,0,0,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,17,95,115,112,101,99,95,102,114, + 111,109,95,109,111,100,117,108,101,192,1,0,0,115,72,0, + 0,0,0,2,2,1,10,1,14,1,6,2,8,1,4,2, + 6,1,8,1,2,1,10,1,14,2,6,1,2,1,10,1, + 14,1,10,1,8,1,8,1,2,1,10,1,14,1,12,2, + 4,1,2,1,10,1,14,1,10,1,2,1,14,1,16,1, + 10,2,14,1,20,1,6,1,6,1,114,128,0,0,0,70, + 41,1,218,8,111,118,101,114,114,105,100,101,99,2,0,0, + 0,1,0,0,0,5,0,0,0,59,0,0,0,67,0,0, + 0,115,212,1,0,0,124,2,115,20,116,0,124,1,100,1, + 100,0,131,3,100,0,107,8,114,54,121,12,124,0,106,1, + 124,1,95,2,87,0,110,20,4,0,116,3,107,10,114,52, + 1,0,1,0,1,0,89,0,110,2,88,0,124,2,115,74, + 116,0,124,1,100,2,100,0,131,3,100,0,107,8,114,166, + 124,0,106,4,125,3,124,3,100,0,107,8,114,134,124,0, + 106,5,100,0,107,9,114,134,116,6,100,0,107,8,114,110, + 116,7,130,1,116,6,106,8,125,4,124,4,160,9,124,4, + 161,1,125,3,124,0,106,5,124,3,95,10,121,10,124,3, + 124,1,95,11,87,0,110,20,4,0,116,3,107,10,114,164, + 1,0,1,0,1,0,89,0,110,2,88,0,124,2,115,186, + 116,0,124,1,100,3,100,0,131,3,100,0,107,8,114,220, + 121,12,124,0,106,12,124,1,95,13,87,0,110,20,4,0, + 116,3,107,10,114,218,1,0,1,0,1,0,89,0,110,2, + 88,0,121,10,124,0,124,1,95,14,87,0,110,20,4,0, + 116,3,107,10,114,250,1,0,1,0,1,0,89,0,110,2, + 88,0,124,2,144,1,115,20,116,0,124,1,100,4,100,0, + 131,3,100,0,107,8,144,1,114,68,124,0,106,5,100,0, + 107,9,144,1,114,68,121,12,124,0,106,5,124,1,95,15, + 87,0,110,22,4,0,116,3,107,10,144,1,114,66,1,0, + 1,0,1,0,89,0,110,2,88,0,124,0,106,16,144,1, + 114,208,124,2,144,1,115,100,116,0,124,1,100,5,100,0, + 131,3,100,0,107,8,144,1,114,136,121,12,124,0,106,17, + 124,1,95,18,87,0,110,22,4,0,116,3,107,10,144,1, + 114,134,1,0,1,0,1,0,89,0,110,2,88,0,124,2, + 144,1,115,160,116,0,124,1,100,6,100,0,131,3,100,0, + 107,8,144,1,114,208,124,0,106,19,100,0,107,9,144,1, + 114,208,121,12,124,0,106,19,124,1,95,20,87,0,110,22, + 4,0,116,3,107,10,144,1,114,206,1,0,1,0,1,0, + 89,0,110,2,88,0,124,1,83,0,41,7,78,114,1,0, + 0,0,114,85,0,0,0,218,11,95,95,112,97,99,107,97, + 103,101,95,95,114,127,0,0,0,114,92,0,0,0,114,125, + 0,0,0,41,21,114,6,0,0,0,114,15,0,0,0,114, + 1,0,0,0,114,90,0,0,0,114,93,0,0,0,114,106, + 0,0,0,114,115,0,0,0,114,116,0,0,0,218,16,95, + 78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,218, + 7,95,95,110,101,119,95,95,90,5,95,112,97,116,104,114, + 85,0,0,0,114,119,0,0,0,114,130,0,0,0,114,89, + 0,0,0,114,127,0,0,0,114,113,0,0,0,114,103,0, + 0,0,114,92,0,0,0,114,112,0,0,0,114,125,0,0, + 0,41,5,114,82,0,0,0,114,83,0,0,0,114,129,0, + 0,0,114,93,0,0,0,114,131,0,0,0,114,10,0,0, + 0,114,10,0,0,0,114,11,0,0,0,218,18,95,105,110, + 105,116,95,109,111,100,117,108,101,95,97,116,116,114,115,237, + 1,0,0,115,92,0,0,0,0,4,20,1,2,1,12,1, + 14,1,6,2,20,1,6,1,8,2,10,1,8,1,4,1, + 6,2,10,1,8,1,2,1,10,1,14,1,6,2,20,1, + 2,1,12,1,14,1,6,2,2,1,10,1,14,1,6,2, + 24,1,12,1,2,1,12,1,16,1,6,2,8,1,24,1, + 2,1,12,1,16,1,6,2,24,1,12,1,2,1,12,1, + 16,1,6,1,114,133,0,0,0,99,1,0,0,0,0,0, + 0,0,2,0,0,0,3,0,0,0,67,0,0,0,115,82, + 0,0,0,100,1,125,1,116,0,124,0,106,1,100,2,131, + 2,114,30,124,0,106,1,160,2,124,0,161,1,125,1,110, + 20,116,0,124,0,106,1,100,3,131,2,114,50,116,3,100, + 4,131,1,130,1,124,1,100,1,107,8,114,68,116,4,124, + 0,106,5,131,1,125,1,116,6,124,0,124,1,131,2,1, + 0,124,1,83,0,41,5,122,43,67,114,101,97,116,101,32, + 97,32,109,111,100,117,108,101,32,98,97,115,101,100,32,111, + 110,32,116,104,101,32,112,114,111,118,105,100,101,100,32,115, + 112,101,99,46,78,218,13,99,114,101,97,116,101,95,109,111, + 100,117,108,101,218,11,101,120,101,99,95,109,111,100,117,108, + 101,122,66,108,111,97,100,101,114,115,32,116,104,97,116,32, + 100,101,102,105,110,101,32,101,120,101,99,95,109,111,100,117, + 108,101,40,41,32,109,117,115,116,32,97,108,115,111,32,100, + 101,102,105,110,101,32,99,114,101,97,116,101,95,109,111,100, + 117,108,101,40,41,41,7,114,4,0,0,0,114,93,0,0, + 0,114,134,0,0,0,114,70,0,0,0,114,16,0,0,0, + 114,15,0,0,0,114,133,0,0,0,41,2,114,82,0,0, + 0,114,83,0,0,0,114,10,0,0,0,114,10,0,0,0, + 114,11,0,0,0,218,16,109,111,100,117,108,101,95,102,114, + 111,109,95,115,112,101,99,41,2,0,0,115,18,0,0,0, + 0,3,4,1,12,3,14,1,12,1,8,2,8,1,10,1, + 10,1,114,136,0,0,0,99,1,0,0,0,0,0,0,0, + 2,0,0,0,4,0,0,0,67,0,0,0,115,106,0,0, + 0,124,0,106,0,100,1,107,8,114,14,100,2,110,4,124, + 0,106,0,125,1,124,0,106,1,100,1,107,8,114,66,124, + 0,106,2,100,1,107,8,114,50,100,3,160,3,124,1,161, + 1,83,0,100,4,160,3,124,1,124,0,106,2,161,2,83, + 0,110,36,124,0,106,4,114,86,100,5,160,3,124,1,124, + 0,106,1,161,2,83,0,100,6,160,3,124,0,106,0,124, + 0,106,1,161,2,83,0,100,1,83,0,41,7,122,38,82, + 101,116,117,114,110,32,116,104,101,32,114,101,112,114,32,116, + 111,32,117,115,101,32,102,111,114,32,116,104,101,32,109,111, + 100,117,108,101,46,78,114,87,0,0,0,122,13,60,109,111, + 100,117,108,101,32,123,33,114,125,62,122,20,60,109,111,100, + 117,108,101,32,123,33,114,125,32,40,123,33,114,125,41,62, + 122,23,60,109,111,100,117,108,101,32,123,33,114,125,32,102, + 114,111,109,32,123,33,114,125,62,122,18,60,109,111,100,117, + 108,101,32,123,33,114,125,32,40,123,125,41,62,41,5,114, + 15,0,0,0,114,103,0,0,0,114,93,0,0,0,114,38, + 0,0,0,114,113,0,0,0,41,2,114,82,0,0,0,114, + 15,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,91,0,0,0,58,2,0,0,115,16,0,0, + 0,0,3,20,1,10,1,10,1,10,2,16,2,6,1,14, + 2,114,91,0,0,0,99,2,0,0,0,0,0,0,0,4, + 0,0,0,12,0,0,0,67,0,0,0,115,186,0,0,0, + 124,0,106,0,125,2,116,1,160,2,161,0,1,0,116,3, + 124,2,131,1,143,148,1,0,116,4,106,5,160,6,124,2, + 161,1,124,1,107,9,114,62,100,1,160,7,124,2,161,1, + 125,3,116,8,124,3,124,2,100,2,141,2,130,1,124,0, + 106,9,100,3,107,8,114,114,124,0,106,10,100,3,107,8, + 114,96,116,8,100,4,124,0,106,0,100,2,141,2,130,1, + 116,11,124,0,124,1,100,5,100,6,141,3,1,0,124,1, + 83,0,116,11,124,0,124,1,100,5,100,6,141,3,1,0, + 116,12,124,0,106,9,100,7,131,2,115,154,124,0,106,9, + 160,13,124,2,161,1,1,0,110,12,124,0,106,9,160,14, + 124,1,161,1,1,0,87,0,100,3,81,0,82,0,88,0, + 116,4,106,5,124,2,25,0,83,0,41,8,122,70,69,120, + 101,99,117,116,101,32,116,104,101,32,115,112,101,99,39,115, + 32,115,112,101,99,105,102,105,101,100,32,109,111,100,117,108, + 101,32,105,110,32,97,110,32,101,120,105,115,116,105,110,103, + 32,109,111,100,117,108,101,39,115,32,110,97,109,101,115,112, + 97,99,101,46,122,30,109,111,100,117,108,101,32,123,33,114, + 125,32,110,111,116,32,105,110,32,115,121,115,46,109,111,100, + 117,108,101,115,41,1,114,15,0,0,0,78,122,14,109,105, + 115,115,105,110,103,32,108,111,97,100,101,114,84,41,1,114, + 129,0,0,0,114,135,0,0,0,41,15,114,15,0,0,0, + 114,46,0,0,0,218,12,97,99,113,117,105,114,101,95,108, + 111,99,107,114,42,0,0,0,114,14,0,0,0,114,79,0, + 0,0,114,30,0,0,0,114,38,0,0,0,114,70,0,0, + 0,114,93,0,0,0,114,106,0,0,0,114,133,0,0,0, + 114,4,0,0,0,218,11,108,111,97,100,95,109,111,100,117, + 108,101,114,135,0,0,0,41,4,114,82,0,0,0,114,83, + 0,0,0,114,15,0,0,0,218,3,109,115,103,114,10,0, + 0,0,114,10,0,0,0,114,11,0,0,0,114,80,0,0, + 0,75,2,0,0,115,32,0,0,0,0,2,6,1,8,1, + 10,1,16,1,10,1,12,1,10,1,10,1,14,2,14,1, + 4,1,14,1,12,4,14,2,22,1,114,80,0,0,0,99, + 1,0,0,0,0,0,0,0,2,0,0,0,27,0,0,0, + 67,0,0,0,115,206,0,0,0,124,0,106,0,160,1,124, + 0,106,2,161,1,1,0,116,3,106,4,124,0,106,2,25, + 0,125,1,116,5,124,1,100,1,100,0,131,3,100,0,107, + 8,114,76,121,12,124,0,106,0,124,1,95,6,87,0,110, + 20,4,0,116,7,107,10,114,74,1,0,1,0,1,0,89, + 0,110,2,88,0,116,5,124,1,100,2,100,0,131,3,100, + 0,107,8,114,154,121,40,124,1,106,8,124,1,95,9,116, + 10,124,1,100,3,131,2,115,130,124,0,106,2,160,11,100, + 4,161,1,100,5,25,0,124,1,95,9,87,0,110,20,4, + 0,116,7,107,10,114,152,1,0,1,0,1,0,89,0,110, + 2,88,0,116,5,124,1,100,6,100,0,131,3,100,0,107, + 8,114,202,121,10,124,0,124,1,95,12,87,0,110,20,4, + 0,116,7,107,10,114,200,1,0,1,0,1,0,89,0,110, + 2,88,0,124,1,83,0,41,7,78,114,85,0,0,0,114, + 130,0,0,0,114,127,0,0,0,114,117,0,0,0,114,19, + 0,0,0,114,89,0,0,0,41,13,114,93,0,0,0,114, + 138,0,0,0,114,15,0,0,0,114,14,0,0,0,114,79, + 0,0,0,114,6,0,0,0,114,85,0,0,0,114,90,0, + 0,0,114,1,0,0,0,114,130,0,0,0,114,4,0,0, + 0,114,118,0,0,0,114,89,0,0,0,41,2,114,82,0, + 0,0,114,83,0,0,0,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,25,95,108,111,97,100,95,98,97, + 99,107,119,97,114,100,95,99,111,109,112,97,116,105,98,108, + 101,100,2,0,0,115,40,0,0,0,0,4,14,2,12,1, + 16,1,2,1,12,1,14,1,6,1,16,1,2,4,8,1, + 10,1,22,1,14,1,6,1,16,1,2,1,10,1,14,1, + 6,1,114,140,0,0,0,99,1,0,0,0,0,0,0,0, + 2,0,0,0,11,0,0,0,67,0,0,0,115,118,0,0, + 0,124,0,106,0,100,0,107,9,114,30,116,1,124,0,106, + 0,100,1,131,2,115,30,116,2,124,0,131,1,83,0,116, + 3,124,0,131,1,125,1,116,4,124,1,131,1,143,54,1, + 0,124,0,106,0,100,0,107,8,114,84,124,0,106,5,100, + 0,107,8,114,96,116,6,100,2,124,0,106,7,100,3,141, + 2,130,1,110,12,124,0,106,0,160,8,124,1,161,1,1, + 0,87,0,100,0,81,0,82,0,88,0,116,9,106,10,124, + 0,106,7,25,0,83,0,41,4,78,114,135,0,0,0,122, + 14,109,105,115,115,105,110,103,32,108,111,97,100,101,114,41, + 1,114,15,0,0,0,41,11,114,93,0,0,0,114,4,0, + 0,0,114,140,0,0,0,114,136,0,0,0,114,96,0,0, + 0,114,106,0,0,0,114,70,0,0,0,114,15,0,0,0, + 114,135,0,0,0,114,14,0,0,0,114,79,0,0,0,41, + 2,114,82,0,0,0,114,83,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,218,14,95,108,111,97, + 100,95,117,110,108,111,99,107,101,100,129,2,0,0,115,20, + 0,0,0,0,2,10,2,12,1,8,2,8,1,10,1,10, + 1,10,1,16,3,22,5,114,141,0,0,0,99,1,0,0, + 0,0,0,0,0,1,0,0,0,9,0,0,0,67,0,0, + 0,115,38,0,0,0,116,0,160,1,161,0,1,0,116,2, + 124,0,106,3,131,1,143,10,1,0,116,4,124,0,131,1, + 83,0,81,0,82,0,88,0,100,1,83,0,41,2,122,191, + 82,101,116,117,114,110,32,97,32,110,101,119,32,109,111,100, + 117,108,101,32,111,98,106,101,99,116,44,32,108,111,97,100, + 101,100,32,98,121,32,116,104,101,32,115,112,101,99,39,115, + 32,108,111,97,100,101,114,46,10,10,32,32,32,32,84,104, + 101,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32, + 97,100,100,101,100,32,116,111,32,105,116,115,32,112,97,114, + 101,110,116,46,10,10,32,32,32,32,73,102,32,97,32,109, + 111,100,117,108,101,32,105,115,32,97,108,114,101,97,100,121, + 32,105,110,32,115,121,115,46,109,111,100,117,108,101,115,44, + 32,116,104,97,116,32,101,120,105,115,116,105,110,103,32,109, + 111,100,117,108,101,32,103,101,116,115,10,32,32,32,32,99, + 108,111,98,98,101,114,101,100,46,10,10,32,32,32,32,78, + 41,5,114,46,0,0,0,114,137,0,0,0,114,42,0,0, + 0,114,15,0,0,0,114,141,0,0,0,41,1,114,82,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,81,0,0,0,152,2,0,0,115,6,0,0,0,0, + 9,8,1,12,1,114,81,0,0,0,99,0,0,0,0,0, + 0,0,0,0,0,0,0,4,0,0,0,64,0,0,0,115, + 136,0,0,0,101,0,90,1,100,0,90,2,100,1,90,3, + 101,4,100,2,100,3,132,0,131,1,90,5,101,6,100,19, + 100,5,100,6,132,1,131,1,90,7,101,6,100,20,100,7, + 100,8,132,1,131,1,90,8,101,6,100,9,100,10,132,0, + 131,1,90,9,101,6,100,11,100,12,132,0,131,1,90,10, + 101,6,101,11,100,13,100,14,132,0,131,1,131,1,90,12, + 101,6,101,11,100,15,100,16,132,0,131,1,131,1,90,13, + 101,6,101,11,100,17,100,18,132,0,131,1,131,1,90,14, + 101,6,101,15,131,1,90,16,100,4,83,0,41,21,218,15, + 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,122, + 144,77,101,116,97,32,112,97,116,104,32,105,109,112,111,114, + 116,32,102,111,114,32,98,117,105,108,116,45,105,110,32,109, + 111,100,117,108,101,115,46,10,10,32,32,32,32,65,108,108, + 32,109,101,116,104,111,100,115,32,97,114,101,32,101,105,116, + 104,101,114,32,99,108,97,115,115,32,111,114,32,115,116,97, + 116,105,99,32,109,101,116,104,111,100,115,32,116,111,32,97, + 118,111,105,100,32,116,104,101,32,110,101,101,100,32,116,111, + 10,32,32,32,32,105,110,115,116,97,110,116,105,97,116,101, + 32,116,104,101,32,99,108,97,115,115,46,10,10,32,32,32, + 32,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,67,0,0,0,115,12,0,0,0,100,1,160,0,124, + 0,106,1,161,1,83,0,41,2,122,115,82,101,116,117,114, + 110,32,114,101,112,114,32,102,111,114,32,116,104,101,32,109, + 111,100,117,108,101,46,10,10,32,32,32,32,32,32,32,32, + 84,104,101,32,109,101,116,104,111,100,32,105,115,32,100,101, + 112,114,101,99,97,116,101,100,46,32,32,84,104,101,32,105, + 109,112,111,114,116,32,109,97,99,104,105,110,101,114,121,32, + 100,111,101,115,32,116,104,101,32,106,111,98,32,105,116,115, + 101,108,102,46,10,10,32,32,32,32,32,32,32,32,122,24, + 60,109,111,100,117,108,101,32,123,33,114,125,32,40,98,117, + 105,108,116,45,105,110,41,62,41,2,114,38,0,0,0,114, + 1,0,0,0,41,1,114,83,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,86,0,0,0,177, + 2,0,0,115,2,0,0,0,0,7,122,27,66,117,105,108, + 116,105,110,73,109,112,111,114,116,101,114,46,109,111,100,117, + 108,101,95,114,101,112,114,78,99,4,0,0,0,0,0,0, + 0,4,0,0,0,5,0,0,0,67,0,0,0,115,44,0, + 0,0,124,2,100,0,107,9,114,12,100,0,83,0,116,0, + 160,1,124,1,161,1,114,36,116,2,124,1,124,0,100,1, + 100,2,141,3,83,0,100,0,83,0,100,0,83,0,41,3, + 78,122,8,98,117,105,108,116,45,105,110,41,1,114,103,0, + 0,0,41,3,114,46,0,0,0,90,10,105,115,95,98,117, + 105,108,116,105,110,114,78,0,0,0,41,4,218,3,99,108, + 115,114,71,0,0,0,218,4,112,97,116,104,218,6,116,97, + 114,103,101,116,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,218,9,102,105,110,100,95,115,112,101,99,186,2, + 0,0,115,10,0,0,0,0,2,8,1,4,1,10,1,14, + 2,122,25,66,117,105,108,116,105,110,73,109,112,111,114,116, + 101,114,46,102,105,110,100,95,115,112,101,99,99,3,0,0, + 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0, + 0,115,30,0,0,0,124,0,160,0,124,1,124,2,161,2, + 125,3,124,3,100,1,107,9,114,26,124,3,106,1,83,0, + 100,1,83,0,41,2,122,175,70,105,110,100,32,116,104,101, + 32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101, + 46,10,10,32,32,32,32,32,32,32,32,73,102,32,39,112, + 97,116,104,39,32,105,115,32,101,118,101,114,32,115,112,101, + 99,105,102,105,101,100,32,116,104,101,110,32,116,104,101,32, + 115,101,97,114,99,104,32,105,115,32,99,111,110,115,105,100, + 101,114,101,100,32,97,32,102,97,105,108,117,114,101,46,10, + 10,32,32,32,32,32,32,32,32,84,104,105,115,32,109,101, + 116,104,111,100,32,105,115,32,100,101,112,114,101,99,97,116, + 101,100,46,32,32,85,115,101,32,102,105,110,100,95,115,112, + 101,99,40,41,32,105,110,115,116,101,97,100,46,10,10,32, + 32,32,32,32,32,32,32,78,41,2,114,146,0,0,0,114, + 93,0,0,0,41,4,114,143,0,0,0,114,71,0,0,0, + 114,144,0,0,0,114,82,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,218,11,102,105,110,100,95, + 109,111,100,117,108,101,195,2,0,0,115,4,0,0,0,0, + 9,12,1,122,27,66,117,105,108,116,105,110,73,109,112,111, + 114,116,101,114,46,102,105,110,100,95,109,111,100,117,108,101, + 99,2,0,0,0,0,0,0,0,2,0,0,0,4,0,0, + 0,67,0,0,0,115,46,0,0,0,124,1,106,0,116,1, + 106,2,107,7,114,34,116,3,100,1,160,4,124,1,106,0, + 161,1,124,1,106,0,100,2,141,2,130,1,116,5,116,6, + 106,7,124,1,131,2,83,0,41,3,122,24,67,114,101,97, + 116,101,32,97,32,98,117,105,108,116,45,105,110,32,109,111, + 100,117,108,101,122,29,123,33,114,125,32,105,115,32,110,111, + 116,32,97,32,98,117,105,108,116,45,105,110,32,109,111,100, + 117,108,101,41,1,114,15,0,0,0,41,8,114,15,0,0, + 0,114,14,0,0,0,114,69,0,0,0,114,70,0,0,0, + 114,38,0,0,0,114,58,0,0,0,114,46,0,0,0,90, + 14,99,114,101,97,116,101,95,98,117,105,108,116,105,110,41, + 2,114,26,0,0,0,114,82,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,134,0,0,0,207, + 2,0,0,115,8,0,0,0,0,3,12,1,12,1,10,1, + 122,29,66,117,105,108,116,105,110,73,109,112,111,114,116,101, + 114,46,99,114,101,97,116,101,95,109,111,100,117,108,101,99, + 2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 67,0,0,0,115,16,0,0,0,116,0,116,1,106,2,124, + 1,131,2,1,0,100,1,83,0,41,2,122,22,69,120,101, + 99,32,97,32,98,117,105,108,116,45,105,110,32,109,111,100, + 117,108,101,78,41,3,114,58,0,0,0,114,46,0,0,0, + 90,12,101,120,101,99,95,98,117,105,108,116,105,110,41,2, + 114,26,0,0,0,114,83,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,135,0,0,0,215,2, + 0,0,115,2,0,0,0,0,3,122,27,66,117,105,108,116, + 105,110,73,109,112,111,114,116,101,114,46,101,120,101,99,95, + 109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,2, + 0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0, + 100,1,83,0,41,2,122,57,82,101,116,117,114,110,32,78, + 111,110,101,32,97,115,32,98,117,105,108,116,45,105,110,32, + 109,111,100,117,108,101,115,32,100,111,32,110,111,116,32,104, + 97,118,101,32,99,111,100,101,32,111,98,106,101,99,116,115, + 46,78,114,10,0,0,0,41,2,114,143,0,0,0,114,71, + 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,218,8,103,101,116,95,99,111,100,101,220,2,0,0, + 115,2,0,0,0,0,4,122,24,66,117,105,108,116,105,110, + 73,109,112,111,114,116,101,114,46,103,101,116,95,99,111,100, + 101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,0, + 0,0,67,0,0,0,115,4,0,0,0,100,1,83,0,41, + 2,122,56,82,101,116,117,114,110,32,78,111,110,101,32,97, + 115,32,98,117,105,108,116,45,105,110,32,109,111,100,117,108, + 101,115,32,100,111,32,110,111,116,32,104,97,118,101,32,115, + 111,117,114,99,101,32,99,111,100,101,46,78,114,10,0,0, + 0,41,2,114,143,0,0,0,114,71,0,0,0,114,10,0, + 0,0,114,10,0,0,0,114,11,0,0,0,218,10,103,101, + 116,95,115,111,117,114,99,101,226,2,0,0,115,2,0,0, + 0,0,4,122,26,66,117,105,108,116,105,110,73,109,112,111, + 114,116,101,114,46,103,101,116,95,115,111,117,114,99,101,99, + 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, + 67,0,0,0,115,4,0,0,0,100,1,83,0,41,2,122, + 52,82,101,116,117,114,110,32,70,97,108,115,101,32,97,115, + 32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101, + 115,32,97,114,101,32,110,101,118,101,114,32,112,97,99,107, + 97,103,101,115,46,70,114,10,0,0,0,41,2,114,143,0, + 0,0,114,71,0,0,0,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,114,105,0,0,0,232,2,0,0,115, + 2,0,0,0,0,4,122,26,66,117,105,108,116,105,110,73, + 109,112,111,114,116,101,114,46,105,115,95,112,97,99,107,97, + 103,101,41,2,78,78,41,1,78,41,17,114,1,0,0,0, + 114,0,0,0,0,114,2,0,0,0,114,3,0,0,0,218, + 12,115,116,97,116,105,99,109,101,116,104,111,100,114,86,0, + 0,0,218,11,99,108,97,115,115,109,101,116,104,111,100,114, + 146,0,0,0,114,147,0,0,0,114,134,0,0,0,114,135, + 0,0,0,114,74,0,0,0,114,148,0,0,0,114,149,0, + 0,0,114,105,0,0,0,114,84,0,0,0,114,138,0,0, + 0,114,10,0,0,0,114,10,0,0,0,114,10,0,0,0, + 114,11,0,0,0,114,142,0,0,0,168,2,0,0,115,28, + 0,0,0,12,9,12,9,2,1,12,8,2,1,12,11,12, + 8,12,5,2,1,14,5,2,1,14,5,2,1,14,5,114, + 142,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0, + 0,4,0,0,0,64,0,0,0,115,140,0,0,0,101,0, + 90,1,100,0,90,2,100,1,90,3,101,4,100,2,100,3, + 132,0,131,1,90,5,101,6,100,21,100,5,100,6,132,1, + 131,1,90,7,101,6,100,22,100,7,100,8,132,1,131,1, + 90,8,101,6,100,9,100,10,132,0,131,1,90,9,101,4, + 100,11,100,12,132,0,131,1,90,10,101,6,100,13,100,14, + 132,0,131,1,90,11,101,6,101,12,100,15,100,16,132,0, + 131,1,131,1,90,13,101,6,101,12,100,17,100,18,132,0, + 131,1,131,1,90,14,101,6,101,12,100,19,100,20,132,0, + 131,1,131,1,90,15,100,4,83,0,41,23,218,14,70,114, + 111,122,101,110,73,109,112,111,114,116,101,114,122,142,77,101, + 116,97,32,112,97,116,104,32,105,109,112,111,114,116,32,102, + 111,114,32,102,114,111,122,101,110,32,109,111,100,117,108,101, + 115,46,10,10,32,32,32,32,65,108,108,32,109,101,116,104, + 111,100,115,32,97,114,101,32,101,105,116,104,101,114,32,99, + 108,97,115,115,32,111,114,32,115,116,97,116,105,99,32,109, + 101,116,104,111,100,115,32,116,111,32,97,118,111,105,100,32, + 116,104,101,32,110,101,101,100,32,116,111,10,32,32,32,32, + 105,110,115,116,97,110,116,105,97,116,101,32,116,104,101,32, + 99,108,97,115,115,46,10,10,32,32,32,32,99,1,0,0, + 0,0,0,0,0,1,0,0,0,3,0,0,0,67,0,0, + 0,115,12,0,0,0,100,1,160,0,124,0,106,1,161,1, + 83,0,41,2,122,115,82,101,116,117,114,110,32,114,101,112, + 114,32,102,111,114,32,116,104,101,32,109,111,100,117,108,101, + 46,10,10,32,32,32,32,32,32,32,32,84,104,101,32,109, + 101,116,104,111,100,32,105,115,32,100,101,112,114,101,99,97, + 116,101,100,46,32,32,84,104,101,32,105,109,112,111,114,116, + 32,109,97,99,104,105,110,101,114,121,32,100,111,101,115,32, + 116,104,101,32,106,111,98,32,105,116,115,101,108,102,46,10, + 10,32,32,32,32,32,32,32,32,122,22,60,109,111,100,117, + 108,101,32,123,33,114,125,32,40,102,114,111,122,101,110,41, + 62,41,2,114,38,0,0,0,114,1,0,0,0,41,1,218, + 1,109,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,86,0,0,0,250,2,0,0,115,2,0,0,0,0, + 7,122,26,70,114,111,122,101,110,73,109,112,111,114,116,101, + 114,46,109,111,100,117,108,101,95,114,101,112,114,78,99,4, + 0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,67, + 0,0,0,115,32,0,0,0,116,0,160,1,124,1,161,1, + 114,24,116,2,124,1,124,0,100,1,100,2,141,3,83,0, + 100,0,83,0,100,0,83,0,41,3,78,90,6,102,114,111, + 122,101,110,41,1,114,103,0,0,0,41,3,114,46,0,0, + 0,114,75,0,0,0,114,78,0,0,0,41,4,114,143,0, + 0,0,114,71,0,0,0,114,144,0,0,0,114,145,0,0, + 0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, + 114,146,0,0,0,3,3,0,0,115,6,0,0,0,0,2, + 10,1,14,2,122,24,70,114,111,122,101,110,73,109,112,111, + 114,116,101,114,46,102,105,110,100,95,115,112,101,99,99,3, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,67, + 0,0,0,115,18,0,0,0,116,0,160,1,124,1,161,1, + 114,14,124,0,83,0,100,1,83,0,41,2,122,93,70,105, + 110,100,32,97,32,102,114,111,122,101,110,32,109,111,100,117, + 108,101,46,10,10,32,32,32,32,32,32,32,32,84,104,105, + 115,32,109,101,116,104,111,100,32,105,115,32,100,101,112,114, + 101,99,97,116,101,100,46,32,32,85,115,101,32,102,105,110, + 100,95,115,112,101,99,40,41,32,105,110,115,116,101,97,100, + 46,10,10,32,32,32,32,32,32,32,32,78,41,2,114,46, + 0,0,0,114,75,0,0,0,41,3,114,143,0,0,0,114, + 71,0,0,0,114,144,0,0,0,114,10,0,0,0,114,10, + 0,0,0,114,11,0,0,0,114,147,0,0,0,10,3,0, + 0,115,2,0,0,0,0,7,122,26,70,114,111,122,101,110, + 73,109,112,111,114,116,101,114,46,102,105,110,100,95,109,111, + 100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,0, + 0,1,0,0,0,67,0,0,0,115,4,0,0,0,100,1, + 83,0,41,2,122,42,85,115,101,32,100,101,102,97,117,108, + 116,32,115,101,109,97,110,116,105,99,115,32,102,111,114,32, + 109,111,100,117,108,101,32,99,114,101,97,116,105,111,110,46, + 78,114,10,0,0,0,41,2,114,143,0,0,0,114,82,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,134,0,0,0,19,3,0,0,115,0,0,0,0,122, + 28,70,114,111,122,101,110,73,109,112,111,114,116,101,114,46, + 99,114,101,97,116,101,95,109,111,100,117,108,101,99,1,0, + 0,0,0,0,0,0,3,0,0,0,4,0,0,0,67,0, + 0,0,115,64,0,0,0,124,0,106,0,106,1,125,1,116, + 2,160,3,124,1,161,1,115,36,116,4,100,1,160,5,124, + 1,161,1,124,1,100,2,141,2,130,1,116,6,116,2,106, + 7,124,1,131,2,125,2,116,8,124,2,124,0,106,9,131, + 2,1,0,100,0,83,0,41,3,78,122,27,123,33,114,125, + 32,105,115,32,110,111,116,32,97,32,102,114,111,122,101,110, + 32,109,111,100,117,108,101,41,1,114,15,0,0,0,41,10, + 114,89,0,0,0,114,15,0,0,0,114,46,0,0,0,114, + 75,0,0,0,114,70,0,0,0,114,38,0,0,0,114,58, + 0,0,0,218,17,103,101,116,95,102,114,111,122,101,110,95, + 111,98,106,101,99,116,218,4,101,120,101,99,114,7,0,0, + 0,41,3,114,83,0,0,0,114,15,0,0,0,218,4,99, + 111,100,101,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,114,135,0,0,0,23,3,0,0,115,12,0,0,0, + 0,2,8,1,10,1,10,1,8,1,12,1,122,26,70,114, + 111,122,101,110,73,109,112,111,114,116,101,114,46,101,120,101, + 99,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0, + 0,2,0,0,0,3,0,0,0,67,0,0,0,115,10,0, + 0,0,116,0,124,0,124,1,131,2,83,0,41,1,122,95, + 76,111,97,100,32,97,32,102,114,111,122,101,110,32,109,111, + 100,117,108,101,46,10,10,32,32,32,32,32,32,32,32,84, + 104,105,115,32,109,101,116,104,111,100,32,105,115,32,100,101, + 112,114,101,99,97,116,101,100,46,32,32,85,115,101,32,101, + 120,101,99,95,109,111,100,117,108,101,40,41,32,105,110,115, + 116,101,97,100,46,10,10,32,32,32,32,32,32,32,32,41, + 1,114,84,0,0,0,41,2,114,143,0,0,0,114,71,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,138,0,0,0,32,3,0,0,115,2,0,0,0,0, + 7,122,26,70,114,111,122,101,110,73,109,112,111,114,116,101, + 114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,67,0, + 0,0,115,10,0,0,0,116,0,160,1,124,1,161,1,83, + 0,41,1,122,45,82,101,116,117,114,110,32,116,104,101,32, + 99,111,100,101,32,111,98,106,101,99,116,32,102,111,114,32, + 116,104,101,32,102,114,111,122,101,110,32,109,111,100,117,108, + 101,46,41,2,114,46,0,0,0,114,154,0,0,0,41,2, + 114,143,0,0,0,114,71,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,148,0,0,0,41,3, + 0,0,115,2,0,0,0,0,4,122,23,70,114,111,122,101, + 110,73,109,112,111,114,116,101,114,46,103,101,116,95,99,111, + 100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1, + 0,0,0,67,0,0,0,115,4,0,0,0,100,1,83,0, + 41,2,122,54,82,101,116,117,114,110,32,78,111,110,101,32, + 97,115,32,102,114,111,122,101,110,32,109,111,100,117,108,101, + 115,32,100,111,32,110,111,116,32,104,97,118,101,32,115,111, + 117,114,99,101,32,99,111,100,101,46,78,114,10,0,0,0, + 41,2,114,143,0,0,0,114,71,0,0,0,114,10,0,0, + 0,114,10,0,0,0,114,11,0,0,0,114,149,0,0,0, + 47,3,0,0,115,2,0,0,0,0,4,122,25,70,114,111, + 122,101,110,73,109,112,111,114,116,101,114,46,103,101,116,95, + 115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,2, + 0,0,0,3,0,0,0,67,0,0,0,115,10,0,0,0, + 116,0,160,1,124,1,161,1,83,0,41,1,122,46,82,101, + 116,117,114,110,32,84,114,117,101,32,105,102,32,116,104,101, + 32,102,114,111,122,101,110,32,109,111,100,117,108,101,32,105, + 115,32,97,32,112,97,99,107,97,103,101,46,41,2,114,46, + 0,0,0,90,17,105,115,95,102,114,111,122,101,110,95,112, + 97,99,107,97,103,101,41,2,114,143,0,0,0,114,71,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,114,105,0,0,0,53,3,0,0,115,2,0,0,0,0, + 4,122,25,70,114,111,122,101,110,73,109,112,111,114,116,101, + 114,46,105,115,95,112,97,99,107,97,103,101,41,2,78,78, + 41,1,78,41,16,114,1,0,0,0,114,0,0,0,0,114, + 2,0,0,0,114,3,0,0,0,114,150,0,0,0,114,86, + 0,0,0,114,151,0,0,0,114,146,0,0,0,114,147,0, + 0,0,114,134,0,0,0,114,135,0,0,0,114,138,0,0, + 0,114,77,0,0,0,114,148,0,0,0,114,149,0,0,0, + 114,105,0,0,0,114,10,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,114,152,0,0,0,241,2, + 0,0,115,28,0,0,0,12,9,12,9,2,1,12,6,2, + 1,12,8,12,4,12,9,12,9,2,1,14,5,2,1,14, + 5,2,1,114,152,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,64,0,0,0,115,32,0, + 0,0,101,0,90,1,100,0,90,2,100,1,90,3,100,2, + 100,3,132,0,90,4,100,4,100,5,132,0,90,5,100,6, + 83,0,41,7,218,18,95,73,109,112,111,114,116,76,111,99, + 107,67,111,110,116,101,120,116,122,36,67,111,110,116,101,120, + 116,32,109,97,110,97,103,101,114,32,102,111,114,32,116,104, + 101,32,105,109,112,111,114,116,32,108,111,99,107,46,99,1, + 0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67, + 0,0,0,115,12,0,0,0,116,0,160,1,161,0,1,0, + 100,1,83,0,41,2,122,24,65,99,113,117,105,114,101,32, + 116,104,101,32,105,109,112,111,114,116,32,108,111,99,107,46, + 78,41,2,114,46,0,0,0,114,137,0,0,0,41,1,114, + 26,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,114,48,0,0,0,66,3,0,0,115,2,0,0, + 0,0,2,122,28,95,73,109,112,111,114,116,76,111,99,107, + 67,111,110,116,101,120,116,46,95,95,101,110,116,101,114,95, + 95,99,4,0,0,0,0,0,0,0,4,0,0,0,2,0, + 0,0,67,0,0,0,115,12,0,0,0,116,0,160,1,161, + 0,1,0,100,1,83,0,41,2,122,60,82,101,108,101,97, + 115,101,32,116,104,101,32,105,109,112,111,114,116,32,108,111, + 99,107,32,114,101,103,97,114,100,108,101,115,115,32,111,102, + 32,97,110,121,32,114,97,105,115,101,100,32,101,120,99,101, + 112,116,105,111,110,115,46,78,41,2,114,46,0,0,0,114, + 47,0,0,0,41,4,114,26,0,0,0,90,8,101,120,99, + 95,116,121,112,101,90,9,101,120,99,95,118,97,108,117,101, + 90,13,101,120,99,95,116,114,97,99,101,98,97,99,107,114, + 10,0,0,0,114,10,0,0,0,114,11,0,0,0,114,50, + 0,0,0,70,3,0,0,115,2,0,0,0,0,2,122,27, + 95,73,109,112,111,114,116,76,111,99,107,67,111,110,116,101, + 120,116,46,95,95,101,120,105,116,95,95,78,41,6,114,1, + 0,0,0,114,0,0,0,0,114,2,0,0,0,114,3,0, + 0,0,114,48,0,0,0,114,50,0,0,0,114,10,0,0, + 0,114,10,0,0,0,114,10,0,0,0,114,11,0,0,0, + 114,157,0,0,0,62,3,0,0,115,4,0,0,0,12,4, + 8,4,114,157,0,0,0,99,3,0,0,0,0,0,0,0, + 5,0,0,0,5,0,0,0,67,0,0,0,115,64,0,0, + 0,124,1,160,0,100,1,124,2,100,2,24,0,161,2,125, + 3,116,1,124,3,131,1,124,2,107,0,114,36,116,2,100, + 3,131,1,130,1,124,3,100,4,25,0,125,4,124,0,114, + 60,100,5,160,3,124,4,124,0,161,2,83,0,124,4,83, + 0,41,6,122,50,82,101,115,111,108,118,101,32,97,32,114, + 101,108,97,116,105,118,101,32,109,111,100,117,108,101,32,110, + 97,109,101,32,116,111,32,97,110,32,97,98,115,111,108,117, + 116,101,32,111,110,101,46,114,117,0,0,0,114,33,0,0, + 0,122,50,97,116,116,101,109,112,116,101,100,32,114,101,108, + 97,116,105,118,101,32,105,109,112,111,114,116,32,98,101,121, + 111,110,100,32,116,111,112,45,108,101,118,101,108,32,112,97, + 99,107,97,103,101,114,19,0,0,0,122,5,123,125,46,123, + 125,41,4,218,6,114,115,112,108,105,116,218,3,108,101,110, + 218,10,86,97,108,117,101,69,114,114,111,114,114,38,0,0, + 0,41,5,114,15,0,0,0,218,7,112,97,99,107,97,103, + 101,218,5,108,101,118,101,108,90,4,98,105,116,115,90,4, + 98,97,115,101,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,218,13,95,114,101,115,111,108,118,101,95,110,97, + 109,101,75,3,0,0,115,10,0,0,0,0,2,16,1,12, + 1,8,1,8,1,114,163,0,0,0,99,3,0,0,0,0, + 0,0,0,4,0,0,0,4,0,0,0,67,0,0,0,115, + 34,0,0,0,124,0,160,0,124,1,124,2,161,2,125,3, + 124,3,100,0,107,8,114,24,100,0,83,0,116,1,124,1, + 124,3,131,2,83,0,41,1,78,41,2,114,147,0,0,0, + 114,78,0,0,0,41,4,218,6,102,105,110,100,101,114,114, + 15,0,0,0,114,144,0,0,0,114,93,0,0,0,114,10, + 0,0,0,114,10,0,0,0,114,11,0,0,0,218,17,95, + 102,105,110,100,95,115,112,101,99,95,108,101,103,97,99,121, + 84,3,0,0,115,8,0,0,0,0,3,12,1,8,1,4, + 1,114,165,0,0,0,99,3,0,0,0,0,0,0,0,10, + 0,0,0,27,0,0,0,67,0,0,0,115,242,0,0,0, + 116,0,106,1,125,3,124,3,100,1,107,8,114,22,116,2, + 100,2,131,1,130,1,124,3,115,38,116,3,160,4,100,3, + 116,5,161,2,1,0,124,0,116,0,106,6,107,6,125,4, + 120,188,124,3,68,0,93,176,125,5,116,7,131,0,143,72, + 1,0,121,10,124,5,106,8,125,6,87,0,110,42,4,0, + 116,9,107,10,114,118,1,0,1,0,1,0,116,10,124,5, + 124,0,124,1,131,3,125,7,124,7,100,1,107,8,114,114, + 119,54,89,0,110,14,88,0,124,6,124,0,124,1,124,2, + 131,3,125,7,87,0,100,1,81,0,82,0,88,0,124,7, + 100,1,107,9,114,54,124,4,12,0,114,226,124,0,116,0, + 106,6,107,6,114,226,116,0,106,6,124,0,25,0,125,8, + 121,10,124,8,106,11,125,9,87,0,110,20,4,0,116,9, + 107,10,114,206,1,0,1,0,1,0,124,7,83,0,88,0, + 124,9,100,1,107,8,114,220,124,7,83,0,124,9,83,0, + 113,54,124,7,83,0,113,54,87,0,100,1,83,0,100,1, + 83,0,41,4,122,21,70,105,110,100,32,97,32,109,111,100, + 117,108,101,39,115,32,115,112,101,99,46,78,122,53,115,121, + 115,46,109,101,116,97,95,112,97,116,104,32,105,115,32,78, + 111,110,101,44,32,80,121,116,104,111,110,32,105,115,32,108, + 105,107,101,108,121,32,115,104,117,116,116,105,110,103,32,100, + 111,119,110,122,22,115,121,115,46,109,101,116,97,95,112,97, + 116,104,32,105,115,32,101,109,112,116,121,41,12,114,14,0, + 0,0,218,9,109,101,116,97,95,112,97,116,104,114,70,0, + 0,0,218,9,95,119,97,114,110,105,110,103,115,218,4,119, + 97,114,110,218,13,73,109,112,111,114,116,87,97,114,110,105, + 110,103,114,79,0,0,0,114,157,0,0,0,114,146,0,0, + 0,114,90,0,0,0,114,165,0,0,0,114,89,0,0,0, + 41,10,114,15,0,0,0,114,144,0,0,0,114,145,0,0, + 0,114,166,0,0,0,90,9,105,115,95,114,101,108,111,97, + 100,114,164,0,0,0,114,146,0,0,0,114,82,0,0,0, + 114,83,0,0,0,114,89,0,0,0,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,218,10,95,102,105,110,100, + 95,115,112,101,99,93,3,0,0,115,54,0,0,0,0,2, + 6,1,8,2,8,3,4,1,12,5,10,1,10,1,8,1, + 2,1,10,1,14,1,12,1,8,1,8,2,22,1,8,2, + 16,1,10,1,2,1,10,1,14,4,6,2,8,1,4,2, + 6,2,8,2,114,170,0,0,0,99,3,0,0,0,0,0, + 0,0,4,0,0,0,5,0,0,0,67,0,0,0,115,140, + 0,0,0,116,0,124,0,116,1,131,2,115,28,116,2,100, + 1,160,3,116,4,124,0,131,1,161,1,131,1,130,1,124, + 2,100,2,107,0,114,44,116,5,100,3,131,1,130,1,124, + 2,100,2,107,4,114,114,116,0,124,1,116,1,131,2,115, + 72,116,2,100,4,131,1,130,1,110,42,124,1,115,86,116, + 6,100,5,131,1,130,1,110,28,124,1,116,7,106,8,107, + 7,114,114,100,6,125,3,116,9,124,3,160,3,124,1,161, + 1,131,1,130,1,124,0,12,0,114,136,124,2,100,2,107, + 2,114,136,116,5,100,7,131,1,130,1,100,8,83,0,41, + 9,122,28,86,101,114,105,102,121,32,97,114,103,117,109,101, + 110,116,115,32,97,114,101,32,34,115,97,110,101,34,46,122, + 31,109,111,100,117,108,101,32,110,97,109,101,32,109,117,115, + 116,32,98,101,32,115,116,114,44,32,110,111,116,32,123,125, + 114,19,0,0,0,122,18,108,101,118,101,108,32,109,117,115, + 116,32,98,101,32,62,61,32,48,122,31,95,95,112,97,99, + 107,97,103,101,95,95,32,110,111,116,32,115,101,116,32,116, + 111,32,97,32,115,116,114,105,110,103,122,54,97,116,116,101, + 109,112,116,101,100,32,114,101,108,97,116,105,118,101,32,105, + 109,112,111,114,116,32,119,105,116,104,32,110,111,32,107,110, + 111,119,110,32,112,97,114,101,110,116,32,112,97,99,107,97, + 103,101,122,61,80,97,114,101,110,116,32,109,111,100,117,108, + 101,32,123,33,114,125,32,110,111,116,32,108,111,97,100,101, + 100,44,32,99,97,110,110,111,116,32,112,101,114,102,111,114, + 109,32,114,101,108,97,116,105,118,101,32,105,109,112,111,114, + 116,122,17,69,109,112,116,121,32,109,111,100,117,108,101,32, + 110,97,109,101,78,41,10,218,10,105,115,105,110,115,116,97, + 110,99,101,218,3,115,116,114,218,9,84,121,112,101,69,114, + 114,111,114,114,38,0,0,0,114,13,0,0,0,114,160,0, + 0,0,114,70,0,0,0,114,14,0,0,0,114,79,0,0, + 0,218,11,83,121,115,116,101,109,69,114,114,111,114,41,4, + 114,15,0,0,0,114,161,0,0,0,114,162,0,0,0,114, + 139,0,0,0,114,10,0,0,0,114,10,0,0,0,114,11, + 0,0,0,218,13,95,115,97,110,105,116,121,95,99,104,101, + 99,107,140,3,0,0,115,28,0,0,0,0,2,10,1,18, + 1,8,1,8,1,8,1,10,1,10,1,4,1,10,2,10, + 1,4,2,14,1,14,1,114,175,0,0,0,122,16,78,111, + 32,109,111,100,117,108,101,32,110,97,109,101,100,32,122,4, + 123,33,114,125,99,2,0,0,0,0,0,0,0,8,0,0, + 0,13,0,0,0,67,0,0,0,115,220,0,0,0,100,0, + 125,2,124,0,160,0,100,1,161,1,100,2,25,0,125,3, + 124,3,114,134,124,3,116,1,106,2,107,7,114,42,116,3, + 124,1,124,3,131,2,1,0,124,0,116,1,106,2,107,6, + 114,62,116,1,106,2,124,0,25,0,83,0,116,1,106,2, + 124,3,25,0,125,4,121,10,124,4,106,4,125,2,87,0, + 110,50,4,0,116,5,107,10,114,132,1,0,1,0,1,0, + 116,6,100,3,23,0,160,7,124,0,124,3,161,2,125,5, + 116,8,124,5,124,0,100,4,141,2,100,0,130,2,89,0, + 110,2,88,0,116,9,124,0,124,2,131,2,125,6,124,6, + 100,0,107,8,114,172,116,8,116,6,160,7,124,0,161,1, + 124,0,100,4,141,2,130,1,110,8,116,10,124,6,131,1, + 125,7,124,3,114,216,116,1,106,2,124,3,25,0,125,4, + 116,11,124,4,124,0,160,0,100,1,161,1,100,5,25,0, + 124,7,131,3,1,0,124,7,83,0,41,6,78,114,117,0, + 0,0,114,19,0,0,0,122,23,59,32,123,33,114,125,32, + 105,115,32,110,111,116,32,97,32,112,97,99,107,97,103,101, + 41,1,114,15,0,0,0,233,2,0,0,0,41,12,114,118, + 0,0,0,114,14,0,0,0,114,79,0,0,0,114,58,0, + 0,0,114,127,0,0,0,114,90,0,0,0,218,8,95,69, + 82,82,95,77,83,71,114,38,0,0,0,218,19,77,111,100, + 117,108,101,78,111,116,70,111,117,110,100,69,114,114,111,114, + 114,170,0,0,0,114,141,0,0,0,114,5,0,0,0,41, + 8,114,15,0,0,0,218,7,105,109,112,111,114,116,95,114, + 144,0,0,0,114,119,0,0,0,90,13,112,97,114,101,110, + 116,95,109,111,100,117,108,101,114,139,0,0,0,114,82,0, + 0,0,114,83,0,0,0,114,10,0,0,0,114,10,0,0, + 0,114,11,0,0,0,218,23,95,102,105,110,100,95,97,110, + 100,95,108,111,97,100,95,117,110,108,111,99,107,101,100,163, + 3,0,0,115,42,0,0,0,0,1,4,1,14,1,4,1, + 10,1,10,2,10,1,10,1,10,1,2,1,10,1,14,1, + 16,1,20,1,10,1,8,1,20,2,8,1,4,2,10,1, + 22,1,114,180,0,0,0,99,2,0,0,0,0,0,0,0, + 2,0,0,0,10,0,0,0,67,0,0,0,115,30,0,0, + 0,116,0,124,0,131,1,143,12,1,0,116,1,124,0,124, + 1,131,2,83,0,81,0,82,0,88,0,100,1,83,0,41, + 2,122,54,70,105,110,100,32,97,110,100,32,108,111,97,100, + 32,116,104,101,32,109,111,100,117,108,101,44,32,97,110,100, + 32,114,101,108,101,97,115,101,32,116,104,101,32,105,109,112, + 111,114,116,32,108,111,99,107,46,78,41,2,114,42,0,0, + 0,114,180,0,0,0,41,2,114,15,0,0,0,114,179,0, + 0,0,114,10,0,0,0,114,10,0,0,0,114,11,0,0, + 0,218,14,95,102,105,110,100,95,97,110,100,95,108,111,97, + 100,190,3,0,0,115,4,0,0,0,0,2,10,1,114,181, + 0,0,0,114,19,0,0,0,99,3,0,0,0,0,0,0, + 0,5,0,0,0,4,0,0,0,67,0,0,0,115,120,0, + 0,0,116,0,124,0,124,1,124,2,131,3,1,0,124,2, + 100,1,107,4,114,32,116,1,124,0,124,1,124,2,131,3, + 125,0,116,2,160,3,161,0,1,0,124,0,116,4,106,5, + 107,7,114,60,116,6,124,0,116,7,131,2,83,0,116,4, + 106,5,124,0,25,0,125,3,124,3,100,2,107,8,114,108, + 116,2,160,8,161,0,1,0,100,3,160,9,124,0,161,1, + 125,4,116,10,124,4,124,0,100,4,141,2,130,1,116,11, + 124,0,131,1,1,0,124,3,83,0,41,5,97,50,1,0, + 0,73,109,112,111,114,116,32,97,110,100,32,114,101,116,117, + 114,110,32,116,104,101,32,109,111,100,117,108,101,32,98,97, + 115,101,100,32,111,110,32,105,116,115,32,110,97,109,101,44, + 32,116,104,101,32,112,97,99,107,97,103,101,32,116,104,101, + 32,99,97,108,108,32,105,115,10,32,32,32,32,98,101,105, + 110,103,32,109,97,100,101,32,102,114,111,109,44,32,97,110, + 100,32,116,104,101,32,108,101,118,101,108,32,97,100,106,117, + 115,116,109,101,110,116,46,10,10,32,32,32,32,84,104,105, + 115,32,102,117,110,99,116,105,111,110,32,114,101,112,114,101, + 115,101,110,116,115,32,116,104,101,32,103,114,101,97,116,101, + 115,116,32,99,111,109,109,111,110,32,100,101,110,111,109,105, + 110,97,116,111,114,32,111,102,32,102,117,110,99,116,105,111, + 110,97,108,105,116,121,10,32,32,32,32,98,101,116,119,101, + 101,110,32,105,109,112,111,114,116,95,109,111,100,117,108,101, + 32,97,110,100,32,95,95,105,109,112,111,114,116,95,95,46, + 32,84,104,105,115,32,105,110,99,108,117,100,101,115,32,115, + 101,116,116,105,110,103,32,95,95,112,97,99,107,97,103,101, + 95,95,32,105,102,10,32,32,32,32,116,104,101,32,108,111, + 97,100,101,114,32,100,105,100,32,110,111,116,46,10,10,32, + 32,32,32,114,19,0,0,0,78,122,40,105,109,112,111,114, + 116,32,111,102,32,123,125,32,104,97,108,116,101,100,59,32, + 78,111,110,101,32,105,110,32,115,121,115,46,109,111,100,117, + 108,101,115,41,1,114,15,0,0,0,41,12,114,175,0,0, + 0,114,163,0,0,0,114,46,0,0,0,114,137,0,0,0, + 114,14,0,0,0,114,79,0,0,0,114,181,0,0,0,218, + 11,95,103,99,100,95,105,109,112,111,114,116,114,47,0,0, + 0,114,38,0,0,0,114,178,0,0,0,114,56,0,0,0, + 41,5,114,15,0,0,0,114,161,0,0,0,114,162,0,0, + 0,114,83,0,0,0,114,67,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,114,182,0,0,0,196, + 3,0,0,115,28,0,0,0,0,9,12,1,8,1,12,1, + 8,1,10,1,10,1,10,1,8,1,8,1,4,1,6,1, + 12,1,8,1,114,182,0,0,0,99,3,0,0,0,0,0, + 0,0,6,0,0,0,17,0,0,0,67,0,0,0,115,164, + 0,0,0,116,0,124,0,100,1,131,2,114,160,100,2,124, + 1,107,6,114,58,116,1,124,1,131,1,125,1,124,1,160, + 2,100,2,161,1,1,0,116,0,124,0,100,3,131,2,114, + 58,124,1,160,3,124,0,106,4,161,1,1,0,120,100,124, + 1,68,0,93,92,125,3,116,0,124,0,124,3,131,2,115, + 64,100,4,160,5,124,0,106,6,124,3,161,2,125,4,121, + 14,116,7,124,2,124,4,131,2,1,0,87,0,113,64,4, + 0,116,8,107,10,114,154,1,0,125,5,1,0,122,20,124, + 5,106,9,124,4,107,2,114,136,119,64,130,0,87,0,89, + 0,100,5,100,5,125,5,126,5,88,0,113,64,88,0,113, + 64,87,0,124,0,83,0,41,6,122,238,70,105,103,117,114, + 101,32,111,117,116,32,119,104,97,116,32,95,95,105,109,112, + 111,114,116,95,95,32,115,104,111,117,108,100,32,114,101,116, + 117,114,110,46,10,10,32,32,32,32,84,104,101,32,105,109, + 112,111,114,116,95,32,112,97,114,97,109,101,116,101,114,32, + 105,115,32,97,32,99,97,108,108,97,98,108,101,32,119,104, + 105,99,104,32,116,97,107,101,115,32,116,104,101,32,110,97, + 109,101,32,111,102,32,109,111,100,117,108,101,32,116,111,10, + 32,32,32,32,105,109,112,111,114,116,46,32,73,116,32,105, + 115,32,114,101,113,117,105,114,101,100,32,116,111,32,100,101, + 99,111,117,112,108,101,32,116,104,101,32,102,117,110,99,116, + 105,111,110,32,102,114,111,109,32,97,115,115,117,109,105,110, + 103,32,105,109,112,111,114,116,108,105,98,39,115,10,32,32, + 32,32,105,109,112,111,114,116,32,105,109,112,108,101,109,101, + 110,116,97,116,105,111,110,32,105,115,32,100,101,115,105,114, + 101,100,46,10,10,32,32,32,32,114,127,0,0,0,250,1, + 42,218,7,95,95,97,108,108,95,95,122,5,123,125,46,123, + 125,78,41,10,114,4,0,0,0,114,126,0,0,0,218,6, + 114,101,109,111,118,101,218,6,101,120,116,101,110,100,114,184, + 0,0,0,114,38,0,0,0,114,1,0,0,0,114,58,0, + 0,0,114,178,0,0,0,114,15,0,0,0,41,6,114,83, + 0,0,0,218,8,102,114,111,109,108,105,115,116,114,179,0, + 0,0,218,1,120,90,9,102,114,111,109,95,110,97,109,101, + 90,3,101,120,99,114,10,0,0,0,114,10,0,0,0,114, + 11,0,0,0,218,16,95,104,97,110,100,108,101,95,102,114, + 111,109,108,105,115,116,221,3,0,0,115,32,0,0,0,0, + 10,10,1,8,1,8,1,10,1,10,1,12,1,10,1,10, + 1,14,1,2,1,14,1,16,4,10,1,2,1,24,1,114, + 189,0,0,0,99,1,0,0,0,0,0,0,0,3,0,0, + 0,6,0,0,0,67,0,0,0,115,146,0,0,0,124,0, + 160,0,100,1,161,1,125,1,124,0,160,0,100,2,161,1, + 125,2,124,1,100,3,107,9,114,82,124,2,100,3,107,9, + 114,78,124,1,124,2,106,1,107,3,114,78,116,2,106,3, + 100,4,124,1,155,2,100,5,124,2,106,1,155,2,100,6, + 157,5,116,4,100,7,100,8,141,3,1,0,124,1,83,0, + 124,2,100,3,107,9,114,96,124,2,106,1,83,0,116,2, + 106,3,100,9,116,4,100,7,100,8,141,3,1,0,124,0, + 100,10,25,0,125,1,100,11,124,0,107,7,114,142,124,1, + 160,5,100,12,161,1,100,13,25,0,125,1,124,1,83,0, + 41,14,122,167,67,97,108,99,117,108,97,116,101,32,119,104, + 97,116,32,95,95,112,97,99,107,97,103,101,95,95,32,115, + 104,111,117,108,100,32,98,101,46,10,10,32,32,32,32,95, + 95,112,97,99,107,97,103,101,95,95,32,105,115,32,110,111, + 116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32, + 98,101,32,100,101,102,105,110,101,100,32,111,114,32,99,111, + 117,108,100,32,98,101,32,115,101,116,32,116,111,32,78,111, + 110,101,10,32,32,32,32,116,111,32,114,101,112,114,101,115, + 101,110,116,32,116,104,97,116,32,105,116,115,32,112,114,111, + 112,101,114,32,118,97,108,117,101,32,105,115,32,117,110,107, + 110,111,119,110,46,10,10,32,32,32,32,114,130,0,0,0, + 114,89,0,0,0,78,122,32,95,95,112,97,99,107,97,103, + 101,95,95,32,33,61,32,95,95,115,112,101,99,95,95,46, + 112,97,114,101,110,116,32,40,122,4,32,33,61,32,250,1, + 41,233,3,0,0,0,41,1,90,10,115,116,97,99,107,108, + 101,118,101,108,122,89,99,97,110,39,116,32,114,101,115,111, + 108,118,101,32,112,97,99,107,97,103,101,32,102,114,111,109, + 32,95,95,115,112,101,99,95,95,32,111,114,32,95,95,112, + 97,99,107,97,103,101,95,95,44,32,102,97,108,108,105,110, + 103,32,98,97,99,107,32,111,110,32,95,95,110,97,109,101, + 95,95,32,97,110,100,32,95,95,112,97,116,104,95,95,114, + 1,0,0,0,114,127,0,0,0,114,117,0,0,0,114,19, + 0,0,0,41,6,114,30,0,0,0,114,119,0,0,0,114, + 167,0,0,0,114,168,0,0,0,114,169,0,0,0,114,118, + 0,0,0,41,3,218,7,103,108,111,98,97,108,115,114,161, + 0,0,0,114,82,0,0,0,114,10,0,0,0,114,10,0, + 0,0,114,11,0,0,0,218,17,95,99,97,108,99,95,95, + 95,112,97,99,107,97,103,101,95,95,252,3,0,0,115,30, + 0,0,0,0,7,10,1,10,1,8,1,18,1,22,2,10, + 1,4,1,8,1,6,2,6,2,10,1,8,1,8,1,14, + 1,114,193,0,0,0,99,5,0,0,0,0,0,0,0,9, + 0,0,0,5,0,0,0,67,0,0,0,115,166,0,0,0, + 124,4,100,1,107,2,114,18,116,0,124,0,131,1,125,5, + 110,36,124,1,100,2,107,9,114,30,124,1,110,2,105,0, + 125,6,116,1,124,6,131,1,125,7,116,0,124,0,124,7, + 124,4,131,3,125,5,124,3,115,150,124,4,100,1,107,2, + 114,84,116,0,124,0,160,2,100,3,161,1,100,1,25,0, + 131,1,83,0,124,0,115,92,124,5,83,0,116,3,124,0, + 131,1,116,3,124,0,160,2,100,3,161,1,100,1,25,0, + 131,1,24,0,125,8,116,4,106,5,124,5,106,6,100,2, + 116,3,124,5,106,6,131,1,124,8,24,0,133,2,25,0, + 25,0,83,0,110,12,116,7,124,5,124,3,116,0,131,3, + 83,0,100,2,83,0,41,4,97,215,1,0,0,73,109,112, + 111,114,116,32,97,32,109,111,100,117,108,101,46,10,10,32, + 32,32,32,84,104,101,32,39,103,108,111,98,97,108,115,39, + 32,97,114,103,117,109,101,110,116,32,105,115,32,117,115,101, + 100,32,116,111,32,105,110,102,101,114,32,119,104,101,114,101, + 32,116,104,101,32,105,109,112,111,114,116,32,105,115,32,111, + 99,99,117,114,114,105,110,103,32,102,114,111,109,10,32,32, + 32,32,116,111,32,104,97,110,100,108,101,32,114,101,108,97, + 116,105,118,101,32,105,109,112,111,114,116,115,46,32,84,104, + 101,32,39,108,111,99,97,108,115,39,32,97,114,103,117,109, + 101,110,116,32,105,115,32,105,103,110,111,114,101,100,46,32, + 84,104,101,10,32,32,32,32,39,102,114,111,109,108,105,115, + 116,39,32,97,114,103,117,109,101,110,116,32,115,112,101,99, + 105,102,105,101,115,32,119,104,97,116,32,115,104,111,117,108, + 100,32,101,120,105,115,116,32,97,115,32,97,116,116,114,105, + 98,117,116,101,115,32,111,110,32,116,104,101,32,109,111,100, + 117,108,101,10,32,32,32,32,98,101,105,110,103,32,105,109, + 112,111,114,116,101,100,32,40,101,46,103,46,32,96,96,102, + 114,111,109,32,109,111,100,117,108,101,32,105,109,112,111,114, + 116,32,60,102,114,111,109,108,105,115,116,62,96,96,41,46, + 32,32,84,104,101,32,39,108,101,118,101,108,39,10,32,32, + 32,32,97,114,103,117,109,101,110,116,32,114,101,112,114,101, + 115,101,110,116,115,32,116,104,101,32,112,97,99,107,97,103, + 101,32,108,111,99,97,116,105,111,110,32,116,111,32,105,109, + 112,111,114,116,32,102,114,111,109,32,105,110,32,97,32,114, + 101,108,97,116,105,118,101,10,32,32,32,32,105,109,112,111, + 114,116,32,40,101,46,103,46,32,96,96,102,114,111,109,32, + 46,46,112,107,103,32,105,109,112,111,114,116,32,109,111,100, + 96,96,32,119,111,117,108,100,32,104,97,118,101,32,97,32, + 39,108,101,118,101,108,39,32,111,102,32,50,41,46,10,10, + 32,32,32,32,114,19,0,0,0,78,114,117,0,0,0,41, + 8,114,182,0,0,0,114,193,0,0,0,218,9,112,97,114, + 116,105,116,105,111,110,114,159,0,0,0,114,14,0,0,0, + 114,79,0,0,0,114,1,0,0,0,114,189,0,0,0,41, + 9,114,15,0,0,0,114,192,0,0,0,218,6,108,111,99, + 97,108,115,114,187,0,0,0,114,162,0,0,0,114,83,0, + 0,0,90,8,103,108,111,98,97,108,115,95,114,161,0,0, + 0,90,7,99,117,116,95,111,102,102,114,10,0,0,0,114, + 10,0,0,0,114,11,0,0,0,218,10,95,95,105,109,112, + 111,114,116,95,95,23,4,0,0,115,26,0,0,0,0,11, + 8,1,10,2,16,1,8,1,12,1,4,3,8,1,18,1, + 4,1,4,4,26,3,32,2,114,196,0,0,0,99,1,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,67,0, + 0,0,115,38,0,0,0,116,0,160,1,124,0,161,1,125, + 1,124,1,100,0,107,8,114,30,116,2,100,1,124,0,23, + 0,131,1,130,1,116,3,124,1,131,1,83,0,41,2,78, + 122,25,110,111,32,98,117,105,108,116,45,105,110,32,109,111, + 100,117,108,101,32,110,97,109,101,100,32,41,4,114,142,0, + 0,0,114,146,0,0,0,114,70,0,0,0,114,141,0,0, + 0,41,2,114,15,0,0,0,114,82,0,0,0,114,10,0, + 0,0,114,10,0,0,0,114,11,0,0,0,218,18,95,98, + 117,105,108,116,105,110,95,102,114,111,109,95,110,97,109,101, + 58,4,0,0,115,8,0,0,0,0,1,10,1,8,1,12, + 1,114,197,0,0,0,99,2,0,0,0,0,0,0,0,12, + 0,0,0,12,0,0,0,67,0,0,0,115,244,0,0,0, + 124,1,97,0,124,0,97,1,116,2,116,1,131,1,125,2, + 120,86,116,1,106,3,160,4,161,0,68,0,93,72,92,2, + 125,3,125,4,116,5,124,4,124,2,131,2,114,28,124,3, + 116,1,106,6,107,6,114,62,116,7,125,5,110,18,116,0, + 160,8,124,3,161,1,114,28,116,9,125,5,110,2,113,28, + 116,10,124,4,124,5,131,2,125,6,116,11,124,6,124,4, + 131,2,1,0,113,28,87,0,116,1,106,3,116,12,25,0, + 125,7,120,54,100,5,68,0,93,46,125,8,124,8,116,1, + 106,3,107,7,114,144,116,13,124,8,131,1,125,9,110,10, + 116,1,106,3,124,8,25,0,125,9,116,14,124,7,124,8, + 124,9,131,3,1,0,113,120,87,0,121,12,116,13,100,2, + 131,1,125,10,87,0,110,24,4,0,116,15,107,10,114,206, + 1,0,1,0,1,0,100,3,125,10,89,0,110,2,88,0, + 116,14,124,7,100,2,124,10,131,3,1,0,116,13,100,4, + 131,1,125,11,116,14,124,7,100,4,124,11,131,3,1,0, + 100,3,83,0,41,6,122,250,83,101,116,117,112,32,105,109, + 112,111,114,116,108,105,98,32,98,121,32,105,109,112,111,114, + 116,105,110,103,32,110,101,101,100,101,100,32,98,117,105,108, + 116,45,105,110,32,109,111,100,117,108,101,115,32,97,110,100, + 32,105,110,106,101,99,116,105,110,103,32,116,104,101,109,10, + 32,32,32,32,105,110,116,111,32,116,104,101,32,103,108,111, + 98,97,108,32,110,97,109,101,115,112,97,99,101,46,10,10, + 32,32,32,32,65,115,32,115,121,115,32,105,115,32,110,101, + 101,100,101,100,32,102,111,114,32,115,121,115,46,109,111,100, + 117,108,101,115,32,97,99,99,101,115,115,32,97,110,100,32, + 95,105,109,112,32,105,115,32,110,101,101,100,101,100,32,116, + 111,32,108,111,97,100,32,98,117,105,108,116,45,105,110,10, + 32,32,32,32,109,111,100,117,108,101,115,44,32,116,104,111, + 115,101,32,116,119,111,32,109,111,100,117,108,101,115,32,109, + 117,115,116,32,98,101,32,101,120,112,108,105,99,105,116,108, + 121,32,112,97,115,115,101,100,32,105,110,46,10,10,32,32, + 32,32,114,167,0,0,0,114,20,0,0,0,78,114,55,0, + 0,0,41,1,114,167,0,0,0,41,16,114,46,0,0,0, + 114,14,0,0,0,114,13,0,0,0,114,79,0,0,0,218, + 5,105,116,101,109,115,114,171,0,0,0,114,69,0,0,0, + 114,142,0,0,0,114,75,0,0,0,114,152,0,0,0,114, + 128,0,0,0,114,133,0,0,0,114,1,0,0,0,114,197, + 0,0,0,114,5,0,0,0,114,70,0,0,0,41,12,218, + 10,115,121,115,95,109,111,100,117,108,101,218,11,95,105,109, + 112,95,109,111,100,117,108,101,90,11,109,111,100,117,108,101, + 95,116,121,112,101,114,15,0,0,0,114,83,0,0,0,114, + 93,0,0,0,114,82,0,0,0,90,11,115,101,108,102,95, + 109,111,100,117,108,101,90,12,98,117,105,108,116,105,110,95, + 110,97,109,101,90,14,98,117,105,108,116,105,110,95,109,111, + 100,117,108,101,90,13,116,104,114,101,97,100,95,109,111,100, + 117,108,101,90,14,119,101,97,107,114,101,102,95,109,111,100, + 117,108,101,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,218,6,95,115,101,116,117,112,65,4,0,0,115,50, + 0,0,0,0,9,4,1,4,3,8,1,20,1,10,1,10, + 1,6,1,10,1,6,2,2,1,10,1,14,3,10,1,10, + 1,10,1,10,2,10,1,16,3,2,1,12,1,14,2,10, + 1,12,3,8,1,114,201,0,0,0,99,2,0,0,0,0, + 0,0,0,2,0,0,0,3,0,0,0,67,0,0,0,115, + 38,0,0,0,116,0,124,0,124,1,131,2,1,0,116,1, + 106,2,160,3,116,4,161,1,1,0,116,1,106,2,160,3, + 116,5,161,1,1,0,100,1,83,0,41,2,122,48,73,110, + 115,116,97,108,108,32,105,109,112,111,114,116,101,114,115,32, + 102,111,114,32,98,117,105,108,116,105,110,32,97,110,100,32, + 102,114,111,122,101,110,32,109,111,100,117,108,101,115,78,41, + 6,114,201,0,0,0,114,14,0,0,0,114,166,0,0,0, + 114,109,0,0,0,114,142,0,0,0,114,152,0,0,0,41, + 2,114,199,0,0,0,114,200,0,0,0,114,10,0,0,0, + 114,10,0,0,0,114,11,0,0,0,218,8,95,105,110,115, + 116,97,108,108,112,4,0,0,115,6,0,0,0,0,2,10, + 2,12,1,114,202,0,0,0,99,0,0,0,0,0,0,0, + 0,1,0,0,0,4,0,0,0,67,0,0,0,115,32,0, + 0,0,100,1,100,2,108,0,125,0,124,0,97,1,124,0, + 160,2,116,3,106,4,116,5,25,0,161,1,1,0,100,2, + 83,0,41,3,122,57,73,110,115,116,97,108,108,32,105,109, + 112,111,114,116,101,114,115,32,116,104,97,116,32,114,101,113, + 117,105,114,101,32,101,120,116,101,114,110,97,108,32,102,105, + 108,101,115,121,115,116,101,109,32,97,99,99,101,115,115,114, + 19,0,0,0,78,41,6,218,26,95,102,114,111,122,101,110, + 95,105,109,112,111,114,116,108,105,98,95,101,120,116,101,114, + 110,97,108,114,115,0,0,0,114,202,0,0,0,114,14,0, + 0,0,114,79,0,0,0,114,1,0,0,0,41,1,114,203, + 0,0,0,114,10,0,0,0,114,10,0,0,0,114,11,0, + 0,0,218,27,95,105,110,115,116,97,108,108,95,101,120,116, + 101,114,110,97,108,95,105,109,112,111,114,116,101,114,115,119, + 4,0,0,115,6,0,0,0,0,3,8,1,4,1,114,204, + 0,0,0,41,2,78,78,41,1,78,41,2,78,114,19,0, + 0,0,41,51,114,3,0,0,0,114,115,0,0,0,114,12, + 0,0,0,114,16,0,0,0,114,51,0,0,0,114,29,0, + 0,0,114,36,0,0,0,114,17,0,0,0,114,18,0,0, + 0,114,41,0,0,0,114,42,0,0,0,114,45,0,0,0, + 114,56,0,0,0,114,58,0,0,0,114,68,0,0,0,114, + 74,0,0,0,114,77,0,0,0,114,84,0,0,0,114,95, + 0,0,0,114,96,0,0,0,114,102,0,0,0,114,78,0, + 0,0,218,6,111,98,106,101,99,116,90,9,95,80,79,80, + 85,76,65,84,69,114,128,0,0,0,114,133,0,0,0,114, + 136,0,0,0,114,91,0,0,0,114,80,0,0,0,114,140, + 0,0,0,114,141,0,0,0,114,81,0,0,0,114,142,0, + 0,0,114,152,0,0,0,114,157,0,0,0,114,163,0,0, + 0,114,165,0,0,0,114,170,0,0,0,114,175,0,0,0, + 90,15,95,69,82,82,95,77,83,71,95,80,82,69,70,73, + 88,114,177,0,0,0,114,180,0,0,0,114,181,0,0,0, + 114,182,0,0,0,114,189,0,0,0,114,193,0,0,0,114, + 196,0,0,0,114,197,0,0,0,114,201,0,0,0,114,202, + 0,0,0,114,204,0,0,0,114,10,0,0,0,114,10,0, + 0,0,114,10,0,0,0,114,11,0,0,0,218,8,60,109, + 111,100,117,108,101,62,25,0,0,0,115,96,0,0,0,4, + 0,4,2,8,8,8,7,4,2,4,3,16,4,14,68,14, + 21,14,19,8,19,8,19,8,11,14,8,8,11,8,12,8, + 16,8,36,14,27,14,101,16,26,6,3,10,45,14,60,8, + 17,8,17,8,25,8,29,8,23,8,16,14,73,14,77,14, + 13,8,9,8,9,10,47,8,20,4,1,8,2,8,27,8, + 6,10,25,8,31,8,27,18,35,8,7,8,47,8,7, }; diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index 90f85518379..03601ead4db 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -291,6 +291,9 @@ import_init(PyInterpreterState *interp, PyObject *sysmod) /* Install importlib as the implementation of import */ value = PyObject_CallMethod(importlib, "_install", "OO", sysmod, impmod); + if (value != NULL) + value = PyObject_CallMethod(importlib, + "_install_external_importers", ""); if (value == NULL) { PyErr_Print(); Py_FatalError("Py_Initialize: importlib install failed"); @@ -331,8 +334,8 @@ _Py_InitializeEx_Private(int install_sigs, int install_importlib) Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p); if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0') Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p); - /* The variable is only tested for existence here; _PyRandom_Init will - check its value further. */ + /* The variable is only tested for existence here; + _Py_HashRandomization_Init will check its value further. */ if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0') Py_HashRandomizationFlag = add_flag(Py_HashRandomizationFlag, p); #ifdef MS_WINDOWS @@ -342,7 +345,7 @@ _Py_InitializeEx_Private(int install_sigs, int install_importlib) Py_LegacyWindowsStdioFlag = add_flag(Py_LegacyWindowsStdioFlag, p); #endif - _PyRandom_Init(); + _Py_HashRandomization_Init(); _PyInterpreterState_Init(); interp = PyInterpreterState_New(); @@ -402,13 +405,15 @@ _Py_InitializeEx_Private(int install_sigs, int install_importlib) /* initialize builtin exceptions */ _PyExc_Init(bimod); - sysmod = _PySys_Init(); + sysmod = _PySys_BeginInit(); if (sysmod == NULL) Py_FatalError("Py_Initialize: can't initialize sys"); interp->sysdict = PyModule_GetDict(sysmod); if (interp->sysdict == NULL) Py_FatalError("Py_Initialize: can't initialize sys dict"); Py_INCREF(interp->sysdict); + if (_PySys_EndInit(interp->sysdict) < 0) + Py_FatalError("Py_Initialize: can't initialize sys"); _PyImport_FixupBuiltin(sysmod, "sys"); PySys_SetPath(Py_GetPath()); PyDict_SetItemString(interp->sysdict, "modules", @@ -694,7 +699,7 @@ Py_FinalizeEx(void) PyDict_Fini(); PySlice_Fini(); _PyGC_Fini(); - _PyRandom_Fini(); + _Py_HashRandomization_Fini(); _PyArg_Fini(); PyAsyncGen_Fini(); diff --git a/Python/pystate.c b/Python/pystate.c index 99a579a0691..0a4e63b29de 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -46,6 +46,7 @@ static PyThread_type_lock head_mutex = NULL; /* Protects interp->tstate_head */ /* The single PyInterpreterState used by this process' GILState implementation */ +/* TODO: Given interp_main, it may be possible to kill this ref */ static PyInterpreterState *autoInterpreterState = NULL; static int autoTLSkey = -1; #else @@ -55,6 +56,7 @@ static int autoTLSkey = -1; #endif static PyInterpreterState *interp_head = NULL; +static PyInterpreterState *interp_main = NULL; /* Assuming the current thread holds the GIL, this is the PyThreadState for the current thread. */ @@ -119,6 +121,9 @@ PyInterpreterState_New(void) HEAD_LOCK(); interp->next = interp_head; + if (interp_main == NULL) { + interp_main = interp; + } interp_head = interp; if (_next_interp_id < 0) { /* overflow or Py_Initialize() not called! */ @@ -185,6 +190,11 @@ PyInterpreterState_Delete(PyInterpreterState *interp) if (interp->tstate_head != NULL) Py_FatalError("PyInterpreterState_Delete: remaining threads"); *p = interp->next; + if (interp_main == interp) { + interp_main = NULL; + if (interp_head != NULL) + Py_FatalError("PyInterpreterState_Delete: remaining subinterpreters"); + } HEAD_UNLOCK(); PyMem_RawFree(interp); #ifdef WITH_THREAD @@ -661,6 +671,12 @@ PyInterpreterState_Head(void) return interp_head; } +PyInterpreterState * +PyInterpreterState_Main(void) +{ + return interp_main; +} + PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *interp) { return interp->next; diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 2da77025b01..a7b7508f4a1 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1900,16 +1900,7 @@ static struct PyModuleDef sysmodule = { NULL }; -PyObject * -_PySys_Init(void) -{ - PyObject *m, *sysdict, *version_info; - int res; - - m = PyModule_Create(&sysmodule); - if (m == NULL) - return NULL; - sysdict = PyModule_GetDict(m); +/* Updating the sys namespace, returning NULL pointer on error */ #define SET_SYS_FROM_STRING_BORROW(key, value) \ do { \ PyObject *v = (value); \ @@ -1932,6 +1923,17 @@ _PySys_Init(void) } \ } while (0) +PyObject * +_PySys_BeginInit(void) +{ + PyObject *m, *sysdict, *version_info; + int res; + + m = PyModule_Create(&sysmodule); + if (m == NULL) + return NULL; + sysdict = PyModule_GetDict(m); + /* Check that stdin is not a directory Using shell redirection, you can redirect stdin to a directory, crashing the Python interpreter. Catch this common mistake here @@ -1963,25 +1965,12 @@ _PySys_Init(void) SET_SYS_FROM_STRING("_git", Py_BuildValue("(szz)", "CPython", _Py_gitidentifier(), _Py_gitversion())); - SET_SYS_FROM_STRING("dont_write_bytecode", - PyBool_FromLong(Py_DontWriteBytecodeFlag)); SET_SYS_FROM_STRING("api_version", PyLong_FromLong(PYTHON_API_VERSION)); SET_SYS_FROM_STRING("copyright", PyUnicode_FromString(Py_GetCopyright())); SET_SYS_FROM_STRING("platform", PyUnicode_FromString(Py_GetPlatform())); - SET_SYS_FROM_STRING("executable", - PyUnicode_FromWideChar( - Py_GetProgramFullPath(), -1)); - SET_SYS_FROM_STRING("prefix", - PyUnicode_FromWideChar(Py_GetPrefix(), -1)); - SET_SYS_FROM_STRING("exec_prefix", - PyUnicode_FromWideChar(Py_GetExecPrefix(), -1)); - SET_SYS_FROM_STRING("base_prefix", - PyUnicode_FromWideChar(Py_GetPrefix(), -1)); - SET_SYS_FROM_STRING("base_exec_prefix", - PyUnicode_FromWideChar(Py_GetExecPrefix(), -1)); SET_SYS_FROM_STRING("maxsize", PyLong_FromSsize_t(PY_SSIZE_T_MAX)); SET_SYS_FROM_STRING("float_info", @@ -2017,17 +2006,6 @@ _PySys_Init(void) SET_SYS_FROM_STRING("abiflags", PyUnicode_FromString(ABIFLAGS)); #endif - if (warnoptions == NULL) { - warnoptions = PyList_New(0); - if (warnoptions == NULL) - return NULL; - } - else { - Py_INCREF(warnoptions); - } - SET_SYS_FROM_STRING_BORROW("warnoptions", warnoptions); - - SET_SYS_FROM_STRING_BORROW("_xoptions", get_xoptions()); /* version_info */ if (VersionInfoType.tp_name == NULL) { @@ -2052,13 +2030,8 @@ _PySys_Init(void) if (PyStructSequence_InitType2(&FlagsType, &flags_desc) < 0) return NULL; } + /* Set flags to their default values */ SET_SYS_FROM_STRING("flags", make_flags()); - /* prevent user from creating new instances */ - FlagsType.tp_init = NULL; - FlagsType.tp_new = NULL; - res = PyDict_DelItemString(FlagsType.tp_dict, "__new__"); - if (res < 0 && PyErr_ExceptionMatches(PyExc_KeyError)) - PyErr_Clear(); #if defined(MS_WINDOWS) /* getwindowsversion */ @@ -2095,13 +2068,89 @@ _PySys_Init(void) } } -#undef SET_SYS_FROM_STRING -#undef SET_SYS_FROM_STRING_BORROW if (PyErr_Occurred()) return NULL; return m; } +#undef SET_SYS_FROM_STRING +#undef SET_SYS_FROM_STRING_BORROW + +/* Updating the sys namespace, returning integer error codes */ +#define SET_SYS_FROM_STRING_BORROW_INT_RESULT(key, value) \ + do { \ + PyObject *v = (value); \ + if (v == NULL) \ + return -1; \ + res = PyDict_SetItemString(sysdict, key, v); \ + if (res < 0) { \ + return res; \ + } \ + } while (0) +#define SET_SYS_FROM_STRING_INT_RESULT(key, value) \ + do { \ + PyObject *v = (value); \ + if (v == NULL) \ + return -1; \ + res = PyDict_SetItemString(sysdict, key, v); \ + Py_DECREF(v); \ + if (res < 0) { \ + return res; \ + } \ + } while (0) + +int +_PySys_EndInit(PyObject *sysdict) +{ + int res; + + /* Set flags to their final values */ + SET_SYS_FROM_STRING_INT_RESULT("flags", make_flags()); + /* prevent user from creating new instances */ + FlagsType.tp_init = NULL; + FlagsType.tp_new = NULL; + res = PyDict_DelItemString(FlagsType.tp_dict, "__new__"); + if (res < 0) { + if (!PyErr_ExceptionMatches(PyExc_KeyError)) { + return res; + } + PyErr_Clear(); + } + + SET_SYS_FROM_STRING_INT_RESULT("dont_write_bytecode", + PyBool_FromLong(Py_DontWriteBytecodeFlag)); + SET_SYS_FROM_STRING_INT_RESULT("executable", + PyUnicode_FromWideChar( + Py_GetProgramFullPath(), -1)); + SET_SYS_FROM_STRING_INT_RESULT("prefix", + PyUnicode_FromWideChar(Py_GetPrefix(), -1)); + SET_SYS_FROM_STRING_INT_RESULT("exec_prefix", + PyUnicode_FromWideChar(Py_GetExecPrefix(), -1)); + SET_SYS_FROM_STRING_INT_RESULT("base_prefix", + PyUnicode_FromWideChar(Py_GetPrefix(), -1)); + SET_SYS_FROM_STRING_INT_RESULT("base_exec_prefix", + PyUnicode_FromWideChar(Py_GetExecPrefix(), -1)); + + if (warnoptions == NULL) { + warnoptions = PyList_New(0); + if (warnoptions == NULL) + return -1; + } + else { + Py_INCREF(warnoptions); + } + SET_SYS_FROM_STRING_BORROW_INT_RESULT("warnoptions", warnoptions); + + SET_SYS_FROM_STRING_BORROW_INT_RESULT("_xoptions", get_xoptions()); + + if (PyErr_Occurred()) + return -1; + return 0; +} + +#undef SET_SYS_FROM_STRING_INT_RESULT +#undef SET_SYS_FROM_STRING_BORROW_INT_RESULT + static PyObject * makepathobject(const wchar_t *path, wchar_t delim) {